Systems and methods for enhancing participation in online multiplayer sessions

By introducing a conversation queuing system, the problem of inefficient session participation management in online games or activities is solved, and automated conversation management and optimized user experience are achieved.

CN112399878BActive Publication Date: 2025-02-11MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201980046792.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-07-12
Filing Date
2019-06-19
Publication Date
2025-02-11
Estimated Expiration
2039-06-19

AI Technical Summary

Technical Problem

The prior art is difficult to effectively manage conversation participation in online games or events, especially in multi-player games, where it is difficult for anchors and viewers to manage conversation joining and exiting automatically, resulting in inefficiency and poor user experience.

Method used

By introducing a session queuing system, using the central system to manage session tracking and automatic player queuing, the audience allows to request to join the session through streaming service and prioritize the user according to user characteristics, automatically insert queued users into or out of the session.

Benefits of technology

It improves the efficiency and user experience of conversation participation, reduces the burden on anchors and viewers in managing conversations, and reduces the load on network traffic and client systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112399878B_ABST
    Figure CN112399878B_ABST
Patent Text Reader

Abstract

Session participation in online content streams or activities (such as multi-player games) is enhanced by managing session tracking and automatic queuing of players via a central system between the host / host client device and the guest player client devices. Viewer requests to watch content streams over the network via the game / streaming service or waiting to join a multi-player activity are placed in a queue to participate in a session of the content stream or activity as a guest player with the host / streaming user. Sessions are tracked to determine start and end events. The previous set of guest players is removed from the session at the end of the session, and the queued set of viewers will be automatically added to the start of a new session of the content stream or activity as guest players. The queue can automatically prioritize users based on user characteristics, and automatically re-queue the removed guest players at the end of the session.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] background

[0002] Video game streamers, content creators, gamers, and gaming influencers gain a portion of their follower base by interacting with their followers. One type of interaction is playing games or participating in activities with their followers who wish to interact with them (e.g., by watching their streams or participating in multiplayer games). Typically, a host or streamer may send a message to multiple other players and / or viewers on the platform indicating that they want to play a game or otherwise interact together, then manually go through the individual responses to the message and send guest player invitations to the game or to a party to the responding viewers / players to organize the group. Assuming everyone accepts their invitation, the host / streamer will start the game (i.e., making the "matchmaking" into the game).

[0003] In some cases, games may have an open join capability, where players can follow the host / streamer on the platform and join their open game lobby. Another option for the host / streamer is to post a Looking for Groups (LFG) post on the platform. When viewers apply for a LFG, the streamer can confirm the set of users and gather them into the platform group, and then start the game. After the game is over, the user will leave the game lobby and start over, or they can kick out the group members to free up a spot in the LFG for the host to use, and manually confirm more members to enter the group to start again. Summary of the invention

[0004] 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.

[0005] A method for enhancing session participation in online streams / activities is performed by a system and apparatus. A user can enjoy playing the title (e.g., a video game or other online content) on a client device that executes the title. A large number of users or viewers may wish to join a multiplayer game or watch a live video content stream of those titles being played, which is streamed from a host client device to the viewer's own client device. The host and viewer users can promote session participation through automatic queuing and its management. Therefore, the management of user queuing and session participation is performed herein. For example, session participation in online content streams / activities is enhanced by managing session tracking and automatic queuing of players via a central system between a host client device and a guest player client device. Viewers can watch content streams / games (i.e., typically activities) over a network via a streaming service and request to be placed in a queue to participate in an active session as a guest player with the streaming user. Sessions can be tracked to determine start and end events. The previous guest player set is removed or kicked out of the session at the end of the session, and the queued viewer set will be automatically added to the start of a new session of the content activity as a guest player. The queue can automatically prioritize users based on user characteristics and / or credentials. Guest players removed at the end of a session may be automatically re-queued to participate in future sessions.

[0006] Other features and advantages of each example as well as the structure and operation are described in detail below with reference to the accompanying drawings. Note that the ideas and techniques are not limited to the specific embodiments described herein. These examples are presented herein for illustrative purposes only. Additional examples will be apparent to those skilled in the relevant art based on the teachings contained herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The accompanying drawings, which are incorporated herein and constitute a part of the specification, illustrate various embodiments of the present application and, together with the description, further serve to explain the principles of the various embodiments and enable those skilled in the relevant art to make and use the embodiments.

[0008] Figure 1 A block diagram of a networked system for enhancing conversation participation through queue management is shown according to an example embodiment.

[0009] Figure 2 A block diagram of a session queue host system for enhancing session participation through queue management is shown according to an example embodiment.

[0010] Figure 3 A flow diagram for enhancing session participation through queue management is shown according to an example embodiment.

[0011] Figure 4 A flow diagram for enhancing session participation through queue management is shown according to an example embodiment.

[0012] Figure 5 A flow diagram for enhancing session participation through queue management is shown according to an example embodiment.

[0013] Figure 6 A flow diagram for enhancing session participation through queue management is shown according to an example embodiment.

[0014] Figure 7 A flow diagram for enhancing session participation through queue management is shown according to an example embodiment.

[0015] Fig. 8A A block diagram of a client user interface for enhancing session participation through queue management is shown according to an example embodiment.

[0016] Figure 8B A block diagram of a client user interface for enhancing session participation through queue management is shown according to an example embodiment.

[0017] Fig. 9 Shown is a block diagram of an example mobile device that can be used to implement various example embodiments.

[0018] Fig.10 A block diagram is shown of an example computing device that can be used to implement various embodiments.

[0019] Features and advantages of the embodiments will become more apparent from the detailed description set forth below when taken in conjunction with the accompanying drawings in which like reference numerals identify corresponding elements. In the accompanying drawings, like reference numerals generally indicate identical, functionally similar, and / or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference numeral. DETAILED DESCRIPTION

[0020] I. Introduction

[0021] The following detailed description discloses several embodiments. The scope of this patent application is not limited to the disclosed embodiments, but includes various combinations of the disclosed embodiments and various modifications to the disclosed embodiments.

[0022] References in the specification to "one embodiment," "an embodiment," "an example embodiment," etc. indicate that the described embodiment may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in conjunction with an embodiment, whether or not explicitly described, it is considered to be within the knowledge of those skilled in the art to implement the feature, structure, or characteristic in conjunction with other embodiments.

[0023] In the discussion, unless otherwise stated, adjectives such as "substantially" and "approximately" that modify conditions or relationship characteristics of one or more features of an embodiment of the present disclosure should be understood to mean that the condition or characteristic is limited to a tolerance of the operation of the embodiment that is acceptable for the intended application of the embodiment.

[0024] Furthermore, it should be understood that the spatial descriptions used herein (e.g., "above," "below," "up," "left," "right," "lower," "top," "bottom," "vertical," "horizontal," etc.) are for illustrative purposes only, and that actual implementations of the structures and drawings described herein may be spatially arranged in any orientation or manner. Additionally, the drawings may not be provided to scale, and the orientation or organization of elements of the drawings may vary in various embodiments.

[0025] A number of exemplary embodiments are described below. It should be noted that any section / subsection titles provided herein are not intended to be limiting. Various embodiments are described in this document, and any type of embodiment may be included under any section / subsection. In addition, the various embodiments disclosed in any section / subsection may be combined in any manner with any other embodiments described in the same section / subsection and / or different sections / subsections.

[0026] Section II below describes example embodiments for enhancing session participation through queue management. In particular, Section II.A describes an example system for session participation through queue management, while Section II.B provides example user interface embodiments. Section III below describes example mobile device and computing device embodiments that can be used to implement the features of the embodiments described herein. Section IV below describes additional examples and advantages, while Section V provides some concluding remarks.

[0027] II. Example Embodiments for Enhancing Conversation Participation Through Queue Management

[0028] Provided herein are methods, systems, devices, apparatus, and computer program products for enhancing session participation through queue management. A user or user group may wish to play or participate in an online activity session (such as a video stream or game) with another user or user group, where session capacity is scarce for a given activity. That is, the number of users who wish to play or participate may exceed the maximum number of users who can participate at any given time. Therefore, since multiplayer experiences typically have a limited set of player positions, multiplayer experiences encounter scenarios where there are more people who want to play than are allowed to enter the experience. This problem occurs whether you are playing with friends, random strangers, viewers of game streaming, or want to play with very important people / players (VIPs) of the community. In situations where a host wants to interact with their audience as guest players in a player session, or a multiplayer game initiator wants to play a game with friends, there are currently few options to handle this excessive number of participants. When the game ends, if the host / host wants to select a new guest player group from their group or audience, the host / host must remove all guest players of the current game (if this is possible in this game), or simply leave the game "lobby" and restart the process. This does not allow any kind of priority to be applied to the viewer / player who joins the game first.

[0029] By automatically queuing players who have shown interest in session participation, and by automatically cycling between these users over a period of time and multiple sessions, the described embodiments provide for efficient and automatic fulfillment of as many session participation requests as possible. Additionally, users waiting in the queue are in an asynchronous state, so they can perform other operations while waiting. Thus, the described embodiments enable efficient session establishment and participation via automatic queuing of players.

[0030] For example, a session queuing service may be executed on a session queuing system host (e.g., a processing system or server) located on a network between a session host / streamer client device (e.g., a client device of a content streamer, a content creator, a game player such as a VIP or service platform personnel, a game influencer, etc.) and client devices of other users who wish to participate in a game or streaming session as guest players. The session queuing service is configured to automatically queue other users, add other users as guest players, and remove guest players from a game / content streaming session. The session queuing service located between the host / streamer and the user / participant client devices is capable of receiving requests from other users to join a session of an activity (e.g., a game) streamed by the streamer client device, and automatically queues the user of the client device and inserts it into the session as a guest player. In this way, the session queuing service is capable of centrally managing session participation of any number of other users on any number of titles developed by different developers in a manner that varies for each instance of the streaming content.

