Synchronization of a virtual workspace using E-mail extensions
First Claim
Patent Images
1. A system for synchronizing shared computer files comprising:
- (a) at least one electronic mail server;
(b) a plurality of computers, wherein each of said computers is capable of sending and receiving electronic mail having multipurpose internet mail extensions to and from one of said electronic mail servers, and wherein local copies of said shared computer files reside on said computers; and
(c) electronic mail user agents installed on each of said plurality of computers, wherein each of said electronic mail user agents synchronizes said local copies in response to synchronization commands embedded within said multipurpose internet mail extensions of said electronic mail received by said computers from said electronic mail server, wherein a first user agent residing on a first computer in said system generates and sends to each of the other user agents in said system a first electronic mail whenever a first local copy residing on said first computer is revised, said first electronic mail having an embedded synchronization command, wherein said local copies each have an associated file digest, said digest being updated whenever said local copies are revised, wherein said digests are hashes of said local copies, and wherein said hashes are created with the SHAP-1 algorithm.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for synchronizing files shared by members of a distributed workgroup through electronic mail. Electronic mail having a synchronization command embedded in multipurpose internet mail extensions is generated when a workgroup member revises a workgroup file and is sent to the other workgroup members. Upon receipt of the electronic mail containing the synchronization command, the local copy of the corresponding workgroup file resident on the computer of the recipient is synchronized to reflect the revision. Membership in the workgroup is managed through electronic mail having embedded mailer'"'"'s list management command as well.
107 Citations
29 Claims
-
1. A system for synchronizing shared computer files comprising:
-
(a) at least one electronic mail server;
(b) a plurality of computers, wherein each of said computers is capable of sending and receiving electronic mail having multipurpose internet mail extensions to and from one of said electronic mail servers, and wherein local copies of said shared computer files reside on said computers; and
(c) electronic mail user agents installed on each of said plurality of computers, wherein each of said electronic mail user agents synchronizes said local copies in response to synchronization commands embedded within said multipurpose internet mail extensions of said electronic mail received by said computers from said electronic mail server, wherein a first user agent residing on a first computer in said system generates and sends to each of the other user agents in said system a first electronic mail whenever a first local copy residing on said first computer is revised, said first electronic mail having an embedded synchronization command, wherein said local copies each have an associated file digest, said digest being updated whenever said local copies are revised, wherein said digests are hashes of said local copies, and wherein said hashes are created with the SHAP-1 algorithm.
-
-
2. A system for synchronizing shared computer files comprising:
-
(a) at least one electronic mail server;
(b) a plurality of computers, wherein each of said computers is capable of sending and receiving electronic mail having multipurpose internet mail extensions to and from one of said electronic mail servers, and wherein local copies of said shared computer files reside on said computers; and
(c) electronic mail user agents installed on each of said plurality of computers, wherein each of said electronic mail user agents synchronizes said local copies in response to synchronization commands embedded within said multipurpose internet mail extensions of said electronic mail received by said computers from said electronic mail server, wherein a first user agent residing on a first computer in said system generates and sends to each of the other user agents in said system a first electronic mail whenever a first local copy residing on said first computer is revised, said first electronic mail having an embedded synchronization command, wherein said local copies each have an associated file digest, said digest being updated whenever said local copies are revised, wherein said user agents retain a copy of the preceding digest whenever said local copies are revised, and wherein said local copies are automatically synchronized only if said local copy digests equal said ancestor digests contained in said synchronization commands.
-
-
3. A system for synchronizing shared computer files comprising:
-
(a) at least one electronic mail server;
(b) a plurality of computers, wherein each of said computers is capable of sending and receiving electronic mail having multipurpose internet mail extensions to and from one of said electronic mail servers, and wherein local copies of said shared computer files reside on said computers; and
(c) electronic mail user agents installed on each of said plurality of computers, wherein each of said electronic mail user agents synchronizes said local copies in response to synchronization commands embedded within said multipurpose internet mail extensions of said electronic mail received by said computers from said electronic mail server, wherein computers may be added to or removed from said system in response to mailing list management commands embedded within said multipurpose internet mail extensions of said electronic mail received by each of said computers in said system, wherein a new computer may be added to said system only if said mailing list management command is embedded within the multipurpose internet mail extension of electronic mail sent by a computer presently in said system, and wherein said new computer may added to said system only if a positive reply to said electronic mail sent by a computer presently in said system is received by said computer presently in said system from said new computer. - View Dependent Claims (4)
-
-
5. A method of synchronizing computer files shared by members of a workgroup, copies of said files residing on the computers of said workgroup members as local workgroup files, said computers being capable of sending and receiving electronic mail having multipurpose internet mail extensions, comprising the steps of:
-
(A) receiving electronic mail having multipurpose internet mail extensions;
(B) determining, in response to said receipt of said electronic mail, whether said multipurpose internet mail extensions contain an embedded synchronization command; and
(C) synchronizing, in response to said embedded synchronization command, said local workgroup files, wherein said electronic mail has a multipurpose internet mail extensions file attachment when said synchronization command is an add command or an update command, and wherein step (B) comprises the steps of;
(i) determining, in response to said receipt of said electronic mail, whether the recipient of said electronic mail is a member of said workgroup; and
(ii) determining, in response to a positive determination that said recipient is a member of said workgroup, whether said multipurpose internet mail extensions contain an embedded synchronization command. - View Dependent Claims (6, 7, 8, 9)
(i) determining, in response to said embedded synchronization command, whether said command is an add command or an update command; and
(ii) saving, in response to said add or update command, said file attachment as one of said local workgroup files.
-
-
7. The method of claim 5 wherein step (C) comprises the steps of:
-
(i) determining, in response to said embedded synchronization command, whether said command is an add command or an update command;
(ii) determining, in response to said add or update command, whether a version of said file attachment already exists as a local workgroup file;
(iii) creating, in response to a positive determination that a version of said file attachment already exists as a local workgroup file, a backup copy of said existing local workgroup file; and
(iv) saving said file attachment as one of said local workgroup files.
-
-
8. The method of claim 7 wherein step (iv) comprises replacing said existing local workgroup file with said file attachment in response to the creation of said backup copy in step (iii).
-
9. The method of claim 7 wherein step (iv) comprises saving said file attachment as a new local workgroup file in response to a negative determination in step (ii) that a version of said file attachment already exists as a local workgroup file.
-
10. A method of synchronizing computer files shared by members of a workgroup, copies of said files residing on the computers of said workgroup members as local workgroup files, said computers being capable of sending and receiving electronic mail having multipurpose internet mail extensions, comprising the steps of:
-
(A) receiving electronic mail having multipurpose Internet mail extensions;
(B) determining, in response to said receipt of said electronic mail, whether said multipurpose internet mail extensions contain an embedded synchronization command; and
(C) synchronizing, in response to said embedded synchronization command, said local workgroup files, wherein step (B) comprises the steps of;
(i) determining, in response to said receipt of said electronic mail, whether the recipient of said electronic mail is a member of said workgroup; and
(ii) determining, in response to a positive determination that said recipient is a member of said workgroup, whether said multipurpose internet mail extensions contain an embedded synchronization command. - View Dependent Claims (11, 12)
(i) determining, in response to said embedded synchronization command, whether said command is a command to delete one of said computer files from said local workgroup files; - and
(ii) deleting, in response to said delete command, said one of said computer files from said local workgroup files.
-
-
12. The method of claim 11 wherein step (ii) comprises the steps of:
-
(a) determining, in response to a positive determination that said embedded synchronization command is a delete command, whether a version of said one of said computer files exists as a local workgroup file;
(b) creating, in response to a positive determination that a version of said one of said computer files exists as a local workgroup file, a backup copy of said existing local workgroup file; and
(c) deleting said existing computer file from said local workgroup files.
-
-
13. A method for automatically synchronizing computer files shared by members of a workgroup, copies of said computer files residing on the computers of said workgroup members as local workgroup files, said computers being capable of sending and receiving electronic mail having multipurpose internet mail extensions, comprising the steps of:
-
(A) revising a first local workgroup files, said first local workgroup file residing on the computer of a first workgroup member;
(B) creating, in response to said revising, a first electronic mail having multipurpose internet mail extensions, said multipurpose internet mail extensions containing an embedded synchronization command, said first electronic mail having a multipurpose internet mail extensions file attachment when said synchronization command is an add command or an update command;
(C) sending said first electronic mail to a second member of said workgroup;
(D) receiving said first electronic mail by said second member of said workgroup;
(E) determining, in response to said receiving, whether said multipurpose internet mail extensions of said first electronic mail contain an embedded synchronization command; and
(F) synchronizing, in response to said embedded synchronization command, a second local workgroup file corresponding to said first local workgroup file, said second local workgroup file residing on the computer of said second member of said workgroup, wherein said local workgroup files each have an associated file digest, said digest being update whenever said local workgroup files are revised, wherein said digest is a hash of said local workgroup file, and wherein said hash is created with SHA-1 algorithm.
-
-
14. A method for automatically synchronizing computer files shared by members of a workgroup, copies of said computer files residing on the computer of said workgroup members as local workgroup files, said computers being capable of sending and receiving electronic mail having multipurpose internet mail extensions, comprising the steps of:
-
(A) revising a first local workgroup file, said first local workgroup file residing on the computer of a first workgroup member;
(B) creating, in response to said revising, a first electronic mail having multipurpose internet mail extensions, said multipurpose internet mail extensions containing an embedded synchronization command, said first electronic mail having a multipurpose internet mail extensions file attachment when said synchronization command is an add command or an update command;
(C) sending said first electronic mail to a second member of said workgroup;
(D) receiving said first electronic mail by said second member of said workgroup;
(E) determining, in response to said receiving, whether said multipurpose internet mail extensions of said first electronic mail contain an embedded synchronization command; and
(F) synchronizing, in response to said embedded synchronization command, a second local workgroup file corresponding to said first local workgroup file, said second local workgroup file residing on the computer of said second member of said workgroup, wherein said synchronization command contain a copy of the ancestor digest when said synchronization command comprises an add command, an update command or a delete command, and wherein said second local workgroup file is automatically synchronized only if the digest of said second local workgroup file equals said ancestor digest. - View Dependent Claims (15)
-
-
16. A method of managing membership in a workgroup with electronic mail, said electronic mail having multipurpose internet mail extensions, the workgroup members of said workgroup having local workgroup files and local workgroup mailing lists residing on the computers of said workgroup members, comprising the steps of:
-
(A) receiving a first electronic mail;
(B) determining whether said multipurpose internet mail extensions of said first electronic mail contain an embedded mailing list management command;
(C) determining, in response to a positive determination in step (B), whether said mailing list management command is an invitation command;
(D) determining, in response to a positive determination in step (C), whether the recipient of said first electronic mail is an existing member of said workgroup; and
(E) adding, in response to a negative determination in step (D), said recipient of said first electronic mail to said workgroup, said adding comprising the creation of a local workgroup mailing list on the computer of said recipient of said first electronic mail. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
(F) sending to the author of said first electronic mail a second electronic mail, said second electronic mail having an embedded rsvp.
-
-
18. The method of claim 17 further comprising the steps of:
-
(G) determining, in response to a negative determination in step (C), whether the recipient of said first electronic mail is an existing member of said workgroup;
(H) determining, in response to a positive determination in step (G), whether said mailing list management command is an rsvp command;
(I) determining, in response to a positive determination in step (H), whether said recipient of said first electronic mail sent an invitation to the author of said first electronic mail; and
(J) adding, in response to a positive determination in step (I), said author of said first electronic mail to the local workgroup mailing list of said recipient as a new member of said workgroup.
-
-
19. The method of claim 16 further comprising the step of:
(K) sending, in response to said adding in step (J), a second electronic mail to said members of said workgroup, said second electronic mail having an embedded introduction command.
-
20. The method of claim 16 further comprising the steps of:
-
(L) determining, in response to a negative determination in step (H), whether said mailing list management command is an introduction command;
(M) determining, in response to a positive determination in step (L), whether said new workgroup member appears in the local workgroup mailing list of said recipient of said first electronic mail; and
(N) adding, in response to a negative determination in step (M), said new workgroup member to said local workgroup mailing list of said recipient of said first electronic mail.
-
-
21. The method of claim 20 further comprising the step of:
(O) sending, in response to said adding in step (N), a second electronic mail to said members of said workgroup, said second electronic mail having an embedded welcome command.
-
22. The method of claim 20 further comprising the steps of:
-
(P) determining, in response to a negative determination in step (L), whether said mailing list management command is a welcome command;
(Q) determining, in response to a positive determination in step (P), whether the author of said first electronic mail appears in the local workgroup mailing list of said recipient of said first electronic mail; and
(R) adding, in response to a negative determination in step (Q), said author of said first electronic mail to said local workgroup mailing list of said recipient of said first electronic mail.
-
-
23. The method of claim 16 comprising the additional steps of:
-
(S) determining, in response to a negative determination in step (C), whether said mailing list management command is a leave command;
(T) determining, in response to a positive determination in step (S), whether the workgroup member to be removed appears in the local workgroup mailing list of the recipient of said first electronic mail; and
(U) removing, in response to a positive determination in step (T), said workgroup member to be removed from said local workgroup mailing list of said recipient of said first electronic mail.
-
-
24. The method of claim 16 wherein said mailing list management commands are embedded within the header fields of said multipurpose internet mail extensions as header field values.
-
25. The method of claim 24 wherein said header field values are header subtype values.
-
26. The method of claim 25 wherein said header subtype values are media subtype field values.
-
27. The method of claim 24 wherein said header fields are Content-Type header fields.
-
28. The method of claim 27 wherein said Content-Type header fields are discrete media type header fields.
-
29. The method of claim 28 wherein said discrete media type header fields are text header fields.
Specification