| Patent application number | Description | Published |
| 20100235523 | FRAMEWORK FOR SUPPORTING MULTI-DEVICE COLLABORATION - A framework for providing multi-device collaboration is described herein. In one embodiment, a method for providing multi-device collaboration between first and second devices can include transferring an initializing function call to create a session object. The function call specifies a mode of the session object, a service type, and a service name. The session object can include functions to discover the second device, connect with the second device, and provide data transport between the connected first and second devices. The service name can include a truncated name, a unique identification, and a state of service of a software application associated with the first device. The method can include detecting a network and advertising the service type and the service name via the network. The service type and service name can be advertised prior to establishing the connection between the first and second devices. | 09-16-2010 |
| 20110249075 | Remote Control Operations in a Video Conference - Some embodiments provide a method for allowing a first device that is in a video conference with a second mobile device to remotely control the second mobile device. The method sends images captured by a camera of the first device to the second device. The method receives images captured by a camera of the second device. The method sends a command through a communication channel of a real-time communication session to the second device. The command is for instructing the second device to perform an operation that modifies the images captured by the camera of the second device. | 10-13-2011 |
| 20110252090 | Dynamic Designation of a Central Distributor in a Multi-Participant Conference - Some embodiments dynamically designate one of several network nodes as a network hub of a star network, at the start of a network communication session among the several network nodes that is facilitated by a mesh network and the star network. Some embodiments dynamically designate a new network hub when the previously designated network hub leaves the communication session, which continues among the other network nodes. Different embodiments use different techniques to dynamically designate the network hub of the star network. For instance, some embodiments use communications transmitted along the mesh network to dynamically identify the network hub at the start of the network communication session or after the departure of a previously designated network hub. | 10-13-2011 |
| 20110252144 | Apparatus and Method for Establishing and Utilizing Backup Communication Channels - An apparatus, method, and machine-readable medium are described for establishing, maintaining and utilizing backup channels in a peer-to-peer (“P2P”) network. For example, in one embodiment, each mobile device can establish a primary P2P communication channel with one or more other mobile devices. Once the primary channel is established, each mobile device can use the primary channel to exchange secondary channel connection data and can subsequently open one or more secondary P2P communication channels with the other mobile devices. Upon detecting that the primary P2P communication channel has failed or has degraded below a specified threshold (e.g., a bandwidth or bitrate threshold), one of the secondary P2P communication channels can be automatically promoted to a primary P2P communication channel. | 10-13-2011 |
| 20110252146 | ESTABLISHING ONLINE COMMUNICATION SESSIONS BETWEEN CLIENT COMPUTING DEVICES - A method and apparatus for assisting in establishing an online communication session between client computing devices. An online communication session invite request message is received from an initiating client computing device, the message includes connection data of the initiating computing device and an online communication session endpoint identifier for an intended recipient. A set of one or more push tokens that are associated with the identifier is determined, where each of the push tokens identifies a client computing device. An online communication session invite message that includes the connection data of the initiating client computing device is transmitted to a set of intended recipient client computing devices that correspond with the set of push tokens. An invite accepted message is received from at least one of the set of intended recipient client computing devices that includes connection data of that computing device. An invite accepted message is transmitted to the initiating computing device that includes the connection data of each accepting computing device to allow the initiating computing device and each accepting computing device to establish a direct peer-to-peer online communication session. | 10-13-2011 |
| 20110252157 | AUDIO PROCESSING OPTIMIZATION IN A MULTI-PARTICIPANT CONFERENCE - A first computing device distributes audio streams to several computing devices of participants in a communication session. Some embodiments establishes a star network with the first computing device as a central network hub for receiving audio streams from other computing devices, compositing the audio streams and distributing the composited audio streams to the other computing devices. Through the star network, the first computing device receives audio streams from the other computing devices. The first computing device generates at least two different composite audio streams for at least two different computing devices by (i) identifying a set of silent participants in the communication session, and (ii) eliminating redundant audio processing operations that produce the same composite audio streams for different computing devices because of the identified set of silent participants. The first computing device sends each computing device the composited audio stream for the device. | 10-13-2011 |
| 20110252238 | Apparatus and Method for Efficiently and Securely Exchanging Connection Data - An apparatus, method, and machine-readable medium are described for securely and efficiently exchanging connection data for a peer-to-peer (“P2P”) session on a network comprising. For example, in one embodiment, a connection data exchange (“CDX”) service can perform the function of a central exchange point for connection data. In one embodiment, the CDX service can perform the operations of receiving a connection data structure, sometimes referred to herein as a “ticket,” created by a matchmaker or an invitation service in response to requests from a group of mobile computing devices attempting to establish peer-to-peer (“P2P”) connections. The ticket can identify each of the group of mobile computing devices and can include encrypted NAT hole punch data associated with each of the mobile computing devices. The CDX service can authenticate the ticket and decrypt the NAT hole punch data contained in the ticket using a CDX ticket key used by the matchmaker service or the invitation service to encrypt the ticket. Once the ticket is authenticated and the hole punch data retrieved, the CDX service can send connection data to each of the mobile computing devices residing behind NAT devices using the NAT hole punch data. | 10-13-2011 |
| 20110252319 | MULTI-NETWORK ARCHITECTURE FOR MEDIA DATA EXCHANGE - Some embodiments use several different types of networks to relay several different types of media content among several different computing devices. The media content of some embodiments is data that a computing device can process in order to provide a presentation of the media content to a user of the device. Examples of types of such media content include audio data, video data, text data, picture data, game data, and/or other media data. In some embodiments, two different networks relay media content of two different types among multiple computing devices. Specifically, in some embodiments, a first network routes among the computing devices one type of media data content (e.g., game data), while a second network routes among the computing devices another type of media data content (e.g., audio and/or video data of game participants). The two networks differ in some embodiments based on their topology. | 10-13-2011 |