Last Comments ..... 1) re Mathematics -- I think this is valuable but there are two difficulties a) If Math not precise, then it is confusing. I see this at some places b) One needs to set up the Math but also have discussion of operational issues like "how best to set up Network of 22 servers" I think this (operational issues) is weak area 2) I think you need to add three significant areas a) Performance (most important). Thus in chapter 4, the key ideas are not really protocol but how and why and with what results. What are good topologies How does "matching" process translate in good performance so that messages are not sent to unnecessary servers and are routed to clients in some roughly optimal fashion b) Fault Tolerance as an operational issue (a) and b) guide how one should set up a network of servers) c) Implementation Issues. How you structured code. Where is data buffered etc. 3) section 2.7 needs more examples. It is very hard to read 4) In chapter 8 describe 22 server set up. It looks odd to me. Why would you set up such a network like a snake (few connections per server). I think a more clustered set up looks beeter 5) describe a model for GES -- JMS has a very clear publish-subscribe model State somewhere GES model 6) Discuss persistence a little. Is "system persistence" different from "archiving". It is in JMS 7) For each chapter state the ESSENTIAL idea and somewhere collect all your ideas Perhaps at the end of thesis where you can list key concepts Publish/Subscribe Performance Accuracy (merging etc.) Routing Persistence etc and your approach to them. 8) State that clients and servers can be on same physical machine (sec 2.2) 9) Discuss dynamic topologies. it seems to me that source/destination matches actually tell you best server network and in an optimal system, you would dynamically create servers 10) Note parallel computing analogy servers are Network clients are comute nodes 11) Section 2.1 "The sub vector" .... confuses me 12) Sec. 2.3. I think you should discuss "implicit" destinations as the nature of implicitness determines problem 13) is Sec. 2.5 d) really correct -- statement seems bizarre to me 14) Discuss where matching decision made. In "best" commercial JMS, refinement in subtopics made at receiving client which is silly 15) Chapter 8 -- motivate example Why in sec 8.2 isn't bandwidth important Isn't product of bytes size * message important measure Why isn't variation of latency versus hop length very interesting Wouln't you design servers so hop length small? I would add results hop length 1 4 10(done) 18 for selected cases Add 1 server results (same as hop length 1?) Your results are given to too many digits. Three significant figs is good choice