The present technology pertains to providing multiplayer matchmaking. More specifically, the present technology may provide multiplayer matchmaking at a system-level.
Multiuser gameplay is a popular and ever-growing segment of gameplay. Multiuser gameplay typically involves users finding a match to a suitable group of peers. Presently available matchmaking services may be performed in-game after a user has launched such game and may then be separately performed for each different game title that the user launches. Such matchmaking may use different methods of matchmaking for each game. Further, steps to perform multiuser matchmaking may be different in each game. Presently available matchmaking may also be performed based on limited information from a user and/or a peer.
Due to the popularity of multiuser games and playing games with a set group of peers (e.g., friends), significant delays and repeated and/or different steps in each game can have significant impact on user experience. Such matchmaking may, for example, detract from the user experience by causing delays (e.g., when matchmaking is required to occur each time the user changes games or sessions) and/or the matchmaking is poor due to wide variances between a peer's experience and the user's experience. Further, in some cases, such matchmaking must be repeated for groups of player that regularly play different games together, resulting in further delays in gameplay.
There is, therefore, a need in the art for systems and methods for system-level multiuser matchmaking.
Embodiments of the present invention include systems and methods for system-level multiuser matchmaking. Data regarding an interactive content title, an activity template, and a multiuser session may be stored in memory. The activity template may be associated with the interactive content title and may include activity requirements. A user selection of an activity may be received. A plurality of active multiuser sessions associated with the selected activity may be retrieved. A new multiuser session may be established. The new multiuser session may have session requirements that may be based on at least the activity requirements provided by the retrieved activity template. A user device and at least one peer device may be added to the new multiuser session. The at least one peer device may be associated with at least one peer identified based on the session requirements. The selected activity may be launched in the new multiuser session.
Various embodiments may include methods for system-level multiuser matchmaking. Such methods may include receiving a user selection from a user device of a user. The user selection may specify a multiuser activity associated with an interactive content title. Such methods may include retrieving information regarding a plurality of active multiuser sessions associated with the selected activity. Such methods may include retrieving an activity template associated with the selected activity. The retrieved activity template may provide activity requirements required to launch the selected activity. Such methods may include establishing a new multiuser session having session requirements that are based on at least the activity requirements provided by the retrieved activity template. Such methods may include adding the user device and at least one identified peer device to the new multiuser session. The at least one peer device may be associated with at least one peer identified based on the session requirements. Such methods may include launching the selected activity in the new multiuser session that has been established for the user device and the at least one identified peer device.
Additional embodiments may include systems for system-level multiuser matchmaking. Such systems may include memory that stores interactive content titles and one or more activity templates associated with each interactive content title. Such systems may include a network interface that establishes a session with a user device associated with the user over a communication network. Such systems may include a processor that executes instructions stored in memory. Execution of the instructions by the process may receive a user selection from the user device. The user selection may specify a multiuser activity associated with an interactive content title. Execution of the instructions by the processor may retrieve information regarding a plurality of active multiuser sessions associated with the selected activity. Execution of the instructions by the processor may retrieve an activity template stored in memory associated with the selected activity. The retrieved activity template may provide activity requirements required to launch the selected activity. Execution of the instructions by the processor may establish a new multiuser session having session requirements that are based on at least the activity requirements provided by the retrieved activity template. Execution of the instructions by the processor may add the user device and at least one identified peer device to the new multiuser session. The at least one peer device may be associated with at least one peer identified based on the session requirements. Execution of the instructions by the processor may launch the selected activity in the new multiuser session that has been established for the user device and the at least one identified peer device.
Further embodiments include non-transitory computer-readable storage media having embodied thereon a program executable by a processor to perform system-level multiuser matchmaking.
The detailed description set forth below is intended as a description of various configurations of the subject technology and is not intended to represent the only configurations in which the technology can be practiced. The appended drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details for the purpose of providing a more thorough understanding of the technology. However, it will be clear and apparent that the technology is not limited to the specific details set forth herein and may be practiced without these details. In some instances, structures and components are shown in block diagram form in order to avoid obscuring the concepts of the subject technology.
Embodiments of the present invention include systems and methods for system-level multiuser matchmaking. A user may select an activity that requires multiple users to participate in the activity. Such activity may be associated with an interactive content title. The user may be matched to an existing active multiuser session associated with the selected activity, or a new multiuser session may be generated if the user does not match to an existing multiuser session. Such multiuser sessions may have session requirements or qualifications that a user and/or peers must have in order to join a particular multiuser session.
Interactive content source servers 110 may maintain and host interactive content titles available for play to a user device 140 over a communication network. Such interactive content servers 110 may be implemented in the cloud (e.g., one or more cloud servers). Each interactive content title may include one or more activities available within the content title. The one or more activities may be playable by a single user or by multiple users. Each interactive content title may include one or more templates corresponding to one or more activities available within the content title. Each template may provide a structured data set regarding the corresponding activities and that may be used as the basis for tracking and displaying information regarding the corresponding activities in real-time.
In one example, the interactive content title is a video game title, and the one or more templates may correspond to different modes of competitive gameplay available within that game title. In another example, the one or more templates may correspond to different chapters of an interactive storyline. Each template may be associated with a portion of the interactive content title where the corresponding activity starts within the interactive content title. For example, the template may include a waypoint within a portion of a game (e.g., at a specific game environment location at a specific point in time in the game storyline) where an activity starts. In another example, the template may virtually teleport a character of the user to the location within the game environment that is closest to the start of the associated activity. The template may also be associated with matchmaking so as to assign the user to a competitive match (e.g., by skill, experience level, or availability of other peers). Such template associated with the matchmaking may further provide activity requirements (e.g., number of players maximum and/or minimum, skill level and/or rank, character level and/or rank, user device requirements, etc.) required to launch the selected activity (e.g., competitive match). Each template may be updated, edited, or removed, or new templates may be created. The one or more templates may be stored at the interactive content source servers 110 or at platform server 120 and retrieved therefrom.
The platform servers 120 may be responsible for communicating with the different interactive content source servers 110 in order to match a user to one of a plurality of active multiuser sessions associated with a selected activity. Such platform servers 120 may be implemented on one or more cloud servers. The interactive content source servers 110 may communicate with multiple platform servers 120. The platform servers 120 may also carry out instructions, for example, for generating a multiuser session having session requirements. Such session requirements may be based off of the activity requirements (e.g., maximum and/or minimum number of players, skill level and/or rank, character level and/or rank, user device requirements, etc.) of the template associated with the selected activity. The multiuser session may be established by a platform server 120 associated with a user or with a peer. Such multiuser session can include two or more users and can provide communication between the users (e.g., voice chat, video chat, direct messaging, text chat, etc.) within the multiuser session. The platform servers 120 may further carry out instructions, for example, to automatically launch the selected activity within the multiuser session in accordance with the activity template.
The interactive content titles and their corresponding activities may be provided through an application programming interface (API) 130, which allows various types of interactive content sources server 110 to communicate with different platform servers 120 and different user devices 140. API 130 may be specific to the particular computer programming language, operating system, protocols, etc., of the interactive content source servers 110 providing the interactive content titles, the platform servers 120 providing the associated templates, and user devices 140 receiving the same. In a network environment 100 that includes multiple different types of interactive content source servers 110 (or platform servers 120 or user devices 140), there may likewise be a corresponding number of APIs 130.
The user device 140 may include a plurality of different types of computing devices. For example, the user device 140 may include any number of different gaming consoles, mobile devices, laptops, and desktops. Such user devices 140 may also be configured to access data from other storage media, such as, but not limited to memory cards or disk drives as may be appropriate in the case of downloaded services. Such devices 140 may include standard hardware computing components such as, but not limited to network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions that may be stored in memory. These user devices 140 may also run using a variety of different operating systems (e.g., iOS, Android), applications or computing languages (e.g., C++, JavaScript). An exemplary user device 140 is described in detail herein with respect to
In step 210, a user selection of an activity associated with an interactive content title is received by the platform server 120. Such activity may be an activity requiring multiple user participation (e.g., a dungeon, multi-user quest, competitive match, etc.). Such selection may occur while a user is participating in a different activity of the same or different interactive content title.
In step 220, data relating to a plurality of active multiuser sessions associated with the activity may be retrieved from the interactive content source servers 110 by the platform server 120. Such data may include data regarding each active multiuser session available for matchmaking. Such active multiuser sessions may be in various states of progression (e.g., may need one user or may need multiple users to participate in the specified activity, etc.). Such active multiuser sessions may also have session requirements restricting which users can join the active multiuser session. For example, a multiuser session may require that a character of the user has a minimum skill level.
In step 230, matching may occur between a user associated with the user selection and the plurality of active multiuser sessions by the platform server 120. Such matching may be based on the user and the data regarding each active multiuser session. During matching (which may occur in the background), the user may continue to participate in other activities of other interactive content titles. Such matching may yield a no-match when the user does not match any of the active multiuser sessions. No-match may occur, for example, when the user does not meet the session requirements of any active multiuser session. When no-match occurs, a new multiuser session may be established, as discussed below. Such matchmaking may occur in the background as the user device is participating in related or unrelated activities in the same or different game title. As such, the platform server 120 may further maintain information regarding active game sessions and status thereof in real-time or near real-time. Further, user devices already participating in multiuser sessions may not be allowed to initiate background matchmaking to avoid sessions being matched to missing players. In some embodiments, the user device may be placed in a waiting state until it has exited a current session.
In step 240, an activity template associated with the selected activity and stored at the interactive content source servers 110 may be retrieved by the platform server 120. Such activity template may include activity requirements required to launch the selected activity. Such activity requirements may regard hardware, software, user, and/or peer requirements in addition to maximum and/or minimum numbers of users required to begin the activity.
In step 250, a multiuser session having session requirements may be established by the platform server 120 or the interactive content source servers 110. Such session requirements may be based on the retrieved activity requirements. For example, the activity requirements—and subsequently the session requirements—may require four users each using a certain user device (e.g., Sony PlayStation®). Such session requirements may also be based on a user profile associated with the user. Such user profile may be stored in memory at the platform servers 120 or the user device 140. Such user profile may include user data (e.g., peer skills, character levels and/or skills, hours played, type of games played, etc.), data regarding an associated user device (e.g., hardware components and capabilities, software, router information, geolocation etc.), and/or user device peripherals (e.g., microphone, camera, mouse, controller, devices, etc.). For example, a session requirement may require that peer characters either match or exceed a user character's level. In another example, the session requirement may require that a user device be capable of performing host duties, which may be indicated by the user profile as to user device capabilities.
In step 260, the user and at least one peer user may be added to the multiuser session by the platform server 120. The peer may be added based on the peer (and/or peer device and peripherals) meeting the session requirements. Such match may include retrieving a peer profile associated with the peer. Such peer profile may be stored in memory at the platform servers 120 or the user devices 140. Such peer profile may include peer data (e.g., peer skills, character levels and/or skills, hours played, type of games played, etc.), data regarding an associated peer device (e.g., hardware components and capabilities, software, router information, geolocation etc.), and/or peer device peripherals (e.g., microphone, camera, mouse, controller, devices, etc.). Such peer profile may be used to rank multiple peers for a multiuser session and can provide backup peers if a selected peer removes themselves from the multiuser session. For example, seven peers may match to a multiuser session requiring three peers. Three peers may be selected to join the multiuser session, and the four remaining peers may be ranked to determine which remaining peer may replace a peer that may leave the multiuser session.
In step 270, the selected activity may be launched by the interactive content source servers 110 or the platform server 120 within the multiuser session. Such launched activity may be a competitive match that requires two or more participants, thereby requiring matchmaking between different users (who may be in different multiuser sessions) and the competitive match. Such competitive match may have competitive match requirements regarding which multiuser sessions can be joined so that its respective users can participate in the competitive match. In such competitive match, one or more multiuser sessions are matched to the competitive match based on the user and peers within each multiuser session and the competitive match requirements. For example, a first multiuser session and a second multiuser session may be identified for the competitive match based on the similarities between the users of the first multiuser session and the users of the second multiuser session. Such first multiuser session and second multiuser session could then be merged or otherwise connected, so that the respective users can participate in the same competitive match (e.g., to compete against each other or cooperate together against a common third party (e.g., a boss, another multiuser sessions, etc.)).
At step 310, a user selection of an activity associated with an interactive content title is received by the platform server 120. Such activity may be an activity requiring multiple user participation (e.g., a dungeon, multi-user quest, competitive match, etc.).
At step 320, a plurality of active multiuser sessions associated with the activity may be retrieved from the interactive content source servers 110 by the platform server 120. As described above, such active multiuser sessions may be in various states of progression (e.g., may need one or multiple more users). Such active multiuser sessions may also have session requirements restricting which users can join the active multiuser session. For example, a multiuser session (e.g., for a specific activity within a specific game title) may require that a character of the user has a minimum skill level. Such session requirements may also be based on one or more peer profiles of corresponding one or more peers already joined to the multiuser session. Such peer profile may include peer data regarding each peer (e.g., peer skills, character levels and/or skills, hours played, type of games played, etc.), an associated peer device (e.g., hardware components and capabilities, software, router information, geolocation etc.), and/or peer device peripherals (e.g., microphone, camera, mouse, controller, devices, etc.).
At step 330, a user profile associated with the user may be retrieved from memory stored on the platform server 120 or the user device 140 by the platform server 120. Such user profile may include user data regarding the user (e.g., peer skills, character levels and/or skills, hours played, type of games played, etc.), an associated user device (e.g., hardware components and capabilities, software, router information, geolocation etc.), and/or user device peripherals (e.g., microphone, camera, mouse, controller, devices, etc.).
At step 340, the user may be matched to one of the multiuser sessions by the platform server 120; and at step 350, the user device may be added to the matched multiuser session by the platform server 120. Such match may be based on a match between the session requirements and user data, user device data, and/or user device peripheral data from the user profile. For example, the session requirement may require that the user has previously participated in the selected activity, and the user data may indicate that the user has participated in the selected activity multiple times. Such session requirement may indicate that users with experience in the selected activity is required or desired to join the multiuser session.
After the selected activity is completed, the multiuser session may remain intact outside of the selected activity. A user or a peer of the multiuser session may then select another activity to participate in together. For example, the user and the peer may be part of the same system-level voice chat group (or other defined group). Such selected activity may or may not require further matchmaking between the multiuser session and the selected activity. Such multiuser session allows the user and peers to remain together when leaving and entering activities. As such, the user and peers do not need to engage in individual matchmaking for each different activity. In other words, a user can participate in multiple different activities with the same multiuser session and peers, thereby eliminating the conventional step of individual matchmaking by each user and each peer for each new activity.
Performing multiuser matchmaking at the platform server 120 may further simplify the steps to participate in an activity requiring multiple user participation by eliminating the step of launching the interactive title before matchmaking. Stated differently, the user simply selects a multiuser activity template from a user interface on the platform server 120, which initiates matchmaking. After matchmaking is completed, the multiuser activity launches, and the user can begin immediate interaction with the multiuser activity, thereby bypassing the conventional steps of launching the interactive content title, selecting a multiuser activity, and waiting for matchmaking to occur within the interactive content title.
Entertainment system 400 may be an electronic game console. Alternatively, the entertainment system 400 may be implemented as a general-purpose computer, a set-top box, a hand-held game device, a tablet computing device, a virtual reality device, an augmented reality device, or a mobile computing device or phone. Entertainment systems may contain more or less operating components depending on a particular form factor, purpose, or design.
The CPU 410, the vector unit 415, the graphics processing unit 420, and the I/O processor 425 of
The graphics processing unit 420 of
A user of the entertainment system 400 of
The present invention may be implemented in an application that may be operable by a variety of end user devices. For example, an end user device may be a personal computer, a home entertainment system (e.g., Sony PlayStation2® or Sony PlayStation3® or Sony PlayStation4®), a portable gaming device (e.g., Sony PSP® or Sony Vita®), or a home entertainment system of a different albeit inferior manufacturer. The present methodologies described herein are fully intended to be operable on a variety of devices. The present invention may also be implemented with cross-title neutrality wherein an embodiment of the present system may be utilized across a variety of titles from various publishers.
The present invention may be implemented in an application that may be operable using a variety of devices. Non-transitory computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU) for execution. Such media can take many forms, including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of non-transitory computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASHEPROM, and any other memory chip or cartridge.
Various forms of transmission media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU. Various forms of storage may likewise be implemented as well as the necessary network interfaces and network topologies to implement the same.
The foregoing detailed description of the technology has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology, its practical application, and to enable others skilled in the art to utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claim.
Number | Name | Date | Kind |
---|---|---|---|
5630757 | Gagin et al. | May 1997 | A |
5634129 | Dickinson | May 1997 | A |
5682139 | Pradeep | Oct 1997 | A |
5704032 | Badovinatz et al. | Nov 1997 | A |
5823879 | Goldberg | Oct 1998 | A |
5826085 | Bennet | Oct 1998 | A |
5838909 | Roy et al. | Nov 1998 | A |
5841980 | Waters et al. | Nov 1998 | A |
5862339 | Bonnaure et al. | Jan 1999 | A |
5893106 | Brobst et al. | Apr 1999 | A |
5941947 | Brown | Aug 1999 | A |
5956485 | Perlman | Sep 1999 | A |
5984787 | Redpath | Nov 1999 | A |
5987376 | Olson et al. | Nov 1999 | A |
6041312 | Bickerton et al. | Mar 2000 | A |
6050898 | Vange | Apr 2000 | A |
6098091 | Kisor | Aug 2000 | A |
6106569 | Bohrer | Aug 2000 | A |
6108569 | Shen | Aug 2000 | A |
6142472 | Kliebisch | Nov 2000 | A |
6151632 | Chaddha et al. | Nov 2000 | A |
6152824 | Rothschild et al. | Nov 2000 | A |
6154782 | Kawaguchi et al. | Nov 2000 | A |
6203433 | Kume | Mar 2001 | B1 |
6219045 | Leahy et al. | Apr 2001 | B1 |
6247017 | Martin | Jun 2001 | B1 |
6311209 | Olson et al. | Oct 2001 | B1 |
6345297 | Grimm | Feb 2002 | B1 |
6352479 | Sparks | Mar 2002 | B1 |
6363416 | Naeimi | Mar 2002 | B1 |
6446113 | Ozzie et al. | Sep 2002 | B1 |
6470022 | Rochberger | Oct 2002 | B1 |
6487583 | Harvey | Nov 2002 | B1 |
6487678 | Briskey et al. | Nov 2002 | B1 |
6519629 | Harvey | Feb 2003 | B2 |
6530840 | Cuomo | Mar 2003 | B1 |
6539494 | Abramson et al. | Mar 2003 | B1 |
6549946 | Fisher | Apr 2003 | B1 |
6560636 | Cohen et al. | May 2003 | B2 |
6561811 | Rapoza et al. | May 2003 | B2 |
6577628 | Hejza | Jun 2003 | B1 |
6587874 | Golla | Jul 2003 | B1 |
6607444 | Takahashi et al. | Aug 2003 | B2 |
6631412 | Glasser et al. | Oct 2003 | B1 |
6654831 | Otterness et al. | Nov 2003 | B1 |
6676521 | La Mura et al. | Jan 2004 | B1 |
6704885 | Salas-Meza et al. | Mar 2004 | B1 |
6748420 | Quatrano et al. | Jun 2004 | B1 |
6755743 | Yamashita et al. | Jun 2004 | B1 |
6761636 | Chung et al. | Jul 2004 | B2 |
6763371 | Jandel | Jul 2004 | B1 |
6769990 | Cohen | Aug 2004 | B2 |
6799255 | Blumenau | Sep 2004 | B1 |
6839435 | Lijima et al. | Jan 2005 | B1 |
6844893 | Miller et al. | Jan 2005 | B1 |
6931446 | Cox et al. | Aug 2005 | B1 |
7003550 | Cleasby et al. | Feb 2006 | B1 |
7016942 | Odom | Mar 2006 | B1 |
7018295 | Sakaguchi et al. | Mar 2006 | B2 |
7025675 | Fogel | Apr 2006 | B2 |
7035919 | Lee et al. | Apr 2006 | B1 |
7056217 | Pelkey et al. | Jun 2006 | B1 |
7073187 | Hendricks et al. | Jul 2006 | B1 |
7089301 | Labio et al. | Aug 2006 | B1 |
7107312 | Hackbarth et al. | Sep 2006 | B2 |
7155515 | Brown et al. | Dec 2006 | B1 |
7165107 | Pouyoul et al. | Jan 2007 | B2 |
7177950 | Narayan et al. | Feb 2007 | B2 |
7188145 | Lowery et al. | Mar 2007 | B2 |
7203755 | Zhu et al. | Apr 2007 | B2 |
7290264 | Powers et al. | Oct 2007 | B1 |
7366185 | Bush | Apr 2008 | B2 |
7454458 | Islam et al. | Nov 2008 | B2 |
7523163 | Zhu et al. | Apr 2009 | B2 |
7539216 | Johns et al. | May 2009 | B2 |
7587465 | Muchow | Sep 2009 | B1 |
7613800 | Dhupelia | Nov 2009 | B2 |
7614955 | Farnham | Nov 2009 | B2 |
7640298 | Berg | Dec 2009 | B2 |
7680908 | Gates, III et al. | Mar 2010 | B2 |
7711847 | Dhupelia | May 2010 | B2 |
7720908 | Newson et al. | May 2010 | B1 |
7730206 | Newson et al. | Jun 2010 | B2 |
7792902 | Chatani | Sep 2010 | B2 |
7822809 | Dhupelia | Oct 2010 | B2 |
7831666 | Chatani et al. | Nov 2010 | B2 |
7846024 | Graepel | Dec 2010 | B2 |
7877509 | Dhupelia | Jan 2011 | B2 |
7899017 | Yu et al. | Mar 2011 | B2 |
7908393 | Marr et al. | Mar 2011 | B2 |
7930345 | Dhupelia | Apr 2011 | B2 |
7962549 | Dhupelia | Jun 2011 | B2 |
8032619 | Kato et al. | Oct 2011 | B2 |
8050272 | Chaturvedi et al. | Nov 2011 | B2 |
8051180 | Mazzaferri et al. | Nov 2011 | B2 |
8131802 | Jacob | Mar 2012 | B2 |
8214489 | Ballette et al. | Jul 2012 | B2 |
8335813 | Sun et al. | Dec 2012 | B2 |
8402124 | Barillaud et al. | Mar 2013 | B1 |
8425330 | Kislyi | Apr 2013 | B1 |
8554842 | Maehiro | Oct 2013 | B2 |
8560707 | Jacob | Oct 2013 | B2 |
8719375 | Hildreth et al. | May 2014 | B2 |
8725874 | Keohane et al. | May 2014 | B2 |
8727892 | Chun | May 2014 | B1 |
8856233 | Lacapra et al. | Oct 2014 | B2 |
8965978 | Chandranmenon et al. | Feb 2015 | B2 |
8972548 | Jacob | Mar 2015 | B2 |
8990305 | Barkley et al. | Mar 2015 | B2 |
9032248 | Petty et al. | May 2015 | B1 |
9120020 | Michel | Sep 2015 | B2 |
9369540 | Lowery et al. | Jun 2016 | B2 |
9516068 | Jacob | Dec 2016 | B2 |
9526993 | Rom | Dec 2016 | B2 |
9610504 | Kislyi | Apr 2017 | B2 |
9656176 | Riego | May 2017 | B2 |
9729621 | Jacob | Aug 2017 | B2 |
9762631 | Chatani | Sep 2017 | B2 |
9764240 | Khan | Sep 2017 | B2 |
9931571 | Cho | Apr 2018 | B2 |
10063631 | Jacob et al. | Aug 2018 | B2 |
10130872 | Buhr | Nov 2018 | B2 |
10130889 | Riego | Nov 2018 | B2 |
10343069 | Noss | Jul 2019 | B2 |
10449458 | Torres | Oct 2019 | B2 |
20010009868 | Sakaguchi et al. | Jul 2001 | A1 |
20010024974 | Cohen | Sep 2001 | A1 |
20010037466 | Fukutake et al. | Nov 2001 | A1 |
20010044339 | Cordero et al. | Nov 2001 | A1 |
20020023117 | Bernardin et al. | Feb 2002 | A1 |
20020035604 | Cohen et al. | Mar 2002 | A1 |
20020042830 | Bose et al. | Apr 2002 | A1 |
20020049086 | Otsu | Apr 2002 | A1 |
20020062348 | Maehiro | May 2002 | A1 |
20020075844 | Hagen | Jun 2002 | A1 |
20020075940 | Haartsen | Jun 2002 | A1 |
20020082077 | Johnson | Jun 2002 | A1 |
20020082086 | Scallie | Jun 2002 | A1 |
20020086732 | Kirmse et al. | Jul 2002 | A1 |
20020107934 | Lowery et al. | Aug 2002 | A1 |
20020107935 | Lowery et al. | Aug 2002 | A1 |
20020115488 | Berry | Aug 2002 | A1 |
20020133707 | Newcombe | Sep 2002 | A1 |
20020137565 | Blanco | Sep 2002 | A1 |
20020142842 | Easley et al. | Oct 2002 | A1 |
20020156917 | Nye | Oct 2002 | A1 |
20020169889 | C | Nov 2002 | A1 |
20020178260 | Chang | Nov 2002 | A1 |
20020184070 | Chen et al. | Dec 2002 | A1 |
20030018719 | Ruths | Jan 2003 | A1 |
20030073494 | Kalpakian et al. | Apr 2003 | A1 |
20030093669 | Morals et al. | May 2003 | A1 |
20030126245 | Feltin et al. | Jul 2003 | A1 |
20030167343 | Furuno | Sep 2003 | A1 |
20030190960 | Jokipii | Oct 2003 | A1 |
20030204566 | Dhupelia | Oct 2003 | A1 |
20030204593 | Brown et al. | Oct 2003 | A1 |
20030214943 | Engstrom et al. | Nov 2003 | A1 |
20030216181 | Daniell et al. | Nov 2003 | A1 |
20030217135 | Chatani | Nov 2003 | A1 |
20030217158 | van Datta | Nov 2003 | A1 |
20030233537 | Wohlgemuth et al. | Dec 2003 | A1 |
20040001476 | Islam et al. | Jan 2004 | A1 |
20040002384 | Multerer et al. | Jan 2004 | A1 |
20040024879 | Dingman | Feb 2004 | A1 |
20040030787 | Jandel | Feb 2004 | A1 |
20040031052 | Wannamaker et al. | Feb 2004 | A1 |
20040053690 | Fogel | Mar 2004 | A1 |
20040059711 | Jandel | Mar 2004 | A1 |
20040117443 | Barsness | Jun 2004 | A1 |
20040139228 | Takeda | Jul 2004 | A1 |
20050038836 | Wang | Feb 2005 | A1 |
20050068894 | Yu et al. | Mar 2005 | A1 |
20050105526 | Stiemerling | May 2005 | A1 |
20050144521 | Werner | Jun 2005 | A1 |
20050181878 | Danieli et al. | Aug 2005 | A1 |
20050245317 | Arthur et al. | Nov 2005 | A1 |
20050251577 | Guo | Nov 2005 | A1 |
20050259637 | Chu | Nov 2005 | A1 |
20050262411 | Vertes | Nov 2005 | A1 |
20060015560 | MacAuley et al. | Jan 2006 | A1 |
20060047836 | Rao et al. | Mar 2006 | A1 |
20060075127 | Juncker | Apr 2006 | A1 |
20060085792 | Traut | Apr 2006 | A1 |
20060092942 | Newson et al. | May 2006 | A1 |
20060100020 | Kasai | May 2006 | A1 |
20060121991 | Borinik et al. | Jun 2006 | A1 |
20060142085 | Kim | Jun 2006 | A1 |
20060168107 | Balan et al. | Jun 2006 | A1 |
20060164974 | Ramalho et al. | Jul 2006 | A1 |
20060190540 | Chatani | Aug 2006 | A1 |
20060200551 | Bali et al. | Sep 2006 | A1 |
20060218274 | Labio et al. | Sep 2006 | A1 |
20060218275 | Labio et al. | Sep 2006 | A1 |
20060247011 | Gagner | Nov 2006 | A1 |
20060248144 | Zhu et al. | Nov 2006 | A1 |
20060253595 | van Datta | Nov 2006 | A1 |
20060258463 | Cugno et al. | Nov 2006 | A1 |
20060288103 | Gobara | Dec 2006 | A1 |
20070058792 | Chaudhari | Mar 2007 | A1 |
20070061460 | Khan | Mar 2007 | A1 |
20070076729 | Takeda | Apr 2007 | A1 |
20070094325 | Ih et al. | Apr 2007 | A1 |
20070099702 | Tupper | May 2007 | A1 |
20070117635 | Spanton et al. | May 2007 | A1 |
20070165629 | Chaturvedi | Jul 2007 | A1 |
20070173325 | Shaw | Jul 2007 | A1 |
20070174399 | Ogle et al. | Jul 2007 | A1 |
20070191109 | Crowder | Aug 2007 | A1 |
20070207860 | Yamauchi et al. | Sep 2007 | A1 |
20070208748 | Li | Sep 2007 | A1 |
20070217436 | Markley | Sep 2007 | A1 |
20070218997 | Cho | Sep 2007 | A1 |
20070233865 | Garbow et al. | Oct 2007 | A1 |
20070288598 | Edeker et al. | Dec 2007 | A1 |
20070291706 | Miller et al. | Dec 2007 | A1 |
20080049755 | Gannon et al. | Feb 2008 | A1 |
20080189365 | Narayanaswami et al. | Aug 2008 | A1 |
20080242420 | Graepel | Oct 2008 | A1 |
20080243953 | Wu et al. | Oct 2008 | A1 |
20080280686 | Dhupelia et al. | Nov 2008 | A1 |
20080291839 | Hooper et al. | Nov 2008 | A1 |
20090006545 | Dhupelia | Jan 2009 | A1 |
20090006604 | Dhupelia | Jan 2009 | A1 |
20090042646 | Sarkar | Feb 2009 | A1 |
20090077245 | Smelyansky | Mar 2009 | A1 |
20090089363 | Keohane et al. | Apr 2009 | A1 |
20090094370 | Jacob | Apr 2009 | A1 |
20090104956 | Kay | Apr 2009 | A1 |
20090111576 | Ostergren et al. | Apr 2009 | A1 |
20090113060 | Jacob | Apr 2009 | A1 |
20090138610 | Gobara | May 2009 | A1 |
20090157882 | Kashyap | Jun 2009 | A1 |
20090240821 | Juncker | Sep 2009 | A1 |
20090287828 | Wei et al. | Nov 2009 | A1 |
20090325711 | Bronstein et al. | Dec 2009 | A1 |
20090325712 | Rance | Dec 2009 | A1 |
20100153496 | Heinla | Jun 2010 | A1 |
20100279767 | Dhupelia | Nov 2010 | A1 |
20100285872 | Dhupelia | Nov 2010 | A1 |
20100287239 | Chatani | Nov 2010 | A1 |
20110177863 | Davidsion et al. | Jul 2011 | A1 |
20120142429 | Muller | Jun 2012 | A1 |
20120166651 | Jacob | Jun 2012 | A1 |
20120166994 | Aonuma et al. | Jun 2012 | A1 |
20120322560 | Joo | Dec 2012 | A1 |
20130007013 | Geisner | Jan 2013 | A1 |
20130260896 | Miura et al. | Oct 2013 | A1 |
20130304931 | Jacob | Nov 2013 | A1 |
20130310181 | Kislyi | Nov 2013 | A1 |
20140256449 | Chatani et al. | Sep 2014 | A1 |
20140274402 | Michel | Sep 2014 | A1 |
20150038233 | Rom | Feb 2015 | A1 |
20150180958 | Jacob | Jun 2015 | A1 |
20160001183 | Harvey et al. | Jan 2016 | A1 |
20160082355 | Kobayashi et al. | Mar 2016 | A1 |
20160346701 | George | Dec 2016 | A1 |
20170182423 | Leppinen | Jun 2017 | A1 |
20170291109 | Jensen | Oct 2017 | A1 |
20180013802 | Chatani | Jan 2018 | A1 |
20180013820 | Jacob | Jan 2018 | A1 |
20180102029 | Leslie et al. | Apr 2018 | A1 |
20180193741 | Kiwada et al. | Jul 2018 | A1 |
20180250591 | Prado Rojas et al. | Sep 2018 | A1 |
20180290060 | Noss | Oct 2018 | A1 |
20190262717 | Thielbar | Aug 2019 | A1 |
20190266845 | Trombetta | Aug 2019 | A1 |
20190282907 | Jensen | Sep 2019 | A1 |
20200086217 | Trombetta et al. | Mar 2020 | A1 |
20200097147 | Trombetta et al. | Mar 2020 | A1 |
20200101377 | Trombetta et al. | Apr 2020 | A1 |
Number | Date | Country |
---|---|---|
104069637 | Oct 2014 | CN |
1125617 | Aug 2001 | EP |
1499987 | Jan 2005 | EP |
2360874 | Aug 2011 | EP |
2360875 | Aug 2011 | EP |
2325543 | Nov 1998 | GB |
269863 | Dec 2015 | IN |
05-022346 | Jan 1993 | JP |
63-232725 | Sep 1998 | JP |
11-234326 | Aug 1999 | JP |
2000-124939 | Apr 2000 | JP |
2000-157724 | Jun 2000 | JP |
2001-187273 | Jul 2001 | JP |
2001-314657 | Nov 2001 | JP |
2002-011251 | Jan 2002 | JP |
2003-099337 | Apr 2003 | JP |
201347493 | Nov 2013 | TW |
I491229 | Jul 2015 | TW |
WO 200005854 | Feb 2000 | WO |
WO 200010099 | Feb 2000 | WO |
WO 200068864 | Nov 2000 | WO |
WO 200163423 | Aug 2001 | WO |
WO 200182678 | Nov 2001 | WO |
WO 200235769 | May 2002 | WO |
WO 2003091894 | Nov 2003 | WO |
WO 2003100643 | Dec 2003 | WO |
WO 2004063843 | Jul 2004 | WO |
WO 2005088466 | Sep 2005 | WO |
WO 2006023508 | Mar 2006 | WO |
WO 2009045475 | Apr 2009 | WO |
WO 2020060877 | Mar 2020 | WO |
WO 2020060879 | Mar 2020 | WO |
WO 2020060880 | Mar 2020 | WO |
WO 2020068462 | Apr 2020 | WO |
Entry |
---|
U.S. Appl. No. 16/146,645 Office Action dated Sep. 20, 2019. |
PCT/US19/51140, Dynamic Interfaces for Launching Direct Gameplay, Sep. 13, 2019. |
PCT/US19/51146, Integrated Interfaces for Dynamic User Experiences, Sep. 13, 2019. |
PCT/US19/51150, System-Level Multiplayer Matchmaking, Sep. 13, 2019. |
PCT/US19/51157, Establishing and Managing Multiplayer Sessions, Sep. 13, 2019. |
“Brief for Appellee,” in re Masayuki Chatani et al., U.S. Court of Appeals for the Federal Circuit (2007-1150) (May 21, 2007). |
“Brief of Appellants,” in re Masayuki Chatani et al., U.S. Court of Appeals for the Federal Circuit (2007-1150) (Mar. 23, 2007). |
“In Re Masayuki Chatani and Glen Van Datta,” United States Court of Appeals for the Federal Circuit, 2007-1150 (U.S. Appl. No. 11/211,128), Nov. 19, 2007. |
“Petition for Panel Rehearing,” In Re Masayuki Chatani and Glen Van Datta, Appeal From the United States Patent and Trademark Office, Board of Patent Appeals and Interferences, In the United States Court of Appeals for the Federal Circuit, 2007-1150 (U.S. Appl. No. 10/211,128), Jan. 3, 2008. |
“Reply Brief of Appellants,” In re Masayuki Chatani et al., U.S. Court of Appeals for the Federal Circuit (2007-1150) (Jun. 4, 2007). |
“Technical Issues of establishing any-to-any 2-way real-time communications over the internet,” Apr. 24, 2005, URL http://web.archive.org/web/20050424081036/. |
Aronson, Jesse. “Using Groupings for Networked Gaming,” Gamasutra.com, Jun. 21, 2000. |
Audet, F. Nat Behavioral Requirements for Unicast UDP, BEHAVE Internet—Draft, Jul. 15, 2005. |
Boulic, Ronan etl al. “Integration of Motion Control Techniques for Virtual Human and Avatar Real-Time Animation,” Swiss Fedl Inst. of Tech., Lausanne, Switzerland, Sep. 1997. |
Chiueh, Tzi-cker, “Distributed Systems Support for Networked Games,” Computer Science Department, State University of New York at Stony Brook, Stony Brook, NY, May 1997. |
Cisco Systems Inc., “Network Flow Management: Resource Reservation for Multimedia Flows,” Mar. 19, 1999. |
Diot et al., “A Distributed Architecture for Multiplayer Interactive Applications on the Internet”, Aug. 1999, Network, IEEE, vol. 13, Issue 4, Jul.-Aug. 1999, pp. 6-15. |
Fiesta and Borland, “Netscape alumni to launch P2P company”, Aug. 2, 2001, (avaiable at http://news.cnet.com/news/0-1005-202-6766377.html). |
Hagsand O: Interactive Multiuser Ves in the DIVE System: IEEE Multimedia, IEEE Service Center, New York, NY, US vol. 3, No. 1, 21 Mar. 21, 1996, pp. 30-39, XP000582951 ISSN: 1070-986X. |
Hanada, S. “The Design of Network Game and DirectPlay,” Inside Windows, Softbank K.K., vol. 4, pp. 42-57, Apr. 1, 1998. |
Rosenberg, J. Interactive Connectivity Establishment (ICE): A Methodology for Network Address Translator (NAT) Traversal for Multimedia Session Establishment Protocols, Mmusic Internet-Draft, Jul. 19, 2004. |
Rosenberg, J. Interactive Connectivity Establishment (ICE): A Methodology for Network Address Translator (NAT) Traversal for Offer/Answer Protocols, Mmusic Internet-Draft, Jul. 17, 2005. |
Rosenberg, J. Interactive Connectivity Establishment (ICE): A Methodology for Network Address Translator (NAT) Traversal for Multimedia Session Establishment Protocols, Mmusic Internet-Draft, Oct. 25, 2004. |
Rosenberg, J. Interactive Connectivity Establishment (ICE): A Methodology for Network Address Translator (NAT) Traversal for Off/Answer Protocols, Mmusic Internet-Draft, Jan. 16, 2007. |
Rosenberg, J. “Simple Traversal of UDP Through Network Address Translators (NAT),” BEHAVE Internet-Draft, Jul. 17, 2005. |
Rosenberg, J. STUN—Simple Traversal of User Datagram Protocols (UDP) Throught Network Address Translators (NATs), Network Working Group, Mar. 2003. |
Rosenberg, J. Traversal using Relay NAT (TURN), MIDCOM Internet-Draft, Oct. 20, 2003. |
Takeda, Y. Symmetric NAT Traversal Using STUN, Internet Engineering Task Force, Jun. 2003. |
PCT/US03/08682 International Search Report dated Oct. 14, 2003. |
PCT/US03/12668 International Search Report dated Jul. 17, 2003. |
PCT/US08/11415 Search Report and Written Opinion dated Dec. 5, 2008. |
PCT Application No. PCT/US2019/051140 International Search Report and Written Opinion dated Nov. 15, 2019. |
PCT Application No. PCT/US2019/051146 International Search Report and Written Opinion dated Nov. 18, 2019. |
PCT Application No. PCT/US2019/051157 International Search Report and Written Opinion dated Oct. 16, 2019. |
PCT Application No. PCT/US2019/051150 International Search Report and Written Opinion dated Nov. 4, 2019. |
EP 037211413, European Search Report dated Jun. 30, 2005. |
EP 08835745.4 Extended European Search Report dated Jul. 22, 2011. |
EP 11004182.9 Extended European Search Report dated Jul. 14, 2011. |
EP 11004181.1 Extended European Search Report dated Jul. 22, 2011. |
U.S. Appl. No. 16/1137,953 Office Action dated Nov. 27, 2019. |
U.S. Appl. No. 16/135,273 Office Action dated Jan. 17, 2020. |
U.S. Appl. No. 16/138,306 Office Action dated Apr. 8, 2020. |
Number | Date | Country | |
---|---|---|---|
20200094148 A1 | Mar 2020 | US |