Abstract:
Systems, methods and non-transitory computer readable media for allowing a user to switch between watches that have been paired with a device such as a smartphone are described. In one embodiment, the watches automatically detect a removal of a first watch from a user's wrist and an attachment of a second watch to the user's wrist. Messages from the watches are transmitted to the device to allow the device to switch the active watch from the first watch to the second watch. The switch can occur while the device is in a locked state, and the device can synchronize the second watch with data received from the first watch. Other embodiments are also described.
Abstract:
Some embodiments relate to a device that transmits/receives encrypted communications with another device. A first device, such as a smart phone or smart watch, may generate a message associated with a certain data class, which may determine the security procedure used in the communication of the message. The first device may establish an encryption session for the purpose of communicating the message to a second device. Prior to sending the message, the first device may wait until encryption credentials are accessible according to certain conditions, which may be determined at least in part by the data class of the message. Similarly, after receiving the message, the second device may not be able to decrypt the message until encryption credentials are accessible according to certain conditions, which may be determined at least in part by the message data class.
Abstract:
Systems, methods and non-transitory computer readable media for allowing a user to switch between watches that have been paired with a device such as a smartphone are described. In one embodiment, the watches automatically detect a removal of a first watch from a user's wrist and an attachment of a second watch to the user's wrist. Messages from the watches are transmitted to the device to allow the device to switch the active watch from the first watch to the second watch. The switch can occur while the device is in a locked state, and the device can synchronize the second watch with data received from the first watch. Other embodiments are also described.
Abstract:
Apparatus and methods to evaluate connectivity between a primary device and a secondary device to support a connection for a real-time application to a remote device are disclosed. The primary device receives a connection request from the remote device and sends invitations to one or more secondary devices to connect with the remote device, the invitations sent through a first communication path. A secondary device that receives the invitation sends a connectivity evaluation packet to the primary device through a second communication path. When a connectivity response is received from the primary device through the second communication path and a user accepts the invitation, the secondary device sends an invitation response to the primary device and subsequently establishes a connection to the primary device through the second communication path. In some embodiments, the first communication path includes a cloud-based server that provides a guaranteed delivery message service.
Abstract:
Performing a real-time application on a mobile device, involving communication of audio/video packets with a remote device. The mobile device may initially communicate the audio/video packets on a first communication channel with the remote device. During the real-time communication, the mobile device may determine if no packets have been received by the mobile device from the remote device for a first threshold period of time. If no packets have been received by the mobile device from the remote device for the first threshold period of time, the mobile device may establish a second communication channel for transmission of the audio/video packets with the remote device. In response to using the second communication channel, the mobile device may modify a resolution or bit rate of the audio/video packets transmitted to the remote device.
Abstract:
Computing devices may implement dynamic display of video communication data. Video communication data for a video communication may be received at a computing device where another application is currently displaying image data on an electronic display. A display location may be determined for the video communication data according to display attributes that are configured by the other application at runtime. Once determined, the video communication data may then be displayed in the determined location. In some embodiments, the video communication data may be integrated with other data displayed on the electronic display for the other application.
Abstract:
A unified message delivery between multiple devices is disclosed. Sending messages through a local communications link, such as but not limited to at least one of a Bluetooth connection and a peer-to-peer WiFi connection, can lead to faster transmission times and reduced server load. When the local communications link is unavailable or not suitable, the messages can be sent through a network and a push server. In some examples, messages can be sent through both the local communications link and through the network and the push server. Duplicates of a received message can be avoided by utilizing indicators. In some examples, one or more devices can include queue(s) to ensure ordered delivery of a plurality of messages when a local communications link and network connection become unavailable.
Abstract:
Computing devices may implement dynamic transitions from video messages to video communications. Video communication data for a video message may be received at a recipient device. The video communication data may be displayed as it is received, and recorded for subsequent playback. An indication of a selection to establish a video communication with the sender of the video message may be received, or an indication that display of the video communication is to be ceased may be received. If a video communication is to be established, then a video communication connection with the sender of the video message may be created so that subsequent video communication data may be sent via the established connection.
Abstract:
Performing a real-time application on a mobile device, involving communication of audio/video packets with a remote device. The mobile device may initially communicate the audio/video packets on a first communication channel with the remote device. During the real-time communication, the mobile device may determine if no packets have been received by the mobile device from the remote device for a first threshold period of time. If no packets have been received by the mobile device from the remote device for the first threshold period of time, the mobile device may establish a second communication channel for transmission of the audio/video packets with the remote device. In response to using the second communication channel, the mobile device may modify a resolution or bit rate of the audio/video packets transmitted to the remote device.
Abstract:
A method for refreshing blocked media packets for a streaming media session over a wireless network in a stall condition is disclosed. The method can include a wireless communication device maintaining a buffer at an application layer. The buffer can contain at least a portion of media packets provided to a baseband layer by the application layer for transmission. Media packets provided to the baseband layer can be queued in a baseband queue prior to transmission. The method can further include the wireless communication device generating at least one new media packet for the streaming media session during the stall condition; flushing at least a portion of the media packets queued in the baseband queue; and replenishing the baseband queue by providing the baseband layer with at least a portion of the media packets contained in the buffer and at least one new media packet.