[0031] For example, a user playing a title on a client device (e.g., a streamer / host client device) may stream their title game so that this content stream may be viewed over a network by one or more other users at respective client devices (e.g., guest client devices). Other users may be allowed to simply view the content stream, while in other cases, other users may be allowed to view and interact with the title session being streamed (e.g., during a session that may be a predefined or streaming-defined portion of the stream). That is, other users may join the title session of a user playing the title on the streamer client device. Likewise, such users may join users in a lobby of a multi-player game instance created by a host.

[0032] The described embodiments provide platform-level features that can be used for any number of different title streams or games (e.g., "activities"), and provide benefits by automatically gathering participants into sessions, including improving user experience, reducing client system load, reducing network traffic load, etc. That is, the anchor / host user can publish a search group (LFG) message that does not require the host to confirm the participation application, thereby putting them into the group, inviting them to join the game, and then trying to repeat the process session by session and game by game. According to various embodiments, the LFG post can therefore be used as a first-in, first-out queue for players who want to participate in the activity's session with the anchor. If the title developer wants to integrate the described embodiments into its title from the platform detailed in this article, the LFG post may also be accessible to the title developer. That is, the anchor / host can create a game-specific LFG for this activity type. For example, when the anchor / host enters the game, an option to gather the LFG to their game lobby can be provided. Initially, a user can request to watch the stream of the activity or join a group to play a multi-player activity (such as a game) played or initiated by the anchor / host user. A session queuing service or alternatively a gaming / streaming service (such as Xbox One from Microsoft Corporation of Redmond, Washington) ) can be configured to associate a user with a multiplayer game, video stream, or other activity by including the user (e.g., as a guest player, viewer of a video stream, etc.) in an activity group. A user can request to join a session and be automatically queued. Title developers can thereby pull users from the top of the queue to automatically participate in a session as guest players. If a user in the queue logs off or becomes unavailable, the described embodiments are configured to automatically remove the unavailable user from the queue. After the session is completed, automatic removal of guest players from the lobby / LFG can be performed, and the next set of users from the top of the queue can be pulled into a new session as guest players. The session queuing service or alternatively the streaming service can be configured to track when a multiplayer game session starts, ends, or changes between them, thereby providing the ability to automatically determine when players should be added and / or removed at a specified time.

[0033] Thus, the described platform features allow for efficient and seamless queuing and cycling of players for session participation, relieving hosts and participants of the burden involved in managing the process. The described embodiments may be applied to any type of streaming / session participation scenario, as well as multi-player interaction scenarios where a host player creates a game session or event without actively streaming, including but not limited to: scenarios where a host wants to play with audience members, scenarios where a VIP player advertises a game session in a social environment and needs to queue participant users, scenarios where a game player wants to play with friends but the collection of friends exceeds the game size of the event (i.e., some players need to queue and wait for their turn), scenarios where a gaming club with a large member base wants to organize a gaming session with multiple sessions playable, and the like.

[0034] Embodiments also allow for improved queuing and session management for non-integrated titles. For example, hosts / hosts of non-integrated titles are provided access to improved game / streaming streams by still using the described platform as a virtual meeting place to form a group, where the host / host begins the process of accepting users from the top of the queue to join the group. The selected users can be automatically included in the group, where the host / host can insert the entire group into the game or activity to participate in the session. After the session ends, because the title is non-integrated, the host / host can perform the additional steps of leaving the game lobby and starting over, and therefore the action of kicking existing guest players from the session and selecting a new set of users from the queue as guest players for the new session can be accomplished with a single click of a button in the host / host user interface before repeating the grouping process described above.

