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 within the distributed virtual world, comprising:
- generating, at a peer server, a message flow path setup message identifying a plurality of produced message types produced by at least one virtual object within a virtual space hosted by the peer server and a scope of the plurality of produced message types, wherein for each produced message type from the plurality of produced message types, the scope comprises an aggregate scope for the produced message type corresponding to an aggregate aura for the at least one virtual object that produces the produced message type plus a margin;
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;
receiving a response to the message flow path setup message from the at least one neighboring peer server identifying at least one of the plurality of produced message types that is of interest to the at least one neighboring peer server; and
updating a routing table of the peer server such that messages of the at least one of the plurality of produced message types are routed to the at least one neighboring peer server.
1 Assignment
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.
-
Citations
16 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 within the distributed virtual world, comprising:
-
generating, at a peer server, a message flow path setup message identifying a plurality of produced message types produced by at least one virtual object within a virtual space hosted by the peer server and a scope of the plurality of produced message types, wherein for each produced message type from the plurality of produced message types, the scope comprises an aggregate scope for the produced message type corresponding to an aggregate aura for the at least one virtual object that produces the produced message type plus a margin; 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; receiving a response to the message flow path setup message from the at least one neighboring peer server identifying at least one of the plurality of produced message types that is of interest to the at least one neighboring peer server; and updating a routing table of the peer server such that messages of the at least one of the plurality of produced message types are routed to the at least one neighboring peer server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 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 within the distributed virtual world, comprising:
-
obtaining an interest expression for each virtual object within the virtual space hosted by the peer server, the interest expression comprising information identifying at least one message type produced by the virtual object, information identifying at least one message type consumed by the virtual object, information defining an aura of the virtual object for the at least one message type produced by the virtual object, and information defining an Area of Interest (AOI) of the virtual object for the at least one message type consumed by the virtual object; and generating, at a peer server, a message flow path setup message based on the interest expression for the at least one virtual object, the message flow path setup message identifying; a plurality of produced message types produced by at least one virtual object within a virtual space hosted by the peer server; a scope of the plurality of produced message types; a plurality of consumed message types consumed by the at least one virtual object within the virtual space hosted by the peer server; and information defining a scope of the plurality of consumed message types; 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; receiving a response to the message flow path setup message from the at least one neighboring peer server identifying at least one of the plurality of produced message types that is of interest to the at least one neighboring peer server; and updating a routing table of the peer server such that messages of the at least one of the plurality of produced message types are routed to the at least one neighboring peer server.
-
-
15. A method of defining message flow paths in a distributed virtual world formed by a plurality of peer servers each hosting a virtual space within the distributed virtual world, comprising:
-
generating, at a peer server, a message flow path setup message identifying; a plurality of produced message types produced by at least one virtual object within a virtual space hosted by the peer server; a scope of the plurality of produced message types; and a plurality of consumed message types consumed by the at least one virtual object within the virtual space hosted by the peer server; and information defining a scope of the plurality of consumed message types; for each neighboring peer server from at least one neighboring peer server, filtering the message flow path setup message based on the scope of the plurality of produced message types to remove information identifying ones of the plurality of produced message types having a scope that does not extend into a virtual space hosted by the neighboring peer server; further filtering the message flow path setup message based on the scope of the plurality of consumed message types to remove information identifying ones of the plurality of consumed message types having a scope that does not extend into the virtual space hosted by the neighboring peer server to provide a filtered message flow path setup message; providing the message flow path setup message to the neighboring peer server, the neighboring peer server hosting the virtual space neighboring the virtual space of the peer server in the distributed virtual world; receiving a response to the message flow path setup message from the neighboring peer server identifying at least one of the plurality of produced message types that is of interest to the one neighboring peer server; and updating a routing table of the peer server such that messages of the at least one of the plurality of produced message types are routed to the neighboring peer server.
-
-
16. A method of defining message flow paths in a distributed virtual world formed by a plurality of peer servers each hosting a virtual space within the distributed virtual world, comprising:
-
generating, at a peer server, a message flow path setup message identifying a plurality of produced message types produced by at least one virtual object within a virtual space hosted by the peer server and a scope of the plurality of produced message types; 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; receiving a response to the message flow path setup message from the at least one neighboring peer server identifying at least one of the plurality of produced message types that is of interest to the at least one neighboring peer server; updating a routing table of the peer server such that messages of the at least one of the plurality of produced message types are routed to the at least one neighboring peer server; detecting when a virtual object within the virtual space hosted by the peer server is expected to leave the virtual space; and providing a predictive message flow path setup message to one of a plurality of neighboring peer servers of the peer server including the at least one neighboring peer server, wherein in response to the predictive message flow path setup message, the one of the plurality of neighboring peer servers subscribes to at least one message type consumed by the virtual object.
-
Specification