|
|
|
AUTOMATED ELECTRICAL FINANCIAL OR BUSINESS PRACTICE OR MANAGEMENT ARRANGEMENT |
Internet-based system for enabling a time-constrained competition among a plurality of participants over the internet6659861
Abstract
An Internet-based system for enabling a time-constrained competition among a plurality of participants over the Internet. The Internet-based system comprises: a primary server having an embedded global positioning system (GPS) receiver; one or more web servers for providing information about the competition on the World Wide Web (WWW); a login server for enabling participants to log-in with the system prior to the competition; a competitor/participant database for storing information about each participant registered to participate in the competition; an invitation-to-respond/response database for storing invitations-to-responds (ITRs) (e.g. queries, problems, etc.) to be simultaneously displayed to participants at the competition, as well as the responses provided by each of the participants in response to the ITRs; one or more competition-promoting servers, each having an embedded GPS receiver, and conducting the competition process; and a plurality of GSU-enabled client machines. Each GSU-enabled client machine has an embedded Global Synchronization Unit (GSU). Each GSU-enabled client machine enables a registered participant to receive and display ITRs simultaneously with each and every other participant, and provide time and space (TS) stamped responses to the competition promoting servers. The competition promoting server fairly determines a winner amoung the participants independent of network latancies. All such components are interconnected with a globally-extensive network (e.g. the Internet) to enable the competition among the participants.
Claims
What is claimed is:
1. An Internet-based system for enabling a competition among a plurality of participants over the Internet, comprising:
a primary server having an embedded GPS (global positioning system) receiver;
one or more web servers for providing information about the competition;
a login server for enabling participants to log-in with the system prior to the competition;
a competitor database for storing information about each participant registered to participate in the competition;
an invitation to respond/response database for storing invitations-to-responds (ITRs) to be simultaneously displayed to participants at the competition, as well as the responses provided by each of the participants in response to the ITRs;
one or more competition-promoting servers having an embedded GPS receiver, and enabling the conducting of said competition; and
a plurality of client machines, each having an embedded Global Synchronization Unit (GSU), and enabling a registered participant to receive and display ITRs simultaneously with each and every other participant, and providing time and space (TS) stamped responses to the competition promoting servers;
wherein all such components are interconnected with a globally-extensive network to enable the competition among said plurality of participants.
2. The system of claim 1, which further comprises a virtual network connection between said primary server and an associated set of said competition-promoting servers, as well as between each said competition-promoting serverand an associated set of said client machines.
3. The system of claim 1 which further comprises a plurality of mirrored web servers, each connected to said contestant database and each serving a set of said client machines, and each said client machine being equipped with a web browser.
4. The system of claim 3, wherein each said web server comprises web server software providing support for HTML, Java, HTTP, FTP, XML, Active-X, CGI script or combinations comprising at least one of the foregoing softwares.
5. The system of claim 1, wherein each said client machine is equipped with a GSU and connected through the Internet to a server equipped with a GPS clock unit.
6. The system of claim 1, wherein said GSU comprises a GPS antenna, GPS receiver, central processor, host computer interface, GPS disciplined high-frequency clock, encryption and decryption module, and non-volatile memory.
7. The system of claim 1, wherein each said client machine comprises a global synchronization unit (GSU) and various hardware and software layers, including client software selected from the group consisting of a contest client applications, contest plug-ins, contest hooks and drivers, and combinations comprising at least one of the foregoing client software.
8. The system of claim 1, wherein each said client machine is equipped with a GSU and connected through the Internet to a server equipped with a GPS clock unit, where input and output devices are connected to said client machine through said GSU.
9. The system of claim 1, wherein said global synchronization unit (GSU) comprises a GPS antenna, GPS receiver, central processor, host computer interface, GPS disciplined high-frequency clock, encryption and decryption module, non-volatile memory, input device monitor and passthrough module, and an output passthrough and signal generation module.
10. The system of claim 1, wherein said game server comprises various hardware and software layers including a game server daemon and GPS receiver.
11. The system of claim 1, wherein said primary server comprises a primary server daemon, a contest management interface, a high precision clock or timer, high performance network interface, and a GPS receiver.
12. The system of claim 1, wherein said login server comprises a login server daemon and a high performance network interface.
13. The system of claim 1, wherein the flow of data and messages between a web server and said client machine includes web site content transmitted from said web server to the client machine, encrypted registration information posted to said web server from said client machine, preliminary contestant username and password sent to said client machine, and contest software downloaded from said web server to said client machine.
14. The system of claim 1, wherein the flow of data and messages between said primary server and said login server employed includes a list of game servers sent from said primary server to said login server.
15. The system of claim 1, wherein the flow of data and messages between one said game server and said login server includes a request for game server status by said login server, and the request includes the login server's public key for encryption, and wherein the data flow also includes an encrypted reply by the game server to said login server containing status and loading information about the game server, as well as the game server's public key for encryption use by the login server and client machine, and wherein the data flow also includes an encrypted contestant login request from said login server to the game server and a corresponding encrypted reply from the game server to said login server containing a game server access code.
16. The system of claim 1, wherein the flow of data and messages between said login server and a client machine, includes an encrypted contestant login request from the client machine to said login server, a message containing an encrypted contestant ID sent from the login server to the client machine, and an encrypted message from said login server to the client machine containing a game server address and associated game server access code.
17. The system of claim 1, wherein the flow of data and messages between one said game server and one said client machine includes a message from the client machine to the game server containing a contestant ID, a game server access code, and a client machine public key, an additional message from the game server to the client machine containing the game server public key, an additional message from the game server to the client machine containing and encrypted query and start-time, a further message from the game server to the client machine containing an encrypted query decryption key, a further message from the client machine to the game server containing a response notification hash, a further message from the client machine to the game server containing the encrypted response data and security verification hash, a further message from the game server to the client machine containing the security log request, a further message from the client machine to the game server containing the encrypted security log, a final message from the game server to the client machine containing the contest results.
18. The system of claim 1, wherein the flow of data and messages between the primary server and a game server, includes a message from the game server to the primary server containing the game server public key, an additional message from the primary server to the game server containing the primary server public key, a further encrypted message from the primary server to the game server containing the encrypted query, encrypted start-time, and encrypted answer, a further message from the game server to the primary server containing the encrypted preliminary results for the contest, a further message from the primary server to the game server containing an encrypted security analysis request, a further message from the game server to the primary server contains the encrypted security analysis results, a final message from the primary server to the game server containing the encrypted contest results.
19. The system of claim 1, wherein the flow of data and messages between the primary server and a web (http) server, includes game announcements delivered via ftp from said primary server to said web server, and additional data delivered via ftp from said primary server to said web server includes contest results and contestant standings.
20. An Internet-based competition-promoting system for fairly and securely enabling one or more time-constrained competitions among a plurality of competitors simultaneously presented with the same set of data, comprising:
a first subsystem for transmitting an Invitation-to-Respond, or ITR, to each of the competitors participating in the competition promoted by said system in a regulated manner; and
a second subsystem for responding to each ITR presented to said competitors, by submitting an appropriate response or undertaking a particular action;
wherein the plurality of competitors are simultaneously presented with the same set of data, and further wherein each competitor's response is timed to ensure fairness in the competitive activity, and thus precisely measured, securely recorded and analyzed.
21. The Internet-based competition-promoting system of claim 20, wherein said same set of data is data selected from the group consisting a question to be answered, a problem, puzzle or riddle to be solved.
22. The Internet-based competition-promoting system of claim 20, wherein said competitors are selected from the group consisting of human beings, programmed computers, and sophisticated androidal machines.
23. The competition-promoting system and method of claim 20, wherein said time-constrained competition is an activity selected from the group consisting of multi-player timed problem-solving games, puzzles, or contests; on-line real-time auctions, on-line real-time trading of securities, commodities, and foreign currencies; on-line real-time auctions; on-line educational testing; on-line career testing; on-line aptitude testing; on-line intelligence quotient (IQ) testing; and other real-time activities wherein simultaneous presentation of information to a plurality of competitive entities or accurate presentation of IRQs to and collection of responses thereto from one or more human subjects, is critical to the competitive or otherwise time-constrained activity at hand, in order to ensure fundamental principles of fairness and fair play expected by participants, spectators, and sponsors alike.
24. An Internet-based competition-promoting system having system components comprising:
a primary server for providing a source of Invitations-to-Respond and other competition related data; providing a master clock for the system; and performing functions or operations involving data received from multiple client machines connected to the system;
a login server for accepting login requests from each competitor's client machine and assigning an appropriate competition-promoting server to that client machine, providing a single address for each client machine to use to contact the assigned competition-promoting server when initializing a session in the competition, and intelligently distributing the processing and communications load among the competition-promoting servers;
a competitor database for recording information about each competitor for the proper operation of the competition;
an Invitation-To-Respond/Response (ITR/Response) database for storing or generating Invitations-To-Respond (ITRs) appropriate to the particular competition being promoted, and transmitting those ITR's to said client machines, through the other servers in the system;
one or more competition-promoting servers; and
a plurality of client machine for use by a plurality of competitors, each including a local clock, wherein each said competitor interacts with said competition-promoting system through one said client machine, further wherein an idealized universal clock time is derived as a function of a local clock value of the local clock and a master clock time from the master clock, and
wherein said system components are interconnected through the infrastructure of the Internet.
25. The Internet-based competition-promoting system of claim 24, said competitor database records items of information about each said competitor, selected from the group consisting of his or her identity, preferences, contact information, and competition related data.
26. The Internet-based competition-promoting system of claim 24, wherein said ITR/Response database contain canonical responses for comparison with the actual responses generated by the competitors.
27. The Internet-based competition-promoting system of claim 24, wherein each said client machine includes a global synchronization unit (GSU), whereas each said competition-promoting server includes a GPS receiver.
28. The Internet-based competition-promoting system of claim 24, wherein said global positioning unit (GSU) employed by the competition-enabling system comprises:
a plurality of GPS receivers operating in conjunction with an array of GPS satellites occupying a geodesic orbit.
29. The Internet-based competition-promoting system of claim 24, wherein said primary server communicates indirectly with said client machines through a number of competition-promoting servers, wherein said competition-promoting servers relay Invitations-To-Respond to the client machines, and receive responses thereto from those client machines.
30. The Internet-based competition-promoting system of claim 24, wherein said competition-promoting servers perform preliminary processing and sorting of the client machine responses and these pre-processed results are then passed back to said primary server.
31. The Internet-based competition-promoting system of claim 24, wherein each said competitor uses one said client machine to receive and view the Invitations-To-Respond (ITR), as well as to enter and transmit the responses thereto.
32. The Internet-based competition-promoting system of claim 24, wherein said client machine comprises a personal computer, augmented by the addition of several software and hardware components, including a global synchronization unit (GSU) installed in the client machine to provide precisely time-stamp client-responses, referred to as client-events, traceable to internationally standardized reference clocks.
33. The Internet-based competition-promoting system of claim 24, wherein said GSU within each client machine performs decryption operations, generates digitally-signed time and space stamps of various internal and external events at the client machine, and supports timed decryption and presentation of data to the competitor.
34. The Internet-based competition-promoting system of claim 24, wherein each computer or device in the system will establish a connection or connections to one or more of the other computers through the communications network.
35. The Internet-based competition-promoting system of claim 24, wherein said connections are virtual connections established through the Internet.
36. The Internet-based competition-promoting system of claim 24, wherein said communications network comprises a packet-switched data communications network running the popular Transmission Control Protocol/Internet Protocol (TCP/IP).
37. The Internet-based competition-promoting system of claim 24, wherein each said competition server connected to said communications network has a statically assigned IP address, whereas each said client machine connected thereto has either a statically or dynamically assigned IP address.
38. An Internet-based contest-promoting system for enabling a plurality of contestants to participate in a multi-player internetworked time-constrained contest that is regulated in a secure and fundamentally fair manner, comprising:
an information server for supporting a contest process over the Internet and producing invitations to respond (ITR) for response to said contestant in a time-constrained manner;
a plurality of client machines, each said client machine for use by one said contestant to interface with the contest process, receive an ITR displayed in a globally time-synchronized manner, receive a response to the ITR from the contestant in a time-constrained manner, time-stamping said response at the client machine, and transmitting the response and corresponding time-stamp to said information server;
said information server including means for evaluating and ranking said contestants are according to their responses and corresponding time-stamps;
means for registering contestants participating in the contest; means for controlling and measuring certain time-based elements of the contest including the precise instant at which an ITR is presented to the contestants on all or some subset of the client machines,
wherein said time-based elements shall include the "start-time" which is the same for each contestant,
wherein the contest-promoting system includes means for precisely determining the length of time between the start-time and the instant each contestant submits its response which provides the finish-time of the particular contestant,
wherein the length of time, measured between said start-time and said finish-time, provides the response-time of the particular contestant or competitor.
39. The Internet-based contest-promoting system of claim 38, wherein said ITRs are simultaneously presented to each and every client machine registered to compete in the contest.
40. The Internet-based contest-promoting system of claim 38, wherein each client machine incorporates a global positioning system (GPS) receiver, and a local clock contained in an embedded or peripheral device to provide a precise timing reference accurate to within 1 microsecond of international atomic clock standard time.
41. The Internet-based contest-promoting system of claim 38, wherein said GSU are programmed to decode and present the ITR in a secure manner at the precise moment desired.
42. The Internet-based contest-promoting system of claim 38, wherein each client machine includes a local clock that is characterized, or analyzed to determine the functional relationship between the local clock time and the global time as determined by a single master clock for the entire contest system, wherein the global time may be determined from the local clock reading.
43. The Internet-based contest-promoting system of claim 38, wherein the display update cycle on each client machine is skewed so that a display update completes exactly at a desired start time which is determined to be the same for each every contestant, regardless of their location on the planet.
44. The Internet-based contest-promoting system of claim 38, wherein characterization of the local clock is performed using an accurate clock connected to the client machine, or using security enhanced versions of the methods and algorithms used in the network time protocol (NTP).
45. The Internet-based contest-promoting system of claim 38, wherein said contest-promoting system further comprises security measures for detecting (and thereby discouraging) cheating by dishonest contestants.
46. The Internet-based contest-promoting system of claim 45, wherein said security measures comprise the use of encryption of the majority of messages between the various computers in the system, and by monitoring and logging the contest-related activities of participating client machines.
Description
BACKGROUND OF INVENTION
1. Field of Invention
The present invention relates generally to improvements in the operation and performance of client-server type internetworked computer systems of global extent, such as the Internet, and more particularly to a novel Internet-based information system and method which enables a millions of timed-constrained competitions, contests or transactions, among the mass population in a fundamentally fair and secure manner, using globally time-synchronized client subsystems and information servers having client-event resolution with extreme accuracy independent of variable network latency.
2. Brief Description of the State of the Art
While the role of cooperation has a secure place in the history of mankind, so too does the role of competition. Few will disagree that, over the course of time, human beings have competed in widely diverse ways for both tangible and intangible objects of need and desire. Such objects of need or desire have included: food; shelter; land; rewards, prizes, natural resources; sexual partners; fame; fortune; diversion or recreation such as sport; and ultimately, survival.
While the nature of man appears to not have changed fundamentally over the course of time, it is clear that his choice of tools and weapons have changed in step with his increase in technological skill and knowledge.
For example, in the late 1960's, the globally-extensive information infrastructure, now referred to as the Internet, was developed by the United States Government as a tool for national defense and survival in world of intense global competition and military struggle. Ironically, some thirty years later, with the technological development of the HyperText Transport Protocol (HTTP), the HyperText Markup Language (HTML), and the Domain Name System (DNS), a globally-extensive hyper-linked database referred to as the World Wide Web (WWW) has quickly evolved upon the infrastructure of the Internet. By virtue of the WWW, billions and even trillions of information resources, located on millions of computing systems at different locations on Earth, have been linked in unspeakably complex ways serving the needs and desires of millions of information resource users under the domains .net, .edu, .gov, .org, .com, .mil, etc. of the DNS.
The overnight popularity and success of the WWW can be attributed to the development of GUI-based WWW browser programs which enable virtually any human being to access a particular information resource (e.g. HTML-encoded document) on the WWW by simply entering its Uniform Resource Locator (URL) into the WWW browser and allowing the HTTP to access the document from its hosting WWW information server and transport the document to the WWW browser for display and interaction. The development of massive WWW search engines and directory services has simplified finding needed or desired information resources using GUI-enabled WWW browsers.
Without question, a direct consequence of the WWW, the GUI-based WWW browser and underlying infrastructure of the Internet (e.g. high-speed IP hubs, routers, and switches) has been to provide human beings world over with a new set of information-related tools that can be used in ever expanding forms of human collaboration, cooperation, and competition alike.
Over the past several years, a number of WWW-enabled applications have been developed, wherein human beings engage in either a cooperative or competitive activity that is constrained or otherwise conditioned on the variable time. Recent examples of on-line or Web-enabled forms of time-constrained competition include: on-line or Internet-enabled purchase or sale of stock, commodities or currency by customers located at geographically different locations, under time-varying market conditions; on-line or Internet-enabled auctioning of property involving competitive price bidding among numerous bidders located at geographically different locations; and on-line or Internet-enabled competitions among multiple competitors who are required to answer a question or solve a puzzle or problem under the time constraints of a clock, for a prize and/or an award.
In each of the above Internet-supported applications or processes, there currently exists an inherent unfairness among the competitors due to at least six important factors, namely: (1) the variable latency of (or delay in) data packet transmission over the Internet, dependent on the type of connection each client subsystem has to the Internet infrastructure; (2) the variable latency of data packet transmission over the Internet, dependent on the volume of congestion encountered by the data packets transmitted from a particular client machine; (3) the vulnerability of these applications to security breaches, tampering, and other forms of manipulation by computer and network hackers; (4) the latency of information display device used in client subsystems connected to the Internet; (5) the latency of information input device used in client subsystems connected to the Internet; and (6) the latency of the central processing unit (CPU) used in the client machine.
Regarding the first unfairness factor, it is important to point out that the network latency over the Internet varies over the course of the day and in response to network usage. Expressed differently, the time for a transmitted data packet to travel between a first client computer to a particular information server on the Internet will be different from the time for a transmitted data packet to travel between a second client computer to the same information server on the Internet. This time variance in the network latency on the Internet, referred to as the "variable network latency", must necessarily be modeled a non-deterministic process subject to the laws and principles of random (e.g. stochastic) processes. This has a number of important consequences for Internet-supported forms of time-constrained competition.
For example, in connection with Internet-supported competitions (e.g. games) involving a plurality of competitors or competitors, U.S. Pat. No. 5,820,463 attempts to compensate for network latency by measuring the average latency between all the client machines and then inserting intentional communication delays to make the average overall latency the same for all communications links. However, while this system equalizes the communication latency on average, it is wholly incapable of compensating for the random components of network latency (i.e. variable network latency) of the Internet. Consequently, even when practicing the methods disclosed in U.S. Pat. No. 5,820,463, the variable network latency of the Internet nevertheless. introduces inherent sources of error into time-constrained competitions, thereby putting certain competitors at an unfair disadvantage, i.e. by virtue of their client computer connection to the Internet in relation to the information server supporting the time-constrained competition.
Regarding the second unfairness factor, it is important to point out that when Internet-supported competition among a small number of competitor (e.g. 100 or less), the network latency should not be greatly affected by the competitors themselves, but rather will be more dependent on the types of connections the competitor's client machines have with the Internet and on network traffic and congestion as a whole. However, during Internet-supported competition involving massive numbers of competitors, as would exist during Web-based securities and commodities trading, and Web-based auctions, involving thousands or even millions of human beings all competing simultaneously. Because of the simultaneous start time and the expected distribution of responses, the system will be subject to two intense impulses of traffic, one slightly before the competition start, and another at the mean response time. It is necessary for the time-constrained competition system to be able to adequately handle this intense bandwidth.
As larger and larger numbers of competitors are involved in a time-constrained competition, it becomes more and more likely that there will be a tie between two or more competitors. Typically, it is preferable to avoid ties and be able to identify a single competitor as the winner. A time-constrained competition system intended to manage extremely large numbers of competitor must be able to resolve the time of the responses produced by such competitors in order to avoid or reduce the occurrence of ties.
Regarding the third unfairness factor, it is important to point out that each of the above-described time-constrained forms of Internet-supported competition are highly vulnerable to security breaches, tampering, and other forms of intentional network disruption by computer and network hackers. Although the use of a local clock insures fairness, it also raises a potential security problem with the system. Theoretically, an unscrupulous competitor could intercept and modify communications between the client and server, thereby falsifying the timestamps and gaining an unfair advantage over other competitors. Alternatively, an unscrupulous competitor could modify the local clock, either through software or hardware means, or interfere with the clock synchronization procedure, again gaining an unfair advantage over other competitors. The ordinary encryption/decryption techniques suggested in U.S. Pat. No. 5,820,463 are simply inadequate to prevent cheating or violation of underlying rules of fairness associated with such time-constrained forms of Internet-supported or Internet-enabled competition.
Regarding the fourth unfairness factor, it is important to point out that different types of information display devices have faster refresh rates. In the time-constrained competitions described above, the most common information display device used on client subsystems is the cathode ray tube (CRT) display monitor. In a CRT display monitor, the images presented to the user are drawn by an electron beam onto the screen from top to bottom, one scanline at a time. When the electron beam reaches the bottom, it must then travel back to the top of the monitor in order to prepare to output the first scanline again. The period in which the beam returns to the top of the screen is known as the retrace period. The overall frequency of the screen refreshing and retrace cycle is determined by the frequency of the vertical synchronization pulses in the video signal output by the computer. This frequency is often referred to as the vertical sync rate. In most monitors this rate ranges from 60 to 150 Hz. Unless the vertical redraw time is synchronized with the desired competition "start-time" in time-constrained competition at hand, a random error in the start time is created due to the uncertainty of the actual time the query, bid, price or other information element will be displayed on the display screen of a particular client system used to participate in the time-constrained competition at hand. This "information display latency" error can be as much as ten milliseconds or more depending on the vertical sync rate, and is in addition to any other errors in the start-time caused by network latency, computer processing time, and other factors.
U.S. Pat. 5,775,996 addresses the problem of information display latency by providing a method and apparatus for synchronizing the video display refresh cycles on multiple machines connected to an information network. This method involves using methods similar to NTP (network timekeeping protocol) or other clock synchronization algorithms in order to synchronize both the phase and frequency of the vertical-refresh cycle on each display. First, the monitors are set to the same frequency using standard video mode setting functions available in the operating system. Next, the phase of the cycle is adjusted by repeatedly switching in and out of "interlaced" mode. Since the interlaced modes have different timings than the standard modes, switching briefly into an interlaced mode will affect the phase of the refresh cycle.
This prior art method has a drawback in that it may be undesirable to modify the refresh rate on a competitor's client machine, since that is in part a personal preference, and typically under the control of the user. All the client machine video-driver cards may not be physically capable of operating at the same refresh rates, particularly if they are not operating at the same resolution. Also, the monitors themselves may not be capable of operating at a particular refresh rate, and it may be necessary to operate at an undesirable "lowest common denominator" frequency, or not at all. This problem is compounded as more users and client machines are involved. Another problem with this prior art display synchronization method is that interlaced video modes are not possible on all video driver cards. In addition, switching into interlaced modes may temporarily disrupt the display as the monitor adjusts to handle the new input. Many display monitors will produce an annoying clicking noise as the video mode is changed.
Regarding the fifth "unfairness factor", it must be pointed out that different types of information input devices have faster information input rates. In the time-constrained competitions described above, the most common information input device used on today's client subsystems is the manually-actuated keyboard. In response to manual keystrokes by the competitor at his or her client machine, and electronic scanning operations, the keyboard generates a string of ASCII characters that are provided as input to the client system bus and eventually read by the CPU in the client machine. Only when the desired information string is typed into the client machine, and the keyboard return key depressed, will the keyed-in information string be transmitted to the information server associated with the time-constrained competition. Those with physical handicaps, and those using low-speed information input devices, will have their responses, commands and/or instructions transmitted with greater latency, and therefore arriving at the information server at a later time, assuming all other factors maintained constant for all competitors. In short, depending on the type of input device used, a competitor participating in an Internet-supported time-constrained competition can be put at a serious disadvantage in comparison with those using high-speed information input devices and high-speed processors. When competing against androidal competition (e.g. thinking machines), as currently used in electronic-based securities and commodity trading, and electronic-based auctions, human competitors are placed at a great disadvantage in rapidly changing markets and fast-paced auctions.
Regarding the sixth unfairness factor, it must be pointed out that a further source of latency exists within each client machine due to the fact that the central processor unit (CPU) employed therein: services interrupts posted by competing peripheral devices connected to the client system bus; executes program instructions at a rate set by its clock speed; and has limited memory resources available at any instant in time. These factors operate to further add a degree of delay in when the data packets associated with the competitor's response is transmitted to the information server supporting the time-constrained competition. Notably, the longer this "processor latency" is, the latter the competitor's response will arrive at the information server supporting the time-constrained competition.
Consequently, the six "unfairness" factors discussed above compromises the integrity any form of time-constrained competition supported on or otherwise enabled over the Internet. Thus must be satisfactorily resolved in order ensure fundamental principles of fairness and fair play that have come to characterize the systems of government, justice, securities, commodities and currency market trading, sportsmanship, and educational testing, in the United States of America and abroad.
Thus there is a great need in the art for an improved way and means of fairly and securely enabling timed-constrained competitions for high stakes among millions of competitors scattered around the globe, while avoiding the shortcomings and drawbacks of prior art methodologies including.
OBJECTS AND SUMMARY OF THE INVENTION
Accordingly, a primary object of the present invention is to provide an improved system and method of fairly and securely enabling timed-constrained competitions over the Internet while avoiding the shortcomings and drawbacks of prior art methodologies.
A further object of the present invention is to provide a novel system and method of serving and receiving information over the Internet in connection with time-constrained competitive processes so that principles of fairness and fair play which have come to characterize the systems of government, justice, securities, commodities and currency market trading, sportsmanship, and educational testing, in the United States of America and countries abroad, are secured in an economically feasible manner for the betterment of human society.
A further object of the present invention is to provide a novel system and method of serving and receiving information over the Internet in connection with time-constrained competitive processes, which avoids the problems of network latency, ensures microsecond "start-time" accuracy, and can determine winners in the competition within microsecond "finish-time" accuracy.
Another object of the present invention is to provide an Internet-based system for enabling time-constrained competition among a massive number of competitors while compensating for the variable network communication latencies experienced by client machines used by the competitors.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein a simultaneous start-time is produced for each and every competitor involved in a particular competition regulated by the system.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions using Internet information servers to synchronize the initial display of an invitation to respond (e.g. stock offer, query or problem) on a client machine by shifting the phase of the display refresh cycle.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein the time delay between a displayed invitation to respond (e.g. stock price, bid offer, or query) and the transmitted response is precisely measured using the Pentium.TM. instruction counter in the client machine.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein client-event timing accuracy is markedly improved by using a globally-synchronized hardware timing device at each client machine to time-stamp each competitor's response to an invitation to respond (ITR) displayed on the display screen of the client machine.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein each client machine deployed therein is protected against intentional tampering through any means by the competitor using the client machine, or by any third party desiring to gain an unfair advantage over other competitors.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, which employs a digital signature method to protect against intentional tampering through any means by a competitor or third party, either intended to disrupt the operation of the competition and otherwise interfere with the enjoyment of other competitors or spectators.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein the digital signature method employs a secret key, stored within a global synchronization unit (GSU) in each client machine, in order to create the signature for both time-space stamping and to a hash value generated from the data.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein the digital signature can be used to prove that the data (i.e. time-space stamp plus a hash of input data) has not been altered, and to prove that it originated from the holder of the secret key (located within the GSU).
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein each client machine employs a GSU, which combines GPS and digital data signature technology to provide a secure and verifiable time-space stamp on each client machine response.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, which is scalable or extensible and capable of simultaneously supporting a multiplicity of competitions, each involving a virtually unlimited number (e.g. millions) of competitors.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, which protects against clock device tampering at each client machine by utilizing and comparing multiple clock systems employed in each client machine.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein each client machine in the system is provided with a client-based hardware extension to improve clock accuracy and precision and therefore improve client-event response characteristics at each such client machine.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein each client machine in the system is provided with a client-based hardware extension to improve security by means of hardware encryption and decryption.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein varying degrees of simultaneity can be offered, insuring that the start time on all client machines is simultaneous within tens of milliseconds at the least precise level, to on the order of within a few microseconds when all of the measures provided for are used.
Another object of the present invention is to provide an Internet-based system for fairly and securely enabling timed-constrained competitions over the Internet, wherein one or more a globally-time synchronized Internet-based information servers simultaneously and securely communicate with millions of globally-time synchronized client machines engaged in a predetermined competition supported over the Internet.
Another object of the present invention is to provide an Internet-based method for fairly and securely enabling timed-constrained competitions over the Internet, wherein one or more a globally-time synchronized Internet-based information servers simultaneously and securely communicate with millions of globally-time synchronized client machines engaged in a predetermined competition supported over the Internet.
Another object of the present invention to provide an Internet-based system, wherein each client machine is provided with a hardware device which can precisely time and space stamp an event, and thus securely generate an event only when specific time and space criteria are satisfied, and also verify the authenticity of previously generated time and space stamps produced by the hardware device.
Another object of the present invention is to provide a novel method of time-space stamping which can be used to authenticate electronic-commerce transactions between a vendor, bank and customer with microsecond time accuracy.
Another object of the present invention is to provide a novel system and method for electronically filing legal documents, such as patent applications, property transfer documents and court/litigation documents, with governmental or judicial institutions using the http, file transfer protocols (ftp), electronic data interchange (EDI) techniques, and/or any other file transmission protocols supported over the Internet.
Another object of the present invention is to provide a novel global time-synchronization unit for connection to or embedding within any client machine that is to be used in connection with the Internet-supported system and method of the present invention.
Another object of the present invention is to provide a novel global time-synchronization unit for connection to or embedding within any Internet information server that is to be used in connection with the Internet-supported system and method of the present invention.
Another object of the present invention is to provide an improved system and method of receiving information from securities (e.g. stocks and bonds), commodities and/or foreign currency information servers, representing real-time or "live" market conditions, and simultaneously disseminating such information to globally-synchronized client machines located world-wide to enable secure "on-line" electronic-based securities trading operations, commodities trading operations, and foreign currency trading operations in a fundamentally fair manner.
Another object of the present invention is to provide an improved system and method for electronic-based on-line securities trading, commodities trading, and foreign currency trading in a secure and fundamentally fair manner using client machines globally-synchronized with corresponding Internet-based securities trading servers, commodities trading servers, and foreign currency trading servers, respectively, so that each market competitor is informed about incremental changes in market conditions at substantially the same time and therefore is permitted to respond to such market condition changes (e.g. changes in stock, commodity or currency prices) at substantially the same time in accordance with principles of fundamental fairness and fair play.
Another object of the present invention is to provide an improved system and method of simultaneously disseminating securities, commodities, and/or foreign currency information (e.g. real-time price quotes) using globally time-synchronized information servers and client machines.
Another object of the present invention is to provide an Internet-based system and method which enables competitors to trade securities, commodities and/or foreign currencies using real-time pricing information that is disseminated to all competitors of a given level of service at substantially the same instant in time using a network of globally time-synchronized information servers and client machines.
Another object of the present invention is to provide an Internet-based information network, wherein competition supporting information servers (e.g. market price advertising servers and order execution servers) are time-synchronized with a plurality of globally-distributed time-synchronized client machines that can be preprogrammed so respond to real-time securities prices within micro-second client event accuracy by transmitting time and space stamped orders to purchase and/or sell securities, commodities and/or foreign currencies.
These and other objects of the present invention will become apparent hereinafter and in the Claims to Invention.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to more fully appreciate the objects of the present invention, the detailed description of the illustrated embodiments should be read in conjunction with the accompanied figures and drawings:
FIG. 1 is a schematic representation of a generalized embodiment of the Internet-based system of the present invention, showing the major physical components thereof comprising a primary server 100 with an embedded GPS (global positioning system) receiver 170, one or more web servers 110, a login server 120, a competitor database 30, an invitation to respond/response database 40, one or more competition-promoting servers 50 with embedded GPS receivers 170, and one or more client machines 160 with embedded Global Synchronization Units (GSU) 175, all components being interconnected with a globally-extensive network (e.g. the Internet) 190;
FIG. 2 is a schematic representation of a contest-based embodiment of the system of the present invention, showing the major physical components thereof comprising a primary server 100 with embedded GPS (global positioning system) receiver 170, one or more web servers 110, a login server 120, a contestant database 130, an query/answer database 140, one or more game servers 150 with embedded GPS receivers 170, and one or more client machines 160 with embedded Global Synchronization Units (GSU) 175, all components being interconnected with a network 190;
FIG. 2A is a schematic representation of the components directly involved in the query/response portion of the contest supported by the system of FIG. 2, showing the virtual network connections between the primary server 100 and a set of game servers 150, as well as between each game server and an associated set of client machines 160;
FIG. 2B is a schematic representation of the components used to distribute and present the HTML and associated web content to contestants using the system of FIG. 2, showing a plurality of mirrored web servers 110 each connected to a contestant database 130 and each serving a set of client machines 160, and each client machine being equipped with a web browser 320;
FIG. 2C is a schematic representation of the connectivity between the login server 120 and the client machines 160, wherein each client machine is provided with a contest client 340, and the login server is connected to the contestant database 130;
FIG. 2D is a schmematic representation of some of the major components of a client machine 160 employed in the system of the present invention. The figure comprises a global synchronization unit 170 and various hardware and software layers, inlcuding client software such as a contest client application 340, contest plug-in 330, and contest hooks and drivers 350;
FIG. 2D1 is a schematic representation of a client machine 160 equipped with a GSU 175 and connected through the Internet to a server equipped with a GPS clock unit 170;
FIG. 2D2 is a schematic representation of a basic global synchronization unit (GSU) 175 employed in the system of the present invention, shown comprising a GPS antenna 730, GPS receiver 700, central processor 750, host computer interface 720, GPS disciplined high-frequency clock 710, encryption and decryption module 740, and non-volatile memory 760;
FIG. 2D3 is a schematic representation of some of the major components of a client machine 160 employed in the system of the present invention, shown comprising a global synchronization unit 175 and various hardware and software layers, including client software such as a contest client application 340, contest plug-in 330, and contest hooks and drivers 350;
FIG. 2D4 is a schematic representation of a client machine 160 equipped with an enhanced GSU 177 and connected through the Internet to a server equipped with a GPS clock unit 170, where input and output devices are connected to the client machine 160 through the enhanced GSU 177;
FIG. 2D5 is a schematic representation of an enhanced global synchronization unit (GSU) 177 employed in the system of the present invention, shown comprising a GPS antenna 730, GPS receiver 700, central processor 750, host computer interface 720, GPS disciplined high-frequency clock 710, encryption and decryption module 740, non-volatile memory 760, input device monitor and passthrough module 770, and an output passthrough and signal generation module 780;
FIG. 2E is a schematic representation of some of the major components of a game server employed in the system of the present invention, shown comprising various hardware and software layers including a game server daemon 270 and GPS receiver 170;
FIG. 2F is a schematic representation of some of the major components of a web server 110 employed in the system of the present invention, including web server software 360 providing support for HTML, Java, and other standard protocols and web technologies;
FIG. 2G is a schematic representation of some of the major components of the primary server 100 employed in the system of the present invention, including the primary server daemon 250, a contest management interface 260, a high precision clock or timer 200, high performance network interface 210, and a GPS receiver 170;
FIG. 2H is a schematic representation of some of the major components of the login server 120 employed in the system of the present invention, including the login server daemon 370 and a high performance network interface 210;
FIG. 3A is a schematic representation of the flow of data and messages between a web server 110 and a client machine 160 employed in the system of the present invention, wherein the data flow includes web site content transmitted from the web server to the client machine, encrypted registration information posted to the web server from the client machine, preliminary contestant username and password sent to the client machine, and contest software downloaded from the web server to the client machine;
FIG. 3B is a schematic representation of the flow of data and messages between the primary server 100 and the login server 120 employed in the system of the present invention, wherein the data flow includes a list of game servers sent from the primary server to the login server;
FIG. 3C is a schematic representation of the flow of data and messages between a game server 150 and the login server 120 employed in the system of the present invention, wherein the data flow includes a request for game server status by the login server, and the request includes the login server's public key for encryption, and wherein the data flow also includes an encrypted reply by the game server to the login server containing status and loading information about the game server, as well as the game server's public key for encryption use by the login server and client machine, wherein the data flow also includes an encrypted contestant login request from the login server to the game server and a corresponding encrypted reply from the game server to the login server containing a game server access code;
FIG. 3D is a schematic representation of the flow of data and messages between the login server 120 and a client machine 160, this data includes an encrypted contestant login request from the client machine to the login server, a message containing an encrypted contestant id sent from the login server to the client machine, and an encrypted message from the login server to the client machine containing a game server address and associated game server access code;
FIG. 3E is a schematic representation of the flow of data and messages between a game server 150 and a client machine 160, wherein the data flow includes a message from the client machine to the game server containing a contestant ID, a game server access code, and a client machine public key, an additional message from the game server to the client machine containing the game server public key, an additional message from the game server to the client machine containing and encrypted query and start-time, a further message from the game server to the client machine containing an encrypted query decryption key, a further message from the client machine to the game server containing a response notification hash, a further message from the client machine to the game server containing the encrypted response data and security verification hash, a further message from the game server to the client machine containing the security log request, a further message from the client machine to the game server containing the encrypted security log, a final message from the game server to the client machine containing the contest results;
FIG. 3F is a schematic representation of the flow of data and messages between the primary server 100 and a game server 150, wherein the data flow includes a message from the game server to the primary server containing the game server public key, an additional message from the primary server to the game server containing the primary server public key, a further encrypted message from the primary server to the game server containing the encrypted query, encrypted start-time, and encrypted answer, a further message from the game server to the primary server containing the encrypted preliminary results for the contest, a further message from the primary server to the game server containing an encrypted security analysis request, a further message from the game server to the primary server contains the encrypted security analysis results, a final message from the primary server to the game server containing the encrypted contest results;
FIG. 3G is a schematic representation of the flow of data and messages between the primary server 100 and a web server 110, wherein the data flow includes game announcements delivered via ftp from the primary server to the web (http) server, and additional data delivered via ftp from the primary server to the web server includes contest results and contestant standings;
FIG. 4 is a flowchart of the high level operations performed by the contest-based system of FIG. 2 so as to enable a contestant to participate in a simultaneous, secure, multi-player timed-constrained contest;
FIG. 4A is a flowchart describing in greater detail a method for registering and downloading contest software in the system of FIG. 2;
FIG. 4B is a flowchart describing in greater detail a method for the contestant to log on to the game server of FIG. 2;
FIG. 4C is a flowchart describing in greater detail a method for downloading an encrypted query and start-time to the client machine 160;
FIG. 4D1 is a flowchart describing in greater detail a method for characterizing the client machine local clock 290 and synchronizing the client machine display update cycle in connection with a system of the present invention incorporating a basic GSU 175 in the client machine 160;
FIG. 4D2 is, a flowchart describing in greater detail a method for characterizing the client machine local clock 290 and synchronizing the client machine display update cycle in connection with a system incorporating an enhanced GSU 175 in the client machine 160;
FIG. 4D3 is a flowchart describing in greater detail in which a method for characterizing the client machine local clock 290 and synchronizing the client machine display update cycle in connection with a system that does not include a global synchronization unit;
FIG. 4E1 is a flowchart describing in greater detail a method for presenting the query to the contestant at the contest start-time in connection with a system incorporating a basic GSU 175 in the client machine 160;
FIG. 4E2 is a flowchart describing in greater detail a method for presenting the query to the contestant at the contest start-time in connection with a system incorporating an enhanced GSU 175 in the client machine 160;
FIG. 4E3 is a flowchart describing in greater detail a method for presenting the query to the contestant at the contest start-time in connection with a system that does not include a global synchronization unit;
FIG. 4F1 is a flowchart describing in greater detail a method for the contestant to submit a timestamped response to the previously presented query in connection with a system incorporating a basic GSU 175 in the client machine 160;
FIG. 4F2 is a flowchart describing in greater detail a method for the contestant to submit a timestamped response to the previously presented query in connection with a system incorporating an enhanced GSU 175 in the client machine 160;
FIG. 4F3 is a flowchart describing in greater detail a method for the contestant to submit a timestamped response to the previously presented query is outlined for a system that does not include a global synchronization unit;
FIG. 4G is a flowchart describing in greater detail a method for fairly judging the contest and determining the winners of that contest is outlined;
FIG. 5 is a schematic representation of a financial trading-based embodiment of the system of the present invention, showing the major physical components thereof comprising a primary server 100 equipped with GPS (global positioning system) receiver 170, one or more web servers 110, a login server 120, a trader database 35, a real-time market state server 45, one or more real-time price-quotation and trading (Q & T) servers 55, as well as between each RTPQ&T server and an associated set of client machines 160;
FIG. 5A is a schematic representation illustrating the connectivity: between the trader database, the real-time market state server, and plural real-time price quotation and trading servers, and the primary server; and between plural trading client machines and the real-time price quotation and trading servers;
FIG. 5B is a schematic representation illustrating the connectivity between the login server 120 and the client machines 160, wherein each client machine is provided with trading client software 345, and wherein the login server is also connected to the trader database 35;
FIG. 6 is a schematic representation of a modified embodiment of the Internet-based competition-promoting system of the present invention, wherein one or more remote administration consoles 600, contest database 660, and a remote administration server 610 are provided for remotely creating and administering contests over the Internet;
FIG. 6A is a schematic representation of the components shown in FIG. 6 directly involved in the remote administration of contests, showing the virtual network connections between the primary server 100 and a remote administration server 610, between the remote administration server 610 and a contest database 660, contestant database 130, and query answer database 140, as well as between the remote administration server 610 and one or more remote administration consoles 600;
FIG. 6B is a schematic representation of some of the major components of a remote administration console 600 employed in the system of FIG. 6, showing various hardware and software layers, including the administration software being comprised of a remote administration client application 650 and a remote administration plug-in 640;
FIG. 6C is a schematic representation of some of the major components of a remote administration server 610 employed in the system of FIG. 6, showing various hardware and software layers, including the remote administration web server 620 and the remote administration daemon 630;
FIG. 7 is a schematic representation of a subsystem for providing the competition-promoting systems of the present invention with a television-based spectator interface, showing comprising a web server 110, a video-enabled client machine 900, a web-to-video processor 910, taped video content playback unit 960, live video source (e.g. camera) 950, a real-time video compositor 920, broadcasting equipment 930, and television viewers 940;
FIG. 7A is a schematic representation showing an exemplary layout for displaying contest live video, contestant images, and live contest queries, results, scores and statistics on a television-based spectator interface;
FIG. 8 is a schematic representation showing the basic components of a television-based client machine according to the present invention, shown comprising a set-top client machine 970 connected to the user's television set 990 using a standard NTSC or PAL cable, and a remote-control input device 980 for controlling the client machine;
FIG. 8A is a schematic representation showing the major components of the set-top client machine 970 of FIG. 8, shown comprising a GPS receiver 170, clock and timer hardware 290, a television tuner with Intercast.TM. decoding capability 977, a modem 976, an infrared input port 975, NTSC or PAL audio/video output 974, embedded device drivers 973 and embedded operating system with Java capability 972 running on a microprocessor, and a firmware contest client 971;
FIG. 9 is a schematic representation showing examples of input devices that can be connected to a global synchronization unit (GSU) of the present invention for performing time and space stamping;
FIG. 10 is a schematic representation showing examples of applications that can benefit from inclusion of an embedded global synchronization unit (GSU) in accordance with the principles of the present invention; and
FIG. 11 is a schematic representation showing examples of different configurations of a global synchronization unit, including both internal and external units with a variety of interface options.
DETAILED DESCRIPTION OF THE ILLUSTRATIVE EMBODIMENTS OF THE PRESENT INVENTION
Referring to the figures in the accompanying Drawings, the preferred embodiments of competition-enabling (i.e. competition-promoting) system and method of the present invention will now be described in great detail, wherein like elements will be indicated using like reference numerals.
In FIG. 1, a generalized internetworked-based competition-promoting system is shown for fairly and securely enabling one or more time-constrained competitions among a plurality of competitors simultaneously presented with the same set of data (i.e. in a globally time-synchronized manner) which, in general, may be informative or may take the form of a question to be answered, or a problem, puzzle or riddle to be solved. Hereinafter, this data shall be referred to as an Invitation-to-Respond, or ITR, which is transmitted to each of the competitors participating in the competition promoted by the system hereof in a regulated manner. In general, the competitors can be human beings, programmed computers, or sophisticated androidal machines as taught, for example, in WIPO International Publication No. WO 98/49629 published on Nov. 5, 1998 incorporated herein by reference. In response to each ITR presented to the competitors, each competitor is allowed to respond to the ITR by submitting an appropriate response or undertaking a particular action. In accordance with the principles of the present invention, the timing of each competitor's response is critical to ensuring fairness in the competitive activity in question, and thus precisely measured, securely recorded and analyzed in a manner which will be described in greater detail hereinafter.
In general, the competition-promoting system and method of the present invention can be applied to a variety of different competitive activities with only slight modifications required from embodiment to embodiment of the present invention. Typical applications of the present invention include multi-player timed problem-solving games, puzzles, or contests; on-line real-time auctions, on-line real-time trading of securities (e.g. stocks and bonds), commodities, and foreign currencies; on-line real-time auctions; on-line educational testing; on-line career testing; on-line aptitude testing; on-line intelligence quotient (IQ) testing; and other real-time activities wherein simultaneous presentation of information to a plurality of competitive entities or accurate presentation of IRQs to and collection of responses thereto from one or more human subjects, is critical to the competitive or otherwise time-constrained activity at hand, in order to ensure fundamental principles of fairness and fair play expected by participants, spectators, and sponsors alike. As used hereinafter and in the Claims to Invention, the term "competition" shall be understood to embrace all such network-enabled activities.
Overview of the Generalized Embodiment of the System of the Present Invention
As shown in FIG. 1, the competition-promoting system of the present invention comprises an integration of subcomnponents, such as for example: a primary server 100; one or more web servers 110; a login server 120; a competitor database 30; an Invitation-To-Respond/Response (ITR/Response) database 40; one or more competition-promoting servers 50; and a plurality of client machines 160. As shown in FIG. 1, each client machine 160 includes a global synchronization unit 175 (GSU), whereas each competition-promoting server 50 includes a standard GPS receiver 170. As shown in FIG. 1, the global positioning system employed by the competition-enabling system comprises a plurality of GPS receivers 170 operating in conjunction with an array of GPS satellites 180 occupying a geodesic orbit in a manner well known in the satellite art. All of the computer and database components of the competition-enabling system are interconnected through some sort of internetworked computer communications network 190 such as the Internet.
Overall regulation of the competitive activity enabled by the system and method of the present invention is carried out by a computer or set of computers which hereinafter shall be referred to collectively as the "primary server". The primary server provides certain functionality to the system including, for example: acting as a source of Invitations-to-Respond and other competition related data; providing a master clock for the system; and performing functions or operations involving data received from multiple client machines connected to the system.
In the illustrative embodiments, the single primary server 100 communicates indirectly with the client machines 160 through a number of competition-promoting servers 50. These servers relay Invitations-To-Respond and other data to the client machines 160, and receive responses thereto from those client machines. Preliminary processing and sorting of the client machine responses is performed by the competition-promoting servers 50, and these preprocessed results are then passed back to the primary server 100.
Each competitor interacts with the competition-promoting system through a client machine 160. Each competitor uses a single client machine to receive and view the Invitations-To-Respond (ITR), as well as to enter and transmit the responses thereto. The client machine typically consists of a standard personal computer, augmented by the addition of several software and hardware components, including a global synchronization unit (GSU) 175 constructed in accordance with the principles of the present invention. The global synchronization unit 175 is installed in the client machine to provide precisely time-stamp client-responses, referred to as client-events, traceable to internationally standardized reference clocks. The GSU within each client machine performs decryption operations, generates digitally-signed time and space stamps of various internal and external events at the client machine, and supports timed decryption and presentation of data to the competitor.
As shown in FIG. 1, the last primary computer-based component of the competition promoting system hereof is the login server 120. The primary function of the login server 120 is to accept login requests from each competitor's client machine and assign an appropriate competition-promoting server to that client machine. The login server 120 also provides a single, well-known address for each client machine to use to contact the assigned competition-promoting server when initializing a session in the competitive activity. The login server also serves to intelligently distribute the processing and communications load among the competition-promoting servers.
As shown in FIG. 1, two database systems are used by the competition-promoting system of the present invention. The first database is the competitor database 30 which records information about each competitor, such as his or her identity, preferences, contact information, and any other data deemed necessary for the proper operation of the competition. The second database is the Invitation-to-Respond/Response database 40 which stores or generates Invitations-To-Respond (ITRs) appropriate to the particular competition being promoted, and transmits those ITR's to the client machine, through the other servers in the system. The ITR/Response database 40 may also contain canonical responses for comparison with the actual responses generated by the competitors, as well as other information necessary for the conducting of the competition.
The final component of system shown in FIG. 1 which deserves mention is the communications network 190. In general, the communications supported by the communications network 190 could be carried out using a variety of different communications methods. In general, each computer or device in the system will establish a connection or connections to one or more of the other computers through the network 190. In practice, these connections will be "virtual" connections through a general network such as the Internet, rather than as a direct point-to-point physical connection. In the illustrative embodiments disclosed herein, the communications network 190 is a packet-switched data communications network running the popular Transmission Control Protocol/Internet Protocol (TCP/IP). Thus each server computer connected to the communications network 190 will have a statically assigned IP address, while each client machine connected thereto will have either a statically or dynamically assigned IP address in a manner well known in the art.
Contest-Enabling System and Method of the Present Invention
Referring to FIGS. 2 through 4G, a contest-supporting (i.e. contest-enabling) system and method will now be described in accordance with the principles of the present invention.
In this particular embodiment of the present invention, the primary goal of the Internet-based system and method is to enable thousands and even millions of contestants to participate in a multi-player internetworked problem-solving contest that is regulated in a secure and fundamentally fair manner. In general, the contest will involve a mass population of players, or contestants who simultaneously attempt to solve some problem or set of problems in a time-constrained manner. The contestants are evaluated and ranked according to the solution provided as well as the time taken to submit the solution. Each contestant in the contest will interface to the contest process through a client machine capable of displaying images, text, video, play audio streams in a globally time-synchronized manner, or is otherwise provided with some other means for presenting a question or problem to the contestant in a like manner in accordance with the principles of the present invention. The question or problems thus presented to each competitor will be referred to as a query, although, in a more general sense of the present invention, can be understood as an Invitation-To-Respond (ITR), as discussed hereinabove. Each client machine also accepts an answer or solution from the contestant as response to the query previously presented. The contestant's answer or solution will be referred to as the response, as in the general sense of the present invention. Therefore, each client machine in the contest-supporting system hereof is a device that presents (e.g. visually and/or audibly displays) queries and accepts responses from one registered contestant who is participating in the contest.
The contest-promoting system of the present invention also includes a means for controlling and measuring certain time-based elements of the contest (i.e. competition). For example, such elements include the ability to specify the precise instant at which a query is presented to the contestants on all or some subset of the client machines. Hereinafter, this instant of time shall be referred to as the "start-time", analogous to the "start-line" in a race, which is the same for each contestant in accordance with the principles of the present invention. In addition, the contest-promoting system of the present invention also includes means for precisely determining the length of time between the start-time and the instant each contestant submits its response which, hereinafter, shall be referred to as the "finish-time" analogous to the "finish-line" in the race. Hereinafter, this length of time, measured between the start-time and the finish-time, shall be referred to as the "response-time" of the particular contestant or competitor.
The contest-promoting system and method of the present invention enables the simultaneous presentation of queries (i.e. ITRs) to each and every client machine registered to compete in the contest at hand. Unlike the prior art method of using the receipt of a query decryption key to trigger the display process at each client machine, as disclosed in U.S. Pat. No. 5,695,400, the present invention teaches the use of a local clock to determine the exact instant to display the query (i.e. ITR) to the contestant. In the illustrative embodiment of the present invention, the local clock is contained in an embedded or peripheral device known as the global synchronization unit (GSU) 175. The GSU at each client machine incorporates a global positioning system (GPS) receiver to provide a precise timing reference that is accurate to within 1 microsecond of international atomic clock standard time. The GSU can be programmed to decode and present the query (i.e. ITR) in a secure manner at the precise moment desired. In an alternative embodiment of the present invention, a similar functionality can be provided at each client machine, but at lower precision and security levels by using a standard timer, counter, or clock on the client machine. In this alternative, less accurate timing method, the local clock is characterized, or analyzed to determine the functional relationship between the local clock time and the global time as determined by a single master clock for the entire contest system. Using this function, the global time may be determined from the local clock reading. In addition, the display update cycle on each client machine is skewed so that a display update completes exactly at the desired "start time" which is determined to be the same for each every contestant, regardless of their location on the planet. Characterization of the local clock may be performed using an accurate clock (perhaps GPS-based) connected to the client machine, or it may be done using security enhanced versions of the methods and algorithms used in NTP, the network time protocol.
The contest-promoting system and method of the present invention also provides extensive security measures to detect and discourage cheating by dishonest players. Security is crucial in large contests involving significant rewards for winners. Security for the system is provided through the use of encryption of the majority of messages between the various computers in the system, as well as by monitoring and logging the contest-related activities of participating client machines. Additional details regarding this aspect of the system will be described hereinafter.
Having provided an overview on the contest-promoting system of the present invention, it is appropriate to now describe in greater detail the structure and function of the components of this system.
As shown in FIG. 2, the contest-promoting system of the illustrative embodiment comprises an integration of components, namely: a primary server 100; one or more web servers 110; a login server 120; a contestant database 130; a query/answer database 140; one or more game servers 150; and a plurality of client machines 160. As shown in FIG. 2, each client machine is equipped with a global synchronization unit 175 (GSU), whereas the primary server 100 and each game server 150 is equipped with a standard GPS receiver 170. As shown, the contest-promoting system of the illustrative embodiment employs a global positioning system comprising GPS receivers 170 operating in conjunction with an array of GPS satellites 180 occupying a geodesic orbit in a manner well known in the satellite art. All of the computer and database components of the system are interconnected through some sort of communications network 190 such as the Internet, supporting a networking protocol such as TCP/IP.
Overall regulation of the contest activity enabled by the system and method of the present invention is carried out by a computer or set of computers which hereinafter shall be referred to collectively as the "primary server". The primary server provides certain functionalities to the system including, for example: acting as a source of queries and their correct answers; providing a master clock for the system; determining the overall ranking of contestants; selecting the winner of the contest.; and informing the contestants and possibly the general public of the identity of the wining contestant.
As shown in FIG. 2G, the primary server 100 in the contest-promoting system comprises a number of software and hardware components. As shown in FIG. 2G, the structure of the primary server 100 is described using the layered structure of a standard general purpose computer, wherein the hardware components are shown at the lowest level, with successive layers of software functionality disposed above them. Each layer of components utilizes and builds upon the services and capabilities of the lower layers, most often only directly interfacing with the layer immediately below it. In the primary server 100, the low level hardware includes a GPS receiver 170, and high precision clock and timing hardware 200 synchronized to a global time reference using the GPS receiver. In addition, the high performance network interface hardware 210 is used to connect the primary server 100 to the communications network 190. These hardware components are in addition to the standard I/O and other hardware 220 typically provided on a high-end network server, such as the SUN Enterprise.TM. server running the Solaris.TM. platform, by Sun Microsystems, Inc. of Palo Alto, Calif. Above the hardware level are standard and customized device drivers 230 that control and communicate directly with the hardware. The device drivers are used by the operating system 240 and higher-level applications so that direct hardware programming is not necessary. At the top level of FIG. 2G are two contest-related applications. The first application is the primary server daemon 250. This piece of software manages the sequence of operations for the contest as a whole, as well as managing the communication of queries, responses, and other information with the game servers. The other top level application running on the primary server 100 is the contest management interface 260. This application provides the user interface to the human operators of the contest. This software allows the operators to enter new questions and answers in to the Query/Answer Database 140, to set up and schedule contests, to set prize levels, to specify qualifications for entering the contests, to collect and view usage statistics, and to monitor ongoing contests. The contest management interface application communicates with the primary server daemon 250 in performing most of its tasks.
As illustrated in FIG. 2A, the single primary server 100 communicates indirectly with the client machines 160 through a number of game servers 150. These game servers relay queries to the client machines, and receive responses from those client machines. Preliminary judging and sorting of the responses is performed by the game servers 170, and these pre-processed results are then passed back to the primary server 100.
As shown in FIG. 2D, the client machine 160 has a layered architecture similar to the primary server 100, comprising: a global synchronization unit 170 and various hardware and software layers. It includes client software such as a contest client application 340, contest plug-in 330, and contest hooks and drivers 350.
As shown in FIG. 2E, the game server 150 has a layered architecture similar to the primary server 100, comprising: hardware components including a GPS receiver 170; high precision timing hardware 200; a high performance network interface 210; in addition to the standard hardware components 220. These hardware components are controlled through the use of a set of standard and customized device drivers 230. Many of these device drivers are provided by the hardware manufacturers, while some are specifically written or modified to handle the precise timing operations needed by the contest-promoting system of the present invention. The major application running on the game servers is the game server daemon 270. The game server daemon 270 receives, processes and responds to data from the primary server 100, the login server 120, and from its client machines 160.
Each contestant interacts with the contest system through a client machine 160. Each contestant uses a single client machine 160 to receive and view the contest queries as well as to enter and transmit their responses containing their answers to those queries. In the illustrative embodiment, each client machine may be realized as a standard personal computer, augmented by the addition of several software and hardware components. In FIG. 2D3, the basic components of each client machine 160 is shown. As shown in FIG. 2D3, each client machine 160 would initially comprise the standard hardware and software components typically associated with any personal computer. These components would include the operating system 240, standard device drivers 280, clock or timer hardware 290, input hardware, such as the keyboard, mouse, a microphone, etc. 300, output hardware, such as a video display and/or speakers 310. In addition to this hardware, each client machine would also require some sort of "web browser" 320 such as Netscape Navigator or Microsoft's Internet Explorer. This web browser is used to contact the "Contest WWW Site", to register with the contest system, and to download the other software components therefrom. These other components might include a contest plug-in 330 that would enhance the user's experience at the contest web site, in addition to the contest client 340, which is the primary interface between the contestant and the contest system. Each contest client receives and presents queries to the human contestant, as well as accepting the contestant's responses and sending them to the servers. Each contest client communicates through contest hooks and drivers 350 with the underlying input, output, and timing hardware, in order to handle the timing aspects of the game (i.e. contest). The hooks and drivers 350 are responsible for clock and display synchronization, as well as for generating timestamps associated with various events during the game. The global synchronization unit 175 is installed in the client machine to provide precisely timed events, traceable to internationally standardized reference clocks. The GSU 175 performs decryption operations, timestamping of client-machine/contestant responses, and supports timed query presentation.
When not actually playing a game, the contestant interacts with the contest web site through a web browser. The contest web site is "served" to that browser from one or more web servers 110. The web servers handle advertising, support, registration, downloading, and other similar tasks. As shown in FIG. 2F, the web server 110 comprises a number of major components comprising a standard I/O 220; a high performance network interface 210; standard device drivers 280; and the operating system 240. These components cooperate to support the operation of the web server software 360. The web server software 360 consists of an HTTP daemon, along with various scripts and utility programs used to handle user/contestant registration and to perform contest web site updates as new contests or results information become available.
As shown in FIG. 2, the last primary computer-based component of the contest-promoting system is the login server 120. The function of the login server 120 is to accept login requests from each contestant's client machine, and assign an appropriate game server to that client. The login server 120 provides a single, well-known address for the client machines to contact when initializing a new game. The login server also serves to intelligently distribute the processing and communications load among the game servers. As shown in FIG. 2H, the login server 120 comprises a number of major components, namely: a standard I/O 220; a high performance network interface 210; standard device drivers 280; and the operating system 240. These components cooperate to support the operation of the login server daemon 370, which handles the login requests and server assignment functionality within the contest-promoting system.
As shown in FIG. 2, the contest-promoting system of the illustrative embodiment employs two database systems. The first database system is the contestant database 130. The contestant database records information about the user, such as their identity, preferences, contact information, and contest results and standing. The second database is the query/answer database 140. The query/answer database stores the problems and solutions for the game contests. These problems and solutions are originally created and stored in the database by the contest operators. They are then accessed and distributed by the primary server 100 to the contestant's client machines 160 during the contest.
As shown in FIG. 2, the final component contest-promoting system that deserves mention is the communications network 190. In general, communications over the network could be carried out using a variety of different communications methods. In general, each computer or device will establish a connection or connections to one or more of the other computers through the network 190. In practice, these connections will be "virtual" connections through a general network such as the Internet, rather than as a direct point-to-point physical connection. The topography of the primary virtual connections between the various contest system components are depicted in FIGS. 2A, 2B, and 2C, while the information flows transmitted through those connections are detailed in FIGS. 3A through 3G.
Virtual Communication Links and Hierarchies in the Contest Promoting System of the Present Invention
Typical games implemented using the contest-promoting system of the present invention could involve thousands or even millions of contestants distributed over and possibly above the planet Earth. Because of the huge bandwidth required to handle transmission of the queries and responses from all of the client machines employed in the contest, the system of the present invention utilizes a hierarchy of servers illustrated in FIG. 2A. As shown in FIG. 2A, the primary server 100 acts as the root node of a tree-type interconnection of computers. The "leaves" of the tree structure are formed by the client machines 160 connected to the system. Between these devices lies a layer of game servers 150 which act as intermediaries (or "branch structures") between the primary server 100 and the client machines 160. Each game server communicates directly with the primary server 100 and with a set of client machines associated with that particular game server 150. In a large contest involving many thousands of contestants, there might be hundreds or thousands of game servers deployed in the system, each handling hundreds or thousands of client machines. These game servers could be distributed over the country or over the world, with each game server handling client machines in a certain region, thereby greatly reducing the communications loading on central "trunk" network links. As shown in FIG. 2A, there are also communication links between the primary server 100 and the contestant database 130 and the query/answer database 140. In this illustrative embodiment of the contest-promoting system hereof, each game server 150, client machine 160, and primary server 100 is equipped with a GPS receiver that is used to synchronize the local clock and the display of each client machine participating in the contest-promoting system.
Network traffic bandwidth associated with the higher level servers in the hierarchical configuration shown in FIG. 2 is reduced by performing some data processing on the game servers 150 themselves, rather than performing all computations on the primary server 100. For example, if a single winning contest, or a certain number (e.g. n) of winners are to be chosen in each contest, then each game server 150 can compare each response it receives and only transmit the "n" best responses onto the next higher level server. Also, management of time synchronized messaging with each client machine can be carried out by the game server 150 associated with that client machine, rather than by the primary server 100. Such techniques will serve to reduce the loading on the primary server 100. If the performance of all contestants is to be rated and sorted, then each game server 150 can sort the contestants playing on the client machines connected to that game server 150. Thereafter, these sorted lists of client machines can be easily and efficiently sorted by the primary server 100 using an insertion sort or method that takes advantage of the pre-sorted groups of contestants.
It is recognized that real world contests involve much more than the actual queries and responses that make up the core elements of the game. Many other steps and processes are necessary or desirable both from the point of view of the contestant, as well as from the point of view of the person or company running the contest. While the purpose of the contest from the point of view of the contestant is to have fun, to learn, or to win prizes, the purpose of the contest from the point of view of the contest operator may include other goals. For example, such goals may include: selling products; advertising; collecting marketing information or other statistical information; promoting their company or institution; educating a group of people; and so on. The basic query, response, and judging activities constitute the contest itself, while the other activities referred to above will be referred to as the non-contest activities. These non-contest activities can be divided into two major categories; those activities that directly support the operation of the contest; and those activities that are ancillary to the contest.
Non-contest activities that directly support the operation of the contest include one-time or rarely performed activities, as well as activities that must be performed immediately before or after each contest. One-time activities include contestant registration, system testing and qualification, and downloading plugins or other client-machine based components. Those periodic activities that must be performed before or after each contest include login, server assignment, and viewing contest results.
Registration is used to collect and record information about each contestant desiring to participate in a scheduled contest (e.g. listed on the Contest WWW Site). This information can include the name, address, telephone number(s), E-mail address, and any other information required or desired of each contestant by the contest organizer and/or sponsor(s). The contestant chooses or is assigned an identification number (or "handle") and a password, in order to protect their access to the contest process. At registration time, a number of tests may be performed on the contestant's system. These tests could be used to qualify the client machine to be used by the contestant, by determining whether it meets certain requirements necessary to successfully participate in the contest. In addition, data produced as a result of these tests may be recorded, either on the client machine or on one of the servers. This data could be used, in conjunction with other information collected during and/or after the contest, to help determine whether the contestant participated fairly in the competition. Another activity which is also performed before the contest is downloading any programs, installable components, and plugins, as well as any data required by them. These programs, components, and plugins, along with a browser or other programs already present on the contestants system will be used to present advertising and other information and content to the contestant, as well as to perform all operations of the contest on the client machine.
As shown in FIG. 2B, a number of system components are used to distribute and present HTML (or XML) encoded documents (with or without Java or Active-X applets) and associated web content to the contestants. As shown, such system components include a plurality of mirrored web servers 110, wherein each web server 110 is connected to a contestant database 130 and each serves a set of Web-enabled client machines 160 equipped with web browsers 320. A master web server 110 stores and provides the web site content to a set of client machines, utilizing HTTP, FTP, and other standard Internet protocols. In order to avoid overloading a single web server with many thousands or millions of connections, a number of mirror web servers 110 are used. The master web server transmits copies of the entire contest web site to the mirror web servers, which then are each able to serve a large number of client machines 160. As shown, each of the web servers 110 shares a common networked contestant database 130 which contains registration and other information. In addition to providing the contest "web site", the web servers also distribute the contest client software (340) using the HTTP or FTP protocols. Before downloading contest client software, each contestant/user is required to register on the web server 110. Registration involves filling out a web-based (e.g. HTML-encoded or XML-encoded) form containing the necessary personal and client machine information and submitting that form to the web server. Client machine qualification may be tested using either browser plug-ins or stand alone test programs downloaded from the web server.
In an extremely large multi-player contest, it is clear that multiple game servers will be necessary to handle communication with all the client machines involved during the contest. When a client machine initially connects to the contest-promoting system of the present invention, it will be done through a login server 120 located at some well-known Internet address. The login server will choose which game server should be utilized by this contestant's client machine. This choice will be based on a variety of information, including the location of the client machine, the characteristics of the connection to the client machine, and the number and characteristics of the connections already assigned, or anticipated to be assigned, to the game servers in the system. Load balancing algorithms will be used to distribute the connections to the game servers, thereby minimizing the possibility of overwhelming any one server, and insuring consistent connections for all the game clients.
FIG. 2C depicts the connections between the client machines 160, login server 120, and the contestant database 130. Except in extremely large configurations, it is probable that only a single login server would be needed, and all client machines would receive their game server assignments from that server. If a single login server is insufficient, then a hierarchical configuration similar to the one shown for the game servers in FIG. 2B could be used. As shown in FIG. 2C, each client machine is running the contest client 340, and it is this software that the contestant interfaces with when logging in to through the login server. In order to check passwords and the status of the contestant, the login server accesses the contestant database 130.
Global Synchronization Unit (GSU) of the Present Invention
While an optional component of the contest-promoting system described above, the global synchronization unit (GSU) 175, when used in each client machine 160, will greatly enhance the precision and security of the overall system. In general, the GSU 175 is a standalone system with important capabilities and many potential applications beyond the contest-promoting system of the present invention herein disclosed. The basic purpose of the GSU 175 is to either (i) perform actions in response to precise time and space conditions, or (ii) generate secure and verifiable time and space-stamped records of client-machine inputs and any other events captured by devices attached or otherwise connected to the GSU of the present invention.
In general, the GSU 175 has the ability to trigger or generate an event at a specific time instant or over a specific time interval. This event could be the display of an image, the start of a video or audio clip, the decryption of data, or the running of a program on the host machine. One purpose of this capability is to allow the synchronization of events on multiple client machines, each of which is equipped with a GSU. In situations requiring high security, data used in the generation of the event may be downloaded into the GSU in an encrypted form. This data is then decrypted and the event-triggered by the GSU at the precise instant desired.
In addition to triggering events based on time or time interval conditions, the GSU of the present invention can also trigger events at a client machine based on their location or velocity of the GSU, or on any combination of time, space, and velocity conditions thereof. In all cases, the GSU is configured through the host computer interface to perform a specific action when those conditions are satisfied.
Another major functionality of the GSU is to perform time and space stamping of external events. These events could be as simple as a communication line being asserted on the GSU input, or as complex as a set of patterns of inputs on a number of different inputs. The trigger for a time and space stamping action could constrained by timing, location, and velocity conditions of the GSU. In fact, the space and time stamp generation could even be triggered solely by internal information, for example, generating a time/space stamp upon the arrival of the GSU at a specific location, or at a predetermined time. In accordance with the principles of the present invention, a time/space stamp generated by the GSU 175 includes the location, exact time (e.g. to within +/-1 microsecond), and security information including, but not limited to, a hash or CRC (cyclic redundancy check) value derived from the input data associated with the event. The hash value will allow the data to be verified in the future to insured that it has not been altered since the time/space stamp was generated. The time/space stamp also will have an associated CRC value or digital signature to insure that the time/space stamp itself is genuine and unmodified.
The GSU of the present invention also provides the ability to authenticate digitally signed time and space stamps that it has previously generated, and to verify that data associated with that time and space stamp has not been modified since the stamp was created.
Applications of the GSU include, by are certainly not limited to: managing and judging geographically distributed race-based (i.e. time-constrained) contests; notarization of data; time-space stamping of executed legal documents (e.g. contracts, property transactions, patent applications, security interests, etc.) and transmitting the same to a centralized server for public recordation and/or filing in accordance with governmental or legal regulations; controlling, distributing, and authorization of lottery tickets and the like; and any other task in which precise, secure, and verifiable timing of events and triggering of timed events are required.
The Structure and Function of the Basic GSU of the Present Invention
FIG. 2D1 depicts one context of operation for a basic GSU. This figure shows a client machine 160 with attached input and output devices. This client machine is connected (using a direct hardware connection or infrared or radio frequency link) to a global synchronization unit (GSU) 175. In addition, the client machine 160 is connected through the Internet or other communication means 190 to a server equipped with a GPS Clock 170. In this context, the server could send an encrypted request to the client machine 160 to perform an action (for example displaying an image) at a specific time, as required in the contest-promoting system described hereinabove. This encrypted request is then loaded into the GSU 175 where it is decrypted and the desired event time recorded. At, or at some predetermined time before, the desired display time, the GSU 175 decrypts the image to be displayed and downloads the decrypted image back onto the client machine 160 for display. This method prevents access by the client machine or its operator to the image data before the allotted time.
An alternative function performed by the GSU in the context of FIG. 2D1 would be the ability to time and space stamp an input or event captured or generated by the client machine. In this case, data associated with the input or event would be uploaded to the GSU 175, which would create a digital signature for that data input, where the digital signature would also incorporate the time and location of the GSU at the moment the data was uploaded. The digital signature thus created could then be sent over the network to a server to serve as a record of the event taking place. At a later time, this record could be used to prove that the data existed at or before the time recorded in the timestamp, and the location of the GSU when the record was generated.
As shown in FIG. 2D2, a basic global synchronization unit (GSU) 175 comprises several required and optional components. The required components include a GPS Receiver 700 and an associated antenna 730. The GPS receiver 700 is connected to a central processor 750 that can store events and desired trigger time/locations, perform encryption and decryption functions, and calculate digital signatures verifying the authenticity of data including, for example, time and space information provided by the GPS receiver 700. Access to the central processor 750 is provided through a host computer interface 720, which could utilize standard or proprietary hardware and communication protocols to provide such access. Standard interface specifications that might be utilized therein include bus-based connections such as ISA, SCSI, or PCI; port-based connections such as USB, RS232, or PCMCIA; or other communication methods such as infrared or radio frequency links. In addition to these core components, the GSU of the present invention may also contain a number of optional components such as a high-frequency GPS disciplined clock 710, interfaced with the central processor 750, for providing much higher resolution time-stamps; a stand-alone encryption and decryption module 740, interfaced with the central processor 750, for providing enhanced speed and security; and/or non-volatile memory 760, interfaced with the central processor 750, for recording timestamps for later comparison and verification purposes. As discussed above, FIG. 2D3 shows the GSU in the context of a client machine for use in a time-constrained competition against others, as in the case of a contest, or against oneself under the constraint of a clock as the case of testing, or against changing supply and demand conditions in a market as in the case of real-time securities, commodities, or currency trading, or other forms of real-time and non-real-time auction processes.
The Structure and Function of the Enhanced GSU of the Present Invention
FIG. 2D4 depicts one context of operation for an enhanced version of the GSU. As shown therein, a client machine 160 is connected to the GSU 177 using either a direct hardware connection or infrared or radio frequency link known in the art. Instead of being directly connected to the client machine, the input and output hardware for the client machine is routed through the GSU 177. As shown, the client machine 160 is connected through the Internet or other communication means to an information server equipped with a GPS Clock 170. In this context, the server could send an encrypted request to the client machine 160 to perform an action (for example displaying an image) at a specific instant of time. This encrypted request is then loaded into the GSU 177 where it is decrypted and the desired event time recorded. At the desired display time, the GSU 177 can directly override the video output from the client machine 160, replacing it or overlaying it with the decrypted image. The enhanced GSU 177, by directly controlling the client machine display, can provide even more precise output event timing. In addition, security is enhanced because the decrypted image data is never actually sent to the client machine 177.
An alternative function which can be performed by the enhanced GSU 177 of the present invention, in the context of FIG. 2D4, would be the ability to time and space stamp an input or event captured or generated by input devices to the GSU 177 without the delays and security risks incurred by first passing the data inputs to the client machine 160. Thus, the enhanced GSU 177 provides much higher precision of data event timing at a client machine because the data inputs are fed directly through, and directly monitored by, the GSU 177.
As shown in FIG. 2D5, the enhanced GSU 177 of the present invention comprises several required and optional components. As shown therein the required components include a GPS Receiver 700 and an associated antenna 730. The GPS receiver 700 is connected to a central processor 750 that can store events and desired trigger time/locations, perform encryption and decryption functions, and calculate digital signatures verifying the authenticity of data including, for example, time and space information provided by the GPS receiver 700. Access to the central processor 750 is provided through a host computer interface 720, which could utilize standard or proprietary hardware and communication protocols to provide such access. Standard interface specifications that might be utilized include bus-based connections such as ISA, SCSI, or PCI; port-based connections such as USB, RS232, or PCMCIA; or other communication methods such as infrared or radio frequency links.
Unlike the basic GSU 175 described above, the enhanced GSU 177 also includes at least one of the following two components: an input device passthrough monitoring module 770; and an output passthrough and signal generation module 780, as shown in FIG. 2D5.
The function of the input device passthrough monitoring (IPM) module 770 is to provide a "passthrough" (e.g. input and output port) for a specific input device or class of input devices. The IPM module 770 will monitor the data passing through, and generate digital signatures or CRC values of the data when requested by the central processing unit 750. In addition, the IPM module 770 could be programmed by the central processing unit 750 to trigger the acquisition of a time/space stamp or other event upon the receipt of a specific input or pattern of input of data into the IPM module 770. The IPM module 770 could be manufactured to interface with any type of input device, including a mouse, keyboard, microphone, video camera, scanner, barcode reader, pressure tablet, a voice recognition system, or any other analog or digital data input device.
The function of the output passthrough and signal generation (OPSG) module 789 is to provide a passthrough (e.g. input and output port) for a specific output device or class of output devices. The OPSG module 780 will have the ability to block signals from the host computer passing through the GSU 177, and to insert or overlay its own signals for presentation on the output device. For example, the OPSG module 780 could be used for the video display device. The host computer video output would be connected to the GSU 177, and another cable connected from the GSU 177 to the display device. The GSU could then "take over" the display device and display its own images or videos on the display device. Typically this capability would be activated in response to a timed event, in order to simultaneously display output on multiple GSU-equipped client machines (e.g. e.g. operating within a competition-supporting system of the present invention). OPSG modules 780 could be created to interface with a number of different-output devices, including video displays, speakers, or printers.
In addition to these required core components, the enhanced GSU 177 may also contain a number of optional components such as, for example: a high-frequency GPS disciplined clock 710, interfaced with the central processor 750, for providing much higher resolution time-stamps; a stand-alone encryption and decryption module 740, interfaced with the central processor 750, for providing enhanced speed and security; and/or non-volatile memory 760, interfaced with central processor 780, for recording timestamps for later comparison and verification purposes.
Processes Involved During the Operation of the Contest-Promoting System of the Present Invention
In FIG. 4, the high level operations performed by the contest-promoting system of FIG. 2 are described. Collectively, these operations enable a contestant to compete many other contestants, in a secure and fundamentally fair time-constrained contest, wherein each contestant is provided with a common "start-time" regardless of the location of his or her client machine on the infrastructure of the Internet, for the type of interconnection provided thereto (e.g. POTS line, ISDN, frame-relay or T1 line). The flowchart of FIG. 4 sets forth the seven basic steps or operations carried out by the contest-promoting system of FIG. 2. These operations are indicated at Blocks A through G in FIG. 2. As a overview of the method hereof, these operations will be first briefly described below, and thereafter, each operation will be described in greater, detail with reference to FIGS. 4A through 3G, respectively.
As indicated at Block A in FIG. 4, the first major operation carried out by the contest-promoting system hereof involves registration of each user as a contestant, and the creation of a globally-synchronized and secure networked client machine through which the contestant may participate in a timed-constrained question, and answer type contest, while competing against large numbers of other contestants for potentially high stakes.
As indicated at Block B in FIG. 4, the second major operation carried out by the contest-promoting system hereof involves the contestant using the contest client software on the client machine to log on to the game server 150, and the establish a communication channel therewith.
As indicated at Block C in FIG. 4, the third major operation carried out by the contest-promoting system hereof involves transmitting the query and start-time from the primary server to the client machine.
As indicated at Block D in FIG. 4, the fourth major operation carried out by the contest-promoting system hereof involves characterization of the client machine's local clock with the master clock on the primary server, and the synchronization of the client machine display update cycle with the desired start-time for the contest.
As indicated at Block E in FIG. 4, the fifth major operation carried out by the contest-promoting system hereof involves presenting the query to the contestant precisely at the start-time, as determined by a local clock that is characterized with respect to a global master clock located on the primary server.
As indicated at Block F in FIG. 4, the sixth major operation carried out by the contest-promoting system hereof involves accepting the contestants response, attaching a timestamp to that response, and transmitting the response and timestamp to the servers.
As indicated at Block G in FIG. 4, the seventh major operation carried out by the contest-promoting system hereof involves judging the responses from all the contestants and determining the winner. In addition, each contestants standing or rank is determined for the contest.
Details Relating the Operation Specified in Block a in FIG. 4
In FIG. 4A, the suboperations are shown for carrying out the method of registering and downloading of contest software indicated at Block A in FIG. 4.
As indicated at Block A in FIG. 4A, a potential contestant browses the contest WWW site ("the contest web site"). In general, the contest web site will include information about the contest, including descriptions of the contest client software, contestant qualifications, contest regulations, instructions on how to play, information about different varieties of the contest, lists of prizes and awards offered, advertising, lists of contest sponsors, lists of previous winners, and the standings or ranks of other contestants. FIG. 3A indicates the flow of information between the user's client machine 160 and the web server 110 containing HTML (and/or XML) encoded documents comprising the contest web site. In this figure, as well as in FIGS. 3B through 3G, the large arrows extending from one computer to another represent a message or group of messages containing related information. Messages indicated by 400 in FIG. 3A contain the web content being delivered to the client machine 160 from the web server 110.
In addition to the informational content of the contest web site, provision will also be made to allow the user to register to become a contestant. As indicated at Block B in FIG. 4A, upon deciding to enter the contest, the user fills out an on-line registration form, using either standard HTML (or XML) forms, or forms generated by Java or Active-X applets, or by a CGI script in a manner well known in the art. During the registration process indicated at Block B in FIG. 4A, there may also be a qualification procedure, wherein the user performs some test either of their own abilities and/or of the capabilities of their computing system. These tests could be administered through forms along with the registration process, or could involve the user downloading and running customized plug-in modules or stand-alone applications on his or computing system. Message 405 in FIG. 3A contains registration information being transmitted from the client machine 160 to the web server 110. This information is encrypted using standard secure HTTP methods known in the art.
As indicated at Block C of FIG. 4A, the web server 110 creates a record in the contestant database 130 for this user upon completing receipt of the registration information therefrom. The registration information is stored in this record, establishing the user as a contestant permitted to participate in one or more on-line multi-player contests to be promoted (i.e. enabled) the system of the present invention.
As indicated at Block D of FIG. 4A, a contestant ID is then assigned to the new contestant. This ID code uniquely identifies the contestant for all time, unlike a username, password, e-mail address or other information that may be changed in the future by this player/contestant. The contestant ID is recorded in the contestant database 130, and is used internally by the contest software of the system.
As indicated at Block E in FIG. 4A, the contestant is assigned a username and a temporary password for use when playing the contest. The username may be assigned by the system, or it may be chosen by the user as a part of the registration procedure. The password is generated randomly, and will most likely be changed by the contestant after logging into the system the first time. The username and password are stored in the contestant database 130.
As indicated at Block F in FIG. 4A, an e-mail message containing the username and temporary password are sent to the contestant. This e-mail message from the web-server 110 to the client machine 160 is depicted as Message 410 in the data flow process shown in FIG. 3A.
As indicated at Block G in FIG. 4A, the contestant logs onto a secure, members-only area of the contest web-site using his or her username and temporary password. This area allows the contestant to view and update his or her personal information (e.g. username, password, e-mail address, residence address and telephone numbers, and so on).
As indicated at Block H in FIG. 4A, the contestant downloads the contest software from the web server 110 to his or her client machine 160, i.e. from the members-only area of the contest web site. This contest software download is accomplished using HTTP, FTP, or other file transfer protocol, as represented by Message 415 shown in the information flow proceeds of FIG. 3A.
As indicated at Block I of FIG. 4A, the contestant installs the client software on his or her machine. This procedure will involve either executing the downloaded installation file, or initially decompressing the downloaded file and then executing a setup application contained within the compressed archive. The installation procedure will install the contest client 340 application, as well as one or more customized device drivers 350 required by the contestant's client machine. The device drivers will be used to communicate directly with the local clock and any timing hardware (GPS, etc) used in the client machine. Upon successful installation of the client software, the contestant's computing system will become a fully enabled "client machine", and thus ready to participate in a contained competition in accordance with the principles of the present invention.
Details Relating the Operation Specified in Block B in FIG. 4
In FIG. 4B, the suboperations are shown for carrying out the method of logging a contestant onto the game server 150 indicated at Block B in FIG. 4. In general, this procedure involves a number of "behind-the-scenes" activities by the various server systems, in addition to the actual log on process. Initially, all servers and clients in the system are provided with the address of the login server 120 as well as with the login server's encryption "public key", which is used to send secure message to the login server.
As indicated at Block A in FIG. 4B, the primary server 100 transmits a list of all the participating game servers to the login server 120. This message, shown as 420 in FIG. 3B, is encrypted using the login server's public key. The login server 120 decrypts and stores this message using its private key.
As indicated at Block B in FIG. 4B, the login server sends a status request message to each of the game servers. In FIG. 3C, this status request message is indicated by Message 425.
As indicated at Block C in FIG. 4B, each game server 150 sends a reply in response to the status request message (i.e. Message 425), containing information about the status of the game server, including current loading, indications of maximum server capacity, geographical area of coverage, and other information. In addition, this reply contains the game server's public encryption key. The entire reply, indicated by Message 430 in FIG. 3C, is encrypted using the login server's public key. Status request message 425 and response message 430 occur during the initialization of the contest system, as well as periodically throughout the operation of each contest enabled by the system hereof.
As indicated at Block D in FIG. 4B, the contestant must log on to the system using the contest client application when the contestant decides to participate in a particular contest. During this stage of the process, the contest client machine 160 requests a username and password from the contestant for the convenience of the contestant. This username and password may be stored locally on the client machine to avoid the contestant having to re-enter the username and/or password every time he or she plays a game or participates in a contest.
As indicated at Block E in FIG. 4B, the contest client software 340 transmits the username and password to the login server 120. The username, password, and the client machine's public key are first e |