The present disclosure is generally related to multi-party communications.
Social networking applications may provide users with an environment to share information. For example, social networking web sites may enable a user to exchange messages, photographs, and videos with one or more other users (e.g., friends or family members). As another example, telepresence, videoconferencing, and video telephony services may enable a user to communicate with one or more other users. An enhanced social networking experience may be attractive to some users.
An environment that enables multiple users to “share” a multimedia experience (e.g., a group presence session) in the privacy of a selected group may provide users with an improved social networking experience. For example, users that are located in different locations (e.g., different geographical areas) may be able to share a service together at the same time and experience each other's presence while consuming the service. A group presence session that provides integrated video, voice (e.g., speaking between members in the group), and audio (e.g., listening to the service) may be attractive to such users. For example, services that can involve multiple people may include watching a television program (e.g., a sporting event), video on demand (VoD) content, or playing a video game, among other alternatives.
In a particular embodiment, a method includes receiving a request to establish a group presence session between at least a first device associated with a first network and a second device associated with a second network. The request is received at a group presence server from the first device. During the group presence session, multimedia content is to be provided to the first device at substantially the same time as the multimedia content is to be provided to the second device, and first presence information from the first device is to be provided to the second device at substantially the same time as second presence information from the second device is to be provided to the first device. The method includes determining a first device capability of the first device and a second device capability of the second device. The method further includes synchronizing the multimedia content, the first presence information, and the second presence information based on the first device capability, the second device capability, information associated with the first network, and information associated with the second network. A first synchronized content stream that includes the multimedia content and the second presence information is transmitted to the first device via the first network. A second synchronized content stream that includes the multimedia content and the first presence information is transmitted to the second device via the second network.
In another particular embodiment, a non-transitory computer readable storage medium includes instructions that are executable by a processor. The instructions, when executed by the processor, cause the processor to receive a request from a first device associated with a first network to establish a group presence session (e.g., a shared multimedia experience) between at least the first device and a second device. During the group presence session, multimedia content is to be provided to the first device at substantially the same time as the multimedia content is to be provided to the second device, and first presence information from the first device is to be provided to the second device at substantially the same time as second presence information from the second device is to be provided to the first device. The instructions, when executed by the processor, cause the processor to determine a first device capability of the first device and a second device capability of the second device. The instructions, when executed by the processor, cause the processor to synchronize the multimedia content, the first presence information, and the second presence information based on the first device capability, the second device capability, information associated with the first network, and information associated with the second network. A first synchronized content stream that includes the multimedia content and the second presence information is transmitted to the first device via the first network. A second synchronized content stream that includes the multimedia content and the first presence information is transmitted to the second device via the second network.
In another particular embodiment, a system includes a processor and a non-transitory computer readable storage medium that includes instructions that are executable by the processor. The instructions, when executed by the processor, cause the processor to receive a request from a set-top box (STB) device associated with an internet protocol television (IPTV) network to establish a group presence session between at least the STB device and a second device associated with a second network. During the group presence session, multimedia content is to be provided to the STB device at substantially the same time as the multimedia content is to be provided to the second device, and first presence information from the STB device is to be provided to the second device at substantially the same time as second presence information from the second device is to be provided to the STB device. The instructions, when executed by the processor, cause the processor to determine a first device capability of the STB device and a second device capability of the second device. The instructions, when executed by the processor, cause the processor to synchronize the multimedia content, the first presence information, and the second presence information based on the first device capability, the second device capability, information associated with the IPTV network, and information associated with the second network. A first synchronized content stream that includes the multimedia content and the second presence information is transmitted to the STB device via the IPTV network. A second synchronized content stream that includes the multimedia content and the first presence information is transmitted to the second device via the second network.
Referring to
The group presence server 102 is configured to receive a request 112 from the first device 104 associated with the first network 106 to establish a group presence session between at least the first device 104 and the second device 108 associated with the second network 110. In the embodiment illustrated in
The group presence server 102 is configured to provide multimedia content 114 to the first device 104 and to the second device 108 at substantially the same time during the group presence session. During the group presence session, first presence information 116 from the first device 104 (e.g., video of a first user captured via a first camera 118) may be provided to the second device 108 at substantially the same time as second presence information 120 from the second device 108 (e.g., video of a second user captured via a second camera 122) is provided to the first device 104. While not shown in
The group presence server 102 may be configured to determine a first device capability 124 of the first device 104 and a second device capability 126 of the second device 108. Further, the group presence server 102 may be configured to determine first network information 128 associated with the first network 106 and second network information 130 associated with the second network 110. In one embodiment, the device capabilities 124, 126 and the network information 128, 130 may be provided to the group presence server 102 (e.g., provided by the devices 104, 108 or provided by the networks 106, 110). Alternatively, the group presence server 102 may be configured to determine the device capabilities 124, 126 and the network information 128, 130 without receiving information from the devices 104, 108 or the networks 106, 110.
In a particular embodiment, the device capabilities 124, 126 may include hardware capabilities, software capabilities, or a combination thereof. As an illustrative example, the first device 104 may be capable of rendering the multimedia content 114 at a first frame rate (e.g., 30 frames per second), while the second device 108 may be capable or rendering the multimedia content 114 at a second frame rate (e.g., 20 frames per second). In a particular embodiment, the network information 128, 130 may include information such as available bandwidth, latency, reliability (e.g., dropped packets), or any combination thereof. As an illustrative example, the first network 106 may be capable of delivering the multimedia content 114 to the first device 104 at a first data rate (e.g., 100 million bits per second (Mbps)), while the second network 110 may be capable of delivering the multimedia content 114 to the second device 108 at a second data rate (e.g., 10 Mbps).
In a particular embodiment, the group presence server 102 may be configured to synchronize the multimedia content 114 and the presence information 116, 120. Alternatively, a synchronization server 132 may be configured to perform the synchronization. Synchronization may be performed based on at least the device capabilities 124, 126 and the network information 128, 130. The term synchronization may include synchronization with respect to one or more service features or applications or with respect to timing.
To illustrate, a subscriber associated with the first device 104 may subscribe to a television channel associated with the multimedia content 114, while a second subscriber associated with the second device 108 may not subscribe to the television channel. In this case, the second subscriber may be charged to receive the multimedia content 114 associated with the television channel. As an example, the second subscriber may incur a charge associated with viewing the television channel during the group presence session (e.g., a charge associated with temporary access to the television channel). Alternatively, the second subscriber may be prompted to subscribe to the television channel in order to join the group presence session (e.g., a charge associated with full subscription). As another example, a subscriber associated with the first device 104 may have access to software associated with a multi-player game, while a second subscriber associated with the second device 108 may not have access to the software. In this case, synchronization may include providing the software to the second device 108 in order to establish a multi-player gaming group presence session.
As another example, the first camera 118 may be a “web cam” with an ability to capture the first presence information 116 at a first image capture capability (e.g., 2.0 megapixels at 30 frames per second), and the second camera 122 may have a second image capture capability (e.g., 1.3 megapixels at 20 frames per second). Further, the first network 106 may be a broadband network (e.g., an IPTV network), and the second network 110 may have a different bandwidth compared to the first network 106. In these illustrative examples, synchronization may include compensating for the different capabilities of the devices or networks. For example, compensation may include adjusting the presence information 116, 120 to be rendered at a common frame rate (e.g., at 20 frames per second) or at a common frame rate and resolution (e.g., 1.3 megapixels at 20 frames per second). As a further example, compensation may include communicating the multimedia content 114 and the presence information 116, 120 to account for different network data rates (e.g., 100 Mbps via the first network 106 versus 10 Mbps via the second network 110). In this case, the group presence server 102 may compensate for the different network data rates by delivering the multimedia content 114 and the presence information 116, 120 based on the slower data delivery capability (e.g., based on the 10 Mbps capability).
In one embodiment, the synchronization server 132 may synchronize the multimedia content 114 based on such information in order to provide the first user at the first device 104 with a multimedia experience that is similar to a multimedia experience provided to the second device 108 (e.g., a “shared” multimedia experience). In a particular illustrative embodiment, the synchronization server 132 may store at least a portion of the multimedia content 114 (e.g., audio and video information). As an example, the synchronization server 132 may utilize a retransmission buffer to prevent disruption of the group presence session.
In a particular illustrative embodiment, one of the users may execute a “trick play” feature (e.g., pausing, rewinding, or fast forwarding the multimedia content 114, among other alternatives). In this case, the synchronization server 132 may store content for subsequent delivery via the group presence server 102 (e.g., in the event that a user pauses or rewinds a broadcast television program) or may provide stored content to the group presence server 102 (e.g., in the event that a user fast forwards a recorded television program or VoD content). In one embodiment, in response to execution of the “trick play” feature, the group presence server 102 may prevent other users from executing other “trick play” features and may provide a temporary message (e.g., “the other user paused for a moment”). As an example, if the first user pauses a broadcast television program, the group presence server 102 may prevent other users from restarting the program (e.g., the first user that paused the program may retain control).
In another illustrative embodiment, the first device 104 may be located in a first geographical area that is able to receive a particular television channel (e.g., a local television channel), while the second device 108 may be located in a second geographical area that is not able to receive the particular television channel. In this case, synchronization may include making the particular television channel available to the second device 108 (e.g., via a VoD channel). As another example, the first device 104 may be located in a first time zone that receives the multimedia content 114 at a first time, while the second device 108 may be located in a second time zone that receives the multimedia content 114 at a different time. In this case, synchronization may include storing the multimedia content 114 (e.g., at the synchronization server 132) to enable synchronized viewing despite the different broadcast times. Alternatively, the synchronization server 132 may provide the multimedia content 114 in substantially real-time to the second device 108 despite the fact that the multimedia content 114 is scheduled to be broadcast to the second device 108 at a later time.
As an illustrative example, a sporting event may be broadcast live to the first device 104 that is located in a first geographical location. As an example, the sporting event may be a football match being played in South Africa (e.g., the World Cup). A group presence session may be convenient for the first user of the first device 104 during the live broadcast but may be inconvenient for the second user of the second device 108. For example, the football match may be broadcast live to the first device 104 at noon, while the time at a second geographical location associated with the second device 108 may be midnight. In this case, synchronization may include recording the football match for synchronized delivery of the multimedia content 114 during a group presence session at a time that is convenient for both users (e.g., at 8 p.m. for the first device 104 and 8 a.m. for the second device 108).
The group presence server 102 is configured to transmit a first synchronized content stream 134 to the first device 106 via the first network 106. The first synchronized content stream 134 may include the multimedia content 114 (e.g., a television program) and the second presence information 120 (e.g., video and audio of the second user). The group presence server 102 is further configured to transmit a second synchronized content stream 136 to the second device 108 via the second network 110. The second synchronized content stream 136 may include the multimedia content 114 (e.g., the same television program that is delivered to the first user at the first device 104) and the first presence information 116 (e.g., video and audio of the first user).
In operation, the first user of the first device 104 may send the request 112 to the group presence server 102 in order to establish a group presence session between the first device 104 and the second device 108. For example, the first network 106 may include an internet protocol television (IPTV) network of a first communications service provider, and the first user may be viewing the multimedia content 114. In one embodiment, the group presence server 102 is associated with a multimedia content service provider, and the multimedia content 114 (e.g., a television channel, video on demand (VoD) content, or other content) is provided by the multimedia content service provider. To illustrate, the first device 104 may be a set-top box (STB) device that may be communicatively coupled to a television or other display device. Alternatively, the first device 104 may be a residential gateway that is configured to communicate with one or more devices that are located at a customer premises of the first user. In this case, the residential gateway may communicate information to a television or other display device directly or via another device (e.g., via a STB device).
The group presence server 102 may receive the request 112 from the first device 104. In response, the group presence server 102 may communicate a notification of the request 112 to the second device 108 and receive confirmation that the second user wishes to join the group presence session prior to establishing the group presence session. In order to provide synchronized content in response to the request 112, the group presence server 102 may utilize at least the first device capability 124, the second device capability 126, and the network information 128, 130. In one embodiment, the group presence server 102 receives the first device capability 124 from the first device 104 and receives the second device capability 126 from the second device 108. Further, the group presence server 102 may receive the network information 128, 130 from the networks 106, 110. Alternatively, the group presence server 102 may determine the device capabilities 124, 126 and the network information 128, 130. For example, in the embodiment illustrated in
Upon determining the device capabilities 124, 126 and the network information 128, 130, the group presence server 102 may utilize the synchronization server 132 to synchronize content to be delivered to the devices 104, 108. The synchronization may be performed based on the first device capability 124, the second device capability 126, the first network information 128, and the second network information 130.
The group presence server 102 may transmit the first synchronized content stream 134 to the first device 104 and may transmit the second synchronized content stream 136 to the second device 108. The first synchronized content stream 134 includes the multimedia content 114 and the second presence information 120. In the embodiment illustrated in
As an illustrative example, the multimedia content 114 may include a football match. By synchronizing the multimedia content 114 to be displayed at both devices 104, 108 at substantially the same time, both users may experience a particular event during the football match (e.g., a goal) at substantially the same time. By synchronizing the presence information 116, 120 to be displayed at both devices 104, 108 at substantially the same time as the multimedia content 114, the users can experience each other's reactions to the goal as though each were watching the football match at the same location. The users may be able to adjust an amount of display area that is to be occupied by the PIP streams 116, 120 in order to ensure that the viewing experience is not disrupted.
Thus, the system 100 of
Referring to
The group presence server 102 is configured to communicate the notification 202 of the request 112 to the second device 108. The notification 202 is communicated to the second device 108 based on input received from a user of the first device 104. The notification 202 may be communicated to the second device 108 via at least one of an email message, an instant messaging (IM) message, a text message, a voice message, and a social networking site message. The group presence server 102 may be configured to communicate a notification of the request 112 to another device that is associated with the second user (e.g., a device other than the second device 108 of
In a particular embodiment, a request user interface 206 that is displayed via the first device 104 is configured to receive a selection of a notification option from a plurality of selectable notification options. For example, the request user interface 206 of
In a particular embodiment, the particular notification options that are presented to the first user via the request user interface 206 are determined based on information stored at the contact information database 142. For example, in response to receiving the request 112 from the first user to establish the group presence session with the second user of the second device 108, the group presence server 102 may query the contact information database 142 to identify the second user contact information 148. To illustrate, the second user contact information 148 may include email contact information 218, IM contact information 220, text contact information 222, voice contact information 224, social networking contact information 226, other contact information, or any combination thereof. The second user contact information 148 may be communicated to the first device 104 to be displayed at the request user interface 206. Alternatively, the second user contact information 148 may be locally accessible to the first device 104.
In a particular embodiment, a notification user interface 228 may be presented at the second device 108 to receive the response 204 from the second user, accepting or declining the invitation to join the group presence session. Alternatively, the second device 108 may be configured to automatically accept or decline group presence sessions from one or more users.
Thus,
Referring to
In the embodiment illustrated in
During the group presence session, the multimedia content 114 and presence information may be provided to each of the devices 104, 108, 302 at substantially the same time. For example, at substantially the same time, the second presence information 120 and third presence information 306 (e.g., video of a third user captured via a third camera 308 and audio from the third user) may be provided to the first device 104, the first presence information 116 and the third presence information 306 may be provided to the second device 108, and the first presence information 116 and the second presence information 120 may be provided to the third device 302. The device capabilities of the devices 104, 108, 302 and the network information associated with each of the networks 106, 110, 304 may be determined, and synchronization may be performed accordingly. In a particular embodiment, the multimedia content 114 and the presence information 120 may be sent to each of the devices 104, 108, 302 at substantially the same time. In another particular embodiment, the multimedia content 114 and the presence information 120 may be sent to the first device 104 at a first time, to the second device 108 at a second time, and to the third device 302 at a third time. In this case, send times may be determined based on an estimated time of receipt at a particular device (e.g., based on an estimated network delay), based on an estimated time of display at the particular device (e.g., based on a content rendering capability of the particular device), or a combination thereof.
The group presence server 102 is configured to transmit the first synchronized content stream 134 to the first device 106 via the first network 106. The first synchronized content stream 134 may include the multimedia content 114, the second presence information 120, and the third presence information 306. The group presence server 102 is further configured to transmit the second synchronized content stream 136 to the second device 108 via the second network 110. The second synchronized content stream 136 may include the multimedia content 114, the first presence information 116, and the third presence information 306. The group presence server 102 is further configured to transmit a third synchronized content stream 310 to the third device 302 via the third network 304. The third synchronized content stream 310 may include the multimedia content 114, the first presence information 116, and the second presence information 120.
In the embodiment illustrated in
As an illustrative example, the multimedia content 114 may include a football match. By synchronizing the multimedia content 114 to be displayed at each of the devices 104, 108, 302 at substantially the same time, each of the users may experience a particular event during the football match (e.g., a goal) at substantially the same time. By synchronizing the presence information 116, 120, 306 to be displayed at the devices 104, 108, 302 at substantially the same time as the multimedia content 114, the users can experience each other's reactions to the goal as though each were watching the football match at the same location. The users may be able to adjust an amount of display area that is to be occupied by the PIP streams 116, 120, 312 in order to ensure that the viewing experience is not disrupted.
Thus, the system 300 of
Referring to
The method 400 may include receiving a request from a first device associated with a first network to establish a group presence session between at least the first device and a second device associated with a second network, at 402. The request is received at a group presence server that includes a processor. For example, the request may be the request 112 of
Multimedia content is to be provided to the first device at substantially the same time as the multimedia content is to be provided to the second device during the group presence session. Further, first presence information from the first device is to be provided to the second device at substantially the same time as second presence information from the second device is to be provided to the first device during the group presence session. For example, in
The method may include determining a first device capability of the first device and a second device capability of the second device, at 404. For example, in
The method may include synchronizing the multimedia content, the first presence information, and the second presence information, at 406. Synchronization may be performed based on the first device capability, the second device capability, information associated with the first network, and information associated with the second network. For example, the synchronization server of
The method may include transmitting a first synchronized content stream to the first device via the first network, where the first synchronized content stream includes the multimedia content and the second presence information, at 408. For example, in
The method may include transmitting a second synchronized content stream to the second device via the second network, where the second synchronized content stream includes the multimedia content and the first presence information, at 410. For example, in
Referring to
In a networked deployment, the computer system 500 may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The computer system 500 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system 500 can be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 500 is illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
As illustrated in
In a particular embodiment, as depicted in
In a particular embodiment, the instructions 524 include instructions that, when executed by the processor 502, cause the processor 502 to receive a request from a first device associated with a first network to establish a group presence session between at least the first device and a second device. During the group presence session, multimedia content is to be provided to the first device at substantially the same time as the multimedia content is to be provided to the second device, and first presence information from the first device is to be provided to the second device at substantially the same time as second presence information from the second device is to be provided to the first device. The instructions 524, when executed by the processor 502, cause the processor 502 to determine a first device capability of the first device and a second device capability of the second device. The instructions 524, when executed by the processor 502, cause the processor 502 to synchronize the multimedia content, the first presence information, and the second presence information based on the first device capability, the second device capability, information associated with the first network, and information associated with the second network. A first synchronized content stream that includes the multimedia content and the second presence information is transmitted to the first device via the first network. A second synchronized content stream that includes the multimedia content and the first presence information is transmitted to the second device via the second network.
In a particular embodiment, the instructions 524 may reside completely, or at least partially, within the main memory 504, the static memory 506, and/or within the processor 502 during execution by the computer system 500. The main memory 504 and the processor 502 also may include computer-readable media.
In an alternative embodiment, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limited embodiment, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.
The present disclosure contemplates a computer-readable medium that includes instructions 524 or receives and executes instructions 524 responsive to a propagated signal, so that a device connected to a network 526 can communicate voice, video or data over the network 526. Further, the instructions 524 may be transmitted or received over the network 526 via the network interface device 520.
While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any non-transitory medium that is capable of storing or encoding a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
In a particular non-limiting, exemplary embodiment, the computer-readable medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium can include a magneto-optical or optical medium, such as a disk or tapes or other storage device. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium and other equivalents and successor media, in which data or instructions may be stored.
Although the present specification describes components and functions that may be implemented in particular embodiments with reference to particular standards and protocols, the disclosed embodiments are not limited to such standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, RTP, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed herein are considered equivalents thereof.
The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be reduced. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
One or more embodiments of the disclosure may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept. Moreover, although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.
The Abstract of the Disclosure is provided with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description, with each claim standing on its own as defining separately claimed subject matter.
The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the scope of the disclosure. Thus, to the maximum extent allowed by law, the scope of the disclosure is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.