KR20160061951A - 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체 - Google Patents
문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체 Download PDFInfo
- Publication number
- KR20160061951A KR20160061951A KR1020160062916A KR20160062916A KR20160061951A KR 20160061951 A KR20160061951 A KR 20160061951A KR 1020160062916 A KR1020160062916 A KR 1020160062916A KR 20160062916 A KR20160062916 A KR 20160062916A KR 20160061951 A KR20160061951 A KR 20160061951A
- Authority
- KR
- South Korea
- Prior art keywords
- document
- synchronization
- information
- client
- revision
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004590 computer program Methods 0.000 title abstract description 9
- 238000013475 authorization Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 15
- 230000001360 synchronised effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G06F17/30575—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G06F17/30011—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
본 발명은 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체에 관한 것이다.
본 발명의 일측면에 따르면, 배포자 클라이언트 및 사용자 클라이언트와 네트워크 연동되는 동기화 서버에서 실행되는 문서 동기화 방법으로서, 1) 동기화 정보가 랩핑(wrapping)된 동기화 문서가 배포자 클라이언트로부터 업로드되는 단계- 상기 동기화 정보에는 문서 ID, 문서 버전 정보가 적어도 포함됨-; 2) 상기 동기화 정보에 근거하여 동기화 관리 정보를 기록하고 업로드된 상기 동기화 문서를 저장하는 단계- 상기 동기화 관리 정보에는 문서 ID, 문서 버전 정보가 적어도 포함됨-; 3) 파일 오픈이 요청된 동기화 문서의 문서 ID를 사용자 클라이언트로부터 전송받는 단계; 및 4) 상기 전송된 문서 ID에 해당하는 최신 문서 버전 정보를 상기 사용자 클라이언트로 전송하는 단계;를 포함하여 구성된 문서 동기화 방법이 개시된다.
본 발명의 일측면에 따르면, 배포자 클라이언트 및 사용자 클라이언트와 네트워크 연동되는 동기화 서버에서 실행되는 문서 동기화 방법으로서, 1) 동기화 정보가 랩핑(wrapping)된 동기화 문서가 배포자 클라이언트로부터 업로드되는 단계- 상기 동기화 정보에는 문서 ID, 문서 버전 정보가 적어도 포함됨-; 2) 상기 동기화 정보에 근거하여 동기화 관리 정보를 기록하고 업로드된 상기 동기화 문서를 저장하는 단계- 상기 동기화 관리 정보에는 문서 ID, 문서 버전 정보가 적어도 포함됨-; 3) 파일 오픈이 요청된 동기화 문서의 문서 ID를 사용자 클라이언트로부터 전송받는 단계; 및 4) 상기 전송된 문서 ID에 해당하는 최신 문서 버전 정보를 상기 사용자 클라이언트로 전송하는 단계;를 포함하여 구성된 문서 동기화 방법이 개시된다.
Description
본 발명은 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체에 관한 것으로서, 전자 문서 파일의 최초 배포 이후에 문서의 리비전 사항이 발생하는 경우에, 문서 사용자가 이미 보유하고 있는 배포 문서를 리비전 사항이 반영된 최신 문서로 간편하게 동기화하여 사용할 수 있도록 구성된 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체에 관한 것이다.
기업 내부 또는 외부의 다양한 업무 참여 구성원 간에 협업을 통해 업무를 진행하는 추세가 증가하고 있으며, 이를 감안하여 업무와 관련된 전자 문서 파일을 작성자가 배포하고 이를 공유하는 방식의 업무 환경이 확산되고 있다.
특히, 스마트 폰이나 스마트 패드와 같은 스마트 기기의 사용이 증가됨에 따라, 기업의 레거시 시스템과 연계하여 작업할 수 있는 EMS(Enterprise Mobility Service, 기업형 모바일 서비스) 환경이 확산되는 추세이며, 이러한 EMS 환경은 문서 공유 방식의 업무 환경을 더욱 확산시키는 계기가 되었다.
그런데, 종래의 문서 공유 환경의 일예에 따르면, 문서 작성자가 업무용 서버에 최초 배포 문서를 업로드한 이후 최초 작성자 또는 리비전 권한을 가진 사용자에 의해 문서에 리비전 사항이 발생하는 경우, 리비전 문서의 배포가 별도의 파일 전송 또는 다운로드 등의 행위를 통해 이뤄졌다.
일예로서, 문서 작성자는 문서 리비전 사항이 발생하는 경우에 리비전 사항이 반영된 최신 문서를 새로이 업무용 서버에 업로드하고 이를 다른 사용자가 서버 접속 및 다운로드 하는 방식으로 최신 문서가 공유되도록(동기화 되도록) 하였다.
다른 예로서, 문서 작성자는 문서 리비전 사항이 발생하는 경우에 리비전 사항이 반영된 최신 문서를 업무 참여 구성원들에게 이메일을 통해 새로이 배포하는 방식으로 최신 문서가 공유되도록(동기화 되도록) 하였다.
그러나, 이러한 방식들은 본질적으로 문서 사용자들이 업무용 서버 접속이나 이메일 확인 등과 같은 의도된 과정을 통해 최신 문서를 다운로드 받도록 구성되므로, 문서 사용자들의 정보 부족 또는 부주의 등에 의해 문서 동기화가 불완전하게 이뤄질 수 있다는 한계가 있었다.
또한, 문서 리비전 권한을 여러 사용자가 갖는 경우에, 문서의 버전 관리에 혼란이 발생할 수도 있다는 문제점이 있었다.
한편, 종래의 문서 공유 환경의 또다른 일예에 따르면, 문서 작성자가 업무용 서버에 최초 배포 문서를 업로드하고 해당 문서 파일의 각 사용자가 해당 문서를 특정 명칭 또는 위치의 로컬 폴더에 저장하여 관리하는 방식도 제안된 바 있다. 예를 들어, 업무용 서버는 문서 파일이 리비전된 경우, 상기 특정 폴더에 기저장된 문서 파일을 리비전된 문서 파일로 대체하는 방식으로 관리하게 된다.
그러나, 이러한 방식의 경우, 로컬 폴더에 저장된 문서 파일의 일자나 지정 폴더 명칭 등의 일률적인 정보에 근거하여 문서 관리를 하게 되므로, 예를 들어, 복수의 폴더를 동기화 폴더로 지정한 경우에는 리비전된 문서 파일을 복수의 폴더에 다운로드 및 저장하기 위한 과정에서 컴퓨팅 자원의 소모가 많아지고, 최신 버전 여부의 판단 과정에서 오류의 소지가 높다는 문제점이 있었다.
본 발명은 상기와 같은 종래 기술의 문제점을 감안하여 안출한 것으로서, 전자 문서 파일의 최초 배포 이후에 문서의 리비전 사항이 발생하는 경우에, 문서 사용자가 이미 보유하고 있는 배포 문서를 리비전 사항이 반영된 최신 문서로 간편하게 동기화하여 사용할 수 있도록 구성된 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체를 제공함을 그 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 일측면에 따르면, 배포자 클라이언트 및 사용자 클라이언트와 네트워크 연동되는 동기화 서버에서 실행되는 문서 동기화 방법으로서, 1) 동기화 정보가 랩핑(wrapping)된 동기화 문서가 배포자 클라이언트로부터 업로드되는 단계- 상기 동기화 정보에는 문서 ID, 문서 버전 정보가 적어도 포함됨-; 2) 상기 동기화 정보에 근거하여 동기화 관리 정보를 기록하고 업로드된 상기 동기화 문서를 저장하는 단계- 상기 동기화 관리 정보에는 문서 ID, 문서 버전 정보가 적어도 포함됨-; 3) 파일 오픈이 요청된 동기화 문서의 문서 ID를 사용자 클라이언트로부터 전송받는 단계; 및 4) 상기 전송된 문서 ID에 해당하는 최신 문서 버전 정보를 상기 사용자 클라이언트로 전송하는 단계;를 포함하여 구성된 문서 동기화 방법이 개시된다.
본 발명의 또 다른 일측면에 따르면, 동기화 서버와 네트워크 연동되는 배포자 클라이언트에서 실행되는 문서 동기화 방법으로서, 101) 문서 동기화 정보 입력을 위한 동기화 생성 입력 창을 오픈하는 단계- 상기 동기화 생성 입력창은 문서 리비전 권한자 정보, 스탬프 정보 중의 적어도 하나를 입력하기 위한 입력창임-; 102) 상기 동기화 생성 입력창을 통해 완료 입력이 이뤄진 경우, 동기화 문서에 동기화 정보를 랩핑(wrapping)하는 단계- 상기 동기화 정보에는 문서 ID, 문서 버전 정보, 문서 리비전 권한자 정보, 스탬프 정보 중의 적어도 하나가 적어도 포함됨-; 및 103) 동기화 정보가 랩핑된 동기화 문서를 동기화 서버로 업로드하는 단계;를 포함하여 구성된 것을 특징으로 하는 문서 동기화 방법이 개시된다.
본 발명의 또 다른 일측면에 따르면, 동기화 서버와 네트워크 연동되는 사용자 클라이언트에서 실행되는 문서 동기화 방법으로서, 201) 동기화 문서의 오픈 명령 입력의 감지 시 동기화 문서 사용창을 오픈하는 단계- 상기 동기화 문서는 동기화 정보가 랩핑(wrapping)된 문서이며, 상기 동기화 정보에는 문서 ID, 문서 버전 정보가 적어도 포함됨-; 202) 기 저장된 로컬 버전 문서 또는 최신 버전 문서 중 어느 것을 사용할 것인지를 상기 동기화 문서 사용창을 통해 입력받는 단계; 203) 최신 버전 문서를 사용할 것으로 입력된 경우, 로컬 저장된 동기화 문서의 문서 ID를 동기화 서버로 전송하는 단계; 및 204) 로컬 저장된 동기화 문서보다 최신 버전의 동기화 문서가 동기화 서버로부터 전송된 경우, 상기 전송된 최신 버전의 동기화 문서를 오픈하는 단계;를 포함하여 구성된 문서 동기화 방법이 개시된다.
본 발명의 또 다른 일측면에 따르면, 하드웨어와 결합되어 상기 문서 동기화 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램이 개시된다.
본 발명의 또 다른 일측면에 따르면, 상기 문서 동기화 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체가 개시된다.
이와 같은 본 발명은, 전자 문서 파일의 최초 배포 이후에 문서의 리비전 사항이 발생하는 경우에, 문서 사용자가 이미 보유하고 있는 배포 문서를 리비전 사항이 반영된 최신 문서로 간편하게 동기화하여 사용할 수 있도록 하는 장점이 있다.
또한, 문서 동기화 관리를 위한 사용자의 의도된 관리 과정이 불필요하므로, 문서 사용자들의 문서 동기화 상태에 관한 정보 부족 또는 부주의에 따른 문제점을 근본적으로 방지할 수 있다.
또한, 문서 리비전 권한을 여러 사용자가 갖는 경우에도, 문서의 리비전 버전 관리 과정에서 사용자 간의 혼란을 근본적으로 방지할 수 있다.
또한, 각 버전별 문서 파일에 대한 스탬프 확인이나 이력 관리를 통해, 다수 버전의 문서를 다수 사용자가 열람하는 과정에서 발생할 수 있는 사용자 열람 누락의 문제를 근본적으로 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 문서 동기화 방법을 예시 설명하기 위한 전체 시스템 구성도,
도 2는 본 발명의 일실시예에 따른 동기화 서버를 예시 설명하기 위한 서버 구성도,
도 3은 본 발명의 일실시예에 따른 배포자 클라이언트 또는 사용자 클라이언트를 예시 설명하기 위한 클라이언트 구성도,
도 4는 일실시예에 따른 문서 동기화 방법에 따른 동기화 정보 랩핑(wrapping) 개념을 예시 설명하기 위한 파일 구성도,
도 5는 본 발명의 일실시예에 따른 문서 동기화 방법의 S1 내지 S6 단계의 흐름도,
도 6은 본 발명의 일실시예에 따른 문서 동기화 방법의 S7 내지 S10 단계의 흐름도,
도 7은 본 발명의 일실시예에 따른 문서 동기화 방법의 S11 내지 S14 단계의 흐름도,
도 8은 본 발명의 일실시예에 따른 문서 동기화 방법의 S15 내지 S16 단계의 흐름도,
도 9는 본 발명의 일실시예에 따른 문서 동기화 방법의 S17 내지 S18 단계의 흐름도,
도 10은 본 발명의 일실시예에 따른 문서 동기화 방법의 Sp1 내지 Sp2 단계의 흐름도,
도 11은 본 발명의 일실시예에 따른 문서 동기화 방법의 Sp3 내지 Sp4 단계의 흐름도,
도 12는 본 발명의 일실시예에 따른 문서 동기화 방법의 S101 내지 S103 단계의 흐름도,
도 13은 본 발명의 일실시예에 따른 문서 동기화 방법의 S104 내지 S107 단계의 흐름도,
도 14는 본 발명의 일실시예에 따른 문서 동기화 방법의 S201 내지 S204 단계의 흐름도,
도 15는 본 발명의 일실시예에 따른 문서 동기화 방법의 S2011 내지 S2013 단계의 흐름도,
도 16는 본 발명의 일실시예에 따른 문서 동기화 방법의 S2041 내지 S2043 단계의 흐름도,
도 17는 본 발명의 일실시예에 따른 문서 동기화 방법의 S205 내지 S208 단계의 흐름도,
도 18은 본 발명의 일실시예에 따른 배포자 클라이언트에서 동기화 생성 입력 창을 오픈하는 상태를 나타낸 예시 화면,
도 19는 본 발명의 일실시예에 따른 배포자 클라이언트에서 오픈한 동기화 생성 입력 창을 나타낸 예시 화면,
도 20은 본 발명의 일실시예에 따른 배포자 클라이언트에서 동기화 관리 입력 창을 오픈하는 상태를 나타낸 예시 화면,
도 21는 본 발명의 일실시예에 따른 배포자 클라이언트에서 오픈한 동기화 관리 입력 창을 나타낸 예시 화면,
도 22는 본 발명의 일실시예에 따른 사용자 클라이언트에서 오픈한 동기화 문서 사용창을 나타낸 예시 화면이다.
도 2는 본 발명의 일실시예에 따른 동기화 서버를 예시 설명하기 위한 서버 구성도,
도 3은 본 발명의 일실시예에 따른 배포자 클라이언트 또는 사용자 클라이언트를 예시 설명하기 위한 클라이언트 구성도,
도 4는 일실시예에 따른 문서 동기화 방법에 따른 동기화 정보 랩핑(wrapping) 개념을 예시 설명하기 위한 파일 구성도,
도 5는 본 발명의 일실시예에 따른 문서 동기화 방법의 S1 내지 S6 단계의 흐름도,
도 6은 본 발명의 일실시예에 따른 문서 동기화 방법의 S7 내지 S10 단계의 흐름도,
도 7은 본 발명의 일실시예에 따른 문서 동기화 방법의 S11 내지 S14 단계의 흐름도,
도 8은 본 발명의 일실시예에 따른 문서 동기화 방법의 S15 내지 S16 단계의 흐름도,
도 9는 본 발명의 일실시예에 따른 문서 동기화 방법의 S17 내지 S18 단계의 흐름도,
도 10은 본 발명의 일실시예에 따른 문서 동기화 방법의 Sp1 내지 Sp2 단계의 흐름도,
도 11은 본 발명의 일실시예에 따른 문서 동기화 방법의 Sp3 내지 Sp4 단계의 흐름도,
도 12는 본 발명의 일실시예에 따른 문서 동기화 방법의 S101 내지 S103 단계의 흐름도,
도 13은 본 발명의 일실시예에 따른 문서 동기화 방법의 S104 내지 S107 단계의 흐름도,
도 14는 본 발명의 일실시예에 따른 문서 동기화 방법의 S201 내지 S204 단계의 흐름도,
도 15는 본 발명의 일실시예에 따른 문서 동기화 방법의 S2011 내지 S2013 단계의 흐름도,
도 16는 본 발명의 일실시예에 따른 문서 동기화 방법의 S2041 내지 S2043 단계의 흐름도,
도 17는 본 발명의 일실시예에 따른 문서 동기화 방법의 S205 내지 S208 단계의 흐름도,
도 18은 본 발명의 일실시예에 따른 배포자 클라이언트에서 동기화 생성 입력 창을 오픈하는 상태를 나타낸 예시 화면,
도 19는 본 발명의 일실시예에 따른 배포자 클라이언트에서 오픈한 동기화 생성 입력 창을 나타낸 예시 화면,
도 20은 본 발명의 일실시예에 따른 배포자 클라이언트에서 동기화 관리 입력 창을 오픈하는 상태를 나타낸 예시 화면,
도 21는 본 발명의 일실시예에 따른 배포자 클라이언트에서 오픈한 동기화 관리 입력 창을 나타낸 예시 화면,
도 22는 본 발명의 일실시예에 따른 사용자 클라이언트에서 오픈한 동기화 문서 사용창을 나타낸 예시 화면이다.
본 발명은 그 기술적 사상 또는 주요한 특징으로부터 벗어남이 없이 다른 여러가지 형태로 실시될 수 있다. 따라서, 본 발명의 실시예들은 모든 점에서 단순한 예시에 지나지 않으며 한정적으로 해석되어서는 안 된다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다", "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하의 본 발명 실시예의 설명에 있어서 주요 용어는 다음과 같이 이해될 수 있다.
"랩핑(wrapping)"은, 문서에 부가정보를 기록하고 관리하는 행위를 의미한다. 특정 문서를 랩핑하는 것에 의해, 동기화 관련 각종 기능을 사용자 클라이언트 또는 배포자 클라이언트가 사용할 수 있는 동기화 문서를 생성할 수 있다.
"문서 ID"는, 동기화 문서에 부여된 문서 고유 식별자를 의미한다.
"동기화 문서"는, 랩핑(wrapping)된 문서를 의미한다.
"로컬 관리하는 동기화 문서"는, 사용자 클라이언트 또는 배포자 클라이언트를 구현하는 로컬 컴퓨터에 저장된 동기화 문서를 의미한다. 이와 대비되는 개념으로서 "로컬 문서"는, 사용자 클라이언트 또는 배포자 클라이언트를 구현하는 로컬 컴퓨터에 저장된 동기화 문서가 아닌 일반 문서를 의미한다.
"버전"은, 동기화 문서의 리비전에 따른 문서 버전을 의미한다.
"리비전"은, 수정된 동기화 문서를 동기화 서버에 반영하고, 문서의 버전을 올리는 행위를 의미한다.
"리비전 권한"은, 동기화 문서를 수정하여 동기화 서버에 리비전할 수 있는 권한을 의미한다.
"체크아웃"은, 동기화 문서의 리비전 권한을 배타적으로 점유하는 것을 의미한다.
"체크인"은, 체크아웃한 문서의 수정 사항을 동기화 서버에 업로드 하고 버전을 증가시키는 것을 의미하며, 이때 체크아웃 상태는 해제된다. 이와 대비되는 개념으로서, "체크아웃 취소"는, 체크아웃 상태를 취소하는 것을 의미하며, 이 경우 문서의 수정된 내용은 동기화 서버에 반영되지 않으며, 체크아웃 상태만 취소된다.
"마스터 권한"은, 동기화 문서의 리비전 권한을 부여 혹은 회수할 수 있는 권한으로서, 배포자는 마스터 권한을 기본적으로 갖는다.
"스탬프"는, 스탬프 당시의 파일 해시(Hash)값과 스탬프 정보(스탬프 기록자, 스탬프 기록일자 등)를 보관하여, 특정 버전의 동기화 문서에 대하여 스탬프 기록자가 확인 하였음을 증명하는 기능을 의미한다. "스탬프"는 예를 들어, 권한과 무관하게 모든 사용자가 기록할 수 있으며, 최초 스탬프 기록자는 스탬프를 종료할 수 있다. 스탬프 종료된 버전의 동기화 문서는 추가로 스탬프를 기록 할 수 없다. 최초 스탬프 기록자는 필수 스탬프 대상자를 지정 할 수 있으며, 필수 스탬프 대상자에게는 동기화 서버로부터 스탬프 기록 요청 메일이 발송될 수 있다.
도 1은 본 발명의 일실시예에 따른 문서 동기화 방법을 예시 설명하기 위한 전체 시스템 구성도, 도 2는 본 발명의 일실시예에 따른 동기화 서버를 예시 설명하기 위한 서버 구성도, 도 3은 본 발명의 일실시예에 따른 배포자 클라이언트 또는 사용자 클라이언트를 예시 설명하기 위한 클라이언트 구성도이다.
본 실시예의 문서 동기화 방법을 구현하기 위한 시스템은, 배포자 클라이언트(2000) 및 사용자 클라이언트(2100)와 네트워크(10)를 통해 연동되는 동기화 서버(1000)를 포함하여 구성된다.
동기화 서버(1000)는 배포자 클라이언트(2000) 및 사용자 클라이언트(2100)와 연동하여 동기화 문서를 저장하며, 동기화 문서에 랩핑된 동기화 정보에 근거하여 서버 내에 동기화 관리 정보를 기록 관리한다. 동기화 서버(1000)는 예를 들어, DB 서버 및 WEB 서버, 스토리지 서버 등을 포함하여 구성될 수 있다.
기능적 관점에서, 동기화 서버(1000)는 배포자/사용자의 등록과 수정, 삭제 등의 기능을 수행하는 배포자/사용자 관리 모듈(1102)과, 배포자 클라이언트(2000) 또는 사용자 클라이언트(2100)와 연동하여 문서동기화 정보를 관리하는 문서동기화 관리 모듈(1104)과, 동기화 문서의 리비전 권한을 관리하는 리비전 권한 관리 모듈(1106)과, 동기화 문서에 대한 스탬프 정보를 관리하는 스탬프 관리 모듈(1108)과, 서버의 일반적인 기능 관리를 위한 운영 모듈(1110)을 포함한다. 또한, 동기화 서버(1000)는 동기화 문서의 생성 및 관리, 리비전, 배포자, 사용자 등의 전반적인 정보를 포함하는 동기화 관리 정보를 기록한 동기화 관리 정보 DB(1120)를 포함한다.
배포자 클라이언트(2000) 및 사용자 클라이언트(2100)는 동기화 문서의 생성 및 관리, 리비전 등의 기능을 실행하기 위한 문서 동기화 프로그램이 실행되는 클라이언트들로서, 배포자 또는 사용자라는 구분은 동기화 문서의 작성(배포) 및 사용 관점의 구분이며, 이들 클라이언트에서 실행되는 문서 동기화 프로그램은 동기화 문서의 생성 및 관리, 리비전 등과 같은 공통의 기능을 실행하는 프로그램일 수 있다.
상기 문서 동기화 프로그램은, 예를 들어, 사용자의 조작 입력에 의해 문서 동기화 정보 입력을 위한 동기화 생성 입력 창을 오픈하도록 하거나, 동기화 문서 리비전을 위한 동기화 관리 입력 창을 오픈하도록 하거나, 동기화 문서의 오픈 명령 입력의 감지 시 동기화 문서 사용창을 오픈하도록 한다.
상기 사용자의 조작 입력은, 예를 들어, OS의 탐색기(예, 윈도우 탐색기)에서 동기화할 문서를 지정(예, 마우스 클릭)한 상태에서 동기화 생성 입력창 오픈을 위한 쉘 메뉴 명령을 입력(예, 마우스 우클릭 후 메뉴 클릭)받는 방식으로 이뤄질 수 있다. 다른 예로서, 상기 사용자의 조작 입력은, 예를 들어, OS의 탐색기(예, 윈도우 탐색기)에서 동기화할 문서를 오픈 명령 입력 시(예, 마우스 더블 클릭 시)에 해당 입력의 감지에 따라 동기화 관리 입력창이 자동으로 오픈되는 방식으로 이뤄질 수도 있다.
상기 기능을 구현하기 위해, 상기 문서 동기화 프로그램은, 예를 들어, 쉘 메뉴 제공용 기능 파일, 또는 동기화 문서 관련 정보의 기록/추출용 기능 파일, 동기화 서버와 통신하여 동기화 관련 정보를 송수신하기 위한 기능 파일, 동기화 문서의 업로드/다운로드를 위한 기능 파일, 문서 어플리케이션을 통한 동기화 문서의 오픈 감지를 위한 기능 파일 등을 DLL(dynamic linking library) 파일의 형태로 포함할 수 있다. 또한, 상기 문서 동기화 프로그램은, 예를 들어, 상술한 입력 창이나 사용창을 제공하기 위한 실행 파일을 포함할 수 있다.
상기 문서 동기화 프로그램은 예를 들어, MS-WORD와 같은 특정 문서 어플리케이션을 통한 문서 오픈 시에 해당 문서가 동기화 정보가 랩핑된 문서인지를 감지하여 동기화 관련 기능을 실행하기 위해서, 문서 어플리케이션에 인젝션(injection)되어 API 후킹을 수행하는 코어 모듈을 포함할 수 있다. 이러한 코어 모듈은 예를 들어, 통상의 DRM 코어와 유사한 방식으로 구현될 수 있으므로, 그 상세 설명은 생략한다.
API 후킹은 예를 들어, 사용자가 특정 문서 파일을 오픈하는 경우, 상기 코어 모듈이 예를 들어, "CreateFile" 또는 "ReadFile", "WirteFile" 등의 File I/O 관련 API를 후킹(hooking)함으로써, 문서 어플리케이션이 생성 혹은 오픈하려고 하는 파일의 경로를 파악하는 방식으로 이뤄진다. 이러한 API 후킹 과정에서 문서 동기화 프로그램이 실행되는 클라이언트는 동기화 문서에 랩핑된 서명부를 식별하여 해당 문서가 동기화 문서인지 여부를 식별하게 된다. 동기화 문서의 랩핑에 관해서는 도 4를 참조하여 후술한다.
한편, 상기 문서 동기화 프로그램은 동기화 문서의 원본 문서를 생성하는 특정 문서 어플리케이션을 동기화 대상 문서 어플리케이션으로 설정하는 기능을 제공할 수 있다.
기능적 관점에서, 상기 배포자 클라이언트(2000) 또는 사용자 클라이언트(2100)는 동기화 서버(1000)에 대한 배포자/사용자의 로그인 인증과 기타 관리 기능 이용을 위한 배포자/사용자 이용 모듈(2102)과, 동기화 서버(1000)와 연동하여 문서동기화 정보를 입력/수정하기 위한 문서동기화 이용 모듈(2104)과, 동기화 서버(1000)와 연동하여 동기화 문서의 리비전 권한을 입력/수정하기 위한 리비전 권한 이용 모듈(2106)과, 동기화 서버(1000)와 연동하여 동기화 문서에 대한 스탬프 정보를 기록/수정하기 위한 스탬프 관리 모듈(2108)과, 클라이언트의 일반적인 기능 제어를 위한 제어 모듈(2110)을 포함한다. 또한, 상기 배포자 클라이언트(2000) 또는 사용자 클라이언트(2100)는 동기화 문서의 생성 및 관리, 리비전, 배포자, 사용자 등의 전반적인 동기화 문서 이용 정보를 기록한 동기화 문서 이용 정보 DB(2120)를 포함한다.
상기 설명에 있어서 '클라이언트'는 통상의 서버-클라이언트 환경에서의 클라이언트를 의미하며, 예를 들어, 문서 동기화 프로그램이 설치 및 실행되는 일반적 컴퓨팅 수단(예, PC, 스마트폰, 태블릿PC, 모바일단말)을 통해 구현될 수 있다.
본 실시예의 '네트워크(10)'는 인터넷 또는 인트라넷과 같은 통상의 통신 네트워크를 의미하여, 유무선의 네트워크를 모두 포괄하는 것으로 이해될 수 있다.
도 4는 일실시예에 따른 문서 동기화 방법에 따른 동기화 정보 랩핑(wrapping) 개념을 예시 설명하기 위한 파일 구성도이다.
도 4에 예시된 바와 같이, 본 실시예의 동기화 문서는 문서의 원래 콘텐츠에 해당하는 콘텐츠 데이터에, 동기화 정보가 기록된 헤더부와 동기화 문서 여부를 식별하기 위한 서명부가 랩핑된 형태를 가지며, 문서 보안을 위해 암호화 될 수 있다.
상기 헤더부는 동기화 문서의 문서 ID, 문서 생성자(배포자), 문서 버전, 생성 시간 등의 동기화 정보가 XML 포맷으로 기록된 형태일 수 있다.
이렇게 헤더부에 포함된 동기화 정보는 동기화 서버에 동기화 관리 정보로서 기록 및 저장될 수 있다. 또한, 동기화 서버는 특정 동기화 문서에 관한 체크아웃 여부, 버전별 스탬프 정보, 리비전 권한자 정보 등을 동기화 관리 정보로서 기록 및 저장할 수 있으며, 각 버전별 동기화 문서 파일을 저장한다.
이하에서는 도면을 참조하여, 배포자 클라이언트 및 사용자 클라이언트와 네트워크 연동되는 동기화 서버에서 실행되는 문서 동기화 방법을 설명한다.
도 5는 본 발명의 일실시예에 따른 문서 동기화 방법의 S1 내지 S6 단계의 흐름도이다. S1 단계에서 S2 단계는 동기화 문서의 생성 과정에 해당하며, S3 단계에서 S4 단계는 사용자 클라이언트에서 오픈한 동기화 문서의 버전 확인을 하는 과정에 해당하며, S5 단계에서 S6 단계는 사용자 클라이언트로 최신 버전 동기화 문서를 전송하는 과정에 해당한다.
S1 단계에서는, 동기화 정보가 랩핑(wrapping)된 동기화 문서가 배포자 클라이언트로부터 동기화 서버로 업로드된다. 바람직하게, 상기 동기화 정보에는 문서 ID, 문서 버전 정보가 적어도 포함된다.
S2 단계에서는, 동기화 서버가 상기 동기화 정보에 근거하여 동기화 관리 정보를 기록하고 업로드된 상기 동기화 문서를 저장한다. 바람직하게, 상기 동기화 관리 정보에는 문서 ID, 문서 버전 정보가 적어도 포함된다.
S3 단계에서는, 동기화 서버가 파일 오픈이 요청된 동기화 문서의 문서 ID를 사용자 클라이언트로부터 전송받는다.
S4 단계에서는, 동기화 서버가 상기 전송된 문서 ID에 해당하는 최신 문서 버전 정보를 상기 사용자 클라이언트로 전송한다.
S5 단계에서는, 동기화 서버가 사용자 클라이언트로부터 특정 문서 ID에 관한 최신 버전 동기화 문서를 요청받는다.
바람직한 일예로, 상기 S5 단계의 상기 특정 문서 ID는, 상기 S4 단계에서 전송한 최신 문서 버전 정보와 해당 사용자 클라이언트에서 로컬 관리하는 동기화 문서의 문서 버전이 불일치한 것으로 확인된 문서의 ID가 된다.
S6 단계에서는, 동기화 서버가 상기 특정 문서 ID의 최신 버전 동기화 문서를 상기 사용자 클라이언트로 전송한다.
도 6은 본 발명의 일실시예에 따른 문서 동기화 방법의 S7 내지 S10 단계의 흐름도이다. S7 단계에서 S10 단계는 배포자 클라이언트에 의해 동기화 문서의 리비전이 이뤄지는 과정에 해당한다.
S7 단계에서는, 동기화 서버가 상기 배포자 클라이언트로부터 문서 리비전에 관한 체크아웃 요청을 전송받는다. 바람직하게, 상기 체크아웃 요청은 문서 리비전 권한을 배타적으로 점유하기 위한 요청이며, 대상 동기화 문서의 문서 ID가 포함된다. 체크아웃 상태에서 배포자 클라이언트는 리비전 대상 동기화 문서를 수정 및 저장할 수 있다.
S8 단계에서는, 상기 배포자 클라이언트로부터 체크인 요청 입력 시, 리비전된 동기화 정보가 랩핑(wrapping)된 동기화 문서가 상기 배포자 클라이언트로부터 동기화 서버로 업로드된다. 상기 체크인 요청은 문서 리비전 권한의 배타적 점유를 종료하기 위한 요청이다. 상기 배포자 클라이언트로부터의 체크인 요청은 동기화 문서의 수정 완료 후에 이뤄질 수 있다. 동기화 정보의 리비전은 배포자 클라이언트에서 실행되는 문서 동기화 프로그램에 의해 자동으로 이뤄지거나, 배포자의 입력에 의해 이뤄질 수 있다.
S9 단계에서는, 동기화 서버가 상기 리비전된 동기화 정보에 근거하여 리비전된 동기화 관리 정보를 기록하고 업로드된 버전의 동기화 문서를 저장한다.
S10 단계에서는, 동기화 서버가 상기 배포자 클라이언트의 체크아웃 상태를 해제한다.
도 7은 본 발명의 일실시예에 따른 문서 동기화 방법의 S11 내지 S14 단계의 흐름도이다. S11 단계에서 S14 단계는 문서 리비전 권한이 있는 사용자 클라이언트에 의해 동기화 문서의 리비전이 이뤄지는 과정에 해당한다. 이하 설명에서 배포자 클라이언트에 의한 동기화 문서의 리비전 과정과 유사한 구성의 중복 설명은 생략한다.
사용자 클라이언트에 의해 리비전이 이뤄지기 위해, 우선, 상기 S1 단계의 상기 동기화 정보 및 상기 S2 단계의 동기화 관리 정보에 문서 리비전 권한자 정보가 더욱 포함된다. 문서 리비전 권한자 정보는 "마스터 권한"이 있는 배포자 또는 사용자에 의해 입력되어 동기화 서버에서 관리된다.
S11 단계에서는, 동기화 서버가 상기 문서 리비전 권한이 있는 사용자 클라이언트부터 문서 리비전에 관한 체크아웃 요청을 전송받는다. 상기 체크아웃 요청은 문서 리비전 권한을 배타적으로 점유하기 위한 요청이며, 대상 동기화 문서의 문서 ID가 포함된다.
S12 단계에서는, 상기 문서 리비전 권한이 있는 사용자 클라이언트로부터 체크인 요청 입력 시, 리비전된 동기화 정보가 랩핑(wrapping)된 동기화 문서가 상기 문서 리비전 권한이 있는 사용자 클라이언트로부터 동기화 서버로 업로드된다. 상기 체크인 요청은 문서 리비전 권한의 배타적 점유를 종료하기 위한 요청이다.
S13 단계에서는, 동기화 서버가 상기 리비전된 동기화 정보에 근거하여 리비전된 동기화 관리 정보를 기록하고 업로드된 버전의 동기화 문서를 저장한다.
S14 단계에서는, 동기화 서버가 상기 문서 리비전 권한이 있는 사용자 클라이언트의 체크아웃 상태를 해제한다.
도 8은 본 발명의 일실시예에 따른 문서 동기화 방법의 S15 내지 S16 단계의 흐름도이다. S15 단계에서 S16 단계는 배포자 클라이언트로부터 문서 리비전 권한자 정보에 관한 수정이 이뤄지는 과정에 해당한다.
S15 단계에서는, 동기화 서버가 상기 배포자 클라이언트로부터 문서 리비전 권한자 정보에 관한 수정 정보를 전송받는다. 상기 수정 정보에는 문서 ID가 적어도 포함된다.
S16 단계에서는, 동기화 서버가 상기 문서 리비전 권한자 정보에 관한 수정 정보에 근거하여 수정된 동기화 관리 정보를 기록하고 저장한다.
도 9는 본 발명의 일실시예에 따른 문서 동기화 방법의 S17 내지 S18 단계의 흐름도이다. S17 단계에서 S18 단계는 배포자 클라이언트 또는 사용자 클라이언트로부터 특정 동기화 문서에 관한 스탬프 정보가 기록되는 과정에 해당한다.
S17 단계에서는, 동기화 서버가 상기 배포자 클라이언트 또는 사용자 클라이언트로부터 특정 동기화 문서에 관한 스탬프 정보를 전송받는다. 상기 스탬프 정보는 특정 동기화 문서 내용을 확인하였다는 확인 서명으로서, 문서 ID와 문서 버전 정보, 스탬프 기록자 정보를 적어도 포함한다.
S18 단계에서는, 동기화 서버가 해당 동기화 문서에 관한 상기 스탬프 정보에 근거하여 상기 동기화 관리 정보에 스탬프 정보를 기록하고 저장한다.
이렇게 동기화 서버에 동기화 관리 정보로서 기록된 스탬프 정보는 배포자 또는 사용자의 요청에 의해 각 버전별 동기화 문서의 스탬프 현황 자료 형태로 제공될 수도 있다.
도 10은 본 발명의 일실시예에 따른 문서 동기화 방법의 Sp1 내지 Sp2 단계의 흐름도이다. 배포자 클라이언트는 상술한 S1 단계를 실행하기 위한 전 처리 과정으로서 동기화 서버에 로그인 인증을 할 수 있다.
Sp1 단계에서는, 동기화 서버가 상기 배포자 클라이언트로부터 상기 S1 단계 이전에 로그인 인증을 요청 받는다.
Sp2 단계에서는, 상기 로그인 인증이 이뤄진 경우, 상기 S1 단계를 실행한다.
이러한 로그인 인증을 통해, 동기화 서버는 어느 배포자가 클라이언트를 통해 접속한 상태인지를 확인하고, S1 단계 이하의 처리를 실행할 수 있다.
도 11은 본 발명의 일실시예에 따른 문서 동기화 방법의 Sp3 내지 Sp4 단계의 흐름도이다. 사용자 클라이언트는 상술한 S3 단계를 실행하기 위한 전 처리 과정으로서 동기화 서버에 로그인 인증을 할 수 있다.
Sp3 단계에서는, 동기화 서버가 상기 사용자 클라이언트로부터 상기 S3 단계 이전에 로그인 인증을 요청 받는다.
Sp4 단계에서는, 상기 로그인 인증이 이뤄진 경우, 상기 S3 단계를 실행한다.
이러한 로그인 인증을 통해, 동기화 서버는 어느 사용자가 클라이언트를 통해 접속한 상태인지를 확인하고, S3 단계 이하의 처리를 실행할 수 있다.
이하에서는 도면을 참조하여, 동기화 서버와 네트워크 연동되는 배포자 클라이언트에서 실행되는 문서 동기화 방법을 설명한다.
도 12는 본 발명의 일실시예에 따른 문서 동기화 방법의 S101 내지 S103 단계의 흐름도이다. S101 단계에서 S103 단계는 동기화 문서의 생성 과정에 해당한다.
S101 단계에서는, 배포자 클라이언트가 문서 동기화 정보 입력을 위한 동기화 생성 입력 창을 오픈한다. 상기 동기화 생성 입력창은 문서 리비전 권한자 정보, 스탬프 정보 중의 적어도 하나를 입력하기 위한 입력창이다.
상기 S101 단계에서 상기 동기화 생성 입력창의 오픈은, 동기화할 문서를 지정한 상태에서 동기화 생성 입력창 오픈을 위한 쉘 메뉴 명령을 입력받는 방식으로 이뤄질 수 있다. 도 18은 본 발명의 일실시예에 따른 배포자 클라이언트에서 동기화 생성 입력 창을 오픈하는 상태를 나타낸 예시 화면, 도 19는 본 발명의 일실시예에 따른 배포자 클라이언트에서 오픈한 동기화 생성 입력 창을 나타낸 예시 화면으로서, 동기화 생성 입력창과 관련된 실제 구현예를 예시한다.
S102 단계에서는, 상기 동기화 생성 입력창을 통해 완료 입력이 이뤄진 경우, 배포자 클라이언트가 동기화 문서에 동기화 정보를 랩핑(wrapping)한다. 상기 동기화 정보에는 문서 ID, 문서 버전 정보, 문서 리비전 권한자 정보, 스탬프 정보 중의 적어도 하나가 적어도 포함된다. 문서 ID, 문서 버전 정보는 상기 S101 단계에서 배포자에 의해 입력하도록 할 수도 있으며, S102 단계에서 배포자 클라이언트의 문서 동기화 프로그램의 기능 실행에 의해 자동적으로 부여될 수도 있다.
S103 단계에서는, 동기화 정보가 랩핑된 동기화 문서를 배포자 클라이언트가 동기화 서버로 업로드한다.
도 13은 본 발명의 일실시예에 따른 문서 동기화 방법의 S104 내지 S107 단계의 흐름도이다. S104 단계에서 S107 단계는 동기화 문서의 관리 과정 중 특히 동기화 문서의 리비전 과정에 해당한다.
S104 단계에서는, 배포자 클라이언트가 동기화 문서 리비전을 위한 동기화 관리 입력 창을 오픈한다.
상기 S104 단계에서, 상기 동기화 관리 입력창의 오픈은, 리비전할 동기화 문서를 지정한 상태에서 동기화 관리 입력창 오픈을 위한 쉘 메뉴 명령을 입력받는 방식으로 이뤄지거나, 리버전할 동기화 문서의 오픈 명령 입력 시에 해당 입력의 감지에 따라 동기화 관리 입력창이 자동으로 오픈되는 방식으로 이뤄질 수 있다. 도 20은 본 발명의 일실시예에 따른 배포자 클라이언트에서 동기화 관리 입력 창을 오픈하는 상태를 나타낸 예시 화면, 도 21는 본 발명의 일실시예에 따른 배포자 클라이언트에서 오픈한 동기화 관리 입력 창을 나타낸 예시 화면으로서, 동기화 관리 입력창과 관련된 실제 구현예를 예시한다.
S105 단계에서는, 문서 리비전에 관한 체크아웃 요청을 배포자로부터 입력받고, 배포자 클라이언트가 상기 동기화 서버로 문서 리비전에 관한 체크아웃 요청을 전송한다. 상기 체크아웃 요청은 문서 리비전 권한을 배타적으로 점유하기 위한 요청이며, 대상 문서 파일의 문서 ID가 포함된다.
S106 단계에서는, 배포자 클라이언트가 로컬 작업 모드에서 문서 어플리케이션을 통해 동기화 문서를 수정한다.
S107 단계에서는, 문서 리비전에 관한 체크인 요청 입력 시, 리비전된 동기화 정보가 랩핑(wrapping)된 동기화 문서를 배포자 클라이언트가 상기 동기화 서버로 업로드한다. 상기 체크인 요청은 문서 리비전 권한의 배타적 점유를 종료하기 위한 요청이다.
이하에서는 도면을 참조하여, 동기화 서버와 네트워크 연동되는 사용자 클라이언트에서 실행되는 문서 동기화 방법을 설명한다.
도 14는 본 발명의 일실시예에 따른 문서 동기화 방법의 S201 내지 S204 단계의 흐름도이다. S201 단계에서 S204 단계는 동기화 문서의 사용 과정에 해당한다.
S201 단계에서는, 사용자 클라이언트가 동기화 문서의 오픈 명령 입력의 감지 시 동기화 문서 사용창을 오픈한다. 상기 동기화 문서는 동기화 정보가 랩핑(wrapping)된 문서이며, 상기 동기화 정보에는 문서 ID, 문서 버전 정보가 적어도 포함된다. 도 22는 본 발명의 일실시예에 따른 사용자 클라이언트에서 오픈한 동기화 문서 사용창을 나타낸 예시 화면으로서, 동기화 문서 사용창과 관련된 실제 구현예를 예시한다.
S202 단계에서는, 사용자 클라이언트가 기 저장된 로컬 버전 문서 또는 최신 버전 문서 중 어느 것을 사용할 것인지를 상기 동기화 문서 사용창을 통해 사용자로부터 입력받는다.
S203 단계에서는, 사용자로부터 최신 버전 문서를 사용할 것으로 입력된 경우, 사용자 클라이언트가 로컬 저장된 동기화 문서의 문서 ID를 동기화 서버로 전송한다.
S204 단계에서는, 로컬 저장된 동기화 문서보다 최신 버전의 동기화 문서가 동기화 서버로부터 전송된 경우, 사용자 클라이언트가 상기 전송된 최신 버전의 동기화 문서를 오픈한다. 동기화 문서의 오픈은 해당 문서 사용을 위한 문서 어플리케이션을 통해 이뤄진다.
도 15는 본 발명의 일실시예에 따른 문서 동기화 방법의 S2011 내지 S2013 단계의 흐름도로서, 상기 S201 단계를 더욱 상세하게 도시한다.
S2011 단계에서는, 사용자 클라이언트가 문서 오픈 명령 입력 시 파일 입출력(File I/O) 관련 API(application programming interface)를 후킹하여 문서 어플리케이션이 오픈하려고 하는 문서를 파악한다.
S2012 단계에서는, 사용자 클라이언트가 상기 파악된 문서의 동기화 정보를 확인한다.
S2013 단계에서는, 상기 확인 결과, 해당 문서가 동기화 정보가 랩핑(wrapping)된 동기화 문서로 확인된 경우에 사용자 클라이언트가 동기화 문서 사용창을 오픈한다.
도 16는 본 발명의 일실시예에 따른 문서 동기화 방법의 S2041 내지 S2043 단계의 흐름도로서, 상기 S204 단계를 더욱 상세하게 도시한다.
S2041 단계에서는, 상기 S203 단계에서 전송한 문서 ID에 해당하는 최신 문서 버전 정보를 사용자 클라이언트가 상기 동기화 서버로부터 전송받는다.
S2042 단계에서는, 상기 최신 문서 버전 정보와 로컬 저장된 동기화 문서의 문서 버전이 불일치한 것으로 확인된 경우, 사용자 클라이언트가 최신 버전의 동기화 문서를 동기화 서버로 전송 요청한다. 최신 버전의 동기화 문서의 요청은 사용자에 의해 입력하도록 할 수도 있으며, 사용자 클라이언트의 문서 동기화 프로그램의 기능 실행에 의해 자동적으로 요청되도록 할 수도 있다.
S2043 단계에서는, 사용자 클라이언트가 최신 버전의 동기화 문서를 동기화 서버로부터 전송받는다.
도 17는 본 발명의 일실시예에 따른 문서 동기화 방법의 S205 내지 S208 단계의 흐름도이다. S205 단계에서 S208 단계는 동기화 문서의 리비전 과정에 해당한다. 동기화 문서의 리비전은 리비전 권한이 부여된 사용자에 의해서만 이뤄질 수 있다. 사용자의 리비전 권한의 확인은 동기화 서버에 의해 이뤄지되 사용자 로그인 인증 과정에서 이뤄지거나 별도의 리비전 권한 확인 과정을 거쳐 이뤄질 수도 있다. 이러한 권한 확인 과정은 통상의 기술로 볼 수 있으므로, 그 상세한 설명은 생략한다.
S205 단계에서는, 사용자 클라이언트가 동기화 문서 리비전을 위한 동기화 관리 입력 창을 오픈한다.
S206 단계에서는, 사용자 클라이언트가 문서 리비전에 관한 체크아웃 요청을 사용자로부터 입력받고, 상기 동기화 서버로 문서 리비전에 관한 체크아웃 요청을 전송한다. 상기 체크아웃 요청은 문서 리비전 권한을 배타적으로 점유하기 위한 요청이며, 대상 문서 파일의 문서 ID가 포함된다.
S207 단계에서는, 사용자 클라이언트가 로컬 작업 모드에서 문서 어플리케이션을 통해 동기화 문서를 수정한다.
S208 단계에서는, 문서 리비전에 관한 체크인 요청 입력 시, 리비전된 동기화 정보가 랩핑(wrapping)된 동기화 문서를 사용자 클라이언트가 상기 동기화 서버로 업로드한다. 상기 체크인 요청은 문서 리비전 권한의 배타적 점유를 종료하기 위한 요청이다.
한편, 본 발명의 실시예 들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령과 이를 포함하는 컴퓨터 판독가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, USB 드라이브와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
1000: 동기화 서버
2000: 배포자 클라이언트
2100: 사용자 클라이언트
2000: 배포자 클라이언트
2100: 사용자 클라이언트
Claims (1)
- 배포자 클라이언트 및 사용자 클라이언트와 네트워크 연동되는 동기화 서버에서 실행되는 문서 동기화 방법으로서,
동기화 정보가 랩핑(wrapping)된 동기화 문서가 배포자 클라이언트로부터 업로드되는 단계- 상기 동기화 정보에는 문서 ID, 문서 버전 정보, 문서 리비전 권한자 정보가 적어도 포함됨-;
상기 동기화 정보에 근거하여 동기화 관리 정보를 기록하고 업로드된 상기 동기화 문서를 저장하는 단계- 상기 동기화 관리 정보에는 문서 ID, 문서 버전 정보, 문서 리비전 권한자 정보가 적어도 포함됨-;
파일 오픈이 요청된 동기화 문서의 문서 ID를 사용자 클라이언트로부터 전송받는 단계; 및
상기 전송된 문서 ID에 해당하는 최신 문서 버전 정보를 상기 사용자 클라이언트로 전송하는 단계를 포함하여 구성된 것을 특징으로 하는 문서 동기화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160062916A KR20160061951A (ko) | 2016-05-23 | 2016-05-23 | 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160062916A KR20160061951A (ko) | 2016-05-23 | 2016-05-23 | 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140098489A Division KR101634571B1 (ko) | 2014-07-31 | 2014-07-31 | 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160061951A true KR20160061951A (ko) | 2016-06-01 |
Family
ID=56138389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160062916A KR20160061951A (ko) | 2016-05-23 | 2016-05-23 | 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160061951A (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100886616B1 (ko) | 2008-07-28 | 2009-03-05 | (주)레이풀시스템 | 자동 문서관리 시스템 및 그 방법 |
-
2016
- 2016-05-23 KR KR1020160062916A patent/KR20160061951A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100886616B1 (ko) | 2008-07-28 | 2009-03-05 | (주)레이풀시스템 | 자동 문서관리 시스템 및 그 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101634571B1 (ko) | 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체 | |
US11755616B2 (en) | Synchronized organization directory with team member folders | |
US10547601B2 (en) | System and method to allow third-party developer to debug code in customer environment | |
JP5963957B2 (ja) | 開発環境システム、開発環境装置、開発環境提供方法及びプログラム | |
KR101099297B1 (ko) | 전자파일의 제1 버전과 제2 버전을 동기화하기 위한 방법 및 컴퓨터 판독가능 기록 매체 | |
US9854131B2 (en) | Image forming apparatus with personal setting synchronization and method for controlling same | |
US9864736B2 (en) | Information processing apparatus, control method, and recording medium | |
US20090228716A1 (en) | Method and system for distributed coordination of access to digital files | |
JP2007156612A (ja) | 情報処理装置、サーバ装置、ファイル処理方法、記憶媒体およびプログラム | |
TW201025050A (en) | Device and method for filtering a file system | |
US20070130183A1 (en) | Methods, systems, and computer program products for associating computer-system-accessible resources using behaviors | |
KR20160061951A (ko) | 문서 동기화 방법 및 컴퓨터 프로그램, 그 기록매체 | |
JP4329319B2 (ja) | ファイル管理システム、ファイル管理方法 | |
JP2007066200A (ja) | 文書管理システム、文書管理サーバ、文書管理方法及び文書管理プログラム | |
JP2006293448A (ja) | 文書管理システムおよび文書管理方法およびプログラム | |
JP4882550B2 (ja) | オブジェクト管理システム及びオブジェクト管理方法、並びにコンピュータ・プログラム | |
US8856065B2 (en) | Information processing apparatus, document access method, and computer program | |
JP5142067B2 (ja) | 文書処理システム、文書処理装置、メールサーバー及びプログラム | |
KR100783404B1 (ko) | Drm시스템의 콘텐츠 관리방법 | |
JP2009245325A (ja) | セキュリティ管理サーバ、セキュリティ管理システム、セキュリティ管理方法、プログラム、及び、記録媒体 | |
JP2015165350A (ja) | トレースシステム及びトレース方法 | |
Schubert et al. | Interoperable Document Collaboration | |
JP2004021719A (ja) | 情報管理システム、情報管理方法、情報管理プログラム及びその記録媒体 | |
JP2009237840A (ja) | コンテンツ管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |