Abstract:
In an example implementation of the disclosed technology, a method includes assigning a computing device to a region associated with a region server that comprises a plurality of region server instances. The method also includes generating device-to-region mapping and transmitting a replica of the device-to-region mapping to a messaging server instance and connection server instance. Further, the method includes receiving local device connection information comprising connection information relating the computing device and the connection server instance. The method also includes outputting the local device connection information to the plurality of region server instances. Additionally, the method includes receiving a message for delivery to the computing device and, responsive to accessing the local device connection information, transmitting the message to the connection server instance identified by the local device connection information.
Abstract:
Implementations may include automatically initiating modification of one or more configuration values of a remote computing device, the configuration values determining how status messages are sent from the remote computing device. The status messages may be sent either at the prompting of a messaging server or, alternatively, autonomously by the computing device. The status message may indicate the state of the computing device, for example, one or more of “awake,” “active,” “idle,” etc., a current battery level, whether the computing device is fully charged or is plugged into an external power source, whether the radio is currently active, current location, the type of network on which the computing device is being used (e.g., Wi-Fi, 3G, 3G). The modifications to the configuration values may be based on, among other things, location, user behavior, or device usage patterns, thus enabling efficient scheduling of push notification delivery based on the modified configurations.
Abstract:
Certain implementations of the disclosed technology may include systems, methods, and apparatus for determining relevant mobile computing device activities. According to an example implementation, a method is provided for modifying a user interface based on contextual information. The method can include receiving, at a mobile computing device, identification (ID) information associated with a peripheral device, querying one or more databases to determine contextual information related to the ID information, wherein at least one of the one or more databases reside at a server, receiving, from the one or more databases, contextual information related to the ID information, associating at least one function of the mobile computing device with the contextual information, and outputting, for display on the mobile computing device, a user interface including at least a reference to the at least one function associated with the contextual information.
Abstract:
The disclosed technology covers messaging systems and methods, and computer program products embodying such systems and methods. A computer program product may include a computer-readable storage medium with instructions executable by one or more processors to perform a method. The method may include receiving, at a message server configured to receive a plurality of messages for a plurality of computing devices, a first message intended for a first user profile. The first user profile and one or more other user profiles may exist on a single computing device. The method may also include receiving a first status update from the first computing device indicating that the first user profile is stopped or non-active, and postponing delivery of the first message to the first computing device, based on the first user profile being stopped or non-active. These and other aspects of messaging systems, methods, and computer program products are disclosed herein.
Abstract:
The disclosed technology covers messaging systems and methods, and computer program products embodying such systems and methods. An example computer-implemented method may include receiving, at a message server, a plurality of messages directed toward a plurality of computing devices, the plurality of messages including a first message directed toward a first user profile. A first computing device may be identified as being associated with the first user profile. It may be determined, by a computer processor, that the first user profile is inactive on the first computing device and that a second user profile is active on the first computing device. In that case, the first message may be held at the message server due to the first user profile being inactive. Other implementations of the messaging systems and methods are also disclosed herein.