The present application claims priority to Korean Patent Application No. 10-2014-0098489 filed on Jul. 31, 2014, which is hereby incorporated by reference in its entirety.
Embodiments relate to the field of document management and to document synchronization in a distributed server-client environment. It is an increasing trend for members inside and outside of an enterprise or business to collaborate toward a common task. In such collaboration, electronic document files are distributed by the authors of the documents for sharing by the collaborators. As smart devices such as smart phones and tablets proliferate, there is increased use of EMS (Enterprise Mobility Service), for example, that may connect to an enterprise legacy system.
In some related document management systems, if a revision occurs after a document creator first uploads a document for distribution, distribution of the subsequent revision is done by file transmission or download. For example, the document creator may upload the most recently revised document in the server so that other users can download that most recently revised document. Alternatively, the document creator may send emails to the users by attaching the most recently revised.
Some methods designate a local folder or storage to store a document for sharing. However, there may be limitations to this method because it requires users to connect to the server or check emails. In a distributed environment where users access documents from local computers, many local copies may exist. As a result, synchronization of documents can become relatively difficult. A distributor can broadcast the most recent version every time, but such broadcasting may cause serious network bandwidth problems.
Embodiments relate to a method and system for synchronizing documents. The system includes a synchronization (sync) server, a distributor client, user clients, and/or a network interconnecting the sync server and the clients.
In embodiments, methods include wrapping synchronization information (e.g. document ID and/or version number) in a synchronized document (sync document), storing the documents and the synchronization information on a sync server recording the latest version, and/or checking the local version with the version stored in the sync server. In embodiments, if the local version is not the latest version, then the latest version of the document may be assessed by receiving the sync document from the sync server.
In embodiments, at a distributor client side, opening a distributor window for inputting sync information such as revision right holder information, stamp information, wrapping the sync information in a sync document, and/or uploading to a sync server.
In embodiments, at the user client side, opening a user window for inputting whether to use the sync document or a local document, transmitting a document ID to the sync server if the latest version is selected, and/or opening the latest version received from the sync server
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
A server may mean a server in a server-client environment or other meaning understood by one of ordinary skill in the art. The server may be implemented in a general computer means such as a personal computer.
A client may mean a client in a general server-client environment or other meaning understood by one of ordinary skill in the art. The client may be implemented in a computing means such as a personal computer, a smartphone, a tablet PC, a mobile device, or another type of computing device.
Synchronizing may mean the managing of documents in a distributed environment where revisions may occur in local computers while controlling version numbers so that the latest version documents can be identified, stored, and/or retrieved or other meaning understood by one of ordinary skill in the art, in accordance with embodiments.
Synchronization information or Sync Information may mean the information necessary for synchronizing documents such a document ID and a version number or other meaning understood by one of ordinary skill in the art.
Wrapping may mean the recording and/or packaging additional information within a document and managing the information or other meaning understood by one of ordinary skill in the art. Wrapping may generate a synchronized document containing synchronization information for a distributor or user clients to use. Wrapping may include packaging document content with a document header, and digital signature for document authentication. The packaged content with a document header and digital signature data may be encrypted for protection, in accordance with embodiments. In embodiments, the header may be encrypted and the encrypted header may be assembled with the content and the digital signature. In the case where encryption is involved, decryption may be used during the process of managing content, header and signature data.
Document ID may mean a unique identifier assigned to a document or other meaning understood by one of ordinary skill in the art.
Synchronized document or sync document may mean a document with sync information wrapped inside or other meaning understood by one of ordinary skill in the art.
A local document may mean a document stored only in a local computer which is not synchronized or other meaning understood by one of ordinary skill in the art.
Version may mean the number associated with revision of a synchronized document or other meaning understood by one of ordinary skill in the art.
Revision may mean modifying a sync document and uploading the latest version to the sync server or other meaning understood by one of ordinary skill in the art.
Revision right may mean a right to revise a synchronized document and to reflect the revision to the synchronization server (sync server) or other meaning understood by one of ordinary skill in the art.
Checking out or check out may mean an exclusive right to revise a synchronized document or other meaning understood by one of ordinary skill in the art.
Checking in or check in may mean the uploading of a revised document checked out to the sync server, updating its version and releasing the status of checking out or other meaning understood by one of ordinary skill in the art.
Master right may mean the right to grant or withhold a revision right from a user or other meaning understood by one of ordinary skill in the art. A distributor of a document can be a person, entity and/or account that have a master right by default.
A stamp may mean the ability to demonstrate that the designated users of a document confirmed the document, in accordance with embodiments. Stamping may be accomplished by preserving the hash value of the document file, the information regarding the users who stamped the document, and/or the stamping date and time. The first user may designate the users who will stamp the document in the approval chain. The first user can finish the stamping. Once a stamping process is finished, further stamping is not allowed.
Example
In embodiments, a system may include a distributor client (2000), a user client (2100), and/or a sync server (1000), all connected through a network (10). The sync server (1000) may store a document to be synchronized in connection with the distributor client (2000) and the user client (2100), and manages information for synchronization. The sync server (1000) may include a DB server, a web server, or a storage server.
The distributor client or a user client may be implemented in a general computing means such as a personal computer, a smartphone, a tablet PC, a mobile device, or other general computing device.
Functionally, the sync server (1000) may include a distributor/user management module (1102), a document synchronization management module (1104), a revision control module (1106), a stamp management module (1108), a general management module (1110), and/or a DB management module (1120).
The distributor client (2000) and the user client (2100) may execute a document synchronization program for generating, managing and revising synchronized documents, in accordance with embodiments.
The synchronization program may open a synchronization generation window for inputting synchronization information when a user intention is sensed through user interface. The program may open a document management window for document revision. The program may open a document use window when an open document command is received.
For example, a user may click a document to designate a document be synchronized, and right-click to open a shell menu and entering a shell menu command for opening a synchronization generation window. In another example, a user may double click a document to synchronize and a sync management input window may open automatically.
The synchronization program may include, for example, DLL (dynamic linking library) files for offering a shell menu, recording and extracting document information, transmitting or receiving synchronization information, uploading and downloading a synchronized document, and/or detecting whether a document is open by a document application.
The synchronization program may include a core module for API hooking, in accordance with embodiments. The core module can determine whether a document opened by MS-Word (for example) is a special document requiring document synchronization by detecting the information wrapped inside the document.
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
Example
It will be obvious and apparent to those skilled in the art that various modifications and variations can be made in the embodiments disclosed. This, it is intended that the disclosed embodiments cover the obvious and apparent modifications and variations, provided that they are within the scope of the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2014-0098489 | Jul 2014 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
6578054 | Hopmann | Jun 2003 | B1 |
6654746 | Wong | Nov 2003 | B1 |
7529780 | Braginsky | May 2009 | B1 |
8583595 | Herbeck | Nov 2013 | B2 |
20030069874 | Hertzog | Apr 2003 | A1 |
20050076094 | Sasaki | Apr 2005 | A1 |
20060101064 | Strong | May 2006 | A1 |
20060190506 | Rao et al. | Aug 2006 | A1 |
20090100096 | Erlichson | Apr 2009 | A1 |
20100313209 | Ryu | Dec 2010 | A1 |
20120239620 | Masini | Sep 2012 | A1 |
20120297363 | Perisic | Nov 2012 | A1 |
20120330887 | Young | Dec 2012 | A1 |
20120331061 | Lininger | Dec 2012 | A1 |
20130120368 | Miller | May 2013 | A1 |
20130212067 | Piasecki | Aug 2013 | A1 |
20130218845 | Kleppner | Aug 2013 | A1 |
20140068588 | Tan | Mar 2014 | A1 |
20140201137 | Vibhor | Jul 2014 | A1 |
20140250219 | Hwang | Sep 2014 | A1 |
20140279846 | Srinivasan | Sep 2014 | A1 |
20140344453 | Varney | Nov 2014 | A1 |
20150012488 | van Rossum | Jan 2015 | A1 |
20150032690 | Hoque | Jan 2015 | A1 |
20150149904 | Hoerentrup | May 2015 | A1 |
20150163286 | Wen | Jun 2015 | A1 |
20150249725 | Hurst | Sep 2015 | A1 |
20150350004 | Sekar | Dec 2015 | A1 |
Number | Date | Country |
---|---|---|
1020100079370 | Jul 2010 | KR |
10-2010-0079370 | Oct 2011 | KR |
10-2011-0112002 | Oct 2011 | KR |
1020110112002 | Oct 2011 | KR |
10-1231211 | Feb 2013 | KR |
101231211 | Feb 2013 | KR |
Entry |
---|
International Search Report for PCT/KR2015/007988 dated Nov. 10, 2015 from the Korean Intellectual Property Office. |
Number | Date | Country | |
---|---|---|---|
20160085838 A1 | Mar 2016 | US |