Initiating and scaling massive concurrent data transactions
First Claim
1. A system, comprising:
- a driver for generating application information for using an application by a computer platform through a telecommunication network, prioritizing means for prioritizing said application information based on a relevancy vector comprising an attribute of said application information that can be examined to determine relative importance of said application information, and communications means for transmitting said application information through said telecommunication network to said computer platform.
6 Assignments
0 Petitions
Accused Products
Abstract
An interactive multi-player computer hosted game employs an unstructured telecommunications link, such as the Internet, between a game server and a plurality of game clients. A game server, associated with a game driver, performs a performance monitoring function to determine an optimal bandwidth for each connection to a game client. Each information packet generated by the game driver is prioritized and queued for transmission in order of relevance for the game client. The game server then optimizes the transmission of information packets through the telecommunication network to the game client. Processed user input is received through the telecommunication network from the game client and transmitted to the game driver.
91 Citations
23 Claims
-
1. A system, comprising:
-
a driver for generating application information for using an application by a computer platform through a telecommunication network, prioritizing means for prioritizing said application information based on a relevancy vector comprising an attribute of said application information that can be examined to determine relative importance of said application information, and communications means for transmitting said application information through said telecommunication network to said computer platform. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
monitoring means for determining an optimal bandwidth of a connection through said telecommunications network to said computer platform; - and
limit means for limiting a bandwidth for transmission of said application information to said optimal bandwidth.
-
-
3. A system as claimed in claim 2 wherein said monitoring means comprises
means for flooding said connection with information to determine a latency characteristic of said connection; -
means for developing a set of metrics for said connection responsive to said latency characteristic; and
means for assessing said set of metrics and responsively determining said optimal bandwidth.
-
-
4. A system as claimed in claim 1 wherein said application information is generated in information packets, and said prioritizing means assesses each information packet, produces an array of values indicative of a relevance relative to other information packets for said computer platform and assesses the array for queuing each information packet in order of highest relevance first.
-
5. A system as claimed in claim 4 further comprising
means for receiving a time signal from said computer platform when said computer platform connects with said system through said network and determining a difference between a system time and time of said computer platform, and synchronization means for applying said difference to each information packet. -
6. A system as claimed in claim 5 wherein said prioritizing mean has
means for setting an age limit for each information packet to remain in a queue, and means for discarding each information packet from the queue if said age limit is exceeded. -
7. A system as claimed in claim 1 wherein said system has a plurality of drivers.
-
8. A system as claimed in claim 2 wherein said driver generates application information for said application by at least two of said computer platforms through a telecommunication network, and said prioritizing means prioritizes said application information and responsively queues said application information for each of said at least two computer platforms, and said aperture control means optimizes said application information for transmission for each of said at least two computer platforms.
-
9. A method of operating a multilateral interactive application system having a first computer device communicating with a plurality of clients in communication with a second computer device connected through a telecommunications network comprising:
-
with said first computer device, prioritizing portions of application information generated by an application driver linked to said first computer device and executing a multilateral interactive application, wherein said portions of said application information are prioritized based on a relevancy vector which provides an indication of the importance of said portions of said application information with respect at least one of said clients;
queuing said application information in order of priority for transmission to said second computer device;
transmitting from said first computer device said game information through said telecommunications network to said second computer device and at least one of said clients; and
repeating the steps for using said multilateral interactive application. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
determining an optimal bandwidth of a connection through said telecommunications network to said second computer device; and
limiting a bandwidth for transmission of said application information to said optimal bandwidth.
-
-
11. A method as claimed in claim 10 wherein said step of determining an optimal bandwidth comprises the steps of:
-
flooding said connection with information at an initial bandwidth to determine a latency characteristic of said connection;
developing a set of metrics for said connection responsive to said latency characteristic; and
assessing said set of metrics and responsively determining a maximum bandwidth at a preselected maximum latency, and if the initial bandwidth is less than the maximum bandwidth, increasing the initial bandwidth to said maximum bandwidth, and if said initial bandwidth is greater than said maximum bandwidth incrementally reducing the initial bandwidth to said maximum bandwidth and if the maximum bandwidth is outside predetermined limits, terminating the connection.
-
-
12. A method as claimed in claim 10, wherein said determining an optimal bandwidth is repeated each time another said second computer device is connected to the first computer device through the telecommunications network.
-
13. A method as claimed in claim 9, wherein said application information is generated in information packets, and said prioritizing comprises assessing each of said information packets for its relevance relative to other information packets for said at least one of said clients, and queuing each information packet in order of highest relevance first.
-
14. A method as claimed in claim 13 wherein said method further includes:
-
receiving a time signal from the second computer device when said at least one of said clients connects with said first computer device through said network;
determining a difference between a first computer device time and time of said application driver, and applying said difference to each of said information packets.
-
-
15. A method as claimed in claim 14 wherein said step of claim 14 is conducted on an ongoing basis.
-
16. A method as claimed in claim 14 wherein said prioritizing includes setting an age limit for each of said information packets to remain in said queue, and discarding each of said information packets from the queue if said age limit is exceeded.
-
17. An article of manufacture comprising:
-
a computer usable medium having computer readable program code means embodied therein for implementing a multilateral interactive application useable by at lest one client connected through a telecommunications network via a first server, the computer readable program code means in said article of manufacture comprising;
computer readable program code means for causing a second server linked to said first server via said telecommunications network to prioritize application information generated by an application driver executing said multilateral interactive application;
computer readable program code means for causing said second server to queue said application information in an order of priority for transmission to the at least one client;
computer readable program code means for causing said second server to optimize transmission of said application information to the at least client;
computer readable program code means for causing said second server to transmit said game information through said telecommunication network to the at least one client; and
computer readable program code means for causing said second server to receive processed user input through said telecommunication network from the client and to transmit said processed user input to said application driver;
wherein said computer readable program code means for said second server to prioritize application information generated by an application driver executing a multilateral application includes computer readable program code means for assessing information packets of said application information for producing an array of values indicative of a relevance relative to other information packets for said client and for assessing the array for queuing each information packet in order of highest relevance first. - View Dependent Claims (18, 19, 20, 21)
computer readable code means for developing a set of metrics for said connection responsive to said latency; and
computer readable code means for assessing said set of metrics, and responsively determining a maximum bandwidth at a preselected maximum latency, and for increasing an initial bandwidth to said maximum bandwidth if the initial bandwidth is less than the maximum bandwidth, and incrementally reducing the initial bandwidth to said maximum bandwidth if said initial bandwidth is greater than said maximum bandwidth and terminating the connection if the maximum bandwidth is outside predetermined limits.
-
-
19. The article of manufacture as claimed in claim 18 wherein said computer readable program code means for optimizing transmission of said application information to the at least one client, further includes
computer readable code means for receiving a time signal from the client; -
computer readable code means for determining a difference between a second server time and time of said client, and computer readable code means for applying said difference to each information packet.
-
-
20. The article of manufacture as claimed in claim 19 wherein said computer readable program code means for optimizing transmission of said application information to the at least one client, further includes
computer readable code means for causing the said computer readable program code mean for optimizing transmission of said application information to the at least one client to optimize on an ongoing basis. -
21. The article of manufacture as claimed in claim 18 wherein said computer readable program code means for causing the computer to prioritize application information generated by an application driver executing a said multilateral interactive application further comprises:
-
computer readable code means for setting an age limit for each information packet to remain in said queue, and computer readable code means for discarding each information packet from the queue if said age limit is exceeded.
-
-
22. A method for initiating and scaling massive concurrent data transactions over a communication network, comprising:
-
receiving application information intended for transmission to a device linked to the communication network, wherein the application information comprises a plurality of information packets each having an indication of importance of the application information in the particular information packet relative to other ones of the information packets;
examining the received application information to determine relevancy of the information packets based on the indication of importance; and
transmitting to the device the information packets in the received application information in descending order of the determined relevancy with an information packet having high relevancy being transmitted first. - View Dependent Claims (23)
-
Specification