Securely and autonomously synchronizing data in a distributed computing environment
First Claim
1. A method for autonomous, secure data synchronization comprising:
- storing a local state of a shared data item wherein said local state is stored at a first location;
detecting a difference between said local state and a second state of said shared data item wherein said second state is located at a second location wherein said first location and said second location are connected by a computer network;
synchronizing said local state and said second state; and
distributing said shared data item between said first location and said second location in real-time.
2 Assignments
0 Petitions
Accused Products
Abstract
The description relates to securely and autonomously synchronizing data on geographically distributed computers. Data is distributed from a central server to geographically distributed clients. In another embodiment, data is encrypted and securely transmitted over a computer network. It uses the Secure Sockets Layer protocol to secure transmitted data. The data is transmitted via the Internet. Data is distributed in real-time. Data is provided to a user as the data updates without the user making a specific request for updated data. Portions of data are made available to only authorized users. An administrator sets permissions to control which data is transmitted to a user. The transmission of data is secure in both directions. Data transmitted to a user from a central location is secure and data transmitted to a central location from a user is secure. Data is securely transmitted to a user independent of the platform on the user'"'"'s machine. In this embodiment, the software that controls the data delivery system is written in a platform independent programming language, such as Java.
47 Citations
69 Claims
-
1. A method for autonomous, secure data synchronization comprising:
-
storing a local state of a shared data item wherein said local state is stored at a first location;
detecting a difference between said local state and a second state of said shared data item wherein said second state is located at a second location wherein said first location and said second location are connected by a computer network;
synchronizing said local state and said second state; and
distributing said shared data item between said first location and said second location in real-time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
securing a communication wherein said communication is between said first location and said second location.
-
-
3. The method of claim 2 wherein said step of securing comprises:
encrypting said communication.
-
4. The method of claim 2 wherein said step of securing comprises:
authenticating said communication.
-
5. The method of claim 2 wherein said step of securing comprises:
using a Secure Sockets Layers protocol.
-
6. The method of claim 1 wherein said step of synchronizing comprises:
securing a communication wherein said communication is between said first location and said second location.
-
7. The method of claim 6 wherein said step of securing comprises:
encrypting said communication.
-
8. The method of claim 6 wherein said step of securing comprises:
authenticating said communication.
-
9. The method of claim 6 wherein said step of securing comprises:
using a Secure Sockets Layers protocol.
-
10. The method of claim 1 wherein said computer network is the Internet.
-
11. The method of claim 1 further comprising:
disconnecting said first location from said computer network wherein said step of disconnecting does not alter a consistency requirement of said shared data.
-
12. The method of claim 11 further comprising:
reconnecting said first location to said computer network wherein said step of reconnecting does not alter said consistency requirement of said shared data.
-
13. The method of claim 1 wherein said steps of storing, detecting and synchronizing are performed without a human request for an action.
-
14. The method of claim 1 further comprising:
-
determining a set of users wherein said set are authorized to receive said shared data; and
encrypting said shared data wherein only a member of said set is able to decrypt said shared data.
-
-
15. The method of claim 1 further comprising:
ensuring said shared data is not distributed to a user wherein said user is not authorized to access said shared data.
-
16. The method of claim 1 wherein said shared data is modified at said first location.
-
17. The method of claim 16 wherein said step of synchronizing comprises:
modifying said second state to match said local state.
-
18. The method of claim 1 wherein said shared data is modified at said second location.
-
19. The method of claim 18 wherein said step of synchronizing comprises:
modifying said local state to match said second state.
-
20. The method of claim 1 further comprising:
enabling said first location to receive said data item independent of a platform used at said first location.
-
21. The method of claim 20 wherein said step of enabling comprises:
using a version of the Java programming language.
-
22. The method of claim 1 further comprising:
ensuring said shared data is not modified by a user wherein said user is not authorized to modify said shared data.
-
23. The method of claim 1 wherein said distributing of said shared data item between said first location and said second location in real time is bi-directional.
-
24. An autonomous, secure data synchronizer comprising:
-
a storage device configured to store a local state of a shared data item wherein said local state is stored at a first location;
a detection unit configured to detect a difference between said local state and a second state of said shared data item wherein said second state is located at a second location wherein said first location and said second location are connected by a computer network;
a synchronizing device configured to synchronize said local state and said second state; and
a distribution unit configured to distribute said shared data item between said first location and said second location in real-time. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
a security unit configured to secure a communication wherein said communication is between said first location and said second location.
-
-
26. The autonomous, secure data synchronizer of claim 25 wherein said security unit is further configured to encrypt said communication.
-
27. The autonomous, secure data synchronizer of claim 25 wherein said security unit is further configured to authenticate said communication.
-
28. The autonomous, secure data synchronizer of claim 25 wherein said security unit is further configured to use a Secure Sockets Layers protocol.
-
29. The autonomous, secure data synchronizer of claim 24 wherein said synchronizing device comprises:
a security unit configured to secure a communication wherein said communication is between said first location and said second location.
-
30. The autonomous, secure data synchronizer of claim 29 wherein said security unit is further configured to encrypt said communication.
-
31. The autonomous, secure data synchronizer of claim 29 wherein said security unit is further configured to authenticate said communication.
-
32. The autonomous, secure data synchronizer of claim 29 wherein said security unit is further configured to use a Secure Sockets Layers protocol.
-
33. The autonomous, secure data synchronizer of claim 24 wherein said computer network is the Internet.
-
34. The autonomous, secure data synchronizer of claim 24 further comprising:
a disconnecting mechanism configured to disconnect said first location from said computer network wherein disconnecting said first location does not alter a consistency requirement of said shared data.
-
35. The autonomous, secure data synchronizer of claim 34 further comprising:
a reconnecting mechanism configured to reconnect said first location to said computer network wherein reconnecting said first location does not alter said consistency requirement of said shared data.
-
36. The autonomous, secure data synchronizer of claim 24 wherein said storage device, said detection unit and said synchronizing device operate without a human request for an action.
-
37. The autonomous, secure data synchronizer of claim 24 further comprising:
-
a determiner configured to determine a set of users wherein said set are authorized to receive said shared data; and
an encryption unit configured to encrypt said shared data wherein only a member of said set is able to decrypt said shared data.
-
-
38. The autonomous, secure data synchronizer of claim 24 further comprising:
an administrative unit configured to ensure said shared data is not distributed to a user wherein said user is not authorized to access said shared data.
-
39. The autonomous, secure data synchronizer of claim 24 wherein said shared data is modified at said first location.
-
40. The autonomous, secure data synchronizer of claim 39 wherein said synchronizing device is further configured to modify said second state to match said local state.
-
41. The autonomous, secure data synchronizer of claim 24 wherein said shared data is modified at said second location.
-
42. The autonomous, secure data synchronizer of claim 41 wherein said synchronizing device is further configured to modify said local state to match said second state.
-
43. The autonomous, secure data synchronizer of claim 24 further comprising:
a compatibility device configured to enable said first location to receive said data item independent of a platform used at said first location.
-
44. The autonomous, secure data synchronizer of claim 43 wherein said compatibility device is further configured to use a version of the Java programming language.
-
45. The autonomous, secure data synchronizer of claim 24 further comprising:
an administrative unit configured to ensure said shared data is not modified by a user wherein said user is not authorized to modify said shared data.
-
46. The autonomous secure data synchronizer of claim 24 wherein said distribution unit distributes said shared data item bi-directionally between said first location and said second location.
-
47. A computer program product comprising:
-
a computer usable medium having computer readable program code embodied therein configured for autonomous, secure data synchronization, comprising;
computer readable code configured to cause a computer to store a local state of a shared data item wherein said local state is stored at a first location;
computer readable code configured to cause a computer to detect a difference between said local state and a second state of said shared data item wherein said second state is located at a second location wherein said first location and said second location are connected by a computer network;
computer readable code configured to cause a computer to synchronize said local state and said second state; and
computer readable code configured to cause a computer to distribute said shared data item between said first location and said second location. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69)
computer readable code configured to cause a computer to secure a communication wherein said communication is between said first location and said second location.
-
-
49. The computer program product of claim 48 wherein said computer readable code configured to cause a computer to secure is further configured to encrypt said communication.
-
50. The computer program product of claim 48 wherein said computer readable code configured to cause a computer to secure is further configured to authenticate said communication.
-
51. The computer program product of claim 48 wherein said computer readable code configured to cause a computer to secure is further configured to use a Secure Sockets Layers protocol.
-
52. The computer program product of claim 47 wherein said computer readable code configured to cause a computer to synchronize comprises:
computer readable code configured to cause a computer to secure a communication wherein said communication is between said first location and said second location.
-
53. The computer program product of claim 52 wherein said computer readable code configured to cause a computer to secure is further configured to encrypt said communication.
-
54. The computer program product of claim 52 wherein said computer readable code configured to cause a computer to secure is further configured to authenticate said communication.
-
55. The computer program product of claim 52 wherein said computer readable code configured to cause a computer to secure is further configured to use a Secure Sockets Layers protocol.
-
56. The computer program product of claim 47 wherein said computer network is the Internet.
-
57. The computer program product of claim 47 further comprising:
computer readable code configured to cause a computer to disconnect said first location from said computer network wherein disconnecting said first location does not alter a consistency requirement of said shared data.
-
58. The computer program product of claim 57 further comprising:
computer readable code configured to cause a computer to reconnect said first location to said computer network wherein reconnecting said first location does not alter said consistency requirement of said shared data.
-
59. The computer program product of claim 57 wherein said computer readable code configured to cause a computer to store, said computer readable code configured to cause a computer to detect and said computer readable code configured to cause a computer to synchronize operate without a human request for an action.
-
60. The computer program product of claim 47 further comprising:
-
computer readable code configured to cause a computer to determine a set of users wherein said set are authorized to receive said shared data; and
computer readable code configured to cause a computer to encrypt said shared data wherein only a member of said set is able to decrypt said shared data.
-
-
61. The computer program product of claim 47 further comprising:
computer readable code configured to cause a computer to ensure said shared data is not distributed to a user wherein said user is not authorized to access said shared data.
-
62. The computer program product of claim 47 wherein said shared data is modified at said first location.
-
63. The computer program product of claim 62 wherein said computer readable code configured to cause a computer to synchronize is further configured to modify said second state to match said local state.
-
64. The computer program product of claim 47 wherein said shared data is modified at said second location.
-
65. The computer program product of claim 64 wherein said computer readable code configured to cause a computer to synchronize is further configured to modify said local state to match said second state.
-
66. The computer program product of claim 47 further comprising:
computer readable code configured to cause a computer to enable said first location to receive said data item independent of a platform used at said first location.
-
67. The computer program product of claim 66 wherein said computer readable code configured to cause a computer to enable is further configured to use a version of the Java programming language.
-
68. The computer program product of claim 47 further comprising:
computer readable code configured to cause a computer to ensure said shared data is not modified by a user wherein said user is not authorized to modify said shared data.
-
69. The computer program product of claim 47 wherein said computer readable code configured to cause a computer to distribute is further configured to bi-directionally send said shared data item between said first location and said second location.
Specification