IP Library Granted Patent US 9,178,949
Granted Patent B2
US 9,178,949 · App. 12/819,335 · Granted Nov 3, 2015

Method, system and apparatus for managing push data transfers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,178,949
App. No.
12/819,335
Granted
Nov 3, 2015
Kind
B2
Abstract

A method, system, and apparatus for managing push data transfers is provided whereby in one implementation at least one push data server is situated on a network between a plurality of content servers and a plurality of computing devices. The push data server is configured to only perform a maximum number of concurrent data transfers of content between the content servers and the plurality of computing devices. The push data server is configured to deem that a particular push data transfer has been completed even if no express acknowledgment of such completion is ever received at the push data server, thereby reducing the likelihood of failure of push data transfers due to a misperception that the maximum number of concurrent data transfers being obtained.

Claims (42)

1. A method for managing push data transfers comprising:

receiving a push data transfer request at a push data server from a content server for push delivery of content to one of a plurality of computing devices;

comparing a counter representing a number of push data transfers concurrently being effected from the push data server to the plurality of computing devices to a maximum number of concurrent push data transfers permitted to be effected from the push data server to the plurality of computing devices;

when the counter is less than the maximum, beginning a push data transfer of the content to the one computing device from the push data server, and incrementing the counter;

when an acknowledgement indicating that the push data transfer is completed is received, decrementing the counter; and

when no acknowledgement indicating that the push data transfer is completed is received within a predefined time limit, deeming the push data transfer to be completed and decrementing the counter without terminating the push data transfer.

2. The method of claim 1 , comprising:

receiving, at the push data server, transfer parameters, the transfer parameters including data representing parameters of a historic successfully completed push data transfer; and

determining the predefined time limit by comparing the transfer parameters.

3. The method of claim 2 , wherein the transfer parameters further include at least one of a beginning time and ending time, a transfer duration, a content size, server specifications, and link specifications.

4. The method of claim 3 , wherein the push data transfer is determined to be actually completed when an acknowledgement is received, by the push data server, confirming completion of the push data transfer.

5. The method of claim 4 , wherein comparing the transfer parameters includes applying a probability model.

6. The method of claim 5 , wherein the applying a probability model includes:

compiling a table of values of the transfer parameters; and

determining a mean and standard deviation for the transfer parameters.

7. The method of claim 5 , wherein the applying a probability model includes employing a cumulative distribution function to determine a minimum time duration to be used as the predefined time limit.

8. The method of claim 7 , further comprising:

when the maximum number equals the counter, queuing the push data transfer request.

9. The method of claim 8 , wherein the queuing the push data transfer request includes maintaining, at the push data server, a record of push data transfer requests.

10. The method of claim 8 , wherein the queuing the push data transfer request includes rejecting the push data request.

11. The method of claim 10 , wherein the rejecting the push data transfer request includes sending an error message to the content server.

12. The method of claim 11 , comprising tracking of successful push data transfers where acknowledgements of completions are received at the push data server.

13. A push data server comprising:

a memory;

a network interface; and

a processor interconnected with the memory and the network interface, the processor configured to:

receive a push data transfer request via the network interface, from a content server, for push delivery of content to one of a plurality of computing devices;

compare a counter representing a number of push data transfers concurrently being effected from the push data server to the plurality of computing devices to a maximum number of concurrent push data transfers permitted to be effected from the push data server to the plurality of computing devices;

when the counter is less than the maximum, control the network interface to begin a push data transfer of the content to the one computing device, and increment the counter;

when an acknowledgement indicating that the push data transfer is completed is received, decrement the counter; and

when no acknowledgement indicating that the push data transfer is completed is received within a predefined time limit, deem the push data transfer to be completed and decrement the counter without terminating the push data transfer.

14. The push data server of claim 13 , wherein the processor is further configured to:

receive transfer parameters, the transfer parameters including data representing parameters of a historic successfully completed push data transfer; and

determine the predefined time limit by comparing the transfer parameters.

15. The push data server of claim 14 , wherein the transfer parameters further include at least one of a beginning time and ending time, a transfer duration, a content size, server specifications, and link specifications.

16. The push data server of claim 15 , wherein the processor is further configured to determine that the push data transfer is actually completed when the processor receives an acknowledgement confirming completion of the push data transfer.

17. A non-transitory computer readable storage medium for a push data server, the computer readable storage medium having a computer-readable program code adapted to be executable on the push data server to implement a method for managing push data transfers, the method comprising:

receiving a push data transfer request at a push data server from a content server for push delivery of content to one of a plurality of computing devices;

comparing a counter representing a number of push data transfers concurrently being effected from the push data server to the plurality of computing devices to a maximum number of concurrent push data transfers permitted to be effected from the push data server to the plurality of computing devices;

when the counter is less than the maximum, beginning a push data transfer of the content to the one computing device from the push data server, and incrementing the counter;

when an acknowledgement indicating that the push data transfer is completed is received, decrementing the counter;

when no acknowledgement indicating that the push data transfer is completed is received within a predefined time limit, deeming the push data transfer to be completed and decrementing the counter without terminating the push data transfer.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jul 29, 2015
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 036207/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2012
From: CHALK MEDIA SERVICE CORP.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028096/0155 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2010
From: O'REILLY, JACOB SAMUEL
To: CHALK MEDIA SERVICE CORP.
Reel/Frame 024565/0401 →