Abstract:
Systems and methods for streaming video over multiple HTTP channels are provided. The client may have control over the channels, allowing the client to control the amount and source of data received. Data requested by the client may be separated into a set of layers, with each layer being assigned to a separate channel. The client may adjust the number of layers requested based on a variety of factors. Layers may be requested from multiple remote sources, providing the client with additional control over the specific bandwidth profile of received data.
Abstract:
Controllers can be used to control the operation of various accessories. Controllers with access to a particular accessory (or group of accessories) can be organized into a controller network to facilitate control. The controller network can include various proxy devices including bridge and tunnel proxies that can relay messages to and from accessories, perform protocol translations, and/or provide communication security. Some proxy devices can include decision logic to enable coordinated control over one or more accessories by the controllers in the controller network..
Abstract:
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.
Abstract:
Controllers can be used to control the operation of various accessories. Controllers with access to a particular accessory (or group of accessories) can be organized into a controller network to facilitate control. The controller network can include various proxy devices including bridge and tunnel proxies that can relay messages to and from accessories, perform protocol translations, and/or provide communication security. Some proxy devices can include decision logic to enable coordinated control over one or more accessories by the controllers in the controller network..
Abstract:
Controllers can be used to control the operation of various accessories. A group of accessories can be organized into an accessory network that can facilitate coordinated control of multiple accessories. The accessory network can be organized according to an environment model that can include a hierarchical representation of a physical environment where accessories are present. The environment model can be synchronized across different controllers that have access to the accessories.
Abstract:
A uniform protocol can facilitate secure, authenticated communication between a controller device and an accessory device that is controlled by the controller. An accessory and a controller can establish a pairing, the existence of which can be verified at a later time and used to create a secure communication session. The accessory can provide an accessory definition record that defines the accessory as a collection of services, each service having one or more characteristics. Within a secure communication session, the controller can interrogate the characteristics to determine accessory state and/or modify the characteristics to instruct the accessory to change its state.
Abstract:
Registering a client computing device (110) for online communication sessions. A registration server (140) receives a message (3) that has a push token that is unique to the client computing device and a phone number of the client computing device from an SMS (Short Message Service) transit device (130), which received an SMS message (1) having the push token from the client computing device (110) and determined the phone number of the client computing device from that SMS message. The registration server (140) associates the push token and the phone number and stores it in a registration data store (150), which is used for inviting users for online communication sessions.
Abstract:
A uniform protocol can facilitate secure, authenticated communication between a controller device and an accessory device that is controlled by the controller. An accessory and a controller can establish a pairing, the existence of which can be verified at a later time and used to create a secure communication session. The accessory can provide an accessory definition record that defines the accessory as a collection of services, each service having one or more characteristics. Within a secure communication session, the controller can interrogate the characteristics to determine accessory state and/or modify the characteristics to instruct the accessory to change its state.
Abstract:
Controllers can be used to control the operation of various accessories. Controllers with access to a particular accessory (or group of accessories) can be organized into a controller network to facilitate control. The controller network can include various proxy devices including bridge and tunnel proxies that can relay messages to and from accessories, perform protocol translations, and/or provide communication security. Some proxy devices can include decision logic to enable coordinated control over one or more accessories by the controllers in the controller network.
Abstract:
Some embodiments provide an architecture for establishing a multi-participant conference. This architecture has one participant's computer in the conference act as a central content distributor for the conference. The central distributor receives data (e.g., video and/or audio streams) from the computer of each other participant, and distributes the received data to the computers of all participants. In some embodiments, the central distributor receives A/V data from the computers of the other participants. From such received data, the central distributor of some embodiments generates composite data (e.g., composite image data and/or composite audio data) that the central distributor distributes back to the participants. The central distributor in some embodiments can implement a heterogeneous audio/video conference. In such a conference, different participants can participate in the conference differently. For instance, different participants might use different audio or video codecs. Moreover, in some embodiments, one participant might participate in only the audio aspect of the conference, while another participant might participate in both audio and video aspects of the conference.