<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5695041909677157033</id><updated>2011-12-03T23:18:18.420-08:00</updated><category term='Spontaneous Remote Method Invocation (SRMI)'/><category term='Overview'/><category term='Adaptive peer-to-peer load balancing in distributed environments'/><category term='Nucleus Major Idea'/><category term='reviews'/><category term='MIE Winners'/><category term='Orchestra Overview'/><category term='Nucleus with Torque Game Engine'/><title type='text'>Orchestra-Nucleus</title><subtitle type='html'>The blog for Orchestra game server and Nucleus the Massive Multi-player Online Game projects</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://orchestra-nucleus.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Youssef Mamdouh</name><uri>http://www.blogger.com/profile/04917580493499832141</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/__Gm5_q7g9WU/R7cGWLdwWeI/AAAAAAAAAHA/FMle7CHZbis/S220/n706360321_6498.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5695041909677157033.post-9192072492235119092</id><published>2007-08-02T01:45:00.000-07:00</published><updated>2007-08-02T01:51:20.891-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reviews'/><title type='text'>Reviews</title><content type='html'>&lt;A HREF="http://www.youtube.com/watch?v=EzpvocUYLjI"&gt;A child Enjoing playing the Nucleus game&lt;/A&gt; thanks for testing it, Youssef !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5695041909677157033-9192072492235119092?l=orchestra-nucleus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/9192072492235119092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/9192072492235119092'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/2007/08/reviews.html' title='Reviews'/><author><name>Teemo</name><uri>http://www.blogger.com/profile/09885114612181257782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5695041909677157033.post-4537898105360568217</id><published>2007-07-31T00:02:00.000-07:00</published><updated>2007-07-31T00:30:16.390-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MIE Winners'/><title type='text'>MIE Winners</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/__Gm5_q7g9WU/Rq7ij2PqnNI/AAAAAAAAACU/hcMgP0PupHQ/s1600-h/HPIM1133.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/__Gm5_q7g9WU/Rq7ij2PqnNI/AAAAAAAAACU/hcMgP0PupHQ/s400/HPIM1133.JPG" alt="" id="BLOGGER_PHOTO_ID_5093257334087130322" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;After a whole year of work , starting from august 2006, we got our reward on 28 august 2007.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Orchestra and nucleus won the 2nd position in MIE competition. I can not describe how we all feel about this victory, because we proved to our selves and to every one that we can do it and really innovate new ideas with the ability to make it come true.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;A whole year of good and bad times, with many problems. A whole year of co-operation between the team members to make the project with its status now. A whole year of learning, as we learned a lot about team work and basics of management and scheduling.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Last but not least. Thanks to every one who helped us directly or indirectly. Thanks to those who supported us by their souls. Special thanks to the MIE team and specially our university coordinator Amira Awwad for her great efforts with us to make this possible.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-weight: bold;"&gt;Hope to have another post soon about MIA winning position.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5695041909677157033-4537898105360568217?l=orchestra-nucleus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/4537898105360568217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/4537898105360568217'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/2007/07/mie-winners.html' title='MIE Winners'/><author><name>Youssef Mamdouh</name><uri>http://www.blogger.com/profile/04917580493499832141</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/__Gm5_q7g9WU/R7cGWLdwWeI/AAAAAAAAAHA/FMle7CHZbis/S220/n706360321_6498.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/__Gm5_q7g9WU/Rq7ij2PqnNI/AAAAAAAAACU/hcMgP0PupHQ/s72-c/HPIM1133.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5695041909677157033.post-1917087522353400941</id><published>2007-07-26T02:00:00.000-07:00</published><updated>2007-07-26T07:39:58.018-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Overview'/><title type='text'>Orchestra and Nucleus, for a Better Gaming World</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/__Gm5_q7g9WU/RqXi8mPqnLI/AAAAAAAAACA/IW35SUXJ8ZA/s1600-h/kenrels+copy.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/__Gm5_q7g9WU/RqXi8mPqnLI/AAAAAAAAACA/IW35SUXJ8ZA/s400/kenrels+copy.jpg" alt="" id="BLOGGER_PHOTO_ID_5090724484498496690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;    Nucleus, a game prototype developed by our team with an innovative gaming idea, aiming to invade not only the local market, but the international one as well. While working on developing the game main structure, the team figured out that it is needed to have a special functioning game server to be able to serve it, and there came Orchestra.&lt;br /&gt;    Orchestra, our clustered game server, is being developed for serving massive numbers of online users, specially Massive Multiplayer Online Gamers. The entire system's design is based on collaboration between different types of team-designed servers, supporting thousands of users' connectivity.&lt;br /&gt;Still under testing, Orchestra is totally designed by the team, supporting high secured and non-stop connectivity software solution to all of its users.&lt;br /&gt;    The integration between Orchestra and Nucleus is done in a very harmonic manner, where the Orchestra server provides the needed functionality interfaces, which are simply used by the game logic; whatever action's needed by the gamer is done through its game logic, where the game logic provides the connecting link between the gamers' interface and the game server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5695041909677157033-1917087522353400941?l=orchestra-nucleus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/1917087522353400941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/1917087522353400941'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/2007/07/orchestra-and-nucleus-for-better-gaming.html' title='Orchestra and Nucleus, for a Better Gaming World'/><author><name>Teemo</name><uri>http://www.blogger.com/profile/09885114612181257782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/__Gm5_q7g9WU/RqXi8mPqnLI/AAAAAAAAACA/IW35SUXJ8ZA/s72-c/kenrels+copy.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5695041909677157033.post-7879042412653730224</id><published>2007-07-24T09:18:00.000-07:00</published><updated>2007-07-25T02:13:47.181-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Orchestra Overview'/><title type='text'>Orchestra Architecture Overview</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/__Gm5_q7g9WU/RqcUNGPqnMI/AAAAAAAAACM/mOVndvpPGbs/s1600-h/Server+overview+detailed.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/__Gm5_q7g9WU/RqcUNGPqnMI/AAAAAAAAACM/mOVndvpPGbs/s400/Server+overview+detailed.jpg" alt="" id="BLOGGER_PHOTO_ID_5091060119012809922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Orchestra; our clustered game server, is designed to provide a stable, powerful and easy to use environment for  creating and deploying massive multi-player online games. Orchestra architecture is completely designed by Kernels team.&lt;br /&gt;Orchestra is a secured cluster without limit on the number of participating machines. It is a pure software application that is easily expanded without the need to shutdown or suspend the system.&lt;br /&gt;Massive multi-player online games have a common architecture, where the game is split up into zones, each zone have a list of players interacting in it and any other game objects. for example a zone might contain a map on which the players' actions are taking place.&lt;br /&gt;Orchestra have what is called the zone server which is a group of machines hosting game zones with the full responsibility to create, deal and even move zones from one node to another, the last takes place in case where a great number of players are interacting in a zone applying a great load on the machine hosting the zone, so that zone needs a more powerful machine to host it.&lt;br /&gt;The decision of where to move a loaded zone is taken by the Zone Load Balancer(ZLB) which is implemented in distributed manner to avoid single points of failure.&lt;br /&gt;Orchestra has a standard communication layer called SRMI which abstracts all the overhead of networking issues and allows the application to be easily broken and distributed on separate machines.&lt;br /&gt;Orchestra provides a very comprehensive enviroment for creation of MMOGs, the game developer is totally abstracted from the details of how to deal with networking issues through a logical layer that handels all the details of what the cluster is doing.&lt;br /&gt;Another abstraction logical layer, is the object store, which encapsulates all database operations using aspects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5695041909677157033-7879042412653730224?l=orchestra-nucleus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/7879042412653730224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/7879042412653730224'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/2007/07/orchestra-architecture-overview.html' title='Orchestra Architecture Overview'/><author><name>Youssef Mamdouh</name><uri>http://www.blogger.com/profile/04917580493499832141</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/__Gm5_q7g9WU/R7cGWLdwWeI/AAAAAAAAAHA/FMle7CHZbis/S220/n706360321_6498.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/__Gm5_q7g9WU/RqcUNGPqnMI/AAAAAAAAACM/mOVndvpPGbs/s72-c/Server+overview+detailed.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-5695041909677157033.post-5345642715698744436</id><published>2007-07-24T04:11:00.000-07:00</published><updated>2007-07-31T13:35:27.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nucleus Major Idea'/><title type='text'>Nucleus Major Idea</title><content type='html'>Nucleus is a MMO-Game that is build to simulate teamwork, responsibility, Management  &amp; co-operation between the players through merging the two game genres Role Playing &amp;amp; strategy.&lt;br /&gt;&lt;br /&gt;The Game simulates the military structure, players start as soldiers who get their orders from their leaders &amp; complete them with their squads, by time players get promoted therefor they get their missions from a higher rank &amp;amp; in a different way, then they divide this objective to sub objectives and assign them to their squads that he/she is leading, &amp; so on&lt;br /&gt;&lt;br /&gt;so the player has a different view of the game according to his rank, the higher his rank is the more strategic the game is, &amp;amp; as you leader changes the game will also change as you will be playing through his vision &amp;amp; with a different plan&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5695041909677157033-5345642715698744436?l=orchestra-nucleus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/5345642715698744436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/5345642715698744436'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/2007/07/nucleus-major-idea.html' title='Nucleus Major Idea'/><author><name>Waheiba</name><uri>http://www.blogger.com/profile/13407968036496074724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp2.blogger.com/_r5NZsF0WdTI/RdoyiED-LvI/AAAAAAAAAAM/iWHD9_KQPOI/s320/%24159.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-5695041909677157033.post-5699348594870545127</id><published>2007-07-24T03:56:00.000-07:00</published><updated>2007-07-31T13:29:49.757-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nucleus with Torque Game Engine'/><title type='text'>Nucleus with Torque Game Engine</title><content type='html'>Nucleus is a Massive Multi-player Online Game, it is built with Torque Game Engine (TGE by Garage Games) &amp; The engine proved to be efficient for the Job.&lt;br /&gt;with some small editing in the engine code we were able to meet the requirement of a MMO-Game such as mouse controls &amp;amp; camera controls &amp; other things we added.&lt;br /&gt;TGE is actually built on a powerful network library (TGE is already based on a server client architecture, but unfortunately we couldn't integrate it with our Orchestra server, so the torque connects with our server &amp;amp; the other players that are on the Map are no more than AI players that get their orders through our server, where in return each player sends his actions to the server who broadcasts those actions to the others.&lt;br /&gt;The server doesn't have a game loop, &amp; there is no processing at all when no one is on the map or no one is doing anything (except for pinging idle players only) simply speaking the server only respond to incoming requests &amp;amp; nothing more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5695041909677157033-5699348594870545127?l=orchestra-nucleus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/5699348594870545127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/5699348594870545127'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/2007/07/nucleus-with-torque-game-engine.html' title='Nucleus with Torque Game Engine'/><author><name>Waheiba</name><uri>http://www.blogger.com/profile/13407968036496074724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp2.blogger.com/_r5NZsF0WdTI/RdoyiED-LvI/AAAAAAAAAAM/iWHD9_KQPOI/s320/%24159.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-5695041909677157033.post-8321369536866011556</id><published>2007-07-24T03:18:00.000-07:00</published><updated>2007-07-25T05:04:49.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adaptive peer-to-peer load balancing in distributed environments'/><title type='text'>Adaptive peer-to-peer load balancing in distributed environments</title><content type='html'>As we have multiple servers that serves clients on a request-response basis, we need a robust load-balancing. And since the load can't be predicted, we need the load-balancing to be adaptive. And since robustness is an issue in a clustering system, we need not have single point of failures. So instead of a central load-balancing server, we need it must like peer-to-peer.&lt;br /&gt;So we introduced our novel load-balancing algorithm that satisfies this properties. It's complexity is O(log2 N) instead of O(N). Each node is only aware of 3 other nodes, not the whole cluster. In case of failure of a node, or in case of isolation of 2 subset of nodes, each subset will be load-balanced as a single unit, which means the algorithm is also graceful degradable.&lt;br /&gt;We have written a paper about the algorithm and isA it will be published soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5695041909677157033-8321369536866011556?l=orchestra-nucleus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/8321369536866011556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/8321369536866011556'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/2007/07/adaptive-peer-to-peer-load-balancing-in.html' title='Adaptive peer-to-peer load balancing in distributed environments'/><author><name>Mohammad Alaggan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/-GRdIwXAujpA/TtsetfBGQ6I/AAAAAAAAC7E/GQhFISn43mQ/s1600/n552022084_44018_9644.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-5695041909677157033.post-6736344312668674968</id><published>2007-07-24T02:56:00.000-07:00</published><updated>2007-07-29T13:19:46.367-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spontaneous Remote Method Invocation (SRMI)'/><title type='text'>Spontaneous Remote Method Invocation (SRMI)</title><content type='html'>What will you do if you want some components to communicate over a network ?&lt;br /&gt;Well, you can use sockets and write your own protocol. You can use some Remote Procedure Call framework, like Remote Method Invocation (RMI) or CORBA (for Java software).&lt;br /&gt;Of course in order to use them you have to learn them first, which takes precious time if you have a tight deadline. The other thing is that you will modify your code to be RMI aware (if you use RMI) and&lt;br /&gt;to extract some interface, and write extra logic related to RMI registry and object querying and other stuff. For that reason we invented a new remote procedure call framework based on RMI that you can spontaneously. Meaning you don't need to be aware that it exists, and the code doesn't need to change at all.&lt;br /&gt;The main goal was that we will develop our clustering server as a single unit and split it up on multiple servers with minimum of fuss.&lt;br /&gt;It's approach was to create wrapper classes that imitates the expected class hierarchy of the RMI in run time. They would wrap your classes and abstract all remoting-related issues from them such that the classes would be remoted as RMI remote objects without knowing or changing the code (not even changing the byte-code).&lt;br /&gt;It is hosted on google code hosting &lt;a href="http://code.google.com/p/srmi"&gt;http://code.google.com/p/srmi &lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5695041909677157033-6736344312668674968?l=orchestra-nucleus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/6736344312668674968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5695041909677157033/posts/default/6736344312668674968'/><link rel='alternate' type='text/html' href='http://orchestra-nucleus.blogspot.com/2007/07/spontaneous-remote-method-invocation.html' title='Spontaneous Remote Method Invocation (SRMI)'/><author><name>Mohammad Alaggan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/-GRdIwXAujpA/TtsetfBGQ6I/AAAAAAAAC7E/GQhFISn43mQ/s1600/n552022084_44018_9644.jpg'/></author></entry></feed>
