IP Library Granted Patent US 9,407,695
Granted Patent B2
US 9,407,695 · App. 12/900,128 · Granted Aug 2, 2016

Adaptive synchronization of service data

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,407,695
App. No.
12/900,128
Granted
Aug 2, 2016
Kind
B2
Abstract

Techniques are disclosed for synchronizing service data between a data store and a device using the service data. These synchronization techniques may be used with a synchronization method and device that adaptively adjust synchronization parameters, such as the synchronization interval and quantity of synchronized data, on a per-end-user basis in response to actual end-user behavior. In particular, heavy users of service data are rewarded with improved synchronization parameters, such as a combination of shorter synchronization intervals and increased synchronization data quantities, which provides closer to “direct access” performance. Light users of service, on the other hand, are assigned lower cost synchronization parameters, such as longer synchronization intervals and/or decreased synchronization data quantities.

Claims (113)

1. A mail server system for adaptively adjusting a polling interval, comprising:

a mail server comprising a first email data store;

one or more processing units in data communication with the first email data store and configured to cause the mail server system to:

set a first polling interval for a first user, wherein the first polling interval defines a time interval at which the mad server polls a second email data store to detect one or more new emails associated with the first user;

retrieve the one or more new emails associated with the first user from the second email data store and store the one or more new emails associated with the first user on the first email data store; and

alter the first polling interval based on one or more new email retrievals associated with the first user.

2. The mail server system according to claim 1 , wherein the one or more processing units are further configured to:

determine a polling parameter based on the one or more new email retrievals; and

decrease the first polling interval based on the polling parameter.

3. The mail server system according to claim 1 , wherein the one or more processing units are further configured to:

determine a polling parameter based on the one or more new email retrievals;

increase the first polling interval based on the polling parameter.

4. The mail server system according to claim 1 , wherein the one or more processing units are further configured to:

determine a polling parameter based on the one or more new email retrievals; and

decrease the first polling interval in response to the polling parameter rising above a predetermined threshold.

5. The mail server system according to claim 1 , wherein the one or more processing units are further configured to:

determine a polling parameter based on the one or more new email retrievals; and

increase the first polling interval in response to the polling parameter falling below a predetermined threshold.

6. The mail server system according to claim 1 , wherein the one or more processing units are further configured to: decrease the first polling interval based on an increase in new email retrievals associated with the first user.

7. The mail server system according to claim 1 , wherein the one or more processing units are further configured to: increase the first polling interval based on a decrease in new email retrievals associated with the first user.

8. The mail server system according to claim 2 , wherein the polling parameter is a frequency of new email retrievals.

9. The mail server system according to claim 3 , wherein the polling parameter is a frequency of new email retrievals.

10. The mail server system according to claim 4 , wherein the polling parameter is a frequency of new email retrievals.

11. The mail server system according to claim 5 , wherein the polling parameter is a frequency of new email retrievals.

12. The mail server system according to claim 2 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

13. The mail server system according to claim 3 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

14. The mail server system according to claim 4 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

15. The mail server system according to claim 5 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

16. The mail server system according to claim 1 , wherein the one or more processing units are further configured to:

set a second polling interval for a second user, wherein the second polling interval defines a time interval at which the mail server polls the second email data store to detect one or more new emails associated with the second user;

retrieve the one or more new emails associated with the second user from the second email data store and store the one or more new emails associated with the second user on the first email data store; and

alter the second polling interval based on one or more new email retrievals associated with the second user,

wherein the second polling interval is different than the first polling interval.

17. A method of adaptively adjusting a polling interval in a mail server system comprising a mail server comprising a first email data store, the method comprising:

setting a first polling interval for a first user, wherein the first polling interval defines a time interval at which the mail server polls a second email data store to detect one or more new emails associated with the first user;

retrieving the one or more new emails associated with the first user from the second email data store and storing the one or more new emails associated with the first user on the first email data store; and

altering the first polling interval based on one or more new email retrievals associated with the first user.

18. The method according to claim 17 , further comprising:

determining a polling parameter based on the one or more new email retrievals; and

decreasing the first polling interval based on the polling parameter.

19. The method according to claim 17 , further comprising:

determining a polling parameter based on the one or more new email retrievals;

increasing the first polling interval based on the polling parameter.

20. The method according to claim 17 , further comprising:

determining a polling parameter based on the one or more new email retrievals; and

decreasing the first polling interval in response to the polling parameter rising above a predetermined threshold.

21. The method according to claim 17 , further comprising:

determining a polling parameter based on the one or more new email retrievals; and

increasing the first polling interval in response to the polling parameter falling below a predetermined threshold.

22. The method according to claim 17 , further comprising:

decreasing the first polling interval based on an increase in new email retrievals associated with the first user.

23. The method according to claim 17 , further comprising:

increasing the first polling interval based on a decrease in new email retrievals associated with the first user.

24. The method according to claim 18 , wherein the polling parameter is a frequency of new email retrievals.

25. The method according to claim 19 , wherein the polling parameter is a frequency of new email retrievals.

26. The method according to claim 20 , wherein the polling parameter is a frequency of new email retrievals.

27. The method according to claim 21 , wherein the polling parameter is a frequency of new email retrievals.

28. The method according to claim 18 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

29. The method according to claim 19 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

30. The method according to claim 20 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

31. The method according to claim 21 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

32. The method according to claim 17 , further comprising:

setting a second polling interval for a second user, wherein the second polling interval defines a time interval at which the mail server polls the second email data store to detect one or more new emails associated with the second user;

