SYSTEM AND METHOD FOR MOBILE DEVICE PUSH COMMUNICATIONS
First Claim
1. A method comprising:
- receiving, by a push service aggregator, a push request including both a message to be pushed to a mobile device and a delivery profile;
selecting by the push service aggregator from a plurality of available push services, at least one push service to push the message to the mobile device, the selecting being based on the delivery profile and on information about the mobile device to which the message is to be pushed; and
delivering by the push service aggregator the message to the selected at least one push service for an attempt at pushing the message to the mobile device.
7 Assignments
0 Petitions
Accused Products
Abstract
Pushing data to mobile devices can be problematic because mobile platforms may support a number push services, each of which have different cost and reliability characteristics. The problem of being able to push data to multiple different types of mobile devices from a single server is solved by a push service aggregator supporting multiple push services. Upon receiving a push request, one or more push services are selected for pushing data to a client. The selection may be based on a delivery profile included with the push request, information about the client, past performance of the push services, current status of the push services, or combinations of these. The status of the push may be tracked and monitored so as to retry in the case of non-delivery.
270 Citations
54 Claims
-
1. A method comprising:
-
receiving, by a push service aggregator, a push request including both a message to be pushed to a mobile device and a delivery profile; selecting by the push service aggregator from a plurality of available push services, at least one push service to push the message to the mobile device, the selecting being based on the delivery profile and on information about the mobile device to which the message is to be pushed; and delivering by the push service aggregator the message to the selected at least one push service for an attempt at pushing the message to the mobile device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
receiving, by a push service aggregator, a push request including a message to be pushed to a mobile device; analyzing by the push service aggregator past performance data for a plurality of available push services; selecting by the push service aggregator from among the plurality of available push services, at least one push service to push the message to the mobile device based on the past performance data analysis and on information about the mobile device; and delivering by the push service aggregator the message to the selected at least one push service for an attempt at pushing the message to the mobile device. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method comprising:
-
receiving, by a push service aggregator, a push request including a message to be pushed to a mobile device; selecting by the push service aggregator from among a plurality of available push services, at least one push service to push the message to the mobile device based on information about the mobile device; and delivering by the push service aggregator the message to the selected at least one push service for an attempt at pushing the message to the mobile device. - View Dependent Claims (27, 28, 29, 30, 31, 32)
-
-
33. A method comprising:
-
receiving by a push service a push request from a server, the push request including a message, prioritization criteria and information about a mobile device to receive the message; in response to the server push request, the push service responding to the server with a unique push identifier for the received push request; choosing by the push service an initial mechanism for delivery of the message to the mobile device, the push service using the prioritization criteria and information about the mobile device to choose the initial mechanism; delivering the message to the initial mechanism for an attempt by the initial mechanism at pushing the message to the mobile device; receiving by the push service a current status indication for the pushing of the delivered message to the mobile device by the initial mechanism; in response to the receipt by the push service of the current status indication from the initial mechanism, scheduling a job to be performed by the push service at some time in the future to determine the initial mechanism delivery status for the message to be pushed to the mobile device; if before or during execution of the job by the push service, the push service determines that the initial mechanism has not pushed the message to the mobile device, then choosing by the push service a second mechanism for delivery of the message to the mobile device, the push service using the prioritization criteria and information about the mobile device to choose the second mechanism; delivering the message to the second mechanism for an attempt by the second mechanism at pushing the message to the mobile device; and
,in response to the message delivering, receiving by the push service a current status indication for the pushing of the delivered message to the mobile device by the second mechanism. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40)
-
-
41. A method comprising:
-
receiving by a push service a push request from a server, the push request including a message, prioritization criteria and information about a mobile device to receive the message; in response to the server push request, the push service responding to the server with a unique push identifier for the received push request; choosing by the push service a plurality of delivery mechanisms for delivery of the message to the mobile device, the push service using the prioritization criteria and information about the mobile device to choose the plurality of delivery mechanisms; delivering the message to the chosen plurality of delivery mechanisms for attempts by the chosen plurality of delivery mechanisms at pushing the message to the mobile device; in response to the message delivering, receiving by the push service a current status indication for the pushing of the delivered message to the mobile device by the chosen plurality of delivery mechanisms; in response to the receipt by the push service of the current status indication from the chosen plurality of delivery mechanisms, scheduling a job to be performed by the push service at some time in the future to determine the chosen plurality of delivery mechanisms delivery status for the message to be pushed to the mobile device; and
,if before or during execution of the job by the push service, the push service determines that at least one of the chosen plurality of delivery mechanisms has pushed the message to the mobile device, then aborting by the push service of any pushing of the message by the remaining chosen delivery mechanisms. - View Dependent Claims (42, 43, 44, 45, 46, 47)
-
-
48. A method comprising:
-
receiving, by a push service aggregator, a new push request including both a message to be pushed to a mobile device and prioritization criteria; determining by the push service aggregator whether the new received push request matches any pending push requests having the same requester, the same mobile device and whether the prioritization criteria of the new received push request is met by the prioritization criteria of the pending push request; selecting by the push service aggregator to combine the new received push request with the matching pending push request; and delivering by the push service aggregator the message from the new received push request to be combined with the message from the matching pending push request to a delivery mechanism for an attempt at pushing the messages to the mobile device.
-
-
49. A method comprising:
-
receiving from a server by a push service a message send request asking for the message to be delivered to a mobile device; in response to the received message send request, sending by the push service to the server a response indicating an identifier for the push request; at the push service, transmitting the message to a delivery mechanism for pushing to the mobile device; if the delivery mechanism returns status to push service with a failure notification, updating by the push service a message state to failed and at the push service performing an callback to inform the server of the failed message state; and
,if the delivery mechanism does not respond to the push service with status, then by the push service, polling the delivery mechanism for status, and if there is an update in the message state, the push service performing a callback to inform the server of the updated message state. - View Dependent Claims (50)
-
-
51. A method comprising:
-
receiving from a server by a push service a message send request specifying a reliable least-cost delivery profile asking for the message to be delivered to a mobile device that supports a plurality of delivery mechanisms; in response to the received message send request, sending by the push service to the server a response indicating an identifier for the push request; at the push service, choosing a first delivery mechanism based upon the message send request reliable least-cost profile for pushing the message to a mobile device; at the push service, transmitting the message to the chosen first delivery mechanism for pushing the message to the mobile device; if the chosen first delivery mechanism responds to the push service that the requested message delivery has failed, then at the push service, choosing a second delivery mechanism based upon the message send request reliable least cost delivery profile for delivering the message to the mobile device; and at the push service, transmitting the message to the chosen second delivery mechanism for pushing the message to the mobile device. - View Dependent Claims (52, 53, 54)
-
Specification