Latency server and matchmaker
First Claim
1. A method to assign a client computer running an application program to one server computer amongst a plurality of server computers comprising the steps of:
- performing communications link quality measurements among the plurality of server computers;
classifying the plurality of servers into a plurality of groups according to the communications link quality measurements, wherein servers belonging to a particular group exhibit the same approximate communications link quality measurements;
designating a plurality of representative servers, wherein at least one server from each server group is selected as a representative server for that particular group;
in response to a request from the client computer, determining a minimum communications link quality criterion required for using the application program;
selecting a qualified server computer from the plurality of representative server computers, wherein the measured communication link quality criterion of the qualified sever meets the minimum communication link quality criterion;
selecting a final server computer from the group of server computers to which the qualified server computer belongs;
establishing data communications between the final server computer and the client computer.
12 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus to efficiently and effectively ensure that the quality of the data communications links are adequate for digital electronic game playing is provided. A number of servers are connected to the Internet. The servers periodically perform communications link quality measurements among themselves. At least one of the servers is designated as a matchmaker. When a game is requested by clients, the matchmaker acts as a game coordinator and compiles the results of the measurements. Based on the compilation and other information from its database, the matchmaker selects a few servers as candidate servers. These candidates perform data communications link quality measurements with the requesting clients. Based on these measurements, the matchmaker selects a server as the server for the requested game.
205 Citations
29 Claims
-
1. A method to assign a client computer running an application program to one server computer amongst a plurality of server computers comprising the steps of:
-
performing communications link quality measurements among the plurality of server computers; classifying the plurality of servers into a plurality of groups according to the communications link quality measurements, wherein servers belonging to a particular group exhibit the same approximate communications link quality measurements; designating a plurality of representative servers, wherein at least one server from each server group is selected as a representative server for that particular group; in response to a request from the client computer, determining a minimum communications link quality criterion required for using the application program; selecting a qualified server computer from the plurality of representative server computers, wherein the measured communication link quality criterion of the qualified sever meets the minimum communication link quality criterion; selecting a final server computer from the group of server computers to which the qualified server computer belongs; establishing data communications between the final server computer and the client computer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a communications network coupling to a plurality of server computer systems, each of the plurality of server computer systems storing the network addresses of the plurality of server computer systems, at least one of the plurality of server computer systems being designated to a matchmaker, the matchmaker server computer system adapted to ensure that the quality of data communication links are adequate for using an application program over the communications network, the matchmaker server computer system comprising:
-
a bus; a processor coupled to the bus; memory coupled to the bus; and a data communications device coupled to the bus and the communications network; wherein the memory storing instruction codes, the instruction codes when executed by the processor performing the following steps;
instructing the server computer systems to perform communications link quality measurements among the plurality of server computers;
classifying the plurality of servers into a plurality of groups according to the communications link quality measurements, wherein servers belonging to a particular group exhibit the same approximate communications link quality measurements;
designating a plurality of representative servers, wherein at least one server from each server group is selected as a representative server for that particular group;
in response to a request from the client computer, determining a minimum communications link quality criterion required for using the application program;
selecting a qualified server computer from the plurality of representative server computers, wherein the measured communication link quality criterion of the qualified server meets the minimum communication link quality criterion selecting a final server computer from the group of server computers to which the qualified server computer belongs;
establishing data communications between the final server computer and the client computer. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system to match one or more client computers requesting participation in a multi-user application program and an application server, in a computer network having a plurality of application servers and a plurality of client computers, comprising:
-
means for determining a first group of candidate application servers for running the application program; means for determining a communication link quality criteria required for using the application for each communication link between each of the one or more client computers requesting the application program and an application server in the first group of candidate application servers; means for receiving at least one communication link quality measurement of each communication link among the candidate application servers of the first group; and means for pruning the first group of candidate application servers to form a second group of candidate application servers based on the at least one communication link quality measurement of each communication link among the candidate application servers of the first group and based on the communication link quality criteria. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification