US20080227548A1 - Secured cross platform networked multiplayer communication and game play - Google Patents
Secured cross platform networked multiplayer communication and game play Download PDFInfo
- Publication number
- US20080227548A1 US20080227548A1 US11/717,387 US71738707A US2008227548A1 US 20080227548 A1 US20080227548 A1 US 20080227548A1 US 71738707 A US71738707 A US 71738707A US 2008227548 A1 US2008227548 A1 US 2008227548A1
- Authority
- US
- United States
- Prior art keywords
- computing device
- platform
- clearinghouse
- application
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/32—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
- A63F13/323—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- A63F13/12—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/34—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/71—Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/532—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing using secure communication, e.g. by encryption, authentication
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/552—Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Definitions
- gaming consoles e.g., Microsoft Corporation's Xbox 360TM
- PCs personal computers
- gaming consoles have not been able to communicate across a network connection with PCs. Therefore, for example, gaming consoles have not been able to play online video games with PCs.
- Xbox LiveTM is an online multiplayer gaming and content delivery system created and operated by Microsoft Corporation.
- Microsoft's Live AnywhereTM enables a variety of non-Xbox platforms such as a PC and mobile phones to connect to Xbox Live, though with lesser functionality.
- cross-platform play is not available, such that PC players cannot compete against Xbox 360 players.
- a user of a software application (e.g., game or title) running at a gaming console may interact securely in real-time with a user of a compatible software application running at a general purpose computing device, such as a PC.
- a game player on the gaming console may play online with a game player on a PC.
- the gaming console may securely communicate with the general purpose computing device either via a clearinghouse or directly via a local area network (LAN) connection, for example.
- LAN local area network
- the stack and ports are set to accommodate the cross-platform features. Additionally, a secure key exchange is provided, as well as big-endian and little-endian byte ordering.
- FIG. 1 is a block diagram of an exemplary cross-platform networked system.
- FIG. 2 is a block diagram of another exemplary cross-platform networked system.
- FIG. 3 is a flow diagram of an example port selection technique.
- FIG. 4 is a diagram of an example key exchange process for a clearinghouse embodiment.
- FIG. 5 is a diagram of an example key exchange process for a LAN embodiment.
- FIG. 6 depicts an exemplary operating environment.
- FIG. 1 is a block diagram of an exemplary cross-platform system in which a gaming console 10 is networked to a general purpose computing device 30 , via a clearinghouse 20 .
- the gaming console 10 may be any computing device that supports online gaming.
- the gaming console 10 may be a personal computer (PC) loaded with one or more online game titles.
- the gaming console 10 may be a handheld device, and may be enabled for use with one or more game titles.
- a game title may be a discrete application that may be loaded and run on the gaming console 10 .
- a user may possess a number of game titles.
- the user may load and run an individual game title onto the gaming console 10 to play an online game with other users that have loaded and run the same game title on their respective gaming console or computing device.
- the gaming console 10 is desirably a game-specific console, such as Microsoft Corporation's Xbox 360TM for example, and the general purpose computing device 30 is desirably a PC, handheld device, or mobile phone, for example.
- the clearinghouse 20 may be an online multiplayer gaming and content delivery service or system, for example, such as Xbox LiveTM.
- the gaming console 10 and the computing device 30 may each be in communication with the clearinghouse 20 via the internet or another network, for example. It is also contemplated that the computing device 30 may be another type of gaming console, different from the gaming console 10 . In this manner, two different types of gaming consoles may communicate with each other.
- the clearinghouse 20 desirably has its own network stack protocol that allows for secure internet access.
- the network stack protocol described further below, is used by the gaming console 10 , and also by the computing device 30 , such that the computing device 30 has code that has the same protocol as the clearinghouse 20 .
- the protocol can talk cross-platform between the gaming console 20 and the computing device 30 .
- multiple stack protocols may be used by the clearinghouse 20 .
- the gaming console 10 may communicate with the clearinghouse 20 using a first protocol (e.g., protocol A), and the computing device 30 may communicate with the clearinghouse 20 using a second protocol (e.g., protocol B).
- the gaming console 10 and the computing device 30 may also communicate directly with each other, e.g., after the clearinghouse 20 initially gets them matched together, using another protocol (e.g., protocol C).
- the platform type may be included in the key exchange message, and may be sent through the clearinghouse 20 which verifies that the device is a gaming console or a PC, for example. Key exchange is described further below.
- FIG. 2 is a block diagram of an exemplary system in which a gaming console 10 is networked to a general purpose computing device 30 , not via a clearinghouse 20 as in FIG. 1 , but directly via a local area network (LAN) connection, for example.
- LAN local area network
- a LAN connection allows gaming consoles to connect directly to each other without having to go through the clearinghouse.
- the protocol for establishing the connection is different from establishing a connection to a console via the clearinghouse. Instead of going through the clearinghouse, the console sends a broadcast packet out and awaits a response, for example. Desirably, the broadcast packets are encrypted using a shared key.
- a user of a software application e.g., game or title
- a software application running at the gaming console
- a game player on a gaming console may play online with a game player on a PC.
- FIGS. 1 and 2 Although one gaming console 10 and one computing device 30 are shown in FIGS. 1 and 2 , it is contemplated that multiple consoles 10 and computing devices 30 may be networked together, via a clearinghouse, LAN, or other means.
- each process or application may need its own broadcast port and perhaps a different game data port.
- IP broadcast is transmitted to a specific port of the general purpose computing device, which can be title specific and possibly configured by the user.
- each title can default to a port of its choice or could offer the user a choice of port to use.
- FIG. 3 is a flow diagram of an example port selection technique in a LAN connection configuration.
- a game title or other application is activated on a general purpose computing device.
- the computing device determines which port to use. The port may be based on the game title or application that has been activated, or may be set by a user.
- the computing device sets the port accordingly.
- the port used in the computing device for cross-platform networked game play may be different from the port using on a gaming console. It is contemplated that the port on the gaming console may vary depending on game title or user configuration, for example.
- cross-platform communication may or may not be allowed by a particular application.
- a clearinghouse desirably enforces whether or not cross-platform communication is allowed.
- Secure key exchange is desirably performed.
- an example connection protocol desirably requires that all connections between the clients (gaming consoles and general purpose computing devices) require a key exchange. Packets are inspected to determine whether they were from a general purpose computing device. If so, that information is indicated to the clearinghouse or other destination so that it can handle the data differently, if desired.
- FIG. 4 is a diagram of an example key exchange process for a clearinghouse embodiment, and shows a client 400 , such as a game client, in communication with a clearinghouse authentication and key servers 420 , and a clearinghouse gateway server 430 .
- the authentication server and the key server may be separate entities or may be part of the same entity.
- the game client 400 sends login credentials 405 to the clearinghouse authentication and key servers 420 .
- the clearinghouse authentication and key servers 420 authenticates the client and responds with a clearinghouse ticket 425 and a pointer 427 to the clearinghouse gateway server 430 .
- the game client 400 may then connect to the clearinghouse gateway server 430 to use the clearinghouse services.
- FIG. 5 is a diagram of an example key exchange process for a LAN connection embodiment.
- FIG. 5 shows a game client 500 that acts as a host and another game client 550 .
- the clients may be in communication over a LAN subnet, for example. Additional game clients are contemplated on the network, although they are not shown.
- the host game client 500 broadcasts an encrypted communication of its existence and availability 505 .
- the game client 550 decrypts the broadcast and responds with an encrypted broadcast to join the game 510 .
- the host game client 500 decrypts and accepts the join request and initiates a unicast key negotiation 515 .
- the game clients 500 , 550 desirably unicast with each other 520 , encrypting their communications with the negotiated unicast key to carry out the game session.
- unicast is the sending of information packets to a single destination.
- Other implementation techniques are contemplated, based, for example, on the protocols that are to be used.
- endianness is the ordering used to represent some kind of data as a sequence of smaller units. Typical cases are the order in which integer values are stored as bytes in computer memory (relative to a given memory addressing scheme) and the transmission order over a network. Regarding bytes, endianness is also referred to as byte order.
- All computer architectures are either big-endian or little-endian. Big-endian architectures are found in Microsoft's Xbox 360 and IBM's Power PC, for example. Intel x86 processors (and their clones) use the little-endian format.
- FIG. 6 and the following discussion are intended to provide a brief general description of a suitable computing environment in which the present invention and/or portions thereof may be implemented.
- the invention is described in the general context of computer-executable instructions, such as program modules, being executed by a computer, such as a client workstation or a server.
- program modules include routines, programs, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types.
- the invention and/or portions thereof may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers and the like.
- the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- an exemplary general purpose computing system includes a conventional personal computer 120 or the like, including a processing unit 121 , a system memory 122 , and a system bus 123 that couples various system components including the system memory to the processing unit 121 .
- the system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the system memory includes read-only memory (ROM) 124 and random access memory (RAM) 125 .
- ROM read-only memory
- RAM random access memory
- a basic input/output system 126 (BIOS) containing the basic routines that help to transfer information between elements within the personal computer 120 , such as during start-up, is stored in ROM 124 .
- the personal computer 120 may further include a hard disk drive 127 for reading from and writing to a hard disk (not shown), a magnetic disk drive 128 for reading from or writing to a removable magnetic disk 129 , and an optical disk drive 130 for reading from or writing to a removable optical disk 131 such as a CD-ROM or other optical media.
- the hard disk drive 127 , magnetic disk drive 128 , and optical disk drive 130 are connected to the system bus 123 by a hard disk drive interface 132 , a magnetic disk drive interface 133 , and an optical drive interface 134 , respectively.
- the drives and their associated computer-readable media provide non-volatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 120 .
- exemplary environment described herein employs a hard disk, a removable magnetic disk 129 , and a removable optical disk 131
- other types of computer readable media which can store data that is accessible by a computer may also be used in the exemplary operating environment.
- Such other types of media include a magnetic cassette, a flash memory card, a digital video disk, a Bernoulli cartridge, a random access memory (RAM), a read-only memory (ROM), and the like.
- a number of program modules may be stored on the hard disk, magnetic disk 129 , optical disk 131 , ROM 124 or RAM 125 , including an operating system 135 , one or more application programs 136 , other program modules 137 and program data 138 .
- a user may enter commands and information into the personal computer 120 through input devices such as a keyboard 140 and pointing device 142 .
- Other input devices may include a microphone, joystick, game pad, satellite disk, scanner, or the like.
- serial port interface 146 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port, or universal serial bus (USB).
- a monitor 147 or other type of display device is also connected to the system bus 123 via an interface, such as a video adapter 148 .
- a personal computer typically includes other peripheral output devices (not shown), such as speakers and printers.
- the exemplary system of FIG. 6 also includes a host adapter 155 , a Small Computer System Interface (SCSI) bus 156 , and an external storage device 162 connected to the SCSI bus 156 .
- SCSI Small Computer System Interface
- the personal computer 120 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 149 .
- the remote computer 149 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 120 , although only a memory storage device 150 has been illustrated in FIG. 6 .
- the logical connections depicted in FIG. 6 include a local area network (LAN) 151 and a wide area network (WAN) 152 .
- LAN local area network
- WAN wide area network
- the personal computer 120 When used in a LAN networking environment, the personal computer 120 is connected to the LAN 151 through a network interface or adapter 153 . When used in a WAN networking environment, the personal computer 120 typically includes a modem 154 or other means for establishing communications over the wide area network 152 , such as the internet.
- the modem 154 which may be internal or external, is connected to the system bus 123 via the serial port interface 146 .
- program modules depicted relative to the personal computer 120 may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
Abstract
Description
- Software applications, such as first-person shooter (FPS) games, are available for both gaming consoles (e.g., Microsoft Corporation's Xbox 360™) and personal computers (PCs). However, gaming consoles have not been able to communicate across a network connection with PCs. Therefore, for example, gaming consoles have not been able to play online video games with PCs.
- Xbox Live™ is an online multiplayer gaming and content delivery system created and operated by Microsoft Corporation. Microsoft's Live Anywhere™ enables a variety of non-Xbox platforms such as a PC and mobile phones to connect to Xbox Live, though with lesser functionality. For example, cross-platform play is not available, such that PC players cannot compete against Xbox 360 players.
- A user of a software application (e.g., game or title) running at a gaming console may interact securely in real-time with a user of a compatible software application running at a general purpose computing device, such as a PC. Thus, a game player on the gaming console may play online with a game player on a PC. The gaming console may securely communicate with the general purpose computing device either via a clearinghouse or directly via a local area network (LAN) connection, for example.
- The stack and ports are set to accommodate the cross-platform features. Additionally, a secure key exchange is provided, as well as big-endian and little-endian byte ordering.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
-
FIG. 1 is a block diagram of an exemplary cross-platform networked system. -
FIG. 2 is a block diagram of another exemplary cross-platform networked system. -
FIG. 3 is a flow diagram of an example port selection technique. -
FIG. 4 is a diagram of an example key exchange process for a clearinghouse embodiment. -
FIG. 5 is a diagram of an example key exchange process for a LAN embodiment. -
FIG. 6 depicts an exemplary operating environment. -
FIG. 1 is a block diagram of an exemplary cross-platform system in which agaming console 10 is networked to a generalpurpose computing device 30, via aclearinghouse 20. Thegaming console 10 may be any computing device that supports online gaming. For example, thegaming console 10 may be a personal computer (PC) loaded with one or more online game titles. Thegaming console 10 may be a handheld device, and may be enabled for use with one or more game titles. A game title may be a discrete application that may be loaded and run on thegaming console 10. - Typically, a user may possess a number of game titles. The user may load and run an individual game title onto the
gaming console 10 to play an online game with other users that have loaded and run the same game title on their respective gaming console or computing device. - The
gaming console 10 is desirably a game-specific console, such as Microsoft Corporation's Xbox 360™ for example, and the generalpurpose computing device 30 is desirably a PC, handheld device, or mobile phone, for example. Theclearinghouse 20 may be an online multiplayer gaming and content delivery service or system, for example, such as Xbox Live™. Thegaming console 10 and thecomputing device 30 may each be in communication with theclearinghouse 20 via the internet or another network, for example. It is also contemplated that thecomputing device 30 may be another type of gaming console, different from thegaming console 10. In this manner, two different types of gaming consoles may communicate with each other. - The
clearinghouse 20 desirably has its own network stack protocol that allows for secure internet access. The network stack protocol, described further below, is used by thegaming console 10, and also by thecomputing device 30, such that thecomputing device 30 has code that has the same protocol as theclearinghouse 20. The protocol can talk cross-platform between thegaming console 20 and thecomputing device 30. - It is contemplated that multiple stack protocols (e.g., protocol A 22 and protocol B 23) may be used by the
clearinghouse 20. In this manner, thegaming console 10 may communicate with theclearinghouse 20 using a first protocol (e.g., protocol A), and thecomputing device 30 may communicate with theclearinghouse 20 using a second protocol (e.g., protocol B). Thegaming console 10 and thecomputing device 30 may also communicate directly with each other, e.g., after theclearinghouse 20 initially gets them matched together, using another protocol (e.g., protocol C). - There is a key exchange that includes platform type (e.g., gaming console, PC, etc.) so that trust can be achieved. The platform type may be included in the key exchange message, and may be sent through the
clearinghouse 20 which verifies that the device is a gaming console or a PC, for example. Key exchange is described further below. -
FIG. 2 is a block diagram of an exemplary system in which agaming console 10 is networked to a generalpurpose computing device 30, not via aclearinghouse 20 as inFIG. 1 , but directly via a local area network (LAN) connection, for example. - A LAN connection allows gaming consoles to connect directly to each other without having to go through the clearinghouse. The protocol for establishing the connection is different from establishing a connection to a console via the clearinghouse. Instead of going through the clearinghouse, the console sends a broadcast packet out and awaits a response, for example. Desirably, the broadcast packets are encrypted using a shared key.
- Thus, a user of a software application (e.g., game or title) running at the gaming console may interact in real-time with a user of the same software application running at the computing device. As a result, a game player on a gaming console may play online with a game player on a PC.
- Although one
gaming console 10 and onecomputing device 30 are shown inFIGS. 1 and 2 , it is contemplated thatmultiple consoles 10 andcomputing devices 30 may be networked together, via a clearinghouse, LAN, or other means. - On the general purpose computing device, multiple processes may run simultaneously, such as when multiple dedicated server instances are running, or when a gaming dashboard is running as a separate application. Therefore, each process or application may need its own broadcast port and perhaps a different game data port.
- An IP broadcast is transmitted to a specific port of the general purpose computing device, which can be title specific and possibly configured by the user. Thus, each title can default to a port of its choice or could offer the user a choice of port to use.
-
FIG. 3 is a flow diagram of an example port selection technique in a LAN connection configuration. Atstep 200, a game title or other application is activated on a general purpose computing device. Atstep 210, the computing device determines which port to use. The port may be based on the game title or application that has been activated, or may be set by a user. Atstep 220, the computing device sets the port accordingly. - The port used in the computing device for cross-platform networked game play may be different from the port using on a gaming console. It is contemplated that the port on the gaming console may vary depending on game title or user configuration, for example.
- On a gaming console or computing device, cross-platform communication may or may not be allowed by a particular application. A clearinghouse desirably enforces whether or not cross-platform communication is allowed.
- Secure key exchange is desirably performed. For embodiments which use a clearinghouse, an example connection protocol desirably requires that all connections between the clients (gaming consoles and general purpose computing devices) require a key exchange. Packets are inspected to determine whether they were from a general purpose computing device. If so, that information is indicated to the clearinghouse or other destination so that it can handle the data differently, if desired.
-
FIG. 4 is a diagram of an example key exchange process for a clearinghouse embodiment, and shows aclient 400, such as a game client, in communication with a clearinghouse authentication andkey servers 420, and aclearinghouse gateway server 430. The authentication server and the key server may be separate entities or may be part of the same entity. - The
game client 400 sendslogin credentials 405 to the clearinghouse authentication andkey servers 420. The clearinghouse authentication andkey servers 420 authenticates the client and responds with a clearinghouse ticket 425 and a pointer 427 to theclearinghouse gateway server 430. Thegame client 400 may then connect to theclearinghouse gateway server 430 to use the clearinghouse services. -
FIG. 5 is a diagram of an example key exchange process for a LAN connection embodiment.FIG. 5 shows agame client 500 that acts as a host and anothergame client 550. The clients may be in communication over a LAN subnet, for example. Additional game clients are contemplated on the network, although they are not shown. - The
host game client 500 broadcasts an encrypted communication of its existence andavailability 505. Thegame client 550 decrypts the broadcast and responds with an encrypted broadcast to join thegame 510. Thehost game client 500 decrypts and accepts the join request and initiates a unicastkey negotiation 515. Thegame clients - Regarding byte ordering, in computing, endianness is the ordering used to represent some kind of data as a sequence of smaller units. Typical cases are the order in which integer values are stored as bytes in computer memory (relative to a given memory addressing scheme) and the transmission order over a network. Regarding bytes, endianness is also referred to as byte order.
- Most computer processors simply store integers as sequences of bytes, so that, conceptually, the encoded value can be obtained by simple concatenation. For an n-byte integer value this allows n! possible representations (one for each byte permutation). The two most common of them are increasing numeric significance with increasing memory addresses, known as little-endian, and its opposite, called big-endian.
- All computer architectures are either big-endian or little-endian. Big-endian architectures are found in Microsoft's Xbox 360 and IBM's Power PC, for example. Intel x86 processors (and their clones) use the little-endian format.
-
FIG. 6 and the following discussion are intended to provide a brief general description of a suitable computing environment in which the present invention and/or portions thereof may be implemented. Although not required, the invention is described in the general context of computer-executable instructions, such as program modules, being executed by a computer, such as a client workstation or a server. Generally, program modules include routines, programs, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types. Moreover, it should be appreciated that the invention and/or portions thereof may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. - As shown in
FIG. 6 , an exemplary general purpose computing system includes a conventionalpersonal computer 120 or the like, including aprocessing unit 121, asystem memory 122, and a system bus 123 that couples various system components including the system memory to theprocessing unit 121. The system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read-only memory (ROM) 124 and random access memory (RAM) 125. A basic input/output system 126 (BIOS), containing the basic routines that help to transfer information between elements within thepersonal computer 120, such as during start-up, is stored inROM 124. - The
personal computer 120 may further include ahard disk drive 127 for reading from and writing to a hard disk (not shown), amagnetic disk drive 128 for reading from or writing to a removablemagnetic disk 129, and anoptical disk drive 130 for reading from or writing to a removableoptical disk 131 such as a CD-ROM or other optical media. Thehard disk drive 127,magnetic disk drive 128, andoptical disk drive 130 are connected to the system bus 123 by a harddisk drive interface 132, a magneticdisk drive interface 133, and anoptical drive interface 134, respectively. The drives and their associated computer-readable media provide non-volatile storage of computer readable instructions, data structures, program modules and other data for thepersonal computer 120. - Although the exemplary environment described herein employs a hard disk, a removable
magnetic disk 129, and a removableoptical disk 131, it should be appreciated that other types of computer readable media which can store data that is accessible by a computer may also be used in the exemplary operating environment. Such other types of media include a magnetic cassette, a flash memory card, a digital video disk, a Bernoulli cartridge, a random access memory (RAM), a read-only memory (ROM), and the like. - A number of program modules may be stored on the hard disk,
magnetic disk 129,optical disk 131,ROM 124 orRAM 125, including anoperating system 135, one ormore application programs 136,other program modules 137 andprogram data 138. A user may enter commands and information into thepersonal computer 120 through input devices such as akeyboard 140 and pointing device 142. Other input devices (not shown) may include a microphone, joystick, game pad, satellite disk, scanner, or the like. These and other input devices are often connected to theprocessing unit 121 through aserial port interface 146 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port, or universal serial bus (USB). Amonitor 147 or other type of display device is also connected to the system bus 123 via an interface, such as avideo adapter 148. In addition to themonitor 147, a personal computer typically includes other peripheral output devices (not shown), such as speakers and printers. The exemplary system ofFIG. 6 also includes ahost adapter 155, a Small Computer System Interface (SCSI) bus 156, and anexternal storage device 162 connected to the SCSI bus 156. - The
personal computer 120 may operate in a networked environment using logical connections to one or more remote computers, such as aremote computer 149. Theremote computer 149 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to thepersonal computer 120, although only amemory storage device 150 has been illustrated inFIG. 6 . The logical connections depicted inFIG. 6 include a local area network (LAN) 151 and a wide area network (WAN) 152. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the internet. - When used in a LAN networking environment, the
personal computer 120 is connected to theLAN 151 through a network interface oradapter 153. When used in a WAN networking environment, thepersonal computer 120 typically includes amodem 154 or other means for establishing communications over thewide area network 152, such as the internet. Themodem 154, which may be internal or external, is connected to the system bus 123 via theserial port interface 146. In a networked environment, program modules depicted relative to thepersonal computer 120, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. - Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims (20)
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/717,387 US20080227548A1 (en) | 2007-03-13 | 2007-03-13 | Secured cross platform networked multiplayer communication and game play |
JP2009553683A JP2010521744A (en) | 2007-03-13 | 2008-02-29 | Secure cross-platform for multiplayer network gameplay |
PCT/US2008/055573 WO2008112448A1 (en) | 2007-03-13 | 2008-02-29 | Secured cross platform networked multiplayer communication and game play |
CA002681006A CA2681006A1 (en) | 2007-03-13 | 2008-02-29 | Secured cross platform networked multiplayer game play |
KR1020097018515A KR20090118955A (en) | 2007-03-13 | 2008-02-29 | Secured cross platform networked multiplayer communication and game play |
EP08731184.1A EP2122528A4 (en) | 2007-03-13 | 2008-02-29 | Secured cross platform networked multiplayer communication and game play |
CN200880008142A CN101636741A (en) | 2007-03-13 | 2008-02-29 | Secured cross platform networked multiplayer communication and game play |
IL200500A IL200500A0 (en) | 2007-03-13 | 2009-08-20 | Secured cross platform networked multiplayer communication and game play |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/717,387 US20080227548A1 (en) | 2007-03-13 | 2007-03-13 | Secured cross platform networked multiplayer communication and game play |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080227548A1 true US20080227548A1 (en) | 2008-09-18 |
Family
ID=39759908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/717,387 Abandoned US20080227548A1 (en) | 2007-03-13 | 2007-03-13 | Secured cross platform networked multiplayer communication and game play |
Country Status (8)
Country | Link |
---|---|
US (1) | US20080227548A1 (en) |
EP (1) | EP2122528A4 (en) |
JP (1) | JP2010521744A (en) |
KR (1) | KR20090118955A (en) |
CN (1) | CN101636741A (en) |
CA (1) | CA2681006A1 (en) |
IL (1) | IL200500A0 (en) |
WO (1) | WO2008112448A1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090181773A1 (en) * | 2007-08-15 | 2009-07-16 | Aristocrat Technologies Australia Pty Limited | Gaming system and a method of gaming |
US20120159587A1 (en) * | 2009-08-25 | 2012-06-21 | Li Ge | Method and system for pre-shared-key-based network security access control |
US9112935B2 (en) | 2012-03-05 | 2015-08-18 | Microsoft Technology Licensing, Llc | Manipulating binary large objects |
US9182978B2 (en) | 2012-03-05 | 2015-11-10 | Microsoft Technology Licensing, Llc | Application configuration using binary large objects |
US9183560B2 (en) | 2010-05-28 | 2015-11-10 | Daniel H. Abelow | Reality alternate |
US20160077603A1 (en) * | 2014-09-12 | 2016-03-17 | Ubisoft Entertainment | Method and system for unified input in cross-platform streaming applications in cloud computing environments |
US9704350B1 (en) | 2013-03-14 | 2017-07-11 | Harmonix Music Systems, Inc. | Musical combat game |
US9770654B1 (en) * | 2009-09-30 | 2017-09-26 | Amazon Technologies, Inc. | Cross device operation of games |
US9813468B2 (en) | 2015-09-08 | 2017-11-07 | Microsoft Technology Licensing, Llc | Wireless control of streaming computing device |
US10046241B1 (en) * | 2010-11-01 | 2018-08-14 | Ronald Charles Krosky | Output production |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368780B (en) * | 2011-06-27 | 2013-03-20 | 奇智软件(北京)有限公司 | Information interaction method based on applications and system thereof |
US9645860B2 (en) * | 2013-09-06 | 2017-05-09 | Microsoft Technology Licensing, Llc | Verification that particular information is transferred by an application |
JP6535159B2 (en) | 2014-08-27 | 2019-06-26 | 株式会社スクウェア・エニックス | Program, game system, control method and recording medium |
CN105119918B (en) * | 2015-08-21 | 2019-01-08 | 腾讯科技(深圳)有限公司 | Realize the method and terminal device of application cross-platform interaction |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586257A (en) * | 1994-05-05 | 1996-12-17 | Perlman; Stephen G. | Network architecture to support multiple site real-time video games |
US20010044339A1 (en) * | 2000-02-17 | 2001-11-22 | Angel Cordero | Multi-player computer game, system and method |
US20020002605A1 (en) * | 2000-06-29 | 2002-01-03 | Makoto Honda | Server/client system and program for implementing application distribution in this server/client system |
US20030093669A1 (en) * | 2001-11-13 | 2003-05-15 | Morais Dinarte R. | Network architecture for secure communications between two console-based gaming systems |
US20030177187A1 (en) * | 2000-11-27 | 2003-09-18 | Butterfly.Net. Inc. | Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications |
US20040038740A1 (en) * | 1998-01-27 | 2004-02-26 | Muir Robert Linley | Multi-platform gaming architecture |
US20050152552A1 (en) * | 2001-11-13 | 2005-07-14 | Microsoft Corporation | Architecture for manufacturing authenticatable gaming systems |
US20060068911A1 (en) * | 2004-09-30 | 2006-03-30 | Microsoft Corporation | Game console communication with a computer |
US20060259632A1 (en) * | 2005-05-13 | 2006-11-16 | Yahoo! Inc. | Redirection and invitation for accessing an online service |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464272B2 (en) * | 2003-09-25 | 2008-12-09 | Microsoft Corporation | Server control of peer to peer communications |
CA2562178C (en) * | 2004-05-12 | 2011-11-22 | Togewa Holding Ag | Method and device for content-based billing in ip-networks |
KR100578592B1 (en) * | 2004-06-23 | 2006-05-12 | 공정배 | System and method for providing the different operating system based terminal service client |
KR100809520B1 (en) * | 2005-12-08 | 2008-03-04 | 한국전자통신연구원 | System and method for interworking different platform |
-
2007
- 2007-03-13 US US11/717,387 patent/US20080227548A1/en not_active Abandoned
-
2008
- 2008-02-29 EP EP08731184.1A patent/EP2122528A4/en not_active Withdrawn
- 2008-02-29 CN CN200880008142A patent/CN101636741A/en active Pending
- 2008-02-29 KR KR1020097018515A patent/KR20090118955A/en not_active Application Discontinuation
- 2008-02-29 JP JP2009553683A patent/JP2010521744A/en active Pending
- 2008-02-29 WO PCT/US2008/055573 patent/WO2008112448A1/en active Application Filing
- 2008-02-29 CA CA002681006A patent/CA2681006A1/en not_active Abandoned
-
2009
- 2009-08-20 IL IL200500A patent/IL200500A0/en unknown
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586257A (en) * | 1994-05-05 | 1996-12-17 | Perlman; Stephen G. | Network architecture to support multiple site real-time video games |
US20040038740A1 (en) * | 1998-01-27 | 2004-02-26 | Muir Robert Linley | Multi-platform gaming architecture |
US20010044339A1 (en) * | 2000-02-17 | 2001-11-22 | Angel Cordero | Multi-player computer game, system and method |
US20020002605A1 (en) * | 2000-06-29 | 2002-01-03 | Makoto Honda | Server/client system and program for implementing application distribution in this server/client system |
US20030177187A1 (en) * | 2000-11-27 | 2003-09-18 | Butterfly.Net. Inc. | Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications |
US20030093669A1 (en) * | 2001-11-13 | 2003-05-15 | Morais Dinarte R. | Network architecture for secure communications between two console-based gaming systems |
US20050152552A1 (en) * | 2001-11-13 | 2005-07-14 | Microsoft Corporation | Architecture for manufacturing authenticatable gaming systems |
US7031473B2 (en) * | 2001-11-13 | 2006-04-18 | Microsoft Corporation | Network architecture for secure communications between two console-based gaming systems |
US20060068911A1 (en) * | 2004-09-30 | 2006-03-30 | Microsoft Corporation | Game console communication with a computer |
US20060259632A1 (en) * | 2005-05-13 | 2006-11-16 | Yahoo! Inc. | Redirection and invitation for accessing an online service |
Non-Patent Citations (1)
Title |
---|
Quake 3 Arena(TM): Dreamcast(TM) Map-pack: Installation and Play Instructions [online]. June 20, 2001 [retrieved on 2012-05-04]. Retrieved from the Internet:. * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090181773A1 (en) * | 2007-08-15 | 2009-07-16 | Aristocrat Technologies Australia Pty Limited | Gaming system and a method of gaming |
US20120159587A1 (en) * | 2009-08-25 | 2012-06-21 | Li Ge | Method and system for pre-shared-key-based network security access control |
US8646055B2 (en) * | 2009-08-25 | 2014-02-04 | China Iwncomm Co., Ltd. | Method and system for pre-shared-key-based network security access control |
US10413819B2 (en) | 2009-09-30 | 2019-09-17 | Amazon Technolobies, Inc. | System for providing access to game progress data |
US9770654B1 (en) * | 2009-09-30 | 2017-09-26 | Amazon Technologies, Inc. | Cross device operation of games |
US9183560B2 (en) | 2010-05-28 | 2015-11-10 | Daniel H. Abelow | Reality alternate |
US11222298B2 (en) | 2010-05-28 | 2022-01-11 | Daniel H. Abelow | User-controlled digital environment across devices, places, and times with continuous, variable digital boundaries |
US10888791B2 (en) | 2010-11-01 | 2021-01-12 | Ronald Charles Krosky | Output production |
US10046241B1 (en) * | 2010-11-01 | 2018-08-14 | Ronald Charles Krosky | Output production |
US9112935B2 (en) | 2012-03-05 | 2015-08-18 | Microsoft Technology Licensing, Llc | Manipulating binary large objects |
US9182978B2 (en) | 2012-03-05 | 2015-11-10 | Microsoft Technology Licensing, Llc | Application configuration using binary large objects |
US9544400B2 (en) | 2012-03-05 | 2017-01-10 | Microsoft Technology Licensing, Llc | Manipulating binary large objects |
US9704350B1 (en) | 2013-03-14 | 2017-07-11 | Harmonix Music Systems, Inc. | Musical combat game |
US10255083B2 (en) * | 2014-09-12 | 2019-04-09 | Ubisoft Entertainment | Method and system for unified input in cross-platform streaming applications in cloud computing environments |
US20160077603A1 (en) * | 2014-09-12 | 2016-03-17 | Ubisoft Entertainment | Method and system for unified input in cross-platform streaming applications in cloud computing environments |
US10462201B2 (en) | 2015-09-08 | 2019-10-29 | Microsoft Technology Licensing, Llc | Wireless control of streaming computing device |
US9813468B2 (en) | 2015-09-08 | 2017-11-07 | Microsoft Technology Licensing, Llc | Wireless control of streaming computing device |
Also Published As
Publication number | Publication date |
---|---|
CN101636741A (en) | 2010-01-27 |
CA2681006A1 (en) | 2008-09-18 |
EP2122528A1 (en) | 2009-11-25 |
EP2122528A4 (en) | 2013-11-20 |
JP2010521744A (en) | 2010-06-24 |
IL200500A0 (en) | 2010-04-29 |
WO2008112448A1 (en) | 2008-09-18 |
KR20090118955A (en) | 2009-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080227548A1 (en) | Secured cross platform networked multiplayer communication and game play | |
EP2503804B1 (en) | Apparatus and method for managing peer-to-peer connections between different service providers | |
US10750349B2 (en) | Device linking | |
EP2702732B1 (en) | System and method for secure instant messaging | |
US9942894B2 (en) | Data distribution by proxy | |
US9119067B2 (en) | Embodiments of a system and method for securely managing multiple user handles across multiple data processing devices | |
JP5896850B2 (en) | Secure instant messaging | |
US7452278B2 (en) | Web access to secure data | |
JP2004065956A (en) | Discovery and distribution of game session information | |
AU3656599A (en) | Method and apparatus for session management and user authentication | |
WO2008121480A1 (en) | Online gaming authentication | |
US11431507B2 (en) | Methods of facilitating packet-based connections | |
US9270570B2 (en) | Remote message routing device and methods thereof | |
US20080092206A1 (en) | Security protocol control apparatus and security protocol control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SLEEMAN, MARTIN J.;MOORE, BRIAN ANDREW;SANFILIPPO, ROBERT;AND OTHERS;REEL/FRAME:019619/0365 Effective date: 20070312 |
|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHOUDHRY, KAREEM AHMAD;REEL/FRAME:019782/0574 Effective date: 20070312 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0509 Effective date: 20141014 |