Server-group messaging system for interactive applications
First Claim
1. A method for allowing a plurality of host computers connected over a wide area network to efficiently communicate during implementation of an interactive application, comprising the steps of:
- (1) creating an implicit message group that includes a subset of the plurality of host computers;
(2) assigning a unique Upper Level Protocol (ULP) address to each of the plurality of host computers and said implicit message group;
(3) receiving a message from one of the plurality of host computers, said message specifying said unique ULP address assigned to said implicit message group; and
(4) sending a payload of data contained in said message to multiple host computers contained in said subset specified by said implicit message group;
wherein said one of the plurality of host computers may send data relevant to the interactive application to said multiple host computers using only one message addressed to the ULP address of the implicit message group.
12 Assignments
0 Petitions
Accused Products
Abstract
A method for deploying interactive applications over a network containing host computers and group messaging servers is disclosed. The method operates in a conventional unicast network architecture comprised of conventional network links and unicast gateways and routers. The hosts send messages containing destination group addresses by unicast to the group messaging servers. The group addresses select message groups maintained by the group messaging servers. For each message group, the group messaging servers also maintain a list of all of the hosts that are members of the particular group. In its most simple implementation, the method consists of the group server receiving a message from a host containing a destination group address. Using the group address, the group messaging server then selects a message group which lists all of the host members of the group which are the targets of messages to the group. The group messaging server then forwards the message to each of the target hosts. In an interactive application, many messages will be arriving at the group server close to one another in time. Rather than simply forward each message to its targeted hosts, the group messaging server aggregates the contents of each of messages received during a specified time period and then sends an aggregated message to the targeted hosts. The time period can be defined in a number of ways. This method reduces the message traffic between hosts in a networked interactive application and contributes to reducing the latency in the communications between the hosts.
-
Citations
18 Claims
-
1. A method for allowing a plurality of host computers connected over a wide area network to efficiently communicate during implementation of an interactive application, comprising the steps of:
-
(1) creating an implicit message group that includes a subset of the plurality of host computers; (2) assigning a unique Upper Level Protocol (ULP) address to each of the plurality of host computers and said implicit message group; (3) receiving a message from one of the plurality of host computers, said message specifying said unique ULP address assigned to said implicit message group; and (4) sending a payload of data contained in said message to multiple host computers contained in said subset specified by said implicit message group; wherein said one of the plurality of host computers may send data relevant to the interactive application to said multiple host computers using only one message addressed to the ULP address of the implicit message group. - View Dependent Claims (2)
-
-
3. A method for allowing a plurality of host computers connected over a wide area network to efficiently communicate during implementation of an interactive application, comprising the steps of:
-
(1) creating a logical message group that includes a first subset of the plurality of host computers; (2) creating an implicit message group that includes a second subset of the plurality of host computers; (3) assigning a unique ULP address to each of the plurality of host computers, said implicit message group, and said logical message group; (4) receiving a message from one of the plurality of host computers, said message specifying said unique ULP address assigned to said logical message group and said unique ULP address assigned to said implicit message group; (5) obtaining, in response to said message, a third subset of the plurality of host computers by performing a set operation on said first subset and said second subset; and (6) sending a payload of data contained in said message to multiple host computers contained in said third subset. - View Dependent Claims (4, 5, 6)
-
-
7. A group messaging server for allowing a plurality of host computers connected over a wide area network to efficiently communicate, via at least an Upper Level Protocol (ULP) running on top of a transport level protocol (TLP) within the wide area network, while implementing an interactive application, comprising:
-
a network interface that couples the group messaging server to the wide area network via TLP; means for creating a plurality of logical message groups, such that each logical message group includes a respective subset of the plurality of host computers; means for creating a plurality of implicit message groups, such that each implicit message group includes a respective subset of the plurality of host computers; means for assigning each of the plurality of host computers, each of said plurality of logical message groups, and each of said plurality of implicit message groups, a unique ULP address; a group sever control, connected to said network interface, that comprises; an address map that contains a corresponding TLP address for each unique ULP address of each of the plurality of host computers; and an implicit group list that contains the ULP address for all of said plurality of implicit message groups that are active; a plurality of ULP server processes, each corresponding to an ULP address in said implicit group list; and a plurality of logical ULP address group tables, each ULP address group table corresponding to a respective one of said plurality of logical message groups, and each ULP address group table including a ULP address for each of the plurality of host computers which are members of said one of said plurality of logical message groups. - View Dependent Claims (8, 9, 10)
-
-
11. A method for providing messages to a plurality of host computers connected over a unicast wide area communication network, the method comprising the steps of:
-
providing a group messaging server coupled to the network, the server communicating with each host computer comprised within the plurality of host computers, the server communicating using the network, the server maintaining a plurality of Upper Level Protocol addresses, the server further maintaining a plurality of addresses of computers comprised within the plurality of host computers, the server further maintaining at least one mapping from the Upper Level Protocol addresses to the addresses of computers comprised within the plurality of host computers, the addresses of computers comprised within the plurality of host computers mapping to computers comprised within the plurality of host computers; sending a message to the server, via the network, from one of the host computers comprised within the plurality of host computers, the message containing a payload portion, the message further containing an identification portion, the identification portion comprising a further Upper Level Protocol address; mapping, by the server, the further Upper Level Protocol address to a set of selected addresses of host computers comprised within the plurality of host computers; and transmitting, by the server, via the network, the payload portion addressed to each member of the set of selected addresses of host computers. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method for providing messages to a plurality of host computers connected over a unicast wide area communication network, the method comprising the steps of:
-
providing a group messaging server coupled to the network, the server communicating with each host computer comprised within the plurality of host computers, the server communicating using the network, the server maintaining a plurality of Upper Level Protocol addresses, the server further maintaining a plurality of addresses of computers comprised within the plurality of host computers, the server further maintaining at least one mapping from the Upper Level Protocol addresses to the addresses of computers comprised within the plurality of host computers, the addresses of computers comprised within the plurality of host computers mapping to computers comprised within the plurality of host computers; dynamically adding by the server in response to a first control message received by the server, to at least one mapping from the Upper Level Protocol addresses to the addresses of computers comprised within the plurality of host computers, the address of a first host computer comprised within the plurality of host computers, the first control message being sent via the network from the first host computer; and dynamically removing by the server in response to a second control message received by the server, from at least one mapping from the Upper Level Protocol addresses to the addresses of computers comprised within the plurality of host computers, the address of the first host computer, the second control message being sent via the network from the first host computer.
-
Specification