Abstract:
Messaging between a companion device and an accessory device is controlled such that different modes of communication may be utilized. The different modes can implement different messaging strategies, each of which is intended for efficient power management, in view of the limited electrical power that is typically available at the accessory device. A received request message for sending from the companion device to the accessory device is sent if predetermined conditions apply, and similarly for messages from the accessory device to the companion device.
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:
Computer-implemented methods, computer-readable media, and computer systems for managing power consumption in mobile devices are described. A mobile computer system executes a first computer application configured to receive data from a server system over a network, and a second computer application configured to periodically search for a connection to the network at a first time interval. In response to executing the second computer application, the mobile computer system determines that a strength of the connection is below a threshold strength. In response to determining that the strength of the connection is below the threshold strength, the computer system executes the first computer application to delay requesting data from the server system until the connection to the network is detected.
Abstract:
Certain data packets for transmission between a first device and a second device may have an importance that changes depending on different circumstances. After the data packet is initially communicated from the first device to the second device, if an acknowledgement is not received at the first device, the first device may retransmit the data packet. If no acknowledgement is received after a certain period of time, communication of the data packet may be considered to have a lower importance, and so additional retransmissions bay be delayed until a retransmission trigger is identified. Examples of such a trigger may be powering on of an antenna for a second different data packet transmission, or identification that a subsequent data packet was successfully received by the second device.
Abstract:
In some implementations, a network daemon can manage access to a mobile device's network interface. The network daemon (e.g., network connection managing process) can monitor the condition of the mobile device's network connection on one or more interfaces. The network daemon can monitor many conditions on the mobile device. The network daemon can receive background networking requests from network clients (e.g., processes, applications) that specify criteria for initiating a network connection. The network daemon can then smartly manage network connections taking into account network conditions, mobile device conditions and/or client criteria received in the client request. This can help reduce battery life impact, memory usage, likelihood of call drops, data usage cost, and load on network operators.
Abstract:
Techniques are disclosed relating to multiway communications. In some embodiments, a first electronic device initiates a multiway call between a plurality of electronic devices and exchanges a first secret with a first set of electronic devices participating during a first portion of the multiway call, the first secret being used to encrypt traffic between the first set of electronic devices. The first electronic device receives an indication that first set of participating electronic devices has changed and, in response to the indication, exchanges a second secret with a second set of electronic devices participating during a second portion of the multiway call, the second secret being used to encrypt traffic between the second set of participating electronic devices. In some embodiments, the indication identifies a second electronic device as leaving the multiway call, and the second secret is not exchanged with the second electronic device.
Abstract:
Aspects of the subject technology provide for secure, privacy-preserving access to electronic conferencing. In one or more implementations, a device may obtain a link that corresponds to a call with a second device, encrypt a request to join the call using a key obtained using the link, and send the encrypted request to a server for delivery to the second device. The link may also include information used to identify an alias for an account associated with the second device. The device may send the encrypted request to the server with the alias. The device may receive an encrypted response to the request from the server, obtain an identifier of the call from the encrypted response, and then receive an invitation to join the call associated with the identifier.
Abstract:
Aspects of the subject technology provide for shared experience sessions within a group communications session such as a video call. The shared experience session may be, as one example, a co-watching session in which the participants in the call watch a video together while in the call. Encrypted shared state data may be exchanged between the participant devices, with which the participant devices can provide synchronized and coordinated output of shared experience data for the shared experience session of the group communications session.
Abstract:
A device implementing dynamic redundancy may include at least one processor configured to receive, from another device, packet reception data corresponding to video data previously provided for transmission from the device to the other device and determine, based at least in part on the packet reception data, an amount of redundancy to apply to video data provided for transmission to the other device. The at least one processor may be further configured to determine, based at least in part on the amount of redundancy, an encoding scheme for applying the redundancy to the video data. The at least one processor may be further configured to apply the amount of redundancy to the video data based at least in part on the encoding scheme to generate redundant data items and provide the video data and the redundant data items for transmission to the other device.