CPC H04J 3/0667 (2013.01) [H04J 3/0664 (2013.01); H04J 3/0673 (2013.01); H04J 3/0697 (2013.01)] | 11 Claims |
1. A method for reducing latency in a shared virtual environment comprising:
replicating islands including a plurality of virtual objects across at least two local machines, wherein the replication is timing dependent, and the timing is controlled by heartbeat messages from a reflector, and wherein the virtual objects include a state and a behavior, and wherein the virtual objects publish events, subscribe to events and request future events;
wherein each replicated island receives an identical queue of messages, wherein each message includes an action for an object of the plurality of objects, a timing for each of the messages and a sequence for each of the messages, and wherein the messages are deterministically executed on each of the at least two local machines in order of the sequence including and up to the timing equal to the heartbeat message thereby ensuring exact mirroring of the replicated islands across the at least two local machines;
determining if a dominant local machine exists among the at least two local machines, wherein the dominant local machine is a local machine responsible for most activity within the replicate islands;
determining a digital distance between each local machine and prospective reflector locations, where the digital distance is a latency value;
receiving a reflector relocation request;
selecting a reflector location with the lowest digital distance to a dominant local machine when the dominant local machine is present; and
selecting a reflector location to minimize digital distance for all local machines while ensuring no digital distance is above a threshold for any given local machine when no dominant machine is present.
|