Message propagation in a distributed virtual world
First Claim
1. A method of defining message flow paths in a distributed virtual world formed by a plurality of peer servers each hosting a virtual space corresponding to a cell of the distributed virtual world, comprising:
- receiving, at a neighboring peer server hosting a virtual space neighboring a virtual space hosted by an originating peer server, a message flow path setup message from the originating peer server identifying a plurality of produced message types produced by at least one virtual object within a virtual space hosted by the originating peer server and a scope of the plurality of produced message types;
identifying, at the neighboring peer server, ones of the plurality of produced message types that are of interest to the neighboring peer server;
identifying, at the neighboring peer server, ones of the plurality of produced message types that are of interest to at least one further neighboring peer server of the neighboring peer server;
providing a response to the originating peer server identifying the ones of the plurality of produced message types that are of interest to the neighboring peer server such that messages of the ones of the plurality of produced message types are subsequently routed from the originating peer server to the neighboring peer server; and
updating a routing table by the neighboring peer server such that messages of a plurality of consumed message types from the at least one further neighboring peer server of the neighboring peer server are routed to the peer server.
0 Assignments
0 Petitions
Accused Products
Abstract
A message propagation scheme for a distributed virtual world is provided. In general, each of a number of peer servers hosts a cell of the virtual world, where the cell is also referred to herein as a virtual space. A peer server issues an advertisement/subscription (ad/sub) message, or message flow path setup message, identifying message types produced by the virtual objects in the virtual space hosted by the peer server and message types consumed by the virtual objects in the virtual space hosted by the peer server. Based on the ad/sub message, for each message type produced, message flow paths from the peer server to other peer servers hosting virtual objects that are consumers of the message type are identified. Likewise, for each message type consumed, message paths from other peer servers hosting virtual objects that are producers of the message type to the peer server are identified.
83 Citations
18 Claims
-
1. A method of defining message flow paths in a distributed virtual world formed by a plurality of peer servers each hosting a virtual space corresponding to a cell of the distributed virtual world, comprising:
-
receiving, at a neighboring peer server hosting a virtual space neighboring a virtual space hosted by an originating peer server, a message flow path setup message from the originating peer server identifying a plurality of produced message types produced by at least one virtual object within a virtual space hosted by the originating peer server and a scope of the plurality of produced message types; identifying, at the neighboring peer server, ones of the plurality of produced message types that are of interest to the neighboring peer server; identifying, at the neighboring peer server, ones of the plurality of produced message types that are of interest to at least one further neighboring peer server of the neighboring peer server; providing a response to the originating peer server identifying the ones of the plurality of produced message types that are of interest to the neighboring peer server such that messages of the ones of the plurality of produced message types are subsequently routed from the originating peer server to the neighboring peer server; and updating a routing table by the neighboring peer server such that messages of a plurality of consumed message types from the at least one further neighboring peer server of the neighboring peer server are routed to the peer server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of defining message flow paths in a distributed virtual world formed by a plurality of peer servers each hosting a virtual space corresponding to a cell of the distributed virtual world, comprising:
-
generating, at a peer server, a message flow path setup message identifying a plurality of consumed message types that are of interest to the peer server and a scope of the plurality of consumed message types; and providing the message flow path setup message to at least one neighboring peer server from the plurality of peer servers, the at least one neighboring peer server hosting a virtual space neighboring the virtual space of the peer server in the distributed virtual world; wherein at least one message flow path for at least one of the plurality of consumed message types is established between at least one of the plurality of peer servers hosting a virtual object that produces the at least one of the plurality of consumed message types and the peer server based on the message flow path setup message and the at least one neighboring peer server propagates the message flow path setup message to at least one further neighboring peer server of the at least one neighboring peer server, and the at least one neighboring peer server updates its routing table such that messages of at least one of the plurality of consumed message types received from the at least one further neighboring peer server are routed to the peer server. - View Dependent Claims (13)
-
-
14. A method of defining message flow paths in a distributed virtual world formed by a plurality of peer servers each hosting a virtual space corresponding to a cell of the distributed virtual world, comprising:
-
receiving, at a neighboring peer server hosting a virtual space neighboring a virtual space hosted by an originating peer server, a message flow path setup message from the originating peer server identifying a plurality of consumed message types that are of interest to the originating peer server and a scope of the plurality of consumed message types; determining, at the neighboring peer server, whether at least one virtual object within the virtual space hosted by the neighboring peer server produces at least one of the plurality of consumed message types; if the at least one virtual object within the virtual space hosted by the neighboring peer server produces at least one of the plurality of consumed message types and is within the scope of the at least one of the plurality of consumed message types, updating a routing table of the neighboring peer server such that messages of the at least one of the plurality of consumed messages types produced by the at least one virtual object within the virtual space hosted by the neighboring peer server are routed to the originating peer server; determining, at the neighboring peer server, if ones of the plurality of consumed message types are of interest to at least one further neighboring peer server of the neighboring peer server; and updating a routing table by the neighboring peer server such that messages of the plurality of consumed message types received from the at least one further neighboring peer server of to a neighboring peer server are routed to the originating peer server. - View Dependent Claims (15)
-
-
16. A system comprising:
-
a) a communication interface communicatively coupling the system to a network; and b) a control system associated with the communication interface and including a peer server hosting a virtual space of a distributed virtual world formed by a plurality of peer servers including the peer server each hosting a virtual space corresponding to a cell of the distributed virtual world, the peer server configured to; i) receive, from an originating peer server hosting a virtual space neighboring the virtual space hosted by the peer server, a message flow path setup message identifying a plurality of produced message types produced by at least one virtual object within the virtual space hosted by the originating peer server and a scope of the plurality of produced message types; ii) identify ones of the plurality of produced message types that are of interest to the peer server; iii) identify ones of the plurality of produced message types that are of interest to at least one further neighboring peer server of the neighboring peer server; iv) provide a response to the originating peer server identifying the ones of the plurality of produced message types of interest to the peer server such that messages of the ones of the plurality of produced message types are subsequently routed from the originating peer server to the peer server; and v) update a routing table such that messages of the plurality of consumed message types from the at least one further neighboring peer server of the neighboring peer server are routed to the peer server.
-
-
17. A system comprising:
-
a) a communication interface communicatively coupling the system to a network; and b) a control system associated with the communication interface and including a peer server hosting a virtual space of a distributed virtual world formed by a plurality of peer servers including the peer server each hosting a virtual space corresponding to a cell of the distributed virtual world, the peer server configured to; i) receive, from an originating peer server hosting a virtual space neighboring the virtual space hosted by the peer server, a message flow path setup message identifying a plurality of consumed message types that are of interest to the originating peer server and a scope of the plurality of consumed message types; ii) determine whether at least one virtual object within the virtual space hosted by the peer server produces at least one of the plurality of consumed message types; iii) if the at least one virtual object within the virtual space hosted by the peer server produces at least one of the plurality of consumed message types and is within the scope of the at least one of the plurality of consumed message types, update a routing table of the peer server such that messages of the at least one of the plurality of consumed message types produced by the at least one virtual object within the virtual space hosted by the peer server are routed to the originating peer server; iv) determine if ones of the plurality of consumed message types are of interest to at least one further neighboring peer server of the neighboring peer server; and v) update a routing table such that messages of the plurality of consumed message types received from the at least one further neighboring peer server of the neighboring peer server are routed to the originating peer server. - View Dependent Claims (18)
-
Specification