KR20120005006A - 교차 채널 공동 저작 일관성 - Google Patents

교차 채널 공동 저작 일관성 Download PDF

Info

Publication number
KR20120005006A
KR20120005006A KR1020117025705A KR20117025705A KR20120005006A KR 20120005006 A KR20120005006 A KR 20120005006A KR 1020117025705 A KR1020117025705 A KR 1020117025705A KR 20117025705 A KR20117025705 A KR 20117025705A KR 20120005006 A KR20120005006 A KR 20120005006A
Authority
KR
South Korea
Prior art keywords
lock
metadata
document
identifier
unlocks
Prior art date
Application number
KR1020117025705A
Other languages
English (en)
Other versions
KR101647535B1 (ko
Inventor
조나단 비 베일러
크리스토퍼 제이 안토스
이든 제이 번스타인
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20120005006A publication Critical patent/KR20120005006A/ko
Application granted granted Critical
Publication of KR101647535B1 publication Critical patent/KR101647535B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Abstract

컴퓨팅 장치는 처리 장치와 메모리를 포함하고, 메모리는 처리 장치에 의해 실행될 때 처리 장치가 다음의 모듈을 생성하게 하는 명령어를 갖고, 상기 모듈은 문서 컨텐츠의 생성 및 편집을 처리하는 문서 처리 모듈과, 컴퓨팅 장치에서 문서를 위한 메타데이터를 생성, 모니터링 및 저장하는 메타데이터 처리 모듈을 포함하고, 메타데이터 처리 모듈은 사용자가 문서의 일부분에 대한 편집을 시작할 때 생성되는 신규 잠금(new lock)에 관한 정보를 포함하는 잠금 생성 메타데이터(lock creation metadata)와, 잠금의 해제에 관한 정보를 포함하는 잠금 해제 메타데이터(lock removal metadata)와, 잠금의 삭제에 관한 정보를 포함하는 잠금 삭제 메타데이터(lock deletion metadata)를 생성하고, 메타데이터 처리 모듈은 데이터 채널 및 별도의 메타데이터 채널 모두에 대해 잠금 생성 메타데이터를 기록하고, 메타데이터 처리 모듈은 데이터 채널에 잠금 해제 메타데이터를 기록하고, 메타데이터 처리 모듈은 메타데이터 채널에 잠금 삭제 메타데이터를 기록한다.

Description

교차 채널 공동 저작 일관성{CROSS-CHANNEL COAUTHORING CONSISTENCY}
네트워크 기반의 문서 협업 시스템은 다수의 사용자가 동시에 문서를 액세스하고 공동 저작(coauthor)할 수 있게 한다. 다수의 사용자가 문서를 공동 저작할 수 있게 된다고 해도, 그 충돌을 피하기 위해서 시스템은 각각의 사용자가 편집을 실행할 수 있게 하는 문서 내의 구역을 제한할 수 있다. 이러한 제한 사항과 연관된 정보가 다른 공동 저작 사용자에게 통신되지 않는다면, 문서의 복사본들이 병합될 때 변경 사항들이 충돌할 가능성이 증가된다.
본 발명의 실시예는 처리 장치와 시스템 메모리를 포함하는 컴퓨팅 장치에 관한 것으로, 시스템 메모리는 처리 장치에 의해 실행될 때 처리 장치가 다음의 모듈을 생성하게 하는 명령어를 갖고, 상기 모듈은 문서 컨텐츠의 생성 및 편집을 처리하는 문서 처리 모듈과, 컴퓨팅 장치에서 문서를 위한 메타데이터를 생성, 모니터링 및 저장하는 메타데이터 처리 모듈을 포함하고, 메타데이터 처리 모듈은 사용자가 문서의 일부분에 대한 편집을 시작할 때 생성되는 신규 잠금(new lock)에 관한 정보를 포함하는 잠금 생성 메타데이터(lock creation metadata)와, 잠금의 해제에 관한 정보를 포함하는 잠금 해제 메타데이터(lock removal metadata)와, 잠금의 삭제에 관한 정보를 포함하는 잠금 삭제 메타데이터(lock deletion metadata)를 생성하고, 메타데이터 처리 모듈은 데이터 채널 및 별도의 메타데이터 채널 모두에 대해 잠금 생성 메타데이터를 기록하고, 데이터 채널은 문서와 연관된 컨텐츠 및 잠금 메타데이터의 통신이 통하게 하는 컴퓨팅 장치와 서버 컴퓨터 사이의 제 1 통신 경로이고, 메타데이터 채널은 문서와 연관된 잠금 메타데이터의 통신이 통하게 하는 컴퓨팅 장치와 서버 컴퓨터 사이의 제 2 통신 경로이고, 메타데이터 처리 모듈은 데이터 채널에 잠금 해제 메타데이터를 기록하고, 메타데이터 처리 모듈은 메타데이터 채널에 잠금 삭제 메타데이터를 기록한다.
하나 이상의 기술에 대한 세부 사항은 첨부된 도면 및 이하의 상세한 설명에서 제시되어 있다. 다른 이 기법의 특징, 목적 및 이점은 명세서, 도면 및 청구항으로부터 명확해질 것이다.
도 1은 교차 채널 공동 저작 일관성을 위한 예시적인 시스템을 도시하는 도면.
도 2는 교차 채널 공동 저작 일관성을 위한 능력을 구현하는 도 1에 도시된 예시적인 클라이언트 컴퓨터의 예시적인 모듈을 도시하는 도면.
도 3은 클라이언트 컴퓨터에서 문서에 메타데이터를 적용하는 방법에 대한 흐름도에서 제 1 부분을 도시하는 도면.
도 4는 클라이언트 컴퓨터에서 문서에 메타데이터를 적용하는 방법에 대한 흐름도에서 제 2 부분을 도시하는 도면.
도 5는 클라이언트 컴퓨터에서 문서에 메타데이터를 적용하는 방법에 대한 흐름도에서 제 3 부분을 도시하는 도면.
도 6은 도 2의 클라이언트 컴퓨터의 예시적인 부품을 도시하는 부분.
본 출원은 문서 데이터를 네트워크 기반의 문서 협업 시스템에 병합할 때 정보의 교차 채널 일관성(cross-channel consistency)을 제공하는 시스템 및 방법에 관한 것이다. 개시된 시스템 및 방법에서, 메타데이터, 예를 들면 문서의 구역에 대한 잠금은 메타데이터 채널에서 송신되고, 문서 컨텐츠 및 메타데이터는 모두 데이터 채널에서 송신된다. 시스템 및 방법은 메타데이터가 적절하게 문서에 적용되어야 할 때를 지정하는 우선 순위화 규칙에 관해 개시한다.
도 1은 문서에 메타데이터를 적용할 때 교차 채널 일관성을 지원하는 예시적인 시스템(100)을 도시한다. 시스템(100)은 클라이언트(102, 104), 서버(106) 및 네트워크(108)를 포함한다. 더 많거나 더 적은 개수의 클라이언트 및 서버가 사용될 수 있다. 본 명세서에서, 클라이언트 및 클라이언트 컴퓨터의 용어는 상호 교환 가능하게 사용되었고, 서버 및 서버 컴퓨터의 용어는 상호 교환 가능하게 사용되었다.
클라이언트(102, 104)에 저장된 복수의 정보들 중에는 클라이언트 운영 체제("OS") 및 클라이언트 애플리케이션이 있다. 클라이언트 OS는 클라이언트 시스템의 하드웨어 및 소프트웨어 자원을 관리하는 프로그램이다. 클라이언트 애플리케이션은 클라이언트(102, 104)의 자원을 활용하여 사용자에 의해 지정된 작업을 직접 실행한다. 예를 들면, 클라이언트(102, 104)는 문서 파일을 생성하고 편집하는 데 사용되는 워드 프로세싱 프로그램 등과 같은 하나 이상의 소프트웨어 애플리케이션을 포함한다. 이러한 애플리케이션의 하나의 예시로는 워싱톤 레드몬드에 소재한 마이크로소프트 코포레이션에서 제조한 마이크로소프트 워드(Microsoft Word)가 있다. 이러한 애플리케이션의 다른 예시도 또한 적용 가능하다.
서버(106)는 네트워크를 통해 액세스 가능한 파일 서버이다. 서버(106)는 복수의 파일을 저장한다. 이러한 파일은 이하에서 더 설명되는 바와 같이 소프트웨어 애플리케이션 및 문서를 모두 포함할 수 있다. 서버(106)는 서버(106)에 의해 저장된 문서에 대한 액세스를 제어한다.
예시적인 실시예에서, 서버(106)는 조직체 내에 위치되거나 문서 협업 시스템의 일부분일 수 있다. 예시적인 문서 협업 시스템으로는 마이크로소프트 코포레이션에 의해 제공된 쉐어포인트(SHAREPOINT)® 팀 서비스 포털 서버 서비스가 있다. 예시적인 공유형 문서 서버로는 마이크로소프트 코포레이션에 의해 제공된 마이크로 오피스 쉐어포인트 서버 2007이 있다. 다른 구성도 이용될 수 있다.
메타데이터는 데이터에 관한 정보이다. 전형적인 메타데이터의 몇몇 예시로는 문서 이름, 생성 일자 또는 최종 편집 일자, 현재 문서를 편집하고 있는 저작자, 현재 문서를 검토하는 저작자, 단락 식별자 및 단락 잠금 등이 있다. 다른 종류의 문서 메타데이터도 가능하다. 본 명세서에서, 메타데이터는 다수의 공동 저작 사용자가 동시에 문서의 동일한 구역을 편집하는 것을 방지하기 위해 문서의 구역들에 대해 적용된 잠금을 포함한다. 문서 구역은 전형적으로 하나의 단락이지만, 단락 표제, 표, 문장 등을 포함할 수 있다. 메타데이터는 잠금을 생성하는 메타데이터, 잠금을 해제하는 메타데이터 및 잠금을 삭제하는 메타데이터를 포함한다.
예시적인 실시예에서, 메타데이터는 메타데이터 채널(111)을 통해 송신된다. 예시적인 실시예에서, 교차 채널 일관성을 제공하기 위해 메타데이터는 또한 데이터 채널(113)에서 송신된다. 데이터 채널(113)은 또한 서버 컴퓨터(106)로 및 서버 컴퓨터(106)로부터 문서 컨텐츠 정보를 전달하는 데 이용된다.
공동 저작 사용자가 예를 들면 단락 내에 타이핑 입력에 의해서 또는 형식 변경을 실행하는 것에 의해서 문서의 구역의 컨텐츠를 수정할 때 잠금 생성 메타데이터로 지칭되는 잠금을 생성하는 메타데이터는 메타데이터 채널(111)에 기록된다. 잠금 생성 메타데이터는 모든 다른 공동 저작 사용자에 대해 단락에 잠금을 적용함으로써, 다른 공동 저작 사용자가 문서의 동일한 구역을 편집하는 것을 방지한다. 이하에 추가하여 설명되는 바와 같이, 교차 채널 일관성을 제공하기 위해서, 문서가 저장될 때 잠금 생성 메타데이터가 또한 데이터 채널(113) 내에 포함된다.
공동 저작 사용자가 전형적으로 하나의 단락인 문서의 하나의 구역에 대한 편집을 마쳤을 때 잠금 해제 메타데이터로 지칭되는 잠금을 해제하는 메타데이터는 데이터 채널(113)에 기록된다. 잠금 해제 메타데이터는 컨텐츠 업데이트와 잠금 해제를 동기화하기 위해 데이터 채널(113)에 기록된다. 공동 저작 사용자가 문서의 구역에 대한 편집을 마쳤을 때, 공동 저작 사용자는 전형적으로 저장 동작을 실행한다. 저장 동작 동안에, 문서 컨텐츠는 데이터 채널(113)에 기록되고 서버(106)로 전달된다. 문서 컨텐츠와 함께 데이터 채널(113)에 잠금 해제 메타데이터를 기록하는 것은 문서 컨텐츠와 동일한 시간에 문서의 편집된 구역에 대한 잠금을 해제하는 메타데이터가 수신될 수 있도록 보장한다. 이것은 업데이트된 컨텐츠가 수신되기 전에 잠금이 해제되는 것의 잠재적인 문제점을 방지하여, 사용자가 가장 최신의 컨텐츠를 갖지 않는 문서의 구역을 편집할 수 있도록 허용할 가능성이 있다.
예를 들면 잠금 삭제 버튼을 활성화하거나 타임아웃(timeout)을 이용하여 잠금이 명확히 삭제될 때, 잠금 삭제 메타데이터로 지칭되는 잠금을 삭제하는 메타데이터는 메타데이터 채널(111)에 기록된다. 잠금은 여러 이유에서 명확히 삭제될 수 있다. 예를 들면, 사용자는 문서의 구역에 대한 편집, 문서의 해당 구역에 대한 잠금 생성을 시작하고, 그 후에 저장하지 않고 취소할 수 있다. 잠금을 삭제하는 명확한 방법이 없으면, 잠금은 여전히 효력을 가질 수 있다. 다른 예로서, 사용자는 문서의 구역에 대한 편집을 시작하고, 문서의 구역에 대한 잠금을 생성하며, 장시간 동안 자리를 비우거나 장시간 동안 네트워크(108)에 접속되지 않을 수 있다. 이러한 경우에, 문서 협업 시스템은 특정 시간 이후에 공동 저작 사용자의 모든 잠금이 만료되게 하는 타임아웃을 실행할 수 있다. 이 예에서, 타임아웃은 편집되는 문서의 해당 구역에 대하여 잠금 삭제 메타데이터가 메타데이터 채널(111)에 기록되게 한다.
잠금 메타데이터의 각각의 유닛은 그것과 연관된 식별자를 갖는다. 이 예에서, 이하에 추가하여 설명되는 바와 같이 식별자는 잠금을 식별하고 또한 잠금이 적용되어 있는 문서의 구획을 식별하는 숫자를 포함한다. 잠금은 또한 잠금의 생성, 해제 또는 삭제를 개시한 사용자의 식별자를 포함할 수 있다. 식별자는 잠금이 생성될 때 잠금에 대해 할당되고, 잠금이 삭제 또는 해제되었을 때 동일한 식별자가 사용된다. 따라서 잠금과 연관된 잠금 생성, 잠금 삭제/해제의 쌍이 언제나 존재한다.
문서의 구역이 편집되어, 잠금의 생성을 유발하고, 저장 동작이 실행되어 잠금의 해제를 유발한 다음, 문서의 동일한 구역이 다시 편집되면, 문서의 구역에 대해 신규 잠금이 생성된다. 문서의 동일한 구획이 편집된다고 해도 신규 잠금이 새로운 식별자에게 할당된다. 이하에 설명되는 바와 같이, 교차 채널 일관성을 강화하기 위한 추가 수단으로서 잠금 식별자가 사용된다.
예시적인 문서 협업 시스템은 각각의 잠금 생성, 잠금 삭제 및 잠금 해제의 히스토리를 유지한다. 히스토리는 메타데이터 채널(111) 내에 유지된다. 이하에 추가하여 설명되는 바와 같이, 잠금 생성, 잠금 삭제 및 잠금 해제 히스토리는 교차 채널 일관성을 강화하기 위한 추가 수단으로서 사용된다.
도 2는 클라이언트 컴퓨터(102)의 로직 모듈에 대한 세부적인 도면을 나타낸다. 클라이언트 컴퓨터(102)는 예시적인 문서 처리 모듈(202) 및 예시적인 메타데이터 처리 모듈(204)을 포함한다.
예시적인 문서 처리 모듈(202)은 마이크로소프트 워드 등과 같은 워드 프로세서의 동작을 실행한다. 예시적인 문서 처리 모듈(202)은 문서가 생성 또는 개방(opened)되고, 수정 및 저장될 수 있도록 허용한다. 예시적인 문서 처리 모듈(202)은 데이터 채널(113)을 이용하여 서버(106)에 문서 컨텐츠를 저장한다. 문서가 저장될 때 전체 문서의 컨텐츠가 서버(106)로 전달되기 때문에 데이터 채널(113)은 비교적 느린 채널이다.
예시적인 실시예에서, 클라이언트(102, 104)에서의 공동 저작 사용자는 동일한 문서를 편집할 수 있다. 클라이언트(102) 상의 공동 저작 사용자가 첫 번째로 문서를 개방하면, 예시적인 문서 처리 모듈(202)은 서버(106)로부터 문서의 복사본을 획득하고, 클라이언트(102)에서 문서를 개방한다. 클라이언트(104) 상의 공동 저작 사용자가 문서를 개방할 때, 예시적인 문서 처리 모듈(202)은 서버(106)로부터 문서의 복사본을 획득하고, 클라이언트(104)에서 문서를 개방한다. 클라이언트(104) 상의 공동 저작 사용자가 문서를 개방하기 전에 클라이언트(102) 상의 공동 저작 사용자가 문서에 대한 변경을 실행하지만, 클라이언트(102) 상의 공동 저작 사용자가 그 변경을 저장하지 않는다면, 클라이언트(104) 상의 공동 저작 사용자는 클라이언트(104) 상의 공동 저작 사용자가 문서를 개방할 때 변경 사항을 볼 수 없을 것이다.
예시적인 실시예에서, 제 2 공동 저작 사용자는 제 1 및 제 2 공동 저작 사용자가 모두 문서에 대한 변경을 저장할 때까지 제 1 공동 저작 사용자가 문서에 대해 실행한 변경을 알 수 없을 것이다. 예를 들면, 클라이언트(102) 상의 공동 저작 사용자가 클라이언트(102)에서 개방된 문서에 대한 변경을 저장하는 경우, 클라이언트(104) 상의 공동 저작 사용자가 클라이언트(104)에서 개방된 문서에 대한 변경을 저장할 때까지 클라이언트(104) 상의 공동 저작 사용자는 변경 사항을 알 수 없을 것이다. 클라이언트(102) 상의 공동 저작 사용자가 클라이언트(102)에서 문서에 대한 변경을 저장한 후에 클라이언트(104) 상의 공동 저작 사용자가 클라이언트(104)에서 개방된 문서에 대한 변경 사항을 저장할 때, 클라이언트(102)에서 이루어진 문서에 대한 변경 사항은 클라이언트(104)에서 개방된 문서와 병합된다.
예시적인 메타데이터 처리 모듈(204)은 예시적인 문서 협업 시스템에서 개방된 문서에 대한 메타데이터를 처리한다. 클라이언트(102) 상의 공동 저작 사용자가 예를 들면 문서의 단락 내에 타이핑으로 입력하는 것에 의해 문서를 개방하고 문서 내의 컨텐츠를 수정할 때, 클라이언트(102) 상의 예시적인 메타데이터 처리 모듈은 단락에 대한 잠금을 생성한다. 잠금은 잠금 상태가 된 문서의 단락을 식별하는 단락 식별자를 포함한 메타데이터이다. 잠금 메타데이터는 또한 문서를 편집하는 공동 저작 사용자를 위한 식별자를 포함하고, 잠금 메타데이터는 잠금을 위한 식별자를 포함한다.
단락 잠금과 관련된 추가적인 세부 사항은 2008년 6월 25일에 출원된 미국 특허 출원 번호 제 12/145,536 호에서 확인할 수 있는데, 이 출원은 본 명세서에 참조 문헌으로 인용되어 있다.
예시적인 실시예에서, 모든 잠금은 잠금을 식별하는 잠금 식별자를 구비한다. 잠금 식별자는 잠금을 생성하는 예시적인 메타데이터 처리 모듈(204)에 의해 생성된 임의적 숫자이다. 신규 잠금이 생성될 때마다, 이전의 잠금에서와 동일한 단락에 대해 신규 잠금이 생성되었다고 해도, 신규 잠금 식별자가 잠금에 대해 생성된다. 잠금 식별자는 언제 문서에 대해 잠금이 적용, 해제 또는 삭제되어야 하는지를 판정하는데 사용된다.
잠금이 생성될 때, 잠금은 예시적인 메타데이터 채널(111)에 기록되고 서버 컴퓨터(106)로 전달된다. 메타데이터 채널(111)은 데이터 채널(113)과는 별개의 빠른 채널이다. 메타데이터 채널(111)에서 전형적으로 더 적은 정보가 송신되어 그 정보가 데이터 채널(113) 상의 정보보다 더 빠르게 서버(106)로 송신되기 때문에, 메타데이터 채널(111)은 전형적으로 데이터 채널(113)에 비해서 보다 신속하게("빠르게") 업데이트된다. 다른 공동 저작 사용자가 문서의 구역을 편집하고 있다는 것을 공동 저작 사용자에게 빠르게 경고하고, 다른 공동 저작 사용자가 문서의 동일한 구역을 편집할 가능성을 최소화하므로 잠금 전파를 위해 메타데이터 채널(111)을 사용하는 것이 유리할 것이다.
예시적인 실시예에서, 예시적인 메타데이터 채널(111) 상의 초기 메타데이터는 서버(106)로 즉시 전달되지만, 그 후에 추가적인 메타데이터는 예를 들면 5초마다, 10초마다, 30초마다, 45초마다, 1분마다, 5분마다 또는 10 분마다 주기적 간격으로 서버(106)로 전달된다. 성능을 이유로, 예를 들면 서버(106)에 대한 부하를 줄이기 위해서 즉각적인 것 보다는 주기적으로 추가적인 메타데이터를 서버(106)로 전달한다. 클라이언트(102) 상의 공동 저작 편집자가 예를 들면 클라이언트(102)에서 개방된 문서의 단락 1 내에 편집을 시작할 때, 단락 1에 대해 잠금이 생성되고 메타데이터 채널(111)에서 서버(106)로 그것이 전달된다. 클라이언트(104)에서 잠금이 수신될 때, 잠금은 클라이언트(104) 상의 공동 저작 사용자가 문서의 단락1을 편집하는 것을 방지한다.
다음에 예시적인 클라이언트(102) 상의 공동 저작 사용자가 단락 8을 편집한다면, 단락 8에 대해 잠금이 생성되지만, 주기적 시간 간격이 만료될 때까지는 메타데이터 채널(111)에서 서버(106)로 잠금이 전달되지 않는다. 예를 들어, 주기적 시간 간격이 30초이고, 클라이언트(102) 상의 공동 저작 사용자가 단락 1에 대한 잠금이 서버(106)로 전달된 지 3초 후에 단락 8 내에 타이핑을 입력하면, 단락 8에 대한 잠금은 다음의 27초 동안에는 메타데이터 채널(111) 상에서 서버(106)로 전달되지 않는다. 이 예시에서, 27초가 만료되기 전에 클라이언트(102) 상의 공동 저작 사용자가 저장 동작을 실행한다면, 단락 8에 대한 잠금이 메타데이터 채널(111)에 도달하기 전에 단락 8에 대한 컨텐츠 정보가 클라이언트(104)에 도달할 수 있다.
이러한 이유에서, 예시적인 메타데이터 처리 모듈(204)이 단락에 대한 잠금을 생성하고, 메타데이터 채널(111)에 잠금을 기록할 때, 예시적인 메타데이터 처리 모듈(204)은 또한 데이터 채널(113)에 잠금을 기록한다. 다음에 클라이언트(102) 상의 공동 저작 사용자가 클라이언트(102)에서 개방된 문서에 대하여 편집이 이루어졌다는 것에 대한 저장 동작을 실행할 때, 단락에 대한 컨텐츠 변경이 데이터 채널(113) 상에서 서버(106)로 송신되는 것과 동시에 단락에 대한 잠금이 데이터 채널(113) 상에서 서버(106)로 송신된다.
메타데이터 채널(111) 및 데이터 채널(113) 모두에 잠금 생성 메타데이터를 제공하는 것은 상술된 메타데이터 채널(111)에서의 업데이트에 대한 주기적 특징과 관련된 임의의 처리 지연의 문제를 최소화하도록 돕는다. 메타데이터 채널(111) 상의 잠금이 저장 동작 이전에 클라이언트(104)에 도달하면, 잠금은 클라이언트(104) 상의 공동 저작 사용자가 단락을 편집하는 것을 방지한다. 저장 동작이 클라이언트(102)에서 완료되고, 메타데이터 채널(111)에 대한 잠금 전에 데이터 채널(113) 상에서 저장 동작으로부터의 컨텐츠 변경이 클라이언트(104)에 도달하면, 데이터 채널(113)로부터의 잠금이 컨텐츠 변경과 함께 클라이언트(104)에 도달한다. 데이터 채널(113) 내의 잠금은 클라이언트(104) 상의 공동 저작 사용자가 단락을 편집하는 것을 방지한다.
잠금 해제는 전형적으로 저장 동작의 결과로서 데이터 채널(113)을 통해 발생한다. 문서 협업 시스템에서는 적어도 2개의 서로 다른 종류의 저장 동작이 있을 수 있다. 저장 동작의 하나의 예시에서, 컨텐츠 데이터는 서버(106)에 저장되지만 컨텐츠 정보는 공유되도록 지정되지 않는다. 이 예시에서, 공동 저작 사용자는 서버(106)에 컨텐츠를 보존하기 위해 편집된 컨텐츠를 저장하지만, 컨텐츠는 아직 공동 저작 사용자가 컨텐츠를 다른 사용자와 공유하기에 편하다고 느끼는 상태에 있지는 않다. 저장 동작의 다른 예시에서, 공동 저작 사용자는 공유를 위한 컨텐츠를 지정한다. 본 명세서에서, 저장 동작은 그 저장 동작이 저장된 컨텐츠를 다른 공동 저작 사용자와 공유하도록 지정한 것으로 의미한다는 점에서 제 2의 예시와 부합된다.
저장 동작은 전형적으로 공동 저작 사용자가 저장된 문서의 단락에 대한 편집을 마쳤다는 것을 나타내기 때문에 잠금 해제는 데이터 채널(113)을 통해 발생한다. 공동 저작 사용자가 하나 이상의 단락에 대한 편집을 계속하고자 한다면, 공동 저작 사용자가 편집하는 각각의 단락에 대해 신규 잠금 식별자를 갖는 신규 잠금이 생성된다.
컨텐츠 변경과 동시에 잠금 해제 메타데이터가 서버(106)에서 수신됨을 보장하기 위해, 잠금 해제 메타데이터가 데이터 채널(113)에 기록된다. 이것은 다른 공동 저작 사용자, 예를 들면 예시적인 클라이언트(104) 상의 공동 저작 사용자가 잠금 해제 메타데이터를 수신하여 클라이언트(104) 상의 공동 저작 사용자가 잠금 상태에 있는 단락에 대한 편집이 허용될 때, 클라이언트(104)에서 개방된 문서가 또한 최신의 컨텐츠로 업데이트되도록 보장한다. 이것은 잠금 해제 메타데이터에 대응하는 잠금이 해제될 때 클라이언트(104) 상의 공동 저작 사용자가 업데이트된 컨텐츠를 편집하도록 보장한다.
잠금 해제가 발생할 때, 잠금 해제 메타데이터를 데이터 채널(113)에 기록하는 것에 추가하여, 잠금 해제 메타데이터가 또한 메타데이터 채널(111)에 기록된다. 메타데이터 채널(111)로부터의 잠금 해제 메타데이터는 전형적으로 데이터 채널(113)로부터의 잠금 해제 메타데이터가 서버(106)에 도달하기 전에 서버(106)에 도달한다. 서버(106)가 잠금 해제 메타데이터를 수신할 때, 서버(106)는 문서의 다른 공동 저작 사용자에 대해 잠금 상태가 된 단락에 대한 잠금 종류를 변경한다. 신규 잠금 종류는 잠금된 단락이 더 이상 편집되고 있지 않다는 것을 나타낸다. 이는 사용자, 예를 들면 클라이언트(104) 상의 공동 저작 사용자에게, 단락이 편집될 수 있다는 것을 통지한다. 그러나 그 단락은 여전히 클라이언트(104) 상의 공동 저작 사용자에게 잠김 상태로 되어 있다. 클라이언트(104) 상의 공동 저작 사용자가 저장 동작을 실행할 때, 서버(106)는 단락에 대한 업데이트된 컨텐츠 변경으로 클라이언트(104)를 업데이트하고, 단락에 대한 잠금을 해제한다.
잠금 삭제 메타데이터는 메타데이터 채널(111)에서 서버(106)로 전달된다. 잠금 삭제 메타데이터는 잠금 해제 메타데이터와는 구별된다. 잠금 해제 메타데이터는 사용자가 더 이상 문서의 구역을 편집하지 않을 때 생성된다. 잠금 삭제 메타데이터는 공동 저작 사용자에 의한 명확한 동작 또는 문서 협업 시스템에 의한 명확한 동작에 기인하여 발생한다. 예를 들면, 상술된 바와 같이, 사용자는 하나 이상의 단락에 대한 편집을 시작할 수 있고, 저장하지 않고서 편집을 취소하도록 결정할 수 있다. 공동 저작 사용자가 단락에 타이핑을 입력할 때 잠금 생성 메타데이터가 메타데이터 채널(111) 및 데이터 채널(113) 모두에 기록되기 때문에, 공동 저작 사용자는 예시적인 문서 처리 모듈(202)과 연관된 삭제 키를 누를 수 있다. 예시적인 삭제 키를 누르는 것은 잠금 삭제 메타데이터가 메타데이터 채널(111)에 기록되게 한다.
이하에 설명되는 바와 같이, 잠금 삭제 메타데이터는 잠금 생성 메타데이터보다 더 높은 우선 순위를 갖는다. 결과적으로 메타데이터 채널(111)로부터의 메타데이터가 클라이언트(104)에서 처리될 때, 잠금 삭제 메타데이터는 잠금 삭제 메타데이터의 잠금 식별자를 갖는 어떠한 잠금도 클라이언트(104)에서 개방된 문서에서 해제한다.
잠금 삭제 메타데이터는 또한 소정의 조건 하에서 문서 협업 시스템에 의해 명확하게 생성된다. 예를 들면, 사용자가 문서의 하나 이상의 단락을 편집하고, 그 변경을 저장하지 않고, 문서를 닫지 않으면서 밤에 집으로 가버렸다면, 잠금은 사용자가 편집하는 모든 단락에 대해 여전히 활성화되어 있다. 이러한 잠금은 다른 공동 저작 사용자가 단락을 편집하는 것을 방지한다. 메타데이터 처리 모듈(111)은 사전 결정된 시간 주기 이후에 잠금을 잠시 중단(timing out)하고, 잠금에 대한 잠금 삭제 메타데이터를 생성함으로써 이 상황을 처리한다.
클라이언트(104)가 메타데이터, 예를 들면 클라이언트(102)에 의해 생성된 메타데이터를 수신할 때, 클라이언트(104)에서의 우선 순위화 규칙은 클라이언트(104)에서 개방된 문서에 메타데이터가 적용되는 방식을 결정한다. 클라이언트(104) 상의 공동 저작 사용자가 서버(106)로부터 문서를 획득하고, 클라이언트(104)에서 문서를 개방할 때, 메타데이터 채널(111)에서 문서에 대한 메타데이터가 획득된다. 메타데이터가 문서의 하나 이상의 단락에 대하여 하나 이상의 잠금을 포함한다면, 클라이언트(104)는 메타데이터가 하나 이상의 잠금과 동일한 잠금 식별자를 갖는 하나 이상의 잠금 해제를 포함하는지 여부를 판정한다. 메타데이터가 그 메타데이터 내에 포함된 잠금과 동일한 잠금 식별자를 갖는 잠금 해제를 포함하면, 잠금은 문서에 적용되지 않는다. 그 이유는 잠금 해제가 언제나 잠금이 생성된 이후에 발생하므로 잠금 해제가 더 최신의 것이기 때문이다. 그러나 메타데이터가 그 메타데이터 내에 포함된 잠금과 동일한 잠금 식별자를 갖는 잠금 해제를 포함하지 않는다면, 잠금은 잠금 메타데이터 내에 지정된 문서 내의 단락에 적용된다. 잠금은 클라이언트(104) 상의 공동 저작 사용자가 문서를 편집하는 것을 방지한다.
클라이언트(104)에서 문서가 개방되고 초기 메타데이터가 상기와 같이 문서에 적용되면, 예시적인 실시예에서 추가적인 메타데이터는 전형적으로 30초의 주기적 간격으로 문서에 적용된다. 추가하여 예시적인 실시예에서 문서에 대한 추가적인 컨텐츠 업데이트는 오로지 저장 동작이 클라이언트(104)에서 완료될 때에만 문서에 적용된다. 다음 주기적 시간 간격이 발생할 때, 메타데이터는 메타데이터 채널(111)을 통해 서버(106)로부터 획득된다. 메타데이터는 우선 순위 규칙에 따라서 문서에 적용된다. 클라이언트(104)에 있는 예시적인 메타데이터 처리 모듈(204)은 먼저 메타데이터가 임의의 잠금 삭제를 포함하는지 여부를 판정한다. 메타데이터 채널(111)에 대한 잠금 삭제는 잠금이 명확히 삭제된다는 것을 나타내는 최고 순위의 메타데이터이다.
다음에 클라이언트(104)에서의 예시적인 메타데이터 처리 모듈(204)은 서버(106)로부터 획득된 메타데이터가 임의의 잠금 생성을 포함하는지 여부를 판정한다. 메타데이터가 하나 이상의 잠금 생성을 포함하면, 메타데이터가 또한 하나 이상의 잠금 생성의 잠금 식별자와 부합하는 임의의 잠금 해제를 포함하는지 여부에 대한 판정이 이루어진다. 잠금 생성이 동일한 잠금 식별자를 갖는 대응하는 잠금 해제를 갖지 않는다면, 잠금 생성에 대응하는 잠금이 잠금 생성 내에 식별된 문서의 단락에 적용된다. 그러나 잠금 생성이 동일한 잠금 식별자와 대응하는 잠금 해제를 갖는다면, 잠금 생성에 대응하는 잠금은 잠금 생성 내에 식별된 문서의 단락에 적용되지 않는다. 이것은 잠금 해제가 언제나 잠금 생성 이후에 발생하고, 잠금 해제 및 잠금 생성이 동일한 식별자를 갖는다면, 잠금이 취소될 것이기 때문이다.
클라이언트(104) 상의 공동 저작 사용자가 저장 동작을 실행할 때, 문서에 대한 업데이트된 컨텐츠가 서버(106)로부터 획득된다. 업데이트된 컨텐츠는 클라이언트(104)에서의 최종 저장 동작 이후에 서버(106)에 대하여 그 컨텐츠 변경을 저장한 다른 공동 저작 사용자에 의해 이루어진 문서에 대한 임의의 변경을 반영한다. 업데이트된 컨텐츠는 데이터 채널(113) 상에서 서버(106)로부터 클라이언트(104)로 전달된다. 클라이언트(104)가 서버(106)로부터 업데이트된 컨텐츠를 수신할 때, 클라이언트(104)는 서버(106)로부터 수신된 최신의 메타데이터가 임의의 잠금 해제를 포함하는지 여부를 판정한다. 서버(106)로부터 수신된 최신의 메타데이터가 임의의 잠금 해제를 포함한다면, 잠금 해제에 의해 식별된 잠금은 잠금 해제에 의해 식별된 문서의 단락으로부터 해제된다. 컨텐츠 업데이트가 발생할 때까지 잠금 해제가 발생하지 않는 이유는, 잠금이 해제되고 공동 저작 사용자가 잠금 상태였던 단락의 편집을 시작할 때, 공동 저작 사용자가 서버(106)에 저장된 문서에 대한 가장 최신의 컨텐츠를 편집하고 있음을 보장하기 위한 것이다.
도 3 내지 도 5는 문서에 메타데이터를 적용하여 정보의 교차 채널 일관성을 제공하는 방법에 대한 예시적인 흐름도(300)를 도시한다. 동작(302)에서 공동 저작으로 지정된 문서는 서버 컴퓨터(106)로부터 획득된다. 동작(304)에서 클라이언트(104) 상의 공동 저작 사용자에 의해 문서가 개방된다. 동작(306)에서, 클라이언트(104)는 문서에 대한 제 1 메타데이터를 포함하는 제 1 메시지를 서버 컴퓨터(106)로부터 수신한다. 서버 컴퓨터(106)는 문서가 클라이언트(104)에서 개방될 때 제 1 메타데이터를 클라이언트(104)로 전달한다. 제 1 메타데이터는 메타데이터 채널(111)에서 전달된다. 제 1 메타데이터는 문서에 대한 하나 이상의 잠금을 포함한다. 잠금은 하나 이상의 공동 저작 사용자, 예를 들면 클라이언트(102) 상의 공동 저작 사용자가 문서의 하나 이상의 구역을 수정하였음을 나타낸다.
동작(308)에서, 클라이언트(104)는 문서에 대한 제 2 메타데이터를 포함하는 제 2 메시지를 서버 컴퓨터(106)로부터 수신한다. 제 2 메타데이터는 또한 메타데이터 채널(111)에서 수신된다. 동작(310)에서, 제 2 메타데이터가 하나 이상의 잠금 삭제를 포함하는지 여부에 대한 판정이 이루어진다. 제 2 메타데이터가 하나 이상의 잠금 삭제를 포함한다는 판정이 내려질 때, 동작(312)에서 하나 이상의 잠금 삭제가 문서에 적용된 잠금에 부합되는지 여부에 대한 판정이 이루어진다. 각각의 잠금 삭제는 식별자를 갖고, 각각의 잠금은 식별자를 갖는다. 잠금 삭제에 대한 식별자가 잠금에 대한 식별자와 부합한다는 판정이 내려지면, 동작(314)에서 문서에 대한 잠금은 삭제된다.
동작(316)에서, 제 2 메타데이터가 잠금 생성을 포함하는지 여부에 대한 판정이 이루어진다. 제 2 메타데이터가 잠금 생성을 포함한다고 판정되면, 동작(318)에서 제 2 메타데이터가 잠금 해제를 포함하는지 여부에 대한 판정이 이루어진다. 제 2 메타데이터가 잠금 해제를 포함한다고 판정되면, 동작(320)에서 잠금 해제에 대한 식별자가 잠금 생성에 대한 식별자와 부합하는지 여부에 대한 결정이 이루어진다. 잠금 해제가 존재하지 않는다고 결정될 때 또는 잠금 해제가 존재하고 그 잠금 해제 중 어느 것도 잠금 생성과 부합하지 않는다고 판정될 때, 동작(322)에서 제 2 메타데이터 내의 잠금 생성에 대응하는 잠금이 문서에 적용된다. 잠금 생성이 잠금 해제와 부합되면, 잠금은 잠금 생성에 대한 문서에 적용되지 않는다. 잠금 해제가 잠금 생성 이후에 발생하므로, 잠금 해제는 잠금 생성에 대응하는 문서의 구역이 더 이상 잠금 상태가 될 필요가 없다는 것을 나타낸다.
동작(324)에서, 클라이언트(104)는 문서 컨텐츠를 포함하고, 또한 제 3 메타데이터를 포함하는 제 3 메시지를 서버 컴퓨터(206)로부터 수신한다. 제 3 메시지는 전형적으로 클라이언트(104) 상의 공동 저작 사용자가 클라이언트(104)에서 개방된 문서에 대한 컨텐츠를 저장하는 저장 동작을 실행한 이후에 수신된다. 제 3 메시지 내에 포함된 문서 컨텐츠는 다른 공동 저작 사용자, 예를 들면 클라이언트(102) 상의 공동 저작 사용자로부터의 업데이트된 문서 컨텐츠이다. 제 3 메시지는 데이터 채널(113)에서 수신된다. 제 3 메시지는 업데이트된 문서 컨텐츠와 동시에 잠금 해제가 수신되도록 보장하기 위해 데이터 채널(113)에서 수신된다. 이것은 잠금이 해제된다면 잠금이 해제된 문서의 구역이 최신의 컨텐츠를 갖도록 보장한다.
동작(326)에서, 제 3 메타데이터가 잠금 해제를 포함하는지 여부에 대한 판정이 내려진다. 제 3 메타데이터가 하나 이상의 잠금 해제를 포함한다고 판정되면, 동작(312)에서 하나 이상의 잠금 해제가 문서에 적용된 잠금과 부합하는지 여부에 대한 판정이 이루어진다. 각각의 잠금 해제는 식별자를 갖고, 각각의 잠금은 식별자를 갖는다. 잠금 해제에 대한 식별자가 그 문서의 잠금에 대한 식별자와 부합한다고 판정되면, 동작(314)에서 문서에 대한 잠금이 해제된다.
교차 채널 공동 저작 일관성에 대한 상기 설명은 2명의 공동 저작 사용자와 관련하여 설명되었다. 다른 예시적인 실시예에서, 2명 이상의 공동 저작 사용자가 동일한 문서를 편집할 수 있다. 동일한 메타데이터 병합 동작은 예를 들면 2명 이상의 공동 저작 사용자를 갖는 실시예에 적용된다.
도 6을 참조하면, 클라이언트(102)의 예시적인 성분이 도시되어 있다. 예시적인 실시예에서, 클라이언트(102)는 데스크탑 컴퓨터, 랩탑 컴퓨터, PDA(personal data assistant) 또는 휴대 장치 등과 같은 컴퓨팅 장치이다. 클라이언트(102)는 입/출력 장치, 중앙 처리 장치("CPU"), 데이터 저장 장치 및 네트워크 장치를 포함할 수 있다.
기본 구성에서, 컴퓨팅 장치(102)는 전형적으로 적어도 하나의 처리 장치(402) 및 시스템 메모리(404)를 포함한다. 컴퓨팅 장치의 정확한 구성 및 종류에 따라서, 시스템 메모리(404)는 휘발성(RAM 등), 비휘발성(ROM, 플래시 메모리 등) 또는 그 2가지의 몇몇 조합일 수 있다. 시스템 메모리(404)는 전형적으로 워싱톤 레드몬드에 소재한 마이크로소프트 코포레이션에서 생산된 윈도우즈(WINDOWS)® 운영 체제 등과 같이 네트워크형 퍼스널 컴퓨터의 동작을 제어하기에 적합한 운영 체제 또는 워싱톤 레드몬드에 소재한 마이크로소프트 코포레이션에서 생산된 윈도우즈 쉐어포인트(SharePoint) 서버 2007 등과 같은 서버의 동작을 제어하기에 적합한 운영 체제(406)을 포함한다. 시스템 메모리(404)는 또한 하나 이상의 소프트웨어 애플리케이션(408)을 포함할 수 있고, 프로그램 데이터를 포함할 수 있다.
컴퓨팅 장치(102)는 추가적인 특징 또는 기능을 가질 수 있다. 예를 들면, 컴퓨팅 장치(102)는 또한 예를 들면, 자기 디스크, 광학 디스크 또는 테이프 등과 같은 추가적인 데이터 저장 장치(탈착 가능 및/또는 탈착 불가능)를 포함할 수 있다. 이러한 추가적인 저장부는 탈착 가능 저장부(410) 및 탈착 불가능 저장부(412)로서 도 6에 도시되어 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터 등과 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 탈착 가능 및 탈착 불가능 매체를 포함할 수 있다. 시스템 메모리(404), 탈착 가능 저장부(410) 및 탈착 불가능 저장부(412)는 모두 컴퓨터 저장 매체의 예시이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 다른 광학 저장부, 자기 카세트, 자기 테이프, 자기 디스크 저장 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고, 컴퓨팅 장치(102)에 의해 액세스 가능한 임의의 다른 매체를 포함할 수 있지만 이것으로 한정되지 않는다. 임의의 이러한 컴퓨터 저장 매체는 장치(102)의 일부분일 수 있다. 컴퓨팅 장치(102)는 또한 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은 입력 장치(414)를 포함할 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 장치(416)도 포함될 수 있다. 이러한 장치는 본 기술 분야에서 잘 알려져 있고, 본 명세서에서는 자세히 설명할 필요가 없을 것이다.
컴퓨팅 장치(102)는 또한 예를 들면, 인트라넷 또는 인터넷 등과 같이 분산형 컴퓨팅 환경 내에서 네트워크를 통하는 등에 의해 다른 컴퓨팅 장치(420)와 장치가 통신할 수 있게 하는 통신 접속부(418)를 포함할 수 있다. 통신 접속부(418)는 통신 매체의 일례이다. 통신 매체는 전형적으로 반송파 또는 다른 송신 메커니즘 등과 같이 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 그의 하나 이상의 특성이 신호 내에 정보를 인코딩하는 방식으로 설정 또는 변경된 신호를 의미한다. 제한 사항이 아닌 예시로서, 통신 매체는 유선 네트워크 또는 직접 연결 유선(direct-wired) 접속부 등과 같은 유선 매체 및 음향, RF, 적외선 및 다른 무선 매체 등과 같은 무선 매체를 포함한다. 본 명세서에 사용된 컴퓨터 판독 가능 매체라는 용어는 저장 매체 및 통신 매체를 모두 포함한다.
상술된 여러 실시예는 오로지 예시의 방법으로 제공되었고, 제한하는 것으로 해석되지 않아야 한다. 본 발명의 진정한 정신 및 범주를 벗어나지 않으면서 상술된 실시예에 대하여 여러 수정 및 변경이 이루어질 수 있다.

Claims (15)

  1. 클라이언트 컴퓨터(102)에서 메타데이터 일관성 처리(metadata consistency processing)를 위한 방법(300)으로서,
    클라이언트 컴퓨터(102)에서 서버 컴퓨터(106)로부터의 문서를 획득하는 단계와,
    상기 클라이언트 컴퓨터(102)에서 상기 문서를 개방(opening)하는 단계와,
    상기 문서를 개방한 후 상기 서버 컴퓨터(106)로부터 제 1 메시지를 수신하는 단계-상기 제 1 메시지는 상기 문서에 대한 제 1 메타데이터를 포함하고, 상기 제 1 메타데이터는 상기 문서의 하나 이상의 구역에 대한 하나 이상의 잠금(locks)을 포함하고, 상기 제 1 메타데이터는 메타데이터 채널(111)에서 상기 서버 컴퓨터(106)로부터 수신되고, 상기 메타데이터 채널(111)은 상기 클라이언트 컴퓨터(102)와 상기 서버 컴퓨터(106) 사이에서 상기 문서와 연관된 잠금 메타데이터가 통신될 수 있게 하는 제 1 통신 경로임-와,
    상기 문서를 개방한 후 잠금 상태에 있지 않은 상기 문서의 제 1 구역을 편집하는 단계와,
    상기 서버 컴퓨터(106)로부터 제 2 메시지를 수신하는 단계-상기 제 2 메시지는 상기 문서에 대한 제 2 메타데이터를 포함하고, 상기 제 2 메타데이터는 상기 메타데이터 채널(111)에서 수신됨-와,
    상기 제 2 메타데이터를 수신한 후, 상기 제 2 메타데이터가 하나 이상의 잠금 삭제(lock deletions)를 포함하는지 여부를 판정하는 단계와,
    상기 제 2 메타데이터가 하나 이상의 잠금 삭제를 포함한다고 판정되는 경우, 상기 하나 이상의 잠금 삭제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자와 부합되는 식별자를 포함하는지 여부룰 판정하는 단계와,
    하나 이상의 잠금 삭제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자와 부합하는 식별자를 포함한다고 판정되는 경우, 상기 잠금 삭제에 대응하는 상기 잠금을 삭제하는 단계와,
    상기 제 2 메타데이터를 수신한 후, 상기 제 2 메타데이터가 하나 이상의 잠금 생성(lock creations)을 포함하는지 여부를 판정하는 단계-상기 하나 이상의 잠금 생성 각각은 생성될 각각의 잠금에 대응하는 식별자를 포함함-와,
    상기 제 2 메타데이터가 하나 이상의 잠금 생성을 포함한다고 판정되는 경우, 상기 제 2 메타데이터가 하나 이상의 상기 잠금 생성과 동일한 잠금 식별자를 갖는 하나 이상의 잠금 해제(lock removals)를 포함하는지 여부를 판정하는 단계와,
    상기 제 2 메타데이터가 임의의 잠금 해제를 포함하지 않는다고 판정되거나 또는 상기 제 2 메타데이터가 하나 이상의 잠금 해제를 포함하고 상기 하나 이상의 잠금 해제 중 어느 것도 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 경우, 상기 하나 이상의 잠금 해제 중 어느 것도 상기 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 상기 하나 이상의 잠금 생성 중 각각의 잠금 생성에 대하여, 상기 잠금 생성 내에 지정된 상기 문서의 상기 구역에 상기 잠금 생성을 적용하는 단계와,
    상기 서버 컴퓨터(106)로부터 제 3 메시지를 수신하는 단계-상기 제 3 메시지는 컨텐츠 정보 및 제 3 메타데이터를 포함하고, 상기 컨텐츠 정보 및 상기 제 3 메타데이터는 상기 메타데이터 채널(111)과는 분리된 데이터 채널(113)에서 수신되고, 상기 데이터 채널(113)은 상기 클라이언트 컴퓨터(102)와 상기 서버 컴퓨터(106) 사이에서 상기 문서와 연관된 컨텐츠 및 상기 잠금 메타데이터가 통신되는 제 2 통신 경로임-와,
    상기 컨텐츠 정보 및 상기 제 3 메타데이터를 수신한 후 상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함하는지 여부를 판정하는 단계와,
    상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함한다고 판정되는 경우, 상기 하나 이상의 잠금 해제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자에 부합하는 식별자를 포함하는지 여부를 판정하는 단계와,
    상기 하나 이상의 잠금 해제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자에 부합하는 식별자를 포함한다고 판정되는 경우, 상기 잠금 해제에 대응하는 상기 잠금을 해제하는 단계를 포함하는
    메타데이터 일관성 처리를 위한 방법.
  2. 제 1 항에 있어서,
    상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함하는지 여부를 판정한 후, 상기 제 3 메타데이터가 하나 이상의 잠금 생성을 포함하는지 여부를 판정하는 단계와,
    상기 제 3 메타데이터가 하나 이상의 잠금 생성을 포함한다고 판정되는 경우, 상기 제 3 메타데이터가 하나 이상의 상기 잠금 생성에 대한 식별자와 부합하는 잠금 식별자를 갖는 하나 이상의 잠금 해제를 포함하는지 여부를 판정하는 단계와,
    상기 제 3 메타데이터가 어떠한 잠금 해제도 포함하지 않는다고 판정되는 경우 또는 상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함하고 상기 하나 이상의 잠금 해제 중 어느 것도 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 경우, 상기 하나 이상의 잠금 해제 중 어느 것도 상기 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 상기 하나 이상의 잠금 생성 중 각각의 잠금 생성에 대하여, 상기 잠금 생성 내에서 지정된 상기 문서의 상기 구역에 상기 잠금을 적용하는 단계를 더 포함하는
    메타데이터 일관성 처리를 위한 방법.
  3. 제 1 항에 있어서,
    상기 클라이언트 컴퓨터가 상기 제 1 메타데이터를 수신한 후 사전 결정된 시간 간격으로 상기 클라이언트 컴퓨터(102)가 제 1 요청 메시지를 상기 서버 컴퓨터(106)로 전달하는 단계를 더 포함하고,
    상기 제 1 요청 메시지는 상기 서버 컴퓨터(106)로부터 메타데이터를 요청하는
    메타데이터 일관성 처리를 위한 방법.
  4. 제 3 항에 있어서,
    잠금 상태에 있지 않은 상기 문서의 제 2 구역을 편집하는 단계를 더 포함하고,
    상기 문서의 상기 제 2 구역은 상기 문서의 상기 제 1 구역과는 상이한
    메타데이터 일관성 처리를 위한 방법.
  5. 제 4 항에 있어서,
    상기 서버 컴퓨터(106)에 제 2 요청 메시지를 전달하는 단계를 더 포함하고,
    상기 제 2 요청 메시지는 잠금 상태에 있지 않은 상기 문서의 상기 제 2 구역에 대한 잠금 생성을 포함하고,
    상기 제 2 요청 메시지는 상기 제 1 요청 메시지가 상기 서버 컴퓨터(106)로 전달된 시간으로부터 하나 이상의 사전 결정된 시간 간격으로 전달되는
    메타데이터 일관성 처리를 위한 방법.
  6. 제 1 항에 있어서,
    각각의 잠금 생성, 각각의 잠금 해제 및 각각의 잠금 삭제에 대한 상기 식별자는 상기 잠금 생성, 잠금 해제 또는 잠금 삭제를 개시한 공동 저작 사용자(coauthoring user)에 대한 식별자를 포함하는
    메타데이터 일관성 처리를 위한 방법.
  7. 컴퓨팅 장치(102)로서,
    처리 장치(402)와,
    상기 처리 장치(402)에 접속된 시스템 메모리(404)를 포함하고,
    상기 시스템 메모리(404)는 상기 처리 장치(402)에 의해 실행될 때 상기 처리 장치(402)로 하여금 문서 컨텐츠의 생성 및 편집을 처리하는 문서 처리 모듈(202)과, 상기 컴퓨팅 장치(102)에서 문서에 대한 메타데이터를 생성, 모니터링 및 저장하는 메타데이터 처리 모듈(204)을 생성하게 하는 명령어를 포함하고,
    상기 메타데이터 처리 모듈(204)은 사용자가 문서의 일부분에 대한 편집을 시작할 때 생성된 신규 잠금에 관한 정보를 포함하는 잠금 생성 메타데이터와, 잠금의 해제에 관한 정보를 포함하는 잠금 해제 메타데이터 및 잠금의 삭제에 관한 정보를 포함하는 잠금 삭제 메타데이터를 생성하고,
    상기 메타데이터 처리 모듈(204)은 데이터 채널(113) 및 별도의 메타데이터 채널(111) 모두에 대해 잠금 생성 메타데이터를 기록하고,
    상기 데이터 채널(113)은 상기 컴퓨팅 장치(102)와 서버 컴퓨터(106) 사이에서 상기 문서와 연관된 컨텐츠 및 잠금 메타데이터가 통신되는 제 1 통신 경로이고,
    상기 메타데이터 채널(111)은 상기 컴퓨팅 장치(102)와 서버 컴퓨터(106) 사이에서 상기 문서와 연관된 상기 잠금 메타데이터가 통신되는 제 2 통신 경로이고,
    상기 메타데이터 처리 모듈(204)은 상기 데이터 채널(113)에 잠금 해제 메타데이터를 기록하고,
    상기 메타데이터 처리 모듈(204)은 상기 메타데이터 채널(111)에 잠금 삭제 메타데이터를 기록하는
    컴퓨팅 장치.
  8. 제 7 항에 있어서,
    상기 메타데이터 처리 모듈(204)은 저장 동작 이후에 잠금 해제 메타데이터를 상기 데이터 채널(113)에 기록하고,
    상기 잠금 해제 메타데이터는 상기 저장 동작 동안에 저장되는 수정된 컨텐츠에 대응하는
    컴퓨팅 장치.
  9. 제 7 항에 있어서,
    상기 문서의 하나 이상의 구역이 수정되는 경우 상기 메타데이터 처리 모듈(204)은 잠금 생성 메타데이터를 상기 메타데이터 채널(111) 및 상기 데이터 채널(113)에 기록하는
    컴퓨팅 장치.
  10. 제 7 항에 있어서,
    상기 메타데이터 처리 모듈(204)은 상기 컴퓨팅 장치(102)의 타임아웃(timeout) 이후 또는 삭제 기능이 상기 컴퓨팅 장치(102)에서 수동으로 활성화되는 경우 잠금 삭제 메타데이터를 상기 메타데이터 채널(111)에 기록하는
    컴퓨팅 장치.
  11. 제 7 항에 있어서,
    저장 동작이 상기 컴퓨팅 장치(102)에서 실행되는 경우 상기 문서 처리 모듈(202)은 서버 컴퓨터(106)로부터 문서에 대한 업데이트된 컨텐츠 정보를 획득하는
    컴퓨팅 장치.
  12. 제 11 항에 있어서,
    상기 메타데이터 처리 모듈(204)은 상기 저장 동작이 상기 컴퓨팅 장치(102)에서 실행될 때 상기 서버 컴퓨터(106)로부터 잠금 생성 메타데이터 및 잠금 해제 메타데이터를 획득하는
    컴퓨팅 장치.
  13. 제 7 항에 있어서,
    상기 메타데이터 처리 모듈(204)은 상기 잠금 생성 메타데이터 및 상기 잠금 해제 메타데이터에 식별자를 할당하되,
    상기 메타데이터 처리 모듈은 상기 잠금 생성 메타데이터 및 상기 잠금 해제 메타데이터에 쌍으로 식별자를 할당하고, 적어도 하나의 잠금 해제의 상기 식별자는 적어도 하나의 잠금 생성의 상기 식별자와 동일하고, 오로지 하나의 잠금 생성 및 하나의 잠금 해제만이 동일한 식별자를 갖는
    컴퓨팅 장치.
  14. 제 7 항에 있어서,
    상기 메타데이터 처리 모듈(204)은 상기 잠금 생성 메타데이터 및 상기 잠금 삭제 메타데이터에 쌍으로 식별자를 할당하고,
    적어도 하나의 잠금 삭제의 상기 식별자는 적어도 하나의 잠금 생성의 상기 식별자와 동일하고,
    오로지 하나의 잠금 생성 및 하나의 잠금 삭제만이 동일한 식별자를 갖는
    컴퓨팅 장치.
  15. 명령어를 포함하는 컴퓨터 판독 가능 데이터 저장 매체로서,
    상기 명령어는 전자 컴퓨팅 장치(102)의 처리 장치(402)에 의해 실행되는 경우 상기 처리 장치(402)로 하여금
    서버 컴퓨터(106)로부터 문서를 획득하는 단계-상기 문서는 상기 전자 컴퓨터 장치(102)에서의 사용자에 의해 요청됨-와,
    상기 문서를 개방하는 단계와,
    상기 문서를 개방한 후 상기 서버 컴퓨터(106)로부터 제 1 메시지를 수신하는 단계-상기 제 1 메시지는 상기 문서에 대한 제 1 메타데이터를 포함하고, 상기 제 1 메타데이터는 상기 문서의 하나 이상의 구역에 대한 하나 이상의 잠금을 포함하고, 상기 제 1 메타데이터는 메타데이터 채널(111)에서 상기 서버 컴퓨터(106)로부터 수신되고, 상기 메타데이터 채널(111)은 상기 전자 컴퓨팅 장치(102)와 상기 서버 컴퓨터(106) 사이에서 상기 문서와 연관된 잠금 메타데이터가 통신될 수 있게 하는 제 1 통신 경로임-와,
    상기 문서를 개방한 후 잠금 상태에 있지 않은 상기 문서의 제 1 구역을 편집하는 단계와,
    상기 서버 컴퓨터(106)로부터 제 2 메시지를 수신하는 단계-상기 제 2 메시지는 상기 문서에 대한 제 2 메타데이터를 포함하고, 상기 제 2 메타데이터는 상기 메타데이터 채널(111)에서 수신됨-와,
    상기 제 2 메타데이터를 수신한 후, 상기 제 2 메타데이터가 하나 이상의 잠금 삭제를 포함하는지 여부를 판정하는 단계와,
    상기 제 2 메타데이터가 하나 이상의 잠금 삭제를 포함한다고 판정되는 경우, 상기 하나 이상의 잠금 삭제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자와 부합되는 식별자를 포함하는지 여부를 판정하는 단계와,
    하나 이상의 잠금 삭제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자와 부합하는 식별자를 포함한다고 판정되는 경우, 상기 잠금 삭제에 대응하는 상기 잠금을 삭제하는 단계와,
    상기 제 2 메타데이터를 수신한 후, 상기 제 2 메타데이터가 하나 이상의 잠금 생성을 포함하는지 여부를 판정하는 단계-상기 하나 이상의 잠금 생성은 각각 생성될 각각의 잠금에 대응하는 식별자를 포함함-와,
    상기 제 2 메타데이터가 하나 이상의 잠금 생성을 포함한다고 판정되는 경우, 상기 제 2 메타데이터가 하나 이상의 상기 잠금 생성과 동일한 잠금 식별자를 갖는 하나 이상의 잠금 해제를 포함하는지 여부를 판정하는 단계와,
    상기 제 2 메타데이터가 임의의 잠금 해제를 포함하지 않는다고 판정되는 경우 또는 상기 제 2 메타데이터가 하나 이상의 잠금 해제를 포함하고 상기 하나 이상의 잠금 해제 중 어느 것도 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 경우, 상기 하나 이상의 잠금 해제 중 어느 것도 상기 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 상기 하나 이상의 잠금 생성 중 각각의 잠금 생성에 대하여, 상기 잠금 생성 내에서 지정된 상기 문서의 상기 구역에 상기 잠금 생성을 적용하는 단계와,
    상기 서버 컴퓨터(106)로부터 제 3 메시지를 수신하는 단계-상기 제 3 메시지는 컨텐츠 정보 및 제 3 메타데이터를 포함하고, 상기 컨텐츠 정보 및 상기 제 3 메타데이터는 상기 메타데이터 채널(111)과는 분리된 데이터 채널(113)에서 수신되고, 상기 데이터 채널(113)은 상기 클라이언트 컴퓨터(102)와 상기 서버 컴퓨터(106) 사이에서 상기 문서와 연관된 컨텐츠 및 상기 잠금 메타데이터가 통신되는 제 2 통신 경로임-와,
    상기 컨텐츠 정보 및 상기 제 3 메타데이터를 수신한 후 상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함하는지 여부를 판정하는 단계와,
    상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함한다고 판정되는 경우, 상기 하나 이상의 잠금 해제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자에 부합하는 식별자를 포함하는지 여부를 판정하는 단계와,
    상기 하나 이상의 잠금 해제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자에 부합하는 식별자를 포함한다고 판정되는 경우, 상기 잠금 해제에 대응하는 상기 잠금을 해제하는 단계와,
    상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함하는지 여부를 판정한 후, 상기 제 2 메타데이터가 상기 하나 이상의 잠금 해제에 대한 식별자와 부합하는 식별자를 갖는 하나 이상의 잠금 생성을 포함하는지 여부를 판정하는 단계와,
    상기 제 2 메타데이터가 상기 하나 이상의 잠금 해제에 대한 식별자와 부합하는 식별자를 갖는 하나 이상의 잠금 생성을 포함한다고 판정되는 경우, 상기 하나 이상의 잠금 생성과 부합하는 식별자를 갖는 하나 이상의 잠금이 상기 문서에 적용되는지 여부를 판정하는 단계와,
    상기 하나 이상의 잠금 해제에 대한 식별자와 부합하는 식별자를 갖는 하나 이상의 잠금 생성이 상기 문서에 적용되었다고 판정된 경우 및 상기 하나 이상의 잠금 생성에 부합하는 식별자를 갖는 하나 이상의 잠금이 상기 문서에 적용되었다고 판정된 때, 상기 하나 이상의 잠금 해제와 부합하는 식별자를 갖고 있는 잠금 생성에 부합하는 식별자를 갖는 상기 문서에서 각각의 잠금을 해제하는 단계와,
    상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함하는지 여부를 판정한 후, 상기 제 3 메타데이터가 하나 이상의 잠금 생성을 포함하는지 여부를 판정하는 단계와,
    상기 제 3 메타데이터가 하나 이상의 잠금 생성을 포함한다고 판정되는 경우, 상기 제 3 메타데이터가 하나 이상의 상기 잠금 생성의 식별자와 부합하는 잠금 식별자를 갖는 하나 이상의 잠금 해제를 포함하는지 여부를 판정하는 단계와,
    상기 제 3 메타데이터가 임의의 잠금 해제를 포함하지 않는 것으로 판정된 경우 또는 상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함하고 상기 하나 이상의 잠금 해제 중 어느 것도 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 경우, 상기 하나 이상의 잠금 해제 중 어느 것도 상기 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 상기 하나 이상의 잠금 생성 중 각각의 잠금 생성에 대하여, 상기 잠금 생성 내에 지정된 상기 문서의 상기 구역에 잠금을 적용하는 단계를 수행하게 하는
    컴퓨터 판독 가능 데이터 저장 매체.
KR1020117025705A 2009-05-01 2010-04-30 교차 채널 공동 저작 일관성 제공 기법 KR101647535B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/433,929 US8161019B2 (en) 2009-05-01 2009-05-01 Cross-channel coauthoring consistency
US12/433,929 2009-05-01

Publications (2)

Publication Number Publication Date
KR20120005006A true KR20120005006A (ko) 2012-01-13
KR101647535B1 KR101647535B1 (ko) 2016-08-10

Family

ID=43031156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117025705A KR101647535B1 (ko) 2009-05-01 2010-04-30 교차 채널 공동 저작 일관성 제공 기법

Country Status (14)

Country Link
US (1) US8161019B2 (ko)
EP (1) EP2425350A4 (ko)
JP (1) JP5926176B2 (ko)
KR (1) KR101647535B1 (ko)
CN (1) CN102414675B (ko)
AU (1) AU2010242837B2 (ko)
BR (1) BRPI1009910A2 (ko)
CA (1) CA2757176C (ko)
CL (1) CL2011002676A1 (ko)
IL (1) IL215417A0 (ko)
MX (1) MX2011011343A (ko)
RU (1) RU2544754C2 (ko)
WO (1) WO2010127291A2 (ko)
ZA (1) ZA201106949B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275118B2 (en) * 2007-07-25 2016-03-01 Yahoo! Inc. Method and system for collecting and presenting historical communication data
US20110010638A1 (en) * 2009-07-10 2011-01-13 Novell, Inc. Presence-enabled inbox
US20130185651A1 (en) * 2012-01-18 2013-07-18 Microsoft Corporation People presence detection in a multidocument knowledge base
US9256600B2 (en) * 2012-04-13 2016-02-09 D2L Corporation Method and system for electronic content locking
US9158746B2 (en) 2012-06-13 2015-10-13 International Business Machines Corporation Managing concurrent editing in a collaborative editing environment using cursor proximity and a delay
US9898520B2 (en) * 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
US20160321226A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Insertion of unsaved content via content channel
US10565297B2 (en) * 2015-06-26 2020-02-18 Microsoft Technology Licensing, Llc. Rumored changes for real-time coauthoring
US10305824B2 (en) 2016-07-15 2019-05-28 Sap Se Dynamic hierarchy based message distribution
US10545929B2 (en) * 2016-08-31 2020-01-28 Sap Se Metadata versioning in a distributed database
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
CN107219984B (zh) * 2017-05-26 2019-01-22 维沃移动通信有限公司 一种文档内容管理方法及移动终端
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
KR101948601B1 (ko) * 2017-11-28 2019-02-15 주식회사 한글과컴퓨터 용지 크기 변경 요청에 기초하여 용지 크기를 변경하는 웹 기반 문서 저장 서버 및 이의 동작 방법
US11829452B2 (en) 2020-08-24 2023-11-28 Leonard L. Drey System and method of governing content presentation of multi-page electronic documents

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301838A (ja) * 2004-04-14 2005-10-27 Sharp Corp 情報処理装置,情報処理システム,ファイル同時編集方法,及びファイル同時編集プログラム
US20060101321A1 (en) * 2004-11-08 2006-05-11 Microsoft Corporation Method and system for document assembly
JP2008123088A (ja) * 2006-11-09 2008-05-29 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置
US20090019048A1 (en) * 2007-07-12 2009-01-15 Pendergast Brian S Document lock manager

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425016B1 (en) 1997-05-27 2002-07-23 International Business Machines Corporation System and method for providing collaborative replicated objects for synchronous distributed groupware applications
JP2001034581A (ja) * 1999-07-23 2001-02-09 Hitachi Ltd 分散型情報処理システムの情報の共有方法
AU2001287421A1 (en) 2000-08-21 2002-03-04 Thoughtslinger Corporation Simultaneous multi-user document editing system
WO2003017114A1 (en) 2001-08-20 2003-02-27 Gausa, Llc System and method for real-time multi-directional file-based data streaming editor
GB0211644D0 (en) 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
US7103597B2 (en) 2002-10-03 2006-09-05 Mcgoveran David O Adaptive transaction manager for complex transactions and business process
US7480708B2 (en) 2002-12-23 2009-01-20 Sap Ag Method and computer program product for managing data consistency
JP4199021B2 (ja) * 2003-02-19 2008-12-17 株式会社エヌ・ティ・ティ・ドコモ サーバ装置およびプログラム
GB0308991D0 (en) 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
RU2322687C2 (ru) * 2003-05-17 2008-04-20 Майкрософт Корпорейшн Система и способ для обеспечения множественных воспроизведений содержания документов
US7690000B2 (en) * 2004-01-08 2010-03-30 Microsoft Corporation Metadata journal for information technology systems
JP2007328392A (ja) * 2006-06-06 2007-12-20 Fuji Xerox Co Ltd 文書編集システム、文書編集制御サーバ、サーバ用プログラム、ユーザ端末、端末用プログラム
US20080140732A1 (en) 2006-12-11 2008-06-12 Bentley System, Inc. Method and system for sharing file based data
US20080177782A1 (en) 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
CN101013381B (zh) * 2007-01-26 2010-05-19 华中科技大学 基于对象存储系统的分布式锁
WO2008151424A1 (en) * 2007-06-11 2008-12-18 Darwin Dimensions Inc. Metadata for avatar generation in virtual environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301838A (ja) * 2004-04-14 2005-10-27 Sharp Corp 情報処理装置,情報処理システム,ファイル同時編集方法,及びファイル同時編集プログラム
US20060101321A1 (en) * 2004-11-08 2006-05-11 Microsoft Corporation Method and system for document assembly
JP2008123088A (ja) * 2006-11-09 2008-05-29 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置
US20090019048A1 (en) * 2007-07-12 2009-01-15 Pendergast Brian S Document lock manager

Also Published As

Publication number Publication date
WO2010127291A3 (en) 2011-02-03
CA2757176C (en) 2016-09-20
EP2425350A2 (en) 2012-03-07
US8161019B2 (en) 2012-04-17
CA2757176A1 (en) 2010-11-04
RU2544754C2 (ru) 2015-03-20
ZA201106949B (en) 2012-11-28
IL215417A0 (en) 2011-12-29
CL2011002676A1 (es) 2012-03-16
KR101647535B1 (ko) 2016-08-10
CN102414675A (zh) 2012-04-11
CN102414675B (zh) 2014-04-16
RU2011144121A (ru) 2013-05-10
AU2010242837B2 (en) 2014-11-20
US20100281007A1 (en) 2010-11-04
JP5926176B2 (ja) 2016-05-25
BRPI1009910A2 (pt) 2016-03-15
MX2011011343A (es) 2011-11-18
JP2012525657A (ja) 2012-10-22
EP2425350A4 (en) 2018-01-17
WO2010127291A2 (en) 2010-11-04
AU2010242837A1 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
KR101647535B1 (ko) 교차 채널 공동 저작 일관성 제공 기법
US11755616B2 (en) Synchronized organization directory with team member folders
US8346768B2 (en) Fast merge support for legacy documents
JP6797290B2 (ja) メッセージングサービス向けのコンテンツ管理機能
JP2020501215A (ja) 共有コンテンツアイテムのローカルコピーのプレゼンス、アクセス、および被閲覧状態

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 4