General: In chapters, try to a) Make a clear statement of problem (You typically do this well) b) Say what is "good idea" you had c) Say what you don't really know yet / subject for future research d) Say what is straightforward engineering IMHO you don't distinguish b) c) d) so well Could try to make thesis more readeable by separating Mathematics from words Currently easy to get bogged down and lose track in mathematics What is "System" I think your definition of server and client is unclear We have a "system" -- this system does something and doing its thing requires a mix of computers -- called servers and clients. One also has a "message service" with servers. This message service can be thought of as either inside or outside system I would distinguish System Members (perhaps all clients as all can go down) and Routing/Queuing service (RQ Servers) RQ Service can be instantiated on a system computer You have one IMHO confusing choice of terminology You say a client delivers an event to describe what in normal english one would mean by client receives event. I strongly advise changing notation as it is very confusing for deliver is nearer sending than receiving. So natural interpretation is opposite to what you want The situation is not helped as you correctly define precisely many concepts However you use normal english words for these. in reading text it is often not clear if you mean one to read a word as colloquial english (e,g, context deliver) or as precise technical term. You could italicize when you mean precise technical meaning or use less common english words eg use GES Context instead of context This especially needs to be in introductory paragraphs when you use "to be defined" technical terms More on system architecture You have something like a fat tree I think. It is not clear to me if you can use "any" collection of RQ servers or only ones with particular architecture i.e, can you map any set of servers into your architecture by assigning them to levels. Then you are specifying a particular routing algorithm on top of a general set. If so this cannot be unique and the process for doing this should be described In the O'Reilly Peer to Peer network book there is a fascinating discussion of Networks produced by P2P systems. They show when you get logarithmic performance and the importance of "long connections" (inter cluster links in your approach). they define the important "small world" concept to describe systems with logarithmic routing from "long links" i.e. world is collection of closely connected clusters with sparse intercluster links Chapter 1 First paragraph second bullet (event type) is not very clear fourth bullet should add (explicit and implicitly via topic) Events are more general than you say They define objects define change in state of objects are time stamped messages are messages (special case of above with null time stamp) i.e. we think of ALL communication in system as being events Page 3 guarantees line 2 could be any required guarantees Page 4 Discuss RQ servers as providing software multicast. Contrast in efficiency and generality with hardware multicast Item 1. Why 10**4 clients. super bowl events have 10**8 Item 3 why single out "persistent property of profile" Page 6: define system more precisely as above -- collection of dynamic objects and define events as communicated information. events can be internal or external In a physics analogy, system is bunch of particles; events are "force" between particles or from external objects Distinguish logical concept (RQ server and client from physical machines) immutable or mutable properties in an event are unclear. For me any event is FIXED except for added data on its use and routing. The info in an event can cause or record mutation of properties of objects in system. I would generate a new event if want to change info Section 2.3 start. Clients can choose (as in JMS) to receive or not receive events while they were absent Page 8: all events are list should I think be "an event is always lost" Page 9: line 3 text Every event .. describes the event Reads badly Next sentence "could pointers" missing be or something Section 2.7 -- very abstruse. Go through a real example showing concepts Section 3.1 -- see comments above Chapter 1 First paragraph second bullet (event type) is not very clear fourth bullet should add (explicit and implicitly via topic) Section 3 -- add discussion of unique ID I sent you section 3.1.4 be clearer by talking about topics Section 3.3 I am not certain that I believe you mean "A Client is a user of System" I think system is sum of clients Section 3.3.1 underlying continuity not clear Section 3.3.3 Finally you use natural word "receive"! Section 3.4 -- see small world discussion above I didn't get further. Rest is a difficult read. examples would help