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:
Aspects of the subject technology provide for secure, privacy-preserving access to electronic conferencing. In one or more implementations, an electronic device may obtain a service-specific alias that is specific to a device-identified set of services. The service-specific alias may be separate from an account alias for an account and configured to allow or deny communications to one or more devices associated with the account via the set of services. In one or more implementations, the service-specific alias is associated with a conferencing service and a conferencing session. An initiating user can provide an invitation to the conferencing session with the service-specific alias, so that participants can contact the initiating user via the service-specific alias for permission to join the conferencing session (e.g., without revealing the permanent contact information of the initiating user). In this way, the privacy of the initiating user can be preserved.
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:
A device implementing a system for multiway audio-video conferencing includes a processor configured to receive, from a first device, indication of a first channel and a second channel for communicating content for an audio-video conference session. The first channel and the second channel correspond to different types of communication interfaces. The processor is further configured to receive, from the first device, a first request to subscribe to a first content stream for the audio-video conference session via the first channel, and to subscribe to a second content stream for the audio-video conference session via the second channel, and in response to receiving the first request, forward, to the first device, the first content stream via the first channel.
Abstract:
Power optimization modes for communication between a device and a server is disclosed. The device can dynamically change between communication modes based on an application or quality of service, battery life, an amount of noise associated with the communications link, a frequency of messages, and a type of message received in a given time period. In some examples, the device can determine if the number of pull messages is greater than the number of push messages. The device can select a push mode where a pull message can accompany a push message. In some examples, the device can determine that the number of push messages is greater than the number of pull messages, and the device can select a low-power associated sleep mode.
Abstract:
Aspects of the subject technology provide for secure, privacy-preserving access to electronic conferencing. In one or more implementations, participant devices in a conferencing session may be provided with the ability to expel one or more other participant devices from the conferencing session, even when the participant device(s) are not hosts or cohosts of the conferencing session. A participant device may be expellable by another participant device based on a connection mechanism by which the participant device is connected to the conferencing session, and/or based on an amount of time since the participant device joined the conferencing session.
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:
A device implementing a system for multipath connection management may include first and second local communication interfaces, and a processor configured to establish a primary connection for communicating between the first local communication interface and a first remote communication interface of an other device, and a secondary connection for communicating between the second local communication interface and a second remote communication interface. The processor may be configured to transmit application and control data over the primary connection and concurrently transmit a copy of control data over the secondary connection. The processor may be configured to determine that a degradation of the quality of the primary connection is attributable to the other device. The processor may be configured to switch the secondary connection to the first local communication interface and the second remote communication interface. The processor may be configured to transmit a copy of the application and control data over the secondary connection.
Abstract:
This application relates to techniques for anonymously establishing a secure communication session with a wireless client. A described method, performed by an anonymous wireless host, includes advertising a service implemented by the anonymous wireless host as available over a wireless network, receiving an invitation to establish the secure communication session with the wireless client, transmitting an acceptance of the invitation to the wireless client, and establishing the secure communication session over a communication channel. The invitation is received from the wireless client and the acceptance is transmitted to the wireless client via a broadcast address or a multicast address associated with the wireless network. The secure communication session is used to exchange encrypted data between the service and the wireless client.
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.