[0035] Integration of a title with the described embodiments for enhancing session engagement through queue management is virtually seamless, and the session queue service operates as a minimally customized service for how users are queued. The session queue host is scalable to handle large numbers of users and session participants for different games or content streams. Queues can be prioritized based on streamer / host preferences, for example, based on whether the queued user is a follower, is a friend, has certain in-title attributes (including any type of statistics or information related to the user's in-title performance), has a subscription, has a relatively high amount of time watching the streamer / host's streams, is enrolled in a paid program, has earned a certain number of viewing / watching rewards, and the like.

[0036] In other words, the embodiments disclosed herein provide enhanced session participation through queue management.These and further embodiments will be described in more detail below.

[0037] Example system for conversation participation with queue management

[0038] In various embodiments, systems and devices may be configured in various ways to enable enhanced session participation through queue management. For example, Figure 1 is a block diagram of a queuing system 100 according to various embodiments. According to various embodiments, the queuing system 100 is configured to achieve enhanced session participation through queue management. Figure 1 As shown, the queuing system 100 includes a host / host client device 102a, a guest client device 102b, a session queuing host 104, and a title developer server 114 that can communicate with each other via a network 110. It should be noted that any number of host client devices, guest client devices, and session queuing hosts and / or title developer servers may exist in various embodiments. Additionally, according to various embodiments, Figure 1 Any combination of the illustrated components may be present in the queuing system 100 .

[0039] As mentioned above, the anchor / host client device 102a, the guest client device 102b, and the session queuing host 104 and the title developer server 114 are communicatively coupled via a network 110. The network 110 may include any type of communication link connecting computing devices and servers, such as, but not limited to, the Internet, wired or wireless networks and portions thereof, point-to-point connections, local area networks, enterprise networks, and the like.

[0040] Title developer servers 114 may include one or more server computers or computing devices, which may include one or more distributed or "cloud-based" servers. Title developer servers may be configured to enable developers to develop and / or publish titles, such as video games, interactive applications, etc. Accordingly, title developer servers 114 or storage associated therewith may include one or more titles 116. Titles 116 may include code or applications for executing and / or supporting the execution of titles developed by developers. Titles 116 may be provided for electronic download to client devices over a network as described herein, and / or may be encoded on a computer-readable storage medium to be read / accessed by a client device to execute the titles.

[0041] The session queue host 104 may include one or more server computers or computing devices, which may include one or more distributed or "cloud-based" servers. In various embodiments, the session queue host 104 may be connected to a server such as an Xbox The user of the client device may be associated with or may be part of a gaming or streaming service system or platform such as . A user of a client device may be authenticated for the gaming / streaming service or platform (such as via a user interface (UI) 112a of a host / host client device 102a and / or via a UI 112b of a guest client device 102b via a network 110), and upon authentication, the host / host client device 102a may stream content or create a multi-player game instance, the guest client device 102a may view the streamed content, and the host / host client device 102a and the guest client device 102a may join a multi-user activity such as a game. The session queue host 104 is configured to receive requests from client devices (such as via a user interface (UI) 112a of a host / host client device 102a and / or via a UI 112b of a guest client device 102b via a network 110) to add a user to a group and / or queue to participate in its activities and sessions. For example, a host / host user may play a title and stream live content of the title via a host / host client device 102a, while another user may be a spectator watching the live streaming content in a virtual lobby, or a spectator watching the title at a guest client device 102b. In another example, a host / host user may create a title for a multiplayer game / activity via a host / host client device 102a, while another user may be a spectator watching the live streaming content in a virtual lobby, or a spectator watching the title at a guest client device 102b.

[0042] As shown, the session queue host 104 includes a session tracker 106 and a session queue service 108. It should be noted that in various embodiments, the session tracker 106 may be located remotely from the session queue host 104, such as in a remote and / or associated system (not shown for the sake of brevity and clarity of illustration) for a gaming or streaming service system or platform that is communicatively connected via a network 110. It is also contemplated herein that, although for the sake of brevity and clarity of illustration, Figure 1 Only a single instance of the session tracker 106 and the session queuing service 108 is shown in FIG, but multiple instances of these components may exist in various embodiments.

[0043] The session queue host 104 is configured to receive a request to participate in a multiplayer game or title stream from a viewing / watching user of the title (e.g., from a UI 112b of a guest client device 102b) at a session queue service 108. The session queue service 108 is also configured to queue the user / client device that issued the request to be inserted into the session of the game / stream, and insert the set of queued users into the session of the game / stream. Therefore, the session queue service 108 is configured to operate as a service (e.g., an LFG service) to facilitate group formation and session participation involved therein. Requests to participate in a game / title stream from viewing / watching users may be received by the session queue service 108 before or after the host / host user of the host / host client device 102a activates or enables queuing. For example, when streaming a title, the host / host user may notice, for example, via the UI 112a, that many audience users are being received to participate in the session of the stream, and the queue for viewers for insertion into the session of the game / stream may then be activated by the host / host user. In such cases, the session queuing service 108 may be configured to track the viewers who make requests and the order of their respective requests before being queued, so that FIFO ordering is maintained when the host / host enables queuing. In one example, the user who makes the request may be placed in the queue before the queue is activated by the host / host to maintain the order when the activation occurs or in the event of activation, and the queue may be cleared by the host / host or cleared when the stream / game ends. In some embodiments, the queue for the audience may be enabled when the title is launched by the host / host user. It is also contemplated that after the queue is activated by the host / host (e.g., via UI 112a), the option to request queue participation may only be provided to the audience (e.g., via UI 112b). In such scenarios, a notification may be provided to the viewing user via UI 112b, for example, by highlighting or activating a selectable option for making a request to join the session, by a message, etc.

[0044] The session tracker 106 is configured to track sessions of game and content streaming. That is, the session tracker 106 is configured to monitor the sessions to determine when a session starts, ends, or changes between states. The session tracker 106 can provide indications of session states and their changes to the session queuing service 108. Thus, the session queuing service 108 is configured to determine when new sessions start, provide reminders of upcoming sessions, insert a set of users as guest players at the beginning of a streaming session, remove or kick guest players from a session when the session is completed, etc.

[0045] The session tracker 106 and / or session queuing service 108 may each be implemented in hardware or hardware in combination with one or both of software and / or firmware, and may be configured to perform any of the functions / operations described herein to enhance engagement in online games, content streams, and / or activities by managing session tracking and automatic queuing.

[0046] The host / host client device 102a and / or the guest client device 102b may be any type of computing device or computing system, including a gaming console (e.g., any type of Xbox One from Microsoft Corporation of Redmond, Washington). TM or Xbox One TM Game consoles, any type from Sony The client device 102a and the guest client device 102b are configured to provide user authentication / credential information to the gaming / streaming service system or platform via UI 112a / UI 112b, for example, over the network 110. Additionally, as described herein, the user may utilize UI 112a or UI 112b for streaming, viewing, session queuing, and participation, etc. In various embodiments, the anchor / host client device 102a and / or the guest client device 102b may include a stored instance of such a UI received from the session queuing host 104 and / or from the gaming / streaming service system or platform, or as a component of the anchor / host client device 102a and / or the guest client device 102b. In various embodiments, the UI 112a and / or the UI 112b may be any type of service / application UI, browser, client, or electronic communication application, messaging application, portal, etc. In some examples, the UI 112a and / or the UI 112b may be a component of a title from a title developer.

[0047] It should be noted that the host / host client device 102a can be configured to operate as a guest client device such as the guest client device 102b, and the guest client device 102b can be configured to operate as a host client device such as the host / host client device 102a. That is, the different client devices described herein are not limited in their functionality and operation by their labels, which are attributed as such labels only for the purposes of illustration and description herein. Additionally, the host / host client device 102a and / or the guest client device 102b can each be configured to play the title without streaming or audience viewing, as will be understood by those skilled in the art having the benefit of this disclosure.

[0048] Note that, as described herein, embodiments for enhancing participation in online activities by managing session tracking and automatic queuing are applicable to any type of system in which a gaming / streaming service system or platform communicates with a client device over a network. An example is where the session queuing host 104 and / or the session queuing service 108 is a "cloud" implementation, application, or service in a network architecture / platform. A cloud platform includes a networked collection of computing resources (including servers, routers, etc.) that are configurable, shareable, provide data security, and can be accessed over a network such as the Internet. Cloud applications run on these computing resources, typically on top of an operating system running on these resources, for use by entities accessing the application over a network. A cloud platform can support multiple tenants, where cloud-based software provides services for multiple tenants, and each tenant includes one or more users who share common access rights to the cloud platform software services. In addition, a cloud platform can support a hypervisor implemented as hardware, software, and / or firmware that runs virtual machines (simulated computer systems including operating systems) for tenants. The hypervisor provides a virtual operating platform for tenants.

[0049] Thus, a session queue host system such as session queue host 104 may be configured in various ways to improve and enhance engagement in online content streams or activities by managing session tracking and automatic queuing for users of host client devices and / or guest client devices. For example, Figure 2 is a block diagram of a session queuing service host system 200 ("system 200" herein) configured to improve and enhance engagement in online content streams or activities by managing session tracking and automatic queuing. System 200 is Figure 1 An embodiment of the queuing system 100 is shown in FIG. 200 . The system 200 is described as follows.

[0050] System 200 includes a session queue host 202, which may be Figure 1The session queue host 104 is an embodiment of the present invention and can be any type of server computer or computing device, as mentioned elsewhere herein or otherwise known, including cloud-based server implementations. Figure 2 As shown, the system 200 and the session queuing host 202 include one or more of a processor ("processor") 204, one or more of a memory and / or other physical storage device ("memory") 206, one or more network interfaces ("network interfaces") 226, and a plurality of processors ("processors") 204, and one or more of ... memory and / or other physical storage devices ("memory") 206. Figure 1 The system 200 may also include a session tracker 222 (which may be the above-mentioned Figure 1 The system 200 may also include additional components (not shown for brevity and clarity of illustration), including but not limited to: components and subcomponents of other systems described herein (such as UI 112a and / or UI 112b, etc.), and the following references to Fig. 9 and 10 Those described (such as operating systems).

[0051] The processor 204 and the memory 206 may be any type of processor circuit or memory, respectively, as described herein and / or as understood by those skilled in the art having the benefit of the present disclosure. The processor 204 and the memory 206 may each include one or more processors or memories, different types of processors or memories, remote processors or memories, and / or distributed processors or memories, respectively. The processor 204 includes a circuit system configured to execute computer program instructions, such as, but not limited to, various embodiments of the session queuing service 208 that may be implemented as computer program instructions for enhancing participation in online content streams or activities by managing session tracking and automatic queuing, etc., as described herein. The memory 206 is configured to store such computer program instructions / codes, as well as other information and data described in the present disclosure, including, but not limited to, title information, user information, tracking information, etc.

[0052] The network interface 226 may be any type of wired and / or wireless network adapter, modem, etc., configured to enable the system 200 to communicate with other devices over a network, such as through a wireless network such as described above with reference to FIG. Figure 1 A network such as the described network 110 enables communications between the system 200 and other devices used in the network as described herein (e.g., the anchor / host client device 102a, the guest client device 102b, and / or the title developer server 114).

[0053] User information 224 may include, but is not limited to, information about the user, the user's account (e.g., login credentials, user aliases or pseudonyms, etc.), the user's client device, the user's network, titles played by the user or viewed as a viewer, user rewards earned, and an indication that the user is logged into the system 200 or logged into a gaming / streaming service system or platform. User information 224 may also include standard data, such as information about tracking time of viewing content streams, audience participation, title events viewed during content streams, the user's set of followers, the set of other users the user is following, subscriptions, the user's set of friends, memberships (e.g., club or community memberships), the user's in-title attributes / data or the user's in-title role, and / or any other type of standard data. In embodiments, such standard data may be used to determine whether a user is eligible for queue priority.

[0054] The session queue 208 includes multiple components for performing the techniques described herein for enhancing session participation through queue management (e.g., such as LFG services). As shown, the session queue service 208 includes a communicator 210, an audience manager 212, a queue manager 214, a session manager 216, an application programming interface (API) 218, and a UI provider 220. Although shown separately for clarity of illustration, in various embodiments, one or more of the communicator 210, the audience manager 212, the queue manager 214, the session manager 216, the API 218, and / or the UI provider 220 may be combined together and / or as part of other components of the system 200. In some embodiments, less than 100% of the session queue may be included. Figure 2 In a software implementation, one or more components of the session queuing service 208 and / or the session queuing host 202 may be stored in the memory 206 and may be executed by the processor 204.

[0055] The communicator 210 is configured to receive and / or transmit electronic communications for the session queuing service 208 of the system 200. For example, the communicator 210 is configured to receive requests from users of client devices regarding session participation, queue activation commands, user viewing instructions, session state information, UI requests, etc., via the network interface 226, as described herein. Similarly, the session queuing service 208 of the system 200 is configured to issue, transmit, and / or provide notifications to users, UIs, etc., via the communicator 210, as described below.

[0056] Audience manager 212 may be configured to track users who are watching a stream in a lobby of a title, are added to a group to participate in the game or stream viewing, etc. For example, the viewing user may be logged in, authenticated by, and online on a game / streaming service system or platform associated with session queuing service 208 and system 200. The service system or platform may provide mechanisms for users to watch active streams, gather in lobbies specific to a game or title, join group rooms, etc. Audience manager 212 may be configured for users who are actively watching a stream or otherwise present with respect to a title, such that only users present in this manner are eligible to be queued and / or remain queued for session participation.

[0057] The queue manager 214 may be configured to queue the users participating in the game / streaming session. The queue manager 214 may be configured to insert the user into the queue and remove the user from the queue based on the information from the audience manager, as mentioned above. The queue manager 214 may be configured to manage the FIFO queue structure or any other type of queue structure, and may be configured to manage the queue for multiple titles and any number of users. When the queued user is inserted into the session, the queue manager 214 is configured to remove the user from the queue. In various embodiments, the queue manager 214 is configured to prioritize the users in the queue based on standard information (as described above about the user information 224). The queue manager 214 may also temporarily queue the user based on the request for session participation before the anchor / host user explicitly activates the queue for participating in the streaming session. In some embodiments, the guest player from the completed session kicked out or removed by the session manager 216 as described below may be automatically re-queued by the queue manager 214.

[0058] The session manager 216 may be configured to insert queued users as guest players into a session and remove guest players from a completed session. The session manager 216 may be configured to add a queued set of users to a session (e.g., at the start of a session), wherein the set of users to be inserted into the session is based on the maximum limit of concurrent participants of the session (excluding the anchor / host), or based on the preferences of the anchor / host user of the number of users in the specified set (less than or equal to the maximum value). In a scenario where the number of queued users is less than the maximum limit and / or preference of the anchor / host user, the multiple queued users may be inserted into the session. The session manager 216 may be configured to add users / guest players to the started session and / or remove users / guest players from the completed session, respectively, based on session information from the session tracker 222. In various embodiments, the session tracker 222 and the session manager 216 may be included together as a single component, conceptually or otherwise. The session manager 216 is configured to automatically add and / or remove queued users and / or guest players without additional or any input being provided.

[0059] The API 218 may include one or more APIs to perform specific functions related to the tracking and communication described herein. In various embodiments, one or more APIs of the API 218 may be included in or used by (all) components of the session queue host 202, such as, but not limited to, the session queue service 208 and its subcomponents. For example, the APIs of the API 218 may be used with the session tracker 222 to communicate the session state of the game and content streams. Similarly, other APIs may be used to facilitate other network communications and notifications. In various embodiments, notifications or reminders may be provided to the viewing / watching user as a single API call (i.e., a single message communication). In various embodiments, such APIs may be configured to publish communications for a large number of viewing users (e.g., up to 100,000 viewers or more) concurrently.

[0060] The UI provider 220 is configured to provide a UI to a client device. For example, the UI provider 220 may be configured to provide the UI 112a (or a portion thereof, or its content / information) to the anchor / host client device 102a and / or to provide the UI 112b (or a portion thereof, or its content / information) to the guest client device 102b. Further embodiments of the UI 112a and the UI 112b are described in additional detail below.

[0061] The session queuing service 208 may operate in various ways to enhance participation in an online content stream or activity (such as a multiplayer game) by managing session tracking and automatic queuing. For example, Figure 3A flowchart 300 is shown for enhancing participation in online content streams or activities by managing session tracking and automatic queuing according to an example embodiment. In one embodiment, the session queuing service 208 can operate according to the flowchart 300. Other examples of structures and operations will be apparent to those skilled in the art based on the following description. Figure 1 The queuing system 100 and Figure 2 The system 200 and flow chart 300 are described as follows.

[0062] Flowchart 300 begins at step 302. At step 302, a user is associated with an activity of a host player by including the user in an activity group. For example, Figure 2 The audience manager 212 of the session queuing service 208 in is configured to associate users with a game or video stream hosted by a player by indicating the user as belonging to an active group. The users to be grouped may include those users who are authenticated by (i.e., logged in to) a game / streaming service or platform (such as an online service like Xbox Live). The grouped users may be watching a video stream as a spectator, may be in the lobby of a title being streamed, may be in a group lobby to join a multiplayer game, and so on. In various embodiments, the audience manager 212 may store in the memory 206 an indication of the users grouped in this manner. Thus, users who are eligible to queue up to participate in a session of a game or content stream may be managed so as to require the users to appear in association with the game or content stream.

[0063] At step 304, a request is received from at least a subset of the users in the activity group to join a game / video streaming session as a guest player, the session comprising participating in the activity with the host player. Figure 2 The queue manager 214 may be configured to receive requests from the authenticated users described in step 302 to join a game / video streaming session. These users may request to join the session by selecting an option on a UI such as UI 112b, which provides a communication message to the queue manager 214 indicating that the user wishes to join the session. In some embodiments, less than all authenticated users may provide requests. Activities may include playing games, demonstrations, virtual reality experiences, etc.

[0064] At step 306, the users who submitted requests to join the session are queued. For example, the queue manager 214 may be configured to place the requesting users in a queue. The queue may include a queuing structure such as a FIFO queue, which may be stored by the queue manager 214 in a storage such as the memory 206. In the FIFO queue example, the user corresponding to the first received request is at the top or head of the queue, in other words, the order of the received requests corresponds to the position of the users in the queue. In various embodiments, before queuing the requesting users, the queue manager 214 is configured to verify that the requesting users are still present for the video stream, for example using stored indications from the audience manager 212 for the grouped users.

[0065] At step 308, the start of the session is determined. For example, the session manager 216 is configured to determine when a session is ready to start and / or when a session starts. As described above, the session manager 216 may receive information from the session tracker 222. When the session manager 216 determines that a session is ready to start, the session manager 216 may be configured to provide an indication to the queued user or all queued users to be inserted into the next session to start.

[0066] At step 310, a predetermined number of queued users are automatically inserted into the session to initiate an active session. For example, the session manager 216 is configured to automatically insert a set of queued users into the session. The number of queued users inserted into the session may be predetermined to be the maximum number allowed in the session at the same time, or predetermined to be a number corresponding to the preferences of the anchor / host, and in some embodiments, when the number of users is less than any of the other numbers, it may be one or more users in the queue. The session manager 216 may be configured to automatically insert a set of queued users into the session one at a time until a specified / maximum number is reached (e.g., in a predetermined order or in an order corresponding to a participation acceptance indication from a user as described herein), or a set of queued users may be inserted into the session simultaneously or approximately simultaneously. When a user is inserted as a guest player, the session may automatically become active. In various embodiments, after inserting the queued player, the anchor / host may activate the session via the host UI (e.g., UI 112a).

[0067] By automatically inserting queued users into sessions, network traffic can be greatly reduced. For example, repeated or consecutive sessions can occur seamlessly without additional communications between the client device 102a / 102b and the session queue host 202 for rejoining a new game / stream / group / lobby, selecting a different user to insert into the next session, etc. In addition, the continuity of activities enabled by the described embodiments provides less downtime in the setup of activities, which reduces power consumption of client devices.

[0068] Furthermore, as previously mentioned, the session queuing service sits centrally between the host and guest client devices and is able to dynamically manage queues and session participation for each host / host user on each available title supported by the gaming / streaming system or platform based on such user's specific preferences. In this manner, the session queuing service is able to efficiently manage session participation and improve the content streaming system and the user's experience therewith for any number of users. Thus, queue management and session participation can be customized for each title and each host / host from a centralized service.

[0069] Going further, Figure 2 The API 218 of the API can also be configured to publish one-to-many communications including reminders / notifications to users, queued users and / or guest players in real time. As similar to the above description, the centrally located session queuing service is configured for system performance regarding queue management and session participation and network utilization. Since the described session queuing service is configured to publish a single notification related to queuing and session participation to all client devices of authenticated users, network traffic and load are further significantly reduced by the described embodiments. That is, reminders and notifications are distributed in a manner as mentioned above (e.g., via API 218), which does not require separate notifications from the service, from the title, or from the anchor / host to the viewing user. The network traffic reduced according to the described title queuing service and system is significant because the number of users supporting participation in the game or viewing title streaming, queuing and participating in the session can be thousands to hundreds of thousands.

[0070] After being inserted into a session, the guest player can participate in activities with the host / host user until the session is completed. Figure 2 The session queuing service 208 is configured to automatically and seamlessly repeat session initiation and insertion for queued users.

[0071] For example, Figure 4 A flowchart 400 is shown for enhancing engagement in an online content stream or activity by managing session tracking and automatic queuing according to an example embodiment. The session queuing service 208 may operate according to the flowchart 400. The flowchart 400 may be Figure 3Based on the following description, other structural and operational examples will be apparent to those skilled in the art. Figure 1 The queuing system 100 and Figure 2 The system 200 and the flow chart 400 are described as follows.

[0072] Flowchart 400 begins at step 402. At step 402, a previous active session that occurred before the active session is tracked. For example, as described above, Figure 2 The session manager 216 may be configured to track sessions via the session tracker 222. In various embodiments, the session manager 216 may receive session information originating from the gaming / streaming service system or platform from the session tracker 222, such that streams and sessions are monitored directly or indirectly to obtain tracking information.

[0073] At step 404, completion of the previously active session is determined. For example, the session manager 216 is configured to obtain tracking information, as described above for step 402. The session manager 216 can determine completion of the session based on the tracking information. The session manager 216 is therefore configured to wait to perform the removal of the guest player from the session until it is determined that the previous session is completed.

[0074] Based on the completion and prior to the automatic insertion of a predetermined number of queued users into the session, all guest players of the previously active session are automatically removed at step 406. For example, the session manager 216 may be configured to automatically remove guest players from a session upon completion of the session. The session manager 216 is thus configured to wait to perform the insertion of the queued user as a guest player into the new session until the guest player is removed from the previous session.

[0075] At step 408, the start is determined based on the completion of the previous active session. For example, as mentioned above, the active previous session was completed before the new session was activated. When the previous session is completed, the session tracker 222 is configured to notify the session manager 216. In various embodiments, the session tracker 216 can be configured to determine when to start a new active session in response to the completion of the previous active session, such as by inserting a queued user as a guest player.

[0076] In various embodiments, the steps of flowchart 400 may be performed automatically, eg, without input from a user, to manage session participation and flow seamlessly and efficiently.

[0077] Thus, flowcharts 300 and 400 (and the session queuing service 208 of system 200) enable improved and enhanced engagement in online content streams or activities by managing session tracking and automatic queuing by enabling the session queuing service 208 to be configured to operate as an automatic queue manager and session manager for sessions and games / streaming of any number of titles from different developers for any number of users. Embodiments provide efficient, reduced network traffic / load notification and integration of users into active sessions.

[0078] Figure 5 , Figure 6 and Figure 7 Flowcharts according to the described embodiments are illustrated. Figure 5 Flowchart 500 is shown. Figure 6 A flowchart 600 is shown, and Figure 7 Flowchart 700 is shown, each for enhancing engagement in an online content stream or activity by managing session tracking and automatic queuing, according to various example embodiments. For purposes of illustration, the flowcharts described are associated with the embodiments described above. Session queuing service 208 may operate according to flowchart 500, flowchart 600, and / or flowchart 700. Flowchart 500, flowchart 600, and / or flowchart 700 may be Figure 3 Flowchart 300 and / or Figure 4 Other embodiments of the flowchart 400. Based on the following description, other structural and operational examples will be apparent to those skilled in the relevant art.

[0079] Refer to the following Figure 1 The queuing system 100 and Figure 2 The system 200 and the Figure 1 The anchor client device such as the anchor / host client device 102a is described as Figure 5 Flowchart 500 of .

[0080] At step 502, the host launches a multi-player title that the host wishes to play with other users, for example, via a host / host client device 102a. In the context of the example illustrated in flowchart 500, the host is described with reference to a host / audience model, where the host streams his game play to an audience of users, such as users of guest client devices 102b. In response to step 502, at step 504, a multi-player (MP) service stream (or game session) is created, for example, by a game / streaming service system or platform configured to stream titles or host multi-player game sessions. At or about the same time, a persistent connection 506 (e.g., an illustrated WebSocket connection) is created to a session tracker 222 (and used in this context as a real-time activity (RTA) service instance), which is updated with changes and states of the session. The session tracker 222, acting as an RTA service instance, can be used as a publish / subscribe model service, where subscribers receive push updates of items in real-time / near real-time.

[0081] Then, the host begins broadcasting from the anchor / host client device 102a via the platform at step 508. Then, the anchor / host (or anchor in this case) can decide to create an automatic game LFG process at step 510, which will continue to pull in new audience members who want to play after each streaming session, as described in the embodiments of this article. The detailed information 512 of the LFG process can be automatically filled or customized to include but not limited to the number of users to be added to the session (i.e., user positions), the duration of the session, the priority ranking of audience members such as subscribers, followers, chat actives, etc. The detailed information 512 can be a default option and / or customized via a UI such as UI 112a (as further described below). Creating an automatic game LFG at step 512 causes the session queuing service to create a LFG process, which can be provided to the user via a UI such as UI112b (as further described below). Additionally, in each embodiment, a visual option can allow the audience user to be the only user who can view the LFG process.

[0082] Now turn to Figure 6 and flow chart 600, this example embodiment refers to such as Figure 1 The flow chart 600 also refers to the guest client device 102b and the guest client device 102b. Figure 5 Flowchart 500 is described, for example, as a client diagram consistent with flowchart 500 .

[0083] At step 602, a stream viewer (or generally a user) may watch a broadcast or content stream of a host / host of a title (or join a multiplayer gaming session) via a client device such as guest client device 102b. For example, the stream broadcasted in step 508 of flowchart 500 may be viewed. The user may watch the stream in a lobby or other online location provided by the gaming / streaming service system or platform that broadcasts the stream (see below). Figure 7 As shown in step 510 of flowchart 500, the host / host can enable the automatic game LFG process for the audience. Figure 1 In an interactive UI such as UI 112a, the host / host enables audience users to activate, for example, UI 112b with selectable options to participate in the activity or session of the stream with the host / host. In step 604, the viewer requests to enter the session queue.

[0084] Upon receiving a request from a user, the platform may provide user metadata to the session queuing service in step 606 for use in any queue prioritization to be performed. This metadata may include standard data as described herein, which may be used with Figure 2 224. When a user is successfully added to the session queue in step 608 (e.g., by the session queuing service 208 as described above), the queued user can have a persistent connection 506 (e.g., the illustrated WebSocket connection) established in step 610 to the session tracker 222 to keep the queued user updated with information about its position in the queue and other updates to the LFG process.

[0085] Reference Figure 7 and flowchart 700, this example embodiment refers to a session queuing system (such as Figure 1 100 and / or system 200) are described. Flowchart 700 also refers to Figure 5 Flowchart 500 and Figure 6 The flowchart 600 is described, for example, as Figure 1 A consistent system-level diagram.

[0086] When the host / host at the host / host client device 102a has sufficient interest in the auto-game LFG, or when one or more other users are queued, the host / host may begin the process of selecting queued users at one or more guest client devices 102b for the host / host to automatically play the LFG by clicking on the user interface in step 702 (e.g., Figure 1The session may be inserted by activating a start object on the UI 112a of the game console 112. This activation causes a corresponding notification to be provided to the session queuing service 208 to begin selecting the top user in the queue and attempt to fill the game session at step 704 (e.g., via the queue manager 214). In some embodiments, the session queuing service 208 may automatically begin selecting users from the queue when a predetermined number of users are queued (or after one or more users have been queued for a period of time).

[0087] The session queuing service 208 is configured to automatically provide notifications such as WNS notifications to the selected user's guest client device 102b at step 706 (eg, via the session manager 216). The selected user may select the selected user through his UI (eg, Figure 1 In one embodiment, the user in the queue may be prompted with information that they are being added to the game session, or in other embodiments, the selected users in the queue may be provided with information that they are being added to the game session without requiring additional user input. As each selected user in the queue accepts, they are automatically added to the game session, for example, by the session manager 216 of the session queuing service 208, at step 708. If the selected user declines or fails to accept the invitation notification within a predetermined time period, the session queuing service 208 is configured to remove the user from the queue, or alternatively place the user at the end of the queue and select the next user at the top of the queue.

[0088] As described above, once the session has been filled according to the specified number of participants, the anchor / host can initiate the session as active, while in some other embodiments, the session can be automatically activated. In either case, the session will proceed to the end. Based on the session state tracked by the session tracker 222, when the session is completed, it is determined in step 710 whether the game / stream has ended. If the game / stream ends, the title or session queuing service 208 will remove the guest player from the session and disconnect the connection of the queued user in step 712 (for example, through the session manager 216). If the game / stream is not completed, the session queuing service 208 will remove or kick the guest player from the session in step 714 (for example, through the session manager 216) to release the available position in the session for the new guest player and leave only the anchor / host. The session tracker 222 is configured to relay information about the available session position in the game / stream and the subsequent users available in the queue between the session queuing service 208 and the MP service stream (or game session) 716 at the game / streaming service system or platform. The described process may then automatically repeat, for example, beginning with selecting a subsequent user available in the queue at step 704 and sending a WNS game invitation to the selected user at step 706 .

[0089] In embodiments, any guest players who leave a game / stream may be automatically removed from the queue (e.g., by the queue manager 214) during the waiting period while a session is ongoing. Due to the automatic nature of the described embodiments, once the process restarts, the host / host will not need to perform any actions to select subsequent queued users as new guest players until the host / host cancels or ends the game / stream and session. Additionally, users who are stream viewers or wish to become active participants can remain in the queue and see their position in the queue via their respective UI while they wait.

[0090] Therefore, the described session participation and queue management system and process enables a significant reduction in network traffic and load of the network 110 by reducing the communication required for session establishment, and the power consumption of the systems and devices herein is also reduced through seamless iteration of sessions, enabling a more efficient implementation over current solutions. In addition, the prior art lacks a session participation and queue management system that is configured and / or programmed to operate in such an efficient manner.

[0091] Example User Interface Embodiment

[0092] The client devices described herein (e.g., Figure 1 Users of the host / host client device 102a and / or guest client device 102b are configured to interact with each other and with Figure 1 The session queue host 104 and / or Figure 2 The session queue host 202 and the session queue service 208 of the system 200 in the embodiment of the presenter / host client device 102a and / or the guest client device 102b can be any type of computing device or computing system, including a game console, a terminal, a personal computer, a laptop, a tablet device, a smart phone, etc., which can be used by a user to play, stream and / or watch the title developer's title (i.e., watch the video stream of the title developer's title). As mentioned above, such devices may include devices such as Figure 1 The UIs and their information / content described herein may be provided in whole or in part by a title executed by a client device or other system / host, may be embedded in a client device, or any combination thereof.

[0093] Now go to Fig. 8A and 8B , UIs are described as various embodiments of UI 112a and UI 112b.

[0094] exist Fig. 8A, a block diagram of a moderator UI 800A is shown. The illustrated moderator UI 800A is another embodiment of UI 112a. The moderator UI 800A may be a Figure 2 The UI provider(s) 220 provides a UI to the anchor / host. The host UI 800A is described as follows.

[0095] The host UI 800A may include a game / stream play window 802, which is configured to display the activities that occur during the stream or game of the title by the anchor / host. The host UI 800A may also include a configurable object that can be selected by the anchor / host or interacted with to configure the credentials. For example, a session credential object 804 and a priority credential object 806 are shown. The session credential object 804 and / or the priority credential object 806 may include a drop-down menu or other type of extensible interface that enables the anchor / host to specify and / or select the credentials implemented in the session participation and queue management embodiments described herein. The session credential object 804 provides configuration options associated with user credentials for sessions that can join the game / stream. As an example, the anchor / host may wish to require that only its followers and friends, or only members of a specific community or group, are allowed to join and participate in the game / stream session. However, it is conceivable that other features / credentials of the user may be specified relative to the session credential object 804. The priority credentials object 806 provides configuration options associated with user credentials for prioritized queue placement when requesting to join and participate in a game / streaming session. As an example, a streamer / host may wish to allow a user or subscriber to his / her streaming channel with a password provided by the streamer / host via the messaging object 816 to be placed at the top of the queue, but behind other users / subscribers who have such characteristics / criteria that have been queued (i.e., ahead of queued users who do not have such characteristics / criteria). However, it is contemplated that other characteristics / credentials of a user may be specified relative to the priority credentials object 806.

[0096] The host UI 800A may also include a selectable object 808, which is configured to start the LFG process (i.e., activate the conversation mode of the stream) when selected to start a conversation with other users participating in the activity. In various embodiments, as described below, selecting object 808 causes the guest UI 800B to display or activate one or more parts thereof to the user. The host UI 800A may also include a representation of a queue (e.g., a queue object 810), in which the user is queued according to the various embodiments described. The queue object 810 may illustrate the queued user and its position in the queue. The queue object 810 may also provide an indication 812, which indicates the number of queued users (e.g., users at queue positions 1 and 2 as shown) or queued users to be added to the next conversation. In other words, in the illustrated embodiment, two queued users as a subset of the queued users are allowed to be added for each conversation with a total of three participants (including the anchor / host), although other numbers of user subsets are contemplated herein. The queue object 810 may illustrate other information / features associated with the users in the queue, such as avatar images, badges, subscription indications, etc. In some embodiments, the host UI 800A may enable the anchor / host to select specific users from the queue object 810 for prioritization.

[0097] The host UI 800A may also include selectable objects 814 for other actions, which are not shown for clarity and brevity of illustration. Other actions performed upon selecting object 814 may include, but are not limited to, removing a user from queue object 810, ending a session, ending a stream, starting a session, setting limits for session participants, setting a duration for a session, displaying session information (such as time remaining or progress toward a session goal) to the guest UI, etc. In various embodiments, selecting object 808 or object 814 may provide a list or history showing session options previously implemented by the host / host.

[0098] exist Figure 8B , a block diagram of a guest UI 800B is shown. The illustrated guest UI 800B is another embodiment of UI 112b. The guest UI 800B may be a Figure 2 The UI provider (s) 220 provides the UI to the anchor / host. The guest UI 800B may be provided when the user enters a title lobby, a group, etc. The guest UI 800B is described as follows.

[0099] The guest UI 800B may include a game / stream viewing window 818 configured to display the streamer / host's activities occurring during a stream or game of the title. The game / stream viewing window 818 may be configured to display session information, such as time remaining or progress toward a session goal. As described herein, the game / stream viewing window 818 may be configured to display a user's participation in a session of a game / stream after being added thereto.

[0100] The guest UI 800B may include a credentials object 820, a request to join object 822, a queue object 824, and a reminder indication object 828. One or more of these objects may be configured to not be displayed or to be disabled until the host / host activates the LFG process or session (e.g., via object 808 of the host UI 800A).

[0101] In some examples, the credentials object 820 can be configured to enable the user to enter or select credentials to provide to the host / host to verify the user's permission. For example, the credentials object 820 can be a text field in which the user can enter a password provided by the host / host via the messaging object 830. As described herein, the request to join object 822 can be selected by the user to cause a request to join the session to be sent.

[0102] The queue object 824 may display a representation of a queue in which users are queued according to the various embodiments described. The queue object 824 may illustrate the queued users and their positions in the queue, including the user viewing the guest UI 800B. The queue object 824 may also provide an indication 826 indicating the number of queued users (e.g., users at queue positions 1 and 2 as shown) or queued users that will be added to the next session. In other words, in the illustrated embodiment, two queued users are allowed to be added as a subset of the queued users for each session with a total of three participants (including the anchor / host), although other numbers of user subsets are contemplated herein.

[0103] The reminder indication object 828 is configured to provide a reminder indication for the initiation of an active session in which the user will participate as a guest player. The reminder notification provided by the reminder indication object 828 may include any type of visual and / or audible notification. In various embodiments, the reminder indication object 828 may be configured as a selectable object that is activated by the user to accept an invitation to join the session, as described above. For example, when a queued user is automatically selected to be included in the session and a notification is automatically provided to the user (as described above), the reminder indication object 828 may be configured to be a selectable object that is activated by the user to accept an invitation to join the session. Figure 7 The user may respond to the notification by selecting the reminder indicator object 828 to accept the insertion into the conversation (as shown in steps 704 and 706 of flowchart 700 in FIG. 8 ).

[0104] As will be appreciated by persons skilled in the relevant arts having the benefit of this disclosure, these and other functions of the host UI 800A and the guest UI 800B may be combined with any other embodiments and features of the described systems and devices.

[0105] III. Example Mobile Device and Computing Device Embodiments

[0106] The embodiments described herein may be implemented in hardware or in combination with software and / or firmware. For example, the embodiments described herein may be implemented as computer program codes / instructions configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, the embodiments described herein may be implemented as hardware logic / circuitry.

[0107] As mentioned herein, the described embodiments include Figure 1 Queuing system 100, Figure 2 System 200, Fig. 8A The host UI 800A and Figure 8B The guest UI 800B, and any components and / or subcomponents thereof, and the flowcharts / flowcharts described herein and / or other examples described herein, may be implemented in hardware or hardware with any combination of software and / or firmware, including being implemented as computer program code configured to be executed in one or more processors and stored in a computer-readable storage medium, or being implemented as hardware logic / circuitry, such as being implemented together in a system on a chip (SoC), a field programmable gate array (FPGA), or an application-specific integrated circuit (ASIC). The SoC may include an integrated circuit chip that includes one or more of the following: a processor (such as a microcontroller, a microprocessor, a digital signal processor (DSP), etc.), a memory, one or more communication interfaces, and / or further circuits and / or embedded firmware for performing its functions.

[0108] The embodiments described herein may be implemented in one or more computing devices that are similar to the mobile systems and / or computing devices in the stationary or mobile computer embodiments, including one or more features of the mobile systems and / or computing devices described herein and alternative features. The descriptions of the mobile systems and computing devices provided herein are provided for illustrative purposes and are not intended to be limiting. The embodiments may also be implemented in other types of computer systems known to those skilled in the relevant art.

[0109] Fig. 9 900 is a block diagram of an exemplary mobile system 900 including a mobile device 902 that can implement various embodiments described herein. For example, in the preceding sections, the mobile device 902 can be used to implement any system, client or device or its components / subcomponents. Fig. 9 As shown in FIG. 1 , mobile device 902 includes various optional hardware and software components. Any component in mobile device 902 may communicate with any other component, but not all connections are shown for ease of illustration. Mobile device 902 may be any of a variety of computing devices (e.g., a cellular phone, a smart phone, a handheld computer, a personal digital assistant (PDA), etc.), and may allow wireless two-way communication with one or more mobile communication networks 904, such as a cellular or satellite network, or with a local area network or a wide area network.

[0110] The mobile device 902 may include a controller or processor 910 (e.g., a signal processor, microprocessor, ASIC, or other control and processing logic circuit system) for performing tasks such as signal encoding, data processing, input / output processing, power control, and / or other functions. An operating system 912 may control the allocation and use of the mobile device 902 and provide support for one or more application programs 914 (also referred to as "applications," "apps," etc.). The application programs 914 may include common mobile computing applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications), or any other computing applications (e.g., word processing applications, drawing applications, media player applications).

[0111] The mobile device 902 may include a memory 920. The memory 920 may include a non-removable memory 922 and / or a removable memory 924. The non-removable memory 922 may include RAM, ROM, flash memory, a hard disk, or other well-known memory devices or technologies. The removable memory 924 may include flash memory or a subscriber identity module (SIM) card known in the GSM communication system, or other well-known memory devices or technologies such as "smart cards". The memory 920 may be used to store data and / or code for running the operating system 912 and the application 914. Example data may include web pages, texts, images, sound files, video data, or other data sets sent to and / or received from one or more network servers or other devices via one or more wired or wireless networks. The memory 920 may be used to store subscriber identifiers such as an international mobile subscriber identity (IMSI), and device identifiers such as an international mobile equipment subscriber identifier (IMEI). Such identifiers may be transmitted to a network server to identify users and devices.

[0112] A number of programs may be stored in the memory 920. These programs include an operating system 912, one or more application programs 914, and other program modules and program data. For example, examples of such applications or program modules may include computer program logic (e.g., computer program code or instructions) for implementing one or more of the following: Figure 1Queuing system 100, Figure 2 System 200, Fig. 8A The host UI 800A and Figure 8B The Guest UI 800B, and any components and / or subcomponents thereof and the drawings and flow diagrams / process diagrams and / or further examples described herein.

[0113] The mobile device 902 may support one or more input devices 930 such as a touch screen 932, a microphone 934, a camera 936, a physical keyboard 938, and / or a trackball 940, and one or more output devices 950 such as a speaker 952 and a display 954. Other possible output devices (not shown) may include piezoelectric or other tactile output devices. Some devices may provide more than one input / output function. For example, a touch screen 932 and a display 954 may be combined in a single input / output device. The input device 930 may include a natural user interface (NUI).

[0114] One or more wireless modems 960 may be coupled to an antenna(s) (not shown) and may support two-way communication between the processor 910 and external devices, as is well understood in the art. The modem 960 is generally shown and may include a cellular modem 966 and / or other radio-based modems (e.g., Bluetooth 964 and / or Wi-Fi 962) for communicating with the mobile communication network 904. At least one wireless modem 960 is typically configured to communicate with one or more cellular networks (such as a GSM network) for data and voice communications within a single cellular network, between multiple cellular networks, or between a mobile device and a public switched telephone network (PSTN).

[0115] The mobile device 902 may further include at least one input / output port 980, a power source 982, a satellite navigation system receiver 984 such as a global positioning system (GPS) receiver, an accelerometer 986, and / or a physical connector 990, which may be a USB port, an IEEE 1394 (Firewire) port, and / or an RS-232 port. The components of the mobile device 902 shown are not required or all-inclusive, as any component may not be present and other components may be present in addition as understood by those skilled in the art.

[0116] In an embodiment, the mobile device 902 is configured to implement any of the above features of the flowcharts herein. Computer program logic for performing any operations, steps and / or functions described herein may be stored in the memory 920 and executed by the processor 910 .

[0117] Fig.10An exemplary implementation of a computing device 1000 in which embodiments may be implemented is depicted. For example, the embodiments described herein may be implemented in one or more computing devices that are similar to the computing device 1000 in the stationary or mobile computer embodiments, including one or more features and / or alternative features of the computing device 1000. The description of the computing device 1000 provided herein is for illustration only and is not intended to be limiting. Embodiments may also be implemented in other types of computer systems and / or game consoles known to those skilled in the relevant art.

[0118] like Fig.10 As shown, computing device 1000 includes one or more processors (referred to as processor circuit 1002), system memory 1004, and bus 1006 that couples various system components including system memory 1004 to processor circuit 1002. Processor circuit 1002 is an electronic and / or optical circuit implemented as a central processing unit (CPU), microcontroller, microprocessor, and / or other physical hardware processor circuit using one or more physical hardware electronic circuit device elements and / or integrated circuit devices (semiconductor material chips or tube dies). Processor circuit 1002 can execute program codes stored in computer-readable media, such as operating system 1030, application program 1032, program code of other programs 1034, etc. Bus 1006 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a local bus of a processor or using any of various bus architectures. System memory 1004 includes read-only memory (ROM) 1008 and random access memory (RAM) 1010. A basic input / output system 1012 (BIOS) is stored in ROM 1008 .

[0119] The computing device 1000 also has one or more of the following drives: a hard disk drive 1014 for reading and writing a hard disk, a disk drive 1018 for reading or writing a removable disk 1016, and an optical drive 1022 for reading or writing a removable optical disk 1020 such as a CD ROM, DVD ROM or other optical media. The hard disk drive 1014, the disk drive 1016, and the optical drive 1020 are connected to the bus 1006 via a hard disk drive interface 1024, a disk drive interface 1026, and an optical drive interface 1028, respectively. These drives and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules and other data for the computer. Although a hard disk, a removable disk and a removable optical disk are described, other types of hardware-based computer-readable storage media such as flash memory cards, digital video disks, RAM, ROM and other hardware storage media may also be used to store data.

[0120] Several program modules may be stored on a hard disk, a magnetic disk, an optical disk, a ROM, or a RAM. These programs include an operating system 1030, one or more application programs 1032, other programs 1034, and program data 1036. Application programs 1032 or other programs 1034 may include, for example, computer program logic (e.g., computer program code or instructions) for implementing the various embodiments described herein, such as Figure 1 Queuing system 100, Figure 2 System 200, Fig. 8A The host UI 800A and Figure 8B The Guest UI 800B, and any components and / or subcomponents thereof, and the drawings and flow charts / flow diagrams described herein and / or further examples described herein.

[0121] A user may enter commands and information into the computing device 1000 through input devices such as a keyboard 1038 and a pointing device 1040. Other input devices (not shown) may include a microphone, a joystick, a game controller, a satellite dish, a scanner, a touch screen and / or touch pad, a voice recognition system for receiving voice input, a gesture recognition system for receiving gesture input, and the like. These and other input devices are typically connected to the processor circuit 1002 through a serial port interface 1042 coupled to the bus 1006, but may be connected through other interfaces such as a parallel port, a game port, or a universal serial bus (USB).

[0122] Display screen 1044 is also connected to bus 1006 via an interface such as video adapter 1046. Display screen 1044 can be external to or incorporated into computing device 1000. Display screen 1044 can display information, as well as serve as a user interface for receiving user commands and / or other information (e.g., through touch, finger gestures, virtual keyboard, etc.). In addition to display screen 1044, computing device 1000 may also include other peripheral output devices (not shown), such as speakers and printers.

[0123] The computing device 1000 is connected to a network 1048 (e.g., the Internet) through an adapter or network interface 1050, a modem 1052, or other means for establishing communications over the network. The modem 1052, which may be internal or external, may be connected to the bus 1006 via the serial port interface 1042, such as a serial bus. Fig.10 As shown, or another interface type including a parallel interface may be used to connect to bus 1006.

[0124] As used herein, the terms "computer program medium", "computer readable medium", and "computer readable storage medium" and the like are used to refer to physical hardware media, such as a hard disk associated with hard disk drive 1014, removable disk 1018, removable optical disk 1022, other physical hardware media, such as RAM, ROM, flash memory cards, digital video disks, zip disks, MEMs, nano-based storage devices, and other types of physical / tangible hardware storage media (including Fig.10 Memory 1020 of the present invention. Such computer-readable media and / or storage media are distinguished from and do not overlap with communication media and propagation signals (excluding communication media and propagation signals). Communication media carry computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave. The term "modulated data signal" means a signal in which one or more characteristics are set or changed in a manner that encodes information in the signal. By way of example and not limitation, communication media include wireless media (such as acoustic, RF, infrared, and other wireless media) and wired media. Various embodiments also relate to such communication media that are separate from and do not overlap with embodiments involving computer-readable storage media.

[0125] As noted above, computer programs and modules (including application programs 1032 and other programs 1034) may be stored on a hard disk, disk, optical disk, ROM, RAM, or other hardware storage medium. Such computer programs may also be received via network interface 1050, serial port interface 1042, or any other interface type. These computer programs, when executed or loaded by an application, enable computer 1000 to implement the features of the various embodiments discussed herein. Accordingly, these computer programs represent controllers of computer system 1000.

[0126] Embodiments also relate to computer program products including computer codes or instructions stored on any computer readable medium or computer readable storage medium, including hard disk drives, optical disk drives, memory device packages, portable memory sticks, memory cards, and other types of physical storage hardware.

[0127] IV. Additional Examples and Advantages

[0128] As described, the system and equipment embodying the technology of this article can be configured and enabled in various ways to perform their respective functions. In various embodiments, one or more of the steps or operations of any flow chart and / or flow chart described herein may not be performed. In addition, steps or operations other than the steps or operations in any flow chart and / or flow chart described herein may be performed. In addition, in various examples, one or more operations of any flow chart and / or flow chart described herein may not be performed in sequence, may be performed in a replaced sequence, or may be performed concurrently with each other or with other operations partially (or completely).

[0129] While the embodiments described in the above sections may be described in the context of a host / host user streaming a title that other users are watching (e.g., in a virtual or online lobby associated with the title), these embodiments may also be applied to groups of users (e.g., friend groups) that "meet" in a virtual or online location to play a game that is not streamed for viewing. For example, a multiplayer game session that allows four or eight players to participate simultaneously may be created and hosted by a user who wishes to play with a friend group. When the friend group (including the host user) exceeds the number of participants allowed for the game, the embodiments described herein for managing session tracking and automatic queuing are equally applicable to such scenarios.

[0130] The described embodiments not only improve the user's experience and the performance of their client devices (such as reducing power consumption and reducing processing cycle burden by more efficiently handling each function by the central system) and the load of the network between them, but also improve the performance of the game / streaming service system / platform. Through the seamless integration of the title described herein, the computing resource utilization of the title developer is also reduced (e.g., reducing development time and development processing cycle). Additionally, the centrally located session queuing system and device herein provide dynamically configurable queue management for game / streaming session participation, which is customized according to the preferences of each specific anchor host and the title they are streaming. It should be noted that the "centrally located" system may include geographically different components (e.g., servers, data centers, etc.) that are configured to effectively facilitate the embodiments described in different geographic regions-that is, "centrally located" can describe the functions and implementations of the various embodiments described and / or the physical location of the system. Real-time queue status updates are enabled by the described persistent connection, which also provides the ability to automatically manage queues without anchor / host supervision (e.g., removing users from queues due to unresponsiveness or leaving the stream / hall). Therefore, the time waiting to join a session and the complexity of user interactions to join a session are greatly reduced by efficiently managing and processing the automatic queue for session participation, reducing the processing requirements of the host / anchor and the client device and the service platform itself, and further reducing network traffic. That is, the managed function of queuing users who submit requests to join a session, determining the start of the session, and then automatically inserting a predetermined number of queued users into the session to initiate an active session reduces the processing of the client devices and service platforms involved, and requires less network communication between them. In addition, the completion of the previous active session is determined, and all guest players of the previous active session are automatically removed based on the completion and before the predetermined number of queued users are automatically inserted into the session, thereby further improving the processing efficiency for queue management as described herein, and further reducing network communication. Similarly, management that further improves queuing efficiency, such as automatically requeuing the one or more removed guest players in response to the removal of the one or more removed guest players who have completed the session, and automatically causing any user who leaves the active group to exit the queue, improves queuing efficiency and operation, which in turn has a positive impact on session participation.

[0131] Furthermore, the described embodiments do not exist in a software implementation (eg, a cloud-based implementation) for improving engagement in an online content stream or activity by managing session tracking and automatic queuing.

[0132] Furthermore, real-time queue status information is automatically provided to the host / moderator during streaming and to queued users when they are watching content streams and / or waiting for session participation via the guest UI without additional input, and users are automatically inserted into the session from the queue at the appropriate time (e.g., when the session is determined to start), thereby improving UI functionality and experience. Additionally, the host / moderator user is able to view the queue status via the host UI, and the queue automatically iterates with the session, allowing the host / moderator to continuously monitor session participation and streaming.

[0133] It is also contemplated herein that session participation and / or performance may be linked to reward services associated with the title being streamed and / or the game / streaming service or platform used. Rewards may include, but are not limited to, badges, skins, in-game items, experience points, in-game unlocks, etc.

[0134] The additional examples and embodiments described in this section may be applicable to the examples disclosed in any other sections or subsections of this disclosure.

[0135] A session queuing system is described herein. The session queuing system can be configured and enabled in various ways to enhance participation in online content streams or activities by managing session tracking and automatic queuing, as described herein. The session queuing system includes one or more processors and one or more memories storing program code to be executed by the processor. The program code includes an audience manager, a queue manager, and a session manager. The audience manager is configured to associate users with activities (e.g., games or video streams) of a host player by including the users in an activity group. The queue manager is configured to receive a request from at least a subset of users in the activity group to join an active session as a guest player, the session including participating in an activity with the host player; and queue users who submit requests to join a session. The session manager is configured to determine the start of a session; and automatically insert a predetermined number of queued users into a session to initiate an active session.

[0136] In one embodiment of the session queuing system, the session manager is configured to track previous active sessions that occurred before the active session; and determine the start based on completion of the previous active session.

[0137] In one embodiment of the session queuing system, the session manager is configured to determine completion of a previously active session; and based on the completion and prior to said automatically inserting a predetermined number of queued users into the session, automatically remove all guest players of the previously active session.

[0138] In one embodiment of the session queuing system, the session manager is configured to provide a notification to a predetermined number of queued users to insert them into the session; receive a corresponding response to the notification; and automatically insert the predetermined number of queued users into the session based on the corresponding response.

[0139] In one embodiment of a session queuing system, the queue manager is configured to perform one or more of the following: automatically dequeue one or more removed guest players in response to the removal of the one or more removed guest players completing a session; automatically dequeue any user who leaves an active group; or prioritize the queues of users based on their characteristics.

[0140] In one embodiment of the session queuing system, the program code further includes a guest user interface (UI) provider configured to provide a guest UI to a user in an active group, wherein the guest UI includes at least one of: a selectable object that, when activated, provides a request to join a video streaming session; a credential portion configured to verify the user's permission; an indication of the user's queue position; or a reminder indication of the initiation of an active session in which the user will participate as a guest player.

[0141] In one embodiment of the session queuing system, the program code further includes a host user interface (UI) provider configured to provide a host UI to the host player, the host UI including at least one of the following: a selectable object that, when activated, initiates a session mode in which a guest UI will be provided to users in an active group; a first configurable object that specifies credentials that enable eligible users in the active group to join a session for video streaming; or a second configurable object that specifies credentials by which users in the active group are prioritized in queue to join a session for video streaming.

[0142] A method for session queuing executed on a processing system is also described. The method enhances participation in an online content stream or activity by managing session tracking and automatic queuing, as described herein. The method includes: receiving a request from at least a subset of users in an activity group to join a session of the activity as a guest player, the session including participating in the activity with a host player; and queuing the users who submitted the request to join the session. The method also includes: determining the start of the session, and automatically inserting a predetermined number of queued users into the session to initiate an active session.

[0143] In an embodiment, the method further comprises: tracking a previous active session that occurred before the active session; and determining the start based on completion of the previous active session.

[0144] In one embodiment, the method further includes: determining completion of a previously active session; and based on the completion and before said automatically inserting a predetermined number of queued users into the session, automatically removing all guest players of the previously active session.

[0145] In an embodiment, the method further includes: providing a notification to the number of queued users to insert them into the session; receiving a corresponding response to the notification; and automatically inserting the number of queued users into the session also based on the corresponding response.

[0146] In one embodiment, the method further includes at least one of: automatically queuing one or more removed guest players in response to the removal of the one or more removed guest players who completed the session; automatically dequeuing any user who leaves the active group; or prioritizing the queues of users based on their characteristics.

[0147] In one embodiment, the method further includes: providing a guest user interface (UI) to each user in the active group, the UI including at least one of: a selectable object that, when activated, provides a request to join a video streaming session; a credential portion that is configured to verify the user's permission; an indication of the user's queue position; or a reminder indication of the initiation of an active session in which the user will participate as a guest player.

[0148] In one embodiment, the method further includes: providing a host user interface (UI) to the host player, the UI including at least one of the following: a selectable object that, when activated, initiates a session mode in which a guest UI will be provided to users in the active group; a first configurable object that specifies credentials that qualify users to join a session for video streaming; or a second configurable object that specifies credentials by which users are prioritized in a queue to join a session for video streaming.

[0149] Also provided herein is a computer-readable medium having program instructions recorded thereon, which, when executed by a processing device, performs a method for session queuing. The method enhances participation in an online content stream or activity by managing session tracking and automatic queuing, as described herein. The method includes: associating a user with an activity of a host player by including the user in an activity group; receiving a request from at least a subset of the users in the activity group to join a session of the activity as a guest player, the session including participating in the activity with the host player. The method also includes: queuing users who submit requests to join the session; determining the start of the session, and automatically inserting a predetermined number of queued users into the session to initiate an active session.

[0150] In an embodiment of the computer readable storage medium, the method further comprises: tracking a previous active session that occurred before the active session; and determining the start based on completion of the previous active session.

[0151] In an embodiment of the computer readable storage medium, the method further comprises: determining completion of a previously active session, and based on the completion and before said automatically inserting a predetermined number of queued users into the session, automatically removing all guest players of the previously active session.

[0152] In an embodiment of the computer-readable storage medium, the method further includes: providing a notification to the number of queued users to insert them into the session; receiving a corresponding response to the notification; and automatically inserting the number of queued users into the session also based on the corresponding response.

[0153] In one embodiment of the computer-readable storage medium, the method further includes at least one of the following: automatically queuing one or more removed guest players in response to the removal of the one or more removed guest players who completed the session; automatically removing any user who leaves the active group from the queue; or prioritizing the queues of users based on their characteristics.

[0154] In one embodiment of the computer-readable storage medium, the method further includes: providing a guest user interface (UI) to a user in the active group, the guest UI including at least one of: a selectable object that, when activated, provides a request to join a video streaming session; a credential portion configured to verify the user's permission; an indication of the user's queue position; or a reminder indication for the initiation of an active session in which the user will participate as a guest player. In one embodiment, the method further includes providing a host UI to a host player, the host UI including at least one of: a selectable object that, when activated, initiates a session mode such that a guest UI will be provided to each user in the active group; a first configurable object that specifies credentials that enable eligible users in the active group to join a video streaming session; or a second configurable object that specifies credentials by which one or more users in the active group are prioritized in queue to join a video streaming session.

[0155] V. Conclusion

[0156] Although various embodiments of the disclosed subject matter are described above, it should be understood that they are presented by way of example only and not limitation. (s) Those skilled in the relevant art will appreciate that various modifications may be made in form and detail without departing from the spirit and scope of the various embodiments as defined in the appended claims. Accordingly, the scope of the disclosed subject matter should not be limited by any of the exemplary embodiments described above, but should only be limited according to the following claims and their equivalents.

Claims

1. A session queuing system, comprising: processor; as well as a memory configured to store program code to be executed by the processor, the program code comprising: Audience Manager, which is configured to: associating the user with the host player's activity by including the user in an activity group; A queue manager that is configured to: receiving a request from at least a subset of the users in the activity group to join a session of the activity as a guest player, the session comprising participating in the activity with the host player, and The users who submitted the requests to join the session are queued in the order in which the users submitted the requests to form a queue; and The session manager is configured to: determining the start of said session, automatically inserting a first predetermined number of queued users in the queue into the session to initiate an active session; determining an end of the active session; automatically removing the first predetermined number of queued users from the active session; and A second predetermined number of queued users in the queue subsequent to the first predetermined number of queued users are automatically inserted into the session to initiate a second active session.

2. The session queuing system according to claim 1, characterized in that: The session manager is configured to: Tracking previous active sessions that occurred before the active session, and The starting is determined based on completion of the previously active session.

3. The session queuing system according to claim 2, characterized in that: The session manager is configured to: determining completion of the previously active session, and Based on said completion and before said automatically inserting said first predetermined number of queued users into said session, automatically removing all guest players of said previously active session.

4. The session queuing system according to claim 1, characterized in that: The session manager is configured to: providing notification to the first predetermined number of queued users to insert them into the session; receiving a corresponding response to the notification; and The first predetermined number of queued users are automatically inserted into the session based on the respective responses.

5. The session queuing system according to claim 1, characterized in that: The queue manager is configured to perform one or more of the following: automatically queuing the one or more removed guest players in response to removal of the one or more removed guest players to complete a session; Automatically dequeue any user who leaves the active group; or The queues of users are prioritized based on their characteristics.

6. The session queuing system according to claim 1, characterized in that: The program code further includes: A guest user interface (UI) provider configured to provide a guest UI to users in the activity group, the guest UI comprising at least one of the following: a selectable object which, when activated, provides a request to join said session of video streaming; a credential portion configured to verify the user's permission; an indication of the user's queue position; or A reminder indication for initiation of the active session in which the user will participate as a guest player.

7. The session queuing system according to claim 1, characterized in that: The program code further includes: A host user interface (UI) provider, configured to provide a host UI to the host player, wherein the host UI includes at least one of the following: a selectable object that, when activated, initiates a session mode such that a guest UI will be provided to users in the active group; a first configurable object specifying credentials for enabling eligible users in the active group to join the session of video streaming; or A second configurable object specifies credentials whereby the users in the active group are prioritized in a queue to join the session of the video stream.

8. A method for session queuing performed on a processing system, the method comprising: receiving a request from at least a subset of users in the activity group to join a session of the activity as a guest player, the session comprising participating in the activity with a host player; The users who submit the requests to join the session are queued in the order in which the users submit the requests to form a queue; determining a start of the session; automatically inserting a first predetermined number of queued users in the queue into the session to initiate an active session; determining an end of the active session; automatically removing the first predetermined number of queued users from the active session; as well as A second predetermined number of queued users in the queue subsequent to the first predetermined number of queued users are automatically inserted into the session to initiate a second active session.

9. The method for session queuing according to claim 8, characterized in that: Further including: Tracking previous active sessions that occurred before the active session; as well as The starting is determined based on completion of the previously active session.

10. The method for session queuing according to claim 9, characterized in that: Further including: determining completion of the previously active session; as well as Based on said completion and before said automatically inserting said first predetermined number of queued users into said session, automatically removing all guest players of said previously active session.

11. The method for session queuing according to claim 8, characterized in that: Further including: providing notification to the first predetermined number of queued users to insert them into the session; receiving a corresponding response to the notification; as well as The first predetermined number of queued users are also automatically inserted into the session based on the corresponding responses.

12. The method for session queuing according to claim 8, characterized in that: Further includes at least one of the following: automatically queuing the one or more removed guest players in response to removal of the one or more removed guest players to complete a session; Automatically dequeue any user who leaves the active group; or The queues of users are prioritized based on their characteristics.

13. The method for session queuing according to claim 8, characterized in that: Further including: Providing a guest user interface (UI) to each user in the activity group, the guest UI comprising at least one of the following: a selectable object which, when activated, provides a request to join said session of video streaming; a credential portion configured to verify the user's permission; an indication of the User's queue position; or A reminder indication for initiation of the active session in which the user will participate as a guest player.

14. The method for session queuing according to claim 8, characterized in that: Further including: A host user interface UI is provided to the host player, wherein the host UI includes at least one of the following: a selectable object that, when activated, initiates a session mode such that a guest UI will be provided to users in the active group; a first configurable object specifying credentials that entitle a user to join the session of the video stream; or A second configurable object specifies credentials whereby users are prioritized in a queue to join the session of the video stream.

15. A computer readable medium having program instructions recorded thereon, the program instructions, when executed by a processing device, performing a method for session queuing, the method comprising: associating the user with the host player's activity by including the user in an activity group; receiving a request from at least a subset of the users in the activity group to join a session of the activity as a guest player, the session comprising participating in an activity with the host player; The users who submit the requests to join the session are queued in the order in which the users submit the requests to form a queue; determining a start of the session; automatically inserting a first predetermined number of queued users in the queue into the session to initiate an active session; determining an end of the active session; automatically removing the first predetermined number of queued users from the active session; as well as A second predetermined number of queued users in the queue subsequent to the first predetermined number of queued users are automatically inserted into the session to initiate a second active session.

16. The computer-readable medium of claim 15, wherein: The method further comprises: Tracking previous active sessions that occurred before the active session; and The starting is determined based on completion of the previously active session.

17. The computer-readable medium of claim 16, wherein: The method further comprises: determining completion of the previously active session; and Based on said completion and before said automatically inserting said first predetermined number of queued users into said session, automatically removing all guest players of said previously active session.

18. The computer-readable medium of claim 15, wherein: The method further comprises: providing notification to the first predetermined number of queued users to insert them into the session; receiving a corresponding response to the notification; and The first predetermined number of queued users are also automatically inserted into the session based on the corresponding responses.

19. The computer-readable medium of claim 15, wherein: The method further comprises at least one of the following: automatically queuing the one or more removed guest players in response to removal of the one or more removed guest players to complete a session; Automatically dequeue any user who leaves the active group; or The queues of users are prioritized based on their characteristics.

20. The computer-readable medium of claim 15, wherein: The method further comprises: Providing a guest user interface (UI) to users in the activity group, the guest UI comprising at least one of the following: a selectable object which, when activated, provides a request to join said session of video streaming; a credential portion configured to verify the user's permission; an indication of the user's queue position; or a reminder indication for initiation of the active session in which the user will participate as a guest player; and A host UI is provided to the host player, wherein the host UI includes at least one of the following: a selectable object that, when activated, initiates a session mode such that a guest UI will be provided to each user in the active group; a first configurable object specifying credentials for enabling eligible users in the active group to join the session of video streaming; or A second configurable object specifies credentials whereby one or more users in the active group are prioritized in a queue to join the session of the video stream.

Citation Information

Patent Citations

  • Content-aware persistent user room

    US20130268592A1

  • System and method for arranging and presenting interactive preshow sessions to an audience

    US9100629B1