retrieving the one or more new emails associated with the second user from the second email data store and storing the one or more new emails associated with the second user on the first email data store; and

altering the second polling interval based on one or more new email retrievals associated with the second user,

wherein the second polling interval is different than the first polling interval.

33. A non-transitory, computer-readable medium having computer-readable instructions stored thereon, the computer-readable instructions being configured to be executed by one or more processing units in a mail server system comprising a mail server comprising a first email data store, the computer-readable instructions being further configured to cause the mail server system to perform a method of adaptively adjusting a polling interval, the method comprising:

setting a first polling interval for a first user, wherein the first polling interval defines a time interval at which a mail server polls a second email data store to detect one or more new emails associated with the first user;

retrieving the one or more new emails associated with the first user from the second email data store and storing the one or more new emails data associated with the first user on the first email data store; and

altering the first polling interval based on one or more new email retrievals associated with the first user.

34. The non-transitory, computer-readable medium of claim 33 , wherein the method further comprises:

determining a polling parameter based on the one or more new email retrievals; and

decreasing the first polling interval based on the polling parameter.

35. The non-transitory, computer-readable medium of claim 33 , wherein the method further comprises:

determining a polling parameter based on the one or more new email retrievals;

increasing the first polling interval based on the polling parameter.

36. The non-transitory, computer-readable medium of claim 33 , wherein the method further comprises:

determining a polling parameter based on the one or more new email retrievals; and

decreasing the first polling interval in response to the polling parameter rising above a predetermined threshold.

37. The non-transitory, computer-readable medium of claim 33 , wherein the method further comprises:

determining a polling parameter based on the one or more new email retrievals; and

increasing the first polling interval in response to the polling parameter falling below a predetermined threshold.

38. The non-transitory, computer-readable medium of claim 33 , wherein the method further comprises: decreasing the first polling interval based on an increase in new email retrievals associated with the first user.

39. The non-transitory, computer-readable medium of claim 33 , wherein the method further comprises: increasing the first polling interval based on a decrease in new email retrievals associated with the first user.

40. The non-transitory, computer-readable medium of claim 34 , wherein the polling parameter is a frequency of new email retrievals.

41. The non-transitory, computer-readable medium of claim 35 , wherein the polling parameter is a frequency of new email retrievals.

42. The non-transitory, computer-readable medium of claim 36 , wherein the polling parameter is a frequency of new email retrievals.

43. The non-transitory, computer-readable medium of claim 37 , wherein the polling parameter is a frequency of new email retrievals.

44. The non-transitory, computer-readable medium of claim 34 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

45. The non-transitory, computer-readable medium of claim 35 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

46. The non-transitory, computer-readable medium of claim 36 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

47. The non-transitory, computer-readable medium of claim 37 , wherein the polling parameter is based upon a number of new emails retrieved during a most recent polling interval.

48. The non-transitory, computer-readable medium of claim 33 , wherein the method further comprises:

setting a second polling interval for a second user, wherein the second polling interval defines a time interval at which the mail server polls the second email data store to detect one or more new emails associated with the second user;

retrieving the one or more new emails associated with the second user from the second email data store and storing the one or more new emails associated with the second user on the first email data store; and

altering the second polling interval based on one or more new email retrievals associated with the second user,

wherein the second polling interval is different than the first polling interval.

49. A mail server system for adaptively adjusting a polling interval, comprising:

a mail server comprising a first email data store;

one or more processing units in data communication with the first email data store and configured to cause the mail server system to:

set a first polling interval for a first user, wherein the polling interval defines a time interval at which the mail server polls a second email data store to detect one or more new emails associated with the first user;

retrieve the one or more new emails associated with the first user from the second email data store and store the one or more new emails associated with the first user on the first email data store;

increase the first polling interval based on a decrease in new email retrievals associated with the first user;

set a second polling interval for a second user, wherein the second polling interval defines a time interval at which the mail server polls the second email data store to detect one or more new emails associated with the second user;

retrieve the one or more new emails associated with the second user from the second email data store and store the one or more new emails associated with the second user on the first email data store; and

increase the second polling interval based on a decrease in new email retrievals associated with the second user.

50. A method of adaptively adjusting a polling interval in a mail server system comprising mail server comprising a first email data store, the method comprising:

setting a first polling interval for a first user, wherein the polling interval defines a time interval at which the mail server polls a second email data store to detect one or more new emails associated with the first user;

retrieving the one or more new emails associated with the first user from the second email data store and storing the one or more new emails associated with the first user on the first email data store;

increasing the first polling interval based on a decrease in new email retrievals associated with the first user;

setting a second polling interval for a second user, wherein the second polling interval defines a time interval at which the mail server polls the second email data store to detect one or more new emails associated with the second user;

retrieving the one or more new emails associated with the second user from the second email data store and storing the one or more new emails associated with the second user on the first email data store; and

increasing the second polling interval based on a decrease in new email data retrievals associated with the second user.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2018
From: GOOD TECHNOLOGY HOLDINGS LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 045196/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2017
From: GOOD TECHNOLOGY CORPORATION
To: GOOD TECHNOLOGY HOLDINGS LIMITED
Reel/Frame 044961/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2016
From: MARL, COYLE B.; FRIEDMAN, GREGORY S.
To: VISTO CORPORATION
Reel/Frame 038661/0789 →
CHANGE OF NAME Recorded Nov 26, 2012
From: VISTO CORPORATION
To: GOOD TECHNOLOGY CORPORATION
Reel/Frame 029347/0783 →