The present invention relates generally to communications networks and, more particularly, to systems and methods for providing peer-to-peer gaming in a communications network.
Users access the Internet for a variety of objectives, including to socially and competitively interact with others as a form of entertainment. The playing of games (e.g., board games, card games, etc.) over the Internet (on-line games) enables players to enjoy the games with others who may reside at distant locations from each other.
Currently, when a user desires to participate in an on-line gaming session with a second user, the users connect, typically for a subscription fee, to a centralized server that manages the on-line gaming session. Instances may arise when users are prevented from participating in on-line gaming. For example, the centralized servers are subject to bandwidth limitations and are vulnerable to network attacks (e.g., denial of service attacks), outages due to natural or man-made disasters, etc. Customer satisfaction may be diminished during such instances.
There exists a need for systems and methods that improve on-line gaming.
Systems and methods consistent with the principles of the invention address this and other needs by providing peer-to-peer on-line gaming in a communications network.
In an implementation consistent with the principles of the invention, a method for establishing a gaming session between a first network device, which includes an operating system, and at least one second network device in a communications network is provided. The method may include modifying the first network device for the gaming session, where the modifying the first network device includes loading a new operating system. The method may further include connecting the first network device to the communications network, and establishing a peer-to-peer gaming session with the at least one second network device.
In another implementation consistent with the principles of the invention, a device that includes a memory and a processor is provided. The processor may be configured to receive a gaming package. The gaming package may include an operating system, a script for detecting a hardware configuration of the device, software for accessing a network, and peering software. The processor may be further configured to establish a peer-to-peer gaming session with another device over the network.
In yet another implementation consistent with the principles of the invention, a network includes a server and a group of network devices. The server may be configured to provide a list of games. Each of the network devices may be configured to select one game in the list of games, and establish a peer-to-peer gaming session with at least one other network device in response to selecting the one game.
In still another implementation consistent with the principles of the invention, a network device includes means for receiving a gaming package, where the gaming package includes an operating system, a script for detecting a hardware configuration of the network device, software for accessing a network, peering software, and gaming software. The network device may further include means for installing the operating system, software for accessing the network, the peering software, and the gaming software and means for establishing a peer-to-peer gaming session with at least one other network device using the software for accessing the network, the peering software, and the gaming software.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings,
The following detailed description of implementations consistent with the principles of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and their equivalents.
Implementations consistent with the principles of the invention provide peer-to-peer gaming in a communications network.
Network 110 may include one or more networks, such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), or another type of network that is capable of transmitting data from a source device to a destination device. Network 110 may also or alternatively include one or more public switched telephone networks (PSTNs) or other types of switched networks. Network 110 may include one or more wired, wireless, and/or optical networks.
Service devices 120 may include one or more types of computer systems, such as a mainframe, minicomputer, or personal computer. Service devices 120 may be located at separate geographic locations for redundancy purposes. Service devices 120 may use well-known hardening and resiliency designs for load balancing and survivability in case of natural disaster, network outages, network attacks, etc. In one implementation, service devices 120 may be built using Linux Beowolf clusters, or similar clustering technologies. Although not specifically illustrated in
Warehouse 130 may include one or more separate databases for storing data. Warehouse 130 may act as a repository for network information. The network information may, for example, include account information, such as, user information, information relating to user devices 140, and/or information relating to the gaming sessions formed by user devices 140. The network information may be used by system administrators for targeting information or services (e.g., premium services, advertisements, etc.) to users in system 100. Warehouse 130 may be located within one or more of service devices 120 or, as illustrated in
User devices 140 may include devices, such as wireless telephones, personal computers, personal digital assistants (PDAs), lap tops, etc., threads or processes running on these devices or other types of devices (e.g., televisions, video game consoles, or the like), and/or objects executable by these devices. In one implementation, user devices 140 may include past-generation hardware (i.e., hardware that is 2 to 3 generations out of current general use; the hardware may be slower or less powerful than most consumers would prefer). User devices 140 may connect to network 110 and to each other via wired, wireless, or optical connections.
Processor 220 may include any type of conventional processor or microprocessor that interprets and executes instructions. Memory 230 may include a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor 220; a read only memory (ROM) or another type of static storage device that stores static information and instructions for use by processor 220; and/or some type of magnetic or optical recording medium and its corresponding drive.
Input device 240 may include one or more conventional devices that permit an operator to input information to service device 120, such as a keyboard, a mouse, a pen, a microphone, one or more biometric mechanisms, and the like. Output device 250 may include one or more conventional devices that outputs information to the operator, including a display, a printer, a speaker, etc. Communication interface 260 may include any transceiver-like mechanism that enables service device 120 to communicate with other devices and/or systems. For example, communication interface 260 may include mechanisms for communicating with user devices 140 via a network, such as network 110.
Execution of the sequences of instructions contained in memory 230 causes processor 220 to perform the functions described below. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software.
Alias field 302 may store a name or identifier that uniquely identifies a user. First name field 304 may store a first name of the corresponding user identified in alias field 302. Last name field 306 may store a last name of the corresponding user identified in alias field 302. Zip code field 308 may store a zip code (or other address information) of the corresponding user identified in alias field 302. The information in zip code field 308 may aid in the targeting of goods or services based on geographic location of users. Current network address field 310 may store an address assigned to the user for a current network session. In an implementation consistent with the present invention, the network address may be an Internet protocol (IP) address. It will be appreciated that the user's IP address may, for example, be different each time that he or she logs on to his/her Internet service provider (ISP) or intranet connection.
Warehouse 130 may also include one or more databases for tracking the gaming sessions in which the users in system 100 participate. One database may be associated with all of the games in system 100. Alternatively, a separate database may be associated with each game type.
Alias field 352 may store a name or identifier that uniquely identifies a user (i.e., participant) of a backgammon gaming session. Date field 354 may store information indicating the date that the user in alias field 352 participated in a backgammon gaming session. Time field 356 may store information indicating the time that the user in alias field 352 participated in a backgammon gaming session. Preferences field 358 may store information indicating the preferences that were set in the backgammon gaming session.
The information in database 350 may be stored, for example, in chronological order. As such, the alias of users may appear in multiple locations in database 350. For example, as illustrated in
Processor 420 may include any type of conventional processor or microprocessor that interprets and executes instructions. Memory 430 may include a RAM or another type of dynamic storage device that stores information and instructions for execution by processor 420. Memory 430 may also be used to store temporary variables or other intermediate information during execution of instructions by processor 420.
ROM 440 may include a conventional ROM device and/or another type of static storage device that stores static information and instructions for processor 420. Storage device 450 may include a magnetic disk or optical disk and its corresponding drive and/or some other type of magnetic or optical recording medium and its corresponding drive for storing information and/or instructions.
Input device 460 may include any conventional mechanism or combination of mechanisms that permits the operator to input information to user device 140, such as a keyboard, a mouse, a microphone, a pen, a biometric input device, such as a voice recognition device, etc. Output device 470 may include any conventional mechanism or combination of mechanisms that outputs information to the operator, including a display, a printer, a speaker, etc.
Communication interface 480 may include any transceiver-like mechanism that enables user device 140 to communicate with other devices and/or systems, such as other user devices 140. For example, communication interface 480 may include a modem or an Ethernet interface. Alternatively, communication interface 480 may include other mechanisms for communicating via a network, such as network 110.
User device 140 may implement the functions described below in response to processor 420 executing software instructions contained in a computer-readable medium, such as memory 430. A computer-readable medium may be defined as one or more memory devices and/or carrier waves. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions to implement features consistent with the principles of the invention. Thus, implementations consistent with the principles of the invention are not limited to any specific combination of hardware circuitry and software.
In conventional on-line gaming systems, when a first user desires to participate in on-line gaming session with a second user, the first and second users connect, possibly for a subscription fee, to a centralized server that manages the on-line gaming session. Instances may arise when users are prevented from participating in on-line gaming as a result of, for example, bandwidth limitations of the centralized server or the vulnerability of the centralized server to network attacks (e.g., denial of service attacks), outages due to natural or man-made disasters, etc. Customer satisfaction may be diminished during such instances.
Implementations consistent with the principles of the invention allow users to create on-line gaming sessions via peering relationships, thereby obviating the need for centralized servers and allowing users to pay for their network connection. Implementations consistent with the principles of the invention allow for service providers to capture revenue for bandwidth that might otherwise not be realized through the establishment of peer-to-peer gaming sessions. Moreover, by tuning past-generation hardware systems for communications and gaming, these systems may be used for participating in gaming sessions, thereby extending their useful life.
Any mechanism within user device 140 that allows for the transfer of the gaming package onto the user device 140 may be used to initiate the gaming package. For example, the gaming package may be downloaded to user device 140 using communication interface 480 or, when the gaming package is stored on a CD or digital video disc (DVD), using storage device 450. The gaming package may be stored as a series of files on the computer-readable medium or may be included within a single executable file or zip file.
The gaming package may include, for example, an operating system (OS) kernel, auto-boot software, a hardware classification script, a build script, Internet access software, peering software, and gaming software. It will be appreciated that the gaming package may also include other software programs or scripts that aid in the installation of the gaming package and/or the establishment of a peering gaming session. The OS kernel may be based, for example, on Linux, freeBSD, or any other open-source OS. In one implementation consistent with the principles of the invention, the OS kernel is tuned for communications and gaming, meaning that the OS kernel is tuned, from a hardware classification standpoint, to support the peering and gaming software. As an option, the user of user device 140 may configure user device 140 to dual boot between any pre-existing OS on user device 140 and the OS kernel. Alternatively, the user may choose to have the gaming system OS kernel as the only OS on user device 140.
The auto-boot software may include conventional auto-boot software that automatically reboots user device 140. The hardware classification script may automatically detect the hardware in user device 140 and place the hardware information into a build file. The build script may compile and deploy the Internet access software, peering software, and gaming software based on the information in the build file.
The Internet access software may allow user device 140 to access a given Internet Service Provider (ISP) via a dial-up connection or a wireline or wireless broadband connection. Via the Internet access software and communications interface 480, user device 140 may also communicate with service device 120 and/or warehouse 130. The peering software may include any type of software that allows user device 140 to establish a peer-to-peer connection with another user device. For example, the peering software may include WinMX or other similar types of peering software. The gaming software may include the software for the actual game(s) that the user wishes to play. In one implementation, the gaming software may include multiplayer games, such as board games (e.g., chess, checkers, backgammon, etc.), card games (e.g., hearts, bridge, poker, etc.), sports games (e.g., golf, baseball, football, etc.), and/or other types of multiplayer (or multi-participant) games.
For explanatory purposes only, it is assumed hereafter that the gaming package is contained on a CD. A user of user device 140 may load the gaming package CD into the CD-ROM drive of user device 140. The OS kernel may then be loaded onto user device 140. The auto-boot software may then cause user device 140 to reboot into the OS kernel, with minimal OS capabilities to support hardware detection.
The hardware classification script may detect the hardware in user device 140 (act 520). The hardware classification script may automatically detect, for example, the hard disk drive, monitor, video capabilities, memory, central processing unit (CPU), communications devices (e.g., modem), and network interfaces of user device 140 and place this information in a build file (act 520). The build script may then use this build file that identifies the hardware in user device 140 to compile and deploy the Internet access software, peering software, and gaming software from the gaming package (act 530).
Upon installation of the gaming package, the user of user device 140 may begin participating in peer-to-peer gaming. To begin peer-to-peer gaming, the user may cause user device 140 to connect to a network, such as the Internet (act 540). User device 140 may connect to the Internet via a dial-up connection or a broadband wireless or wireline connection. In one implementation, the connection may be established using Virtual Private Network (VPN) security (e.g., Secure Internet Protocol (IPSec), Hypertext Transfer Protocol over Secure Socket Layer (HTTPS), etc.).
The user may then establish a connection to a service device 120 (act 550). In one implementation, service device 120 may provide an Internet Relay Chat (IRC) session for the gaming community. Other user devices 140 may be notified of this new user device 140 by new user device 140 announcing itself in a well-known manner.
Gaming sessions may be established between peers (i.e., user devices 140) as the user desires (act 560). Gaming sessions may be organized by entering user preferences for sessions and then using peering and self-organizing software to establish links with other user devices 140 with similar preferences.
Assume that the user selects the board games category.
Assume that the user's device 140 includes backgammon gaming software and that the user selects backgammon from list 710.
If the user so desires, the user may establish his/her own gaming session by, for example, clicking create game button 850. The user may then be asked to set his/her gaming preferences. Once established, the user's name may appear in graphical user interface 800.
When a user joins a gaming session with a second user device, a peer-to-peer gaming session may be established between the first user device and the second user device using peering and self-organizing software. In the peer-to-peer gaming session the first and second user devices communicate directly with one another. If server devices 120 fail while the gaming session is ongoing, the gaming session can still continue. At the conclusion of the gaming session, the user devices may again reconnect to server devices 120.] Users can start new gaming sessions, enter existing gaming sessions, and/or restart previous (or saved) gaming sessions.
Session information may be stored on user devices 140 or on service device 120 (act 570,
The information in warehouse 130 may be mined using classification techniques to detect relationships between gaming participants. The classification techniques may include, for example, artificial neural networks, heuristics, Rough Set Theory, or the like. The session information in warehouse 130 may be mined to determine customer satisfaction. Customer satisfaction may, for example, be correlated to the number of game downloads, the number of players in a concurrent or continuing game session, the number of times a game session is reinitiated, or other information. In addition, the session information in warehouse 130 may be used to identify marketing opportunities. For example, premium services may be presented to users in system 100 based on relationships identified in the session information. The premium services may include software updates, new gaming scenarios, player information storage, and the like. Alternatively or in addition, advertisements may be targeted to users in system 100 based on relationships identified in the session information.
Service device 120 may offer users the ability to upload new games to service device 120 for premium service credit or other considerations (e.g., free updates or downloads). In this way, users may share these new games with other users in system 100.
In an alternative implementation consistent with the principles of the invention, the gaming sessions may be used for grid computing. The grid computing may be used in creating complex game session scenarios or other uses that require massive computational capabilities. Moreover, by adding artificial intelligence to each user device 140 in system 100 and placing the software in robotic devices, a suite of autonomous peers may be created to perform a task, such as for use in construction, manufacturing, military operations, etc. The above-described system 100 may further be used as an aggregation service for obtaining any type of customer preferences (e.g., real time customer surveys).
Systems and methods, consistent with the principles of the invention, allow for peer-to-peer gaming in a communications network.
The foregoing description of exemplary embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, while series of acts have been described with respect to
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used.
The scope of the invention is defined by the claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
6358150 | Mir et al. | Mar 2002 | B1 |
6487522 | Smith et al. | Nov 2002 | B1 |
6666769 | Stronach | Dec 2003 | B2 |
6671729 | Gordon et al. | Dec 2003 | B1 |
6934956 | Allen | Aug 2005 | B1 |
6981251 | Kreller et al. | Dec 2005 | B1 |
7036083 | Zenith | Apr 2006 | B1 |
7155710 | Breckner et al. | Dec 2006 | B2 |
7159008 | Wies et al. | Jan 2007 | B1 |
7993194 | Bond | Aug 2011 | B1 |
20010044339 | Cordero et al. | Nov 2001 | A1 |
20020013882 | Ko et al. | Jan 2002 | A1 |
20020068592 | Hutcheson et al. | Jun 2002 | A1 |
20020138594 | Rowe | Sep 2002 | A1 |
20030061285 | Usui et al. | Mar 2003 | A1 |
20030084165 | Kjellberg et al. | May 2003 | A1 |
20030085522 | Loder | May 2003 | A1 |
20030224858 | Yoseloff et al. | Dec 2003 | A1 |
20030232648 | Prindle | Dec 2003 | A1 |
20040002384 | Multerer et al. | Jan 2004 | A1 |
20040003039 | Humphrey et al. | Jan 2004 | A1 |
20040015608 | Ellis et al. | Jan 2004 | A1 |
20070214169 | Audet et al. | Sep 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20050096133 A1 | May 2005 | US |