Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
First Claim
Patent Images
1. A method of managing a collaborative process comprising:
- defining a plurality of locales on a plurality of servers;
creating a plurality of objects corresponding to players in the plurality of locales; and
mediating object state of the objects between the locales in a seamless manner so that the locales form a seamless world.
6 Assignments
0 Petitions
Accused Products
Abstract
A method of managing a collaborative process includes defining a plurality of locales on a plurality of servers, creating a plurality of objects corresponding to players in the plurality of locales, and mediating object state of the objects between the locales in a seamless manner so that the locales form a seamless world.
-
Citations
80 Claims
-
1. A method of managing a collaborative process comprising:
-
defining a plurality of locales on a plurality of servers;
creating a plurality of objects corresponding to players in the plurality of locales; and
mediating object state of the objects between the locales in a seamless manner so that the locales form a seamless world. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method of distributing object state across a plurality of hosts comprising:
-
initiating a plurality of server processes on the multiple hosts;
defining a plurality of objects whose object state is maintained by a corresponding server process; and
mediating exchanges of object state information between the plurality of objects such that the plurality of objects perceive a seamless world formed by the server processes residing on multiple hosts. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method of distributing object state across server process boundaries comprising:
-
initiating a plurality of server processes;
defining a plurality of objects whose object state is maintained by a corresponding server process;
marshalling the object state on a first server process using a Network Protocol Stack (NPS) and at least one NPS packet;
transmitting the object state across a process boundary to a second server process; and
de-marshalling the object state on the second server. - View Dependent Claims (38, 39)
-
-
40. A method of distributing object state across server process boundaries comprising:
-
initiating a plurality of server processes;
defining a plurality of objects whose object state is maintained by a corresponding server process;
initiating a message sink for the object state on a first server process; and
creating a message source for the object state on the second server process such that the message source transmits the object state of objects on the first server process to objects on the second server process.
-
-
41. A method of managing a collaborative process comprising:
-
initiating a plurality of server processes;
initiating at least one gateway connected to the plurality of server processes;
directing data from a user to a server process by performing a discovery process to match the user to the server process; and
dynamically redirecting the data from the user to another server process when a user moves from one server process to the another server process. - View Dependent Claims (42, 43, 44)
-
-
45. A method of managing a collaborative process comprising:
-
defining a plurality of objects on a plurality of servers, each server having a Network Protocol Stack; and
exchanging information about state of the objects between the servers using their Network Protocol Stacks, wherein, during the exchanging step, reliable packets and unreliable packets are exchanged such that only dropped reliable packets are resent upon notification from a corresponding Network Protocol Stack to a sender of a dropped packet.
-
-
46. A method of managing a collaborative process comprising:
-
initiating at least one gateway connected-to a plurality of hosts;
performing a discovery process to match a user to a host when a user sends data to an object residing on at least one of the hosts; and
redirecting the data from the user to another host when the object moves from one host to the another host. - View Dependent Claims (47, 48, 49, 50, 51, 52)
-
-
53. A method of conducting a distributed secure transaction comprising:
-
receiving a proposal the distributed secure transaction between a first party and a second party, wherein the first party and the second party are represented by object states distributed across a plurality of servers;
receiving approval for the distributed secure transaction from the first party and the second party;
mediating the distributed secure transaction across the plurality of servers;
verifying that object states of objects maintained on the plurality of servers before and after the distributed secure transaction are valid; and
verifying that the distributed secure transaction is consistent with the original proposal for the distributed secure transaction.
-
-
54. A method of distributing object state across locale boundaries comprising:
-
initiating a plurality of locale threads;
defining a plurality of objects whose object state is maintained in the locale threads;
changing the object state of at least one object in a first locale;
proxying marshaled data representing the changed object state through a proxy sentinel at the first locale to its corresponding stub sentinel at a second locale;
distributing the marshaled data through the stub sentinel to a receiving object at the second locale.
-
-
55. A method of effecting a distributed secure transaction comprising:
-
receiving a proposal for a transaction from a first user;
verifying that the proposal is genuine;
securing the proposal against tampering with a first password;
embedding the sealed proposal in a secure message, the secure message being sealed with a second password;
transmitting the secure message to a second user;
receiving the secure message from the second user, wherein the authenticity of the secure message has been verified, and the secure message has been countersigned by the second user;
verifying that the secure message has been properly countersigned by the second user; and
executing the transaction. - View Dependent Claims (56, 57, 58, 59, 60)
-
-
61. A system for managing a collaborative process comprising:
-
means for defining a plurality of locales on a plurality of servers;
means for creating a plurality of objects corresponding to players in the plurality of locales; and
means for mediating object state of the objects between the locales in a seamless manner so that the locales form a seamless world.
-
-
62. A system for distributing object state across a plurality of hosts comprising:
-
means for initiating a plurality of server processes on the multiple hosts;
means for defining a plurality of objects whose object state is maintained by a corresponding server process; and
means for mediating exchanges of object state information between the plurality of objects such that the plurality of objects perceive a seamless world formed by the server processes residing on multiple hosts.
-
-
63. A system for distributing object state across server process boundaries comprising:
-
means for initiating a plurality of server processes;
means for defining a plurality of objects whose object state is maintained by a corresponding server process;
means for marshalling the object state on a first server process using a Network Protocol Stack (NPS) and at least one NPS packet;
means for transmitting the object state across a process boundary to a second server process; and
means for de-marshaling the object state on the second server.
-
-
64. A system for distributing object state across server process boundaries comprising:
-
means for initiating a plurality of server processes;
means for defining a plurality of objects whose object state is maintained by a corresponding server process;
means for initiating a message sink for the object state on a first server process; and
means for creating a message source for the object state on the second server process such that the message source transmits the object state of objects on the first server process to objects on the second server process.
-
-
65. A system for managing a collaborative process comprising:
-
means for initiating a plurality of server processes;
means for initiating at least one gateway connected to the plurality of server processes;
means for directing data from a user to a server process by performing a discovery process to match the user to the server process; and
means for dynamically redirecting the data from the user to another server process when a user moves from one server process to the another server process.
-
-
66. A system for managing a collaborative process comprising:
-
means for defining a plurality of objects on a plurality of servers, each server having a Network Protocol Stack; and
means for exchanging information about state of the objects between the servers using their Network Protocol Stacks, wherein, during the exchange of information, reliable packets and unreliable packets are exchanged such that only dropped reliable packets are resent upon notification from a corresponding Network Protocol Stack to a sender of a dropped packet.
-
-
67. A system for managing a collaborative process comprising:
-
means for initiating at least one gateway connected to a plurality of hosts;
means for performing a discovery process to match a user to a host when a user sends data to an object residing on at least one of the hosts; and
means for redirecting the data from the user to another host when the object moves from one host to the another host.
-
-
68. A system for conducting a distributed secure transaction comprising:
-
means for receiving a proposal the distributed secure transaction between a first party and a second party, wherein the first party and the second party are represented by object states distributed across a plurality of servers;
means for receiving approval for the distributed secure transaction from the first party and the second party;
means for mediating the distributed secure transaction across the plurality of servers;
means for verifying that object states of objects maintained on the plurality of servers before and after the distributed secure transaction are valid; and
means for verifying that the distributed secure transaction is consistent with the original proposal for the distributed secure transaction.
-
-
69. A system for distributing object state across locale boundaries comprising:
-
means for initiating a plurality of locale threads;
means for defining a plurality of objects whose object state is maintained in the locale threads;
means for changing the object state of at least one object in a first locale;
means for proxying marshaled data representing the changed object state through a proxy sentinel at the first locale to its corresponding stub sentinel at a second locale; and
means for distributing the marshaled data through the stub sentinel to a receiving object at the second locale.
-
-
70. A system for effecting a distributed secure transaction comprising:
-
means for receiving a proposal for a transaction from a first user;
means for verifying that the proposal is genuine;
means for securing the proposal against tampering with a first password;
means for embedding the sealed proposal in a secure message, the secure message being sealed with a second password;
means for transmitting the secure message to a second user;
means for receiving the secure message from the second user, wherein the authenticity of the secure message has been verified, and the secure message has been countersigned by the second user;
means for verifying that the secure message has been properly countersigned by the second user; and
means for executing the transaction.
-
-
71. A computer program product for managing a collaborative process, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that defines a plurality of locales on a plurality of servers;
a procedure that creates a plurality of objects corresponding to players in the plurality of locales; and
a procedure that mediates object state of the objects between the locales in a seamless manner so that the locales form a seamless world.
-
-
72. A computer program product for distributing object state across a plurality of hosts, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that initiates a plurality of server processes on the multiple hosts;
a procedure that defines a plurality of objects whose object state is maintained by a corresponding server process; and
a procedure that mediates exchanges of object state information between the plurality of objects such that the plurality of objects perceive a seamless world formed by the server processes residing on multiple hosts.
-
-
73. A computer program product for distributing object state across server process boundaries, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that initiates a plurality of server processes;
a procedure that defines a plurality of objects whose object state is maintained by a corresponding server process;
a procedure that marshals the object state on a first server process using a Network Protocol Stack (NPS) and at least one NPS packet;
a procedure that transmits the object state across a process boundary to a second server process; and
a procedure that de-marshals the object state on the second server.
-
-
74. A computer program product for distributing object state across server process boundaries, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that initiates a plurality of server processes;
a procedure that defines a plurality of objects whose object state is maintained by a corresponding server process;
a procedure that initiates a message sink for the object state on a first server process; and
a procedure that creates a message source for the object state on the second server process such that the message source transmits the object state of objects on the first server process to objects on the second server process.
-
-
75. A computer program product for managing a collaborative process, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that initiates a plurality of server processes;
a procedure that initiates at least one gateway connected to the plurality of server processes;
a procedure that directs data from a user to a server process by performing a discovery process to match the user to the server process; and
a procedure that dynamically redirects the data from the user to another server process when a user moves from one server process to the another server process.
-
-
76. A computer program product for managing a collaborative process, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that defines a plurality of objects on a plurality of servers, each server having a Network Protocol Stack; and
a procedure that exchanges information about state of the objects between the servers using their Network Protocol Stacks, wherein, during the exchange of information, reliable packets and unreliable packets are exchanged such that only dropped reliable packets are resent upon notification from a corresponding Network Protocol Stack to a sender of a dropped packet.
-
-
77. A computer program product for managing a collaborative process, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that initiates at least one gateway connected to a plurality of hosts;
a procedure that performs a discovery process to match a user to a host when a user sends data to an object residing on at least one of the hosts; and
a procedure that redirects the data from the user to another host when the object moves from one host to the another host.
-
-
78. A computer program product for conducting a distributed secure transaction, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that receives a proposal the distributed secure transaction between a first party and a second party, wherein the first party and the second party are represented by object states distributed across a plurality of servers;
a procedure that receives approval for the distributed secure transaction from the first party and the second party;
a procedure that mediates the distributed secure transaction across the plurality of servers;
a procedure that verifies that object states of objects maintained on the plurality of servers before and after the distributed secure transaction are valid; and
a procedure that verifies that the distributed secure transaction is consistent with the original proposal for the distributed secure transaction.
-
-
79. A computer program product for distributing object state across locale boundaries, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that initiates a plurality of locale threads;
a procedure that defines a plurality of objects whose object state is maintained in the locale threads;
a procedure that changes the object state of at least one object in a first locale;
a procedure that proxies marshaled data representing the changed object state through a proxy sentinel at the first locale to its corresponding stub sentinel at a second locale; and
a procedure that distributes the marshaled data through the stub sentinel to a receiving object at the second locale.
-
-
80. A computer program product for effecting a distributed secure transaction, the computer program product comprising a computer useable medium having computer program logic recorded thereon for controlling a processor, the computer program logic comprising:
-
a procedure that receives a proposal for a transaction from a first user;
a procedure that verifies that the proposal is genuine;
a procedure that secures the proposal against tampering with a first password;
a procedure that embeds the sealed proposal in a secure message, the secure message being sealed with a second password;
a procedure that transmits the secure message to a second user;
a procedure that receives the secure message from the second user, wherein the authenticity of the secure message has been verified, and the secure message has been countersigned by the second user;
verifies that the secure message has been properly countersigned by the second user; and
a procedure that executes the transaction.
-
Specification