Push notification service
AssigneeApple Inc.
InventorsKris M. Bell, Darryl N. Bleau, Jeffrey T. Davey
Life of this patent
Estimating the term…
Abstract
Gateway devices maintain presence information for various mobile devices. Each gateway is associated with a zone and manages presence information only for mobile devices associated with that zone. Courier devices back-propagate presence information for the mobile devices to respective gateways based at least on the respective zone associated with each mobile device. The gateways and couriers are dynamically configured such that messages can be pushed from a provider application to a mobile device via any gateway and any courier.
Claims26
A mobile device comprising:
- a processor to determine a courier for connecting to the mobile device;
- a memory to store a token, wherein the token is a combination of a unique identifier for the mobile device and a zone identifier and wherein the zone identifier is received from the courier in response to connecting with the courier;
- a transmitter to transmit the token to a provider application;
- and
- a receiver to receive a message from the provider application via at least one gateway and a courier based at least in part on the token;
- and wherein the zone identifier and the unique identifier remain constant for the mobile device across different geographic locations.
A system comprising:
- a plurality of gateways, each gateway associated with a zone and each gateway to maintain presence information for mobile devices associated with the zone;
- a plurality of couriers to back-propagate presence information for the mobile devices to respective gateways based at least on the respective zone associated with each mobile device;
- and
- wherein the gateways and couriers are dynamically configured such that messages can be pushed from a provider application to a mobile device via any gateway and any courier at a particular point in time;
- and wherein each gateway is associated with a zone and wherein a zone identifier for the mobile device and a unique identifier for the mobile device remain constant for the mobile device across different geographic locations.
A method, comprising:
- dynamically receiving, at a first gateway device, presence information for mobile devices from respective couriers connected to the mobile devices, wherein the presence information for each mobile device includes a token comprised of a unique device identifier and a fixed zone identifier and wherein, for each mobile device, the unique identifier for the mobile device and the fixed zone identifier for the mobile device remain constant across different geographic locations;
- receiving a message at the first gateway device from a provider application, the message including a mobile device token;
- routing the message to a second gateway device if the fixed zone identifier in the mobile device token does not match a zone currently associated with the first gateway device;
- and
- forwarding the message to a courier device currently connected to the mobile device associated with the mobile device token if the fixed zone identifier in the mobile device token matches the zone currently associated with the first gateway device.
A method, comprising:
- establishing a connection between a mobile device and a courier device;
- receiving a zone identifier from the courier device;
- storing a token, wherein the token is a combination of a unique identifier tbr the mobile device and the zone identifier;
- transmitting the token to a provider application;
- and receiving a message from the provider application via a path including at least one gateway and a courier, the path determined based at least in part on the token and wherein the zone identifier and the unique identifier remain constant for the mobile device across different geographic locations.
A machine readable non-transitory storage medium containing instructions, that when executed, cause a data processing system to:
- dynamically receive, at a first gateway device, presence information for mobile devices from respective couriers connected to the mobile devices, wherein the presence information for each mobile device includes a token comprised of a unique device identifier and a fixed zone identifier and wherein, for each mobile device, the unique device identifier for the mobile device and the fixed zone identifier for the mobile device remain constant across different geographic locations;
- receive a message at the first gateway device from a provider application, the message including a mobile device token;
- route the message to a second gateway device if the fixed zone identifier in the mobile device token does not match a zone currently associated with the first gateway device;
- and
- forward the message based on the mobile device token to a courier device connected to the mobile device associated with the mobile device token if the fixed zone identifier in the mobile device token matches the zone currently associated with the first gateway device.
A machine readable non-transitory storage medium containing instructions, that when executed, cause a data processing system to:
- establish a connection between a mobile device and a courier device;
- receive a zone identifier from the courier device;
- store a token, wherein the token is a combination of a unique identifier for the mobile device and the zone identifier;
- transmit the token to a provider application;
- and receive a message from the provider application via a path including at least one gateway and a courier, the path determined based at least in part on the token and wherein the zone identifier and the unique identifier remain constant for the mobile device across different geographic locations.
A system, comprising:
- means for pushing messages from a provider application to mobile devices via any path through at least one gateway device and a single courier device, the means for pushing messages including means for dynamically partitioning the system into zones;
- means for assigning a zone to each mobile device;
- means for routing a message received from a provider application to a gateway device based on a zone identified in the message, the zone associated with a particular mobile device, and the zone being specified by a zone identifier;
- means for forwarding the message to a courier device known to be currently connected to the particular mobile device based at least in part on presence information back-propagated from the courier device to the gateway device;
- and
- means for forwarding the message from the courier device to the particular mobile device which has a unique identifier and wherein the zone identifier and the unique identifier remain constant for the particular mobile device across different geographic locations.
Dependencies are inferred from the claim text.