KR20100095583A - 협업적 저작 모드 - Google Patents

협업적 저작 모드 Download PDF

Info

Publication number
KR20100095583A
KR20100095583A KR1020107012783A KR20107012783A KR20100095583A KR 20100095583 A KR20100095583 A KR 20100095583A KR 1020107012783 A KR1020107012783 A KR 1020107012783A KR 20107012783 A KR20107012783 A KR 20107012783A KR 20100095583 A KR20100095583 A KR 20100095583A
Authority
KR
South Korea
Prior art keywords
user
document
authoring application
copy
updates
Prior art date
Application number
KR1020107012783A
Other languages
English (en)
Other versions
KR101571574B1 (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 KR20100095583A publication Critical patent/KR20100095583A/ko
Application granted granted Critical
Publication of KR101571574B1 publication Critical patent/KR101571574B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

협업적 저작 애플리케이션(collaborative authoring application)은 2명 이상의 사용자들이 동시에 문서를 편집할 수 있는 저작 환경(authoring environment)을 제공한다. 각각의 사용자는 문서의 사본을 편집하고, 업데이트들을 문서의 마스터 사본으로 전송하며, 문서의 마스터 사본으로부터 업데이트들을 수신한다. 저작 환경은 내용 및 메타데이터가 자동으로 동기화되는 공개 동작 모드로, 또는 메타데이터가 자동으로 동기화되고 내용이 사용자의 요청 시에만 동기화되는 비공개 동작 모드로 구성될 수 있다. 저작 애플리케이션은 공개 모드 또는 비공개 모드에서 오프라인으로 문서를 편집할 수 있다.

Description

협업적 저작 모드{COLLABORATIVE AUTHORING MODES}
종래의 협업적 편집(collaborative editing)은 순차적으로 수행되는 경향이 있다. 사용자들은 차례대로 문서에 액세스하고 문서를 편집하며 자신들의 편집을 저장한다. 액세스 중인 사용자(accessing user)는, 문서를 편집할 때, 다른 사용자들이 그 문서를 편집하지 못하도록 파일에 잠금을 걸 수 있다. 이러한 반복되는 편집 프로세스는 지연을 야기할 수 있는데, 그 이유는 각각의 사용자가 문서를 편집할 때 차례를 기다려야 할지도 모르기 때문이다. 그에 부가하여, 반복되는 편집 프로세스는 관리하기 어려울 수 있다. 예를 들어, 각각의 사용자는 누가 문서의 어느 부분을 편집하고 있는지, 문서의 어느 버전이 가장 최근의 것인지, 및 언제 사용자의 차례가 되는지를 추적할 필요가 있을 수 있다.
다른 유형의 종래의 협업적 편집에서, 사용자들은 동일한 문서의 공유된 사본을 편집할 수 있다. 예를 들어, 미국 워싱턴주 레드몬드 소재의 MICROSOFT CORPORATION에 의해 제공되는 메모-작성 프로그램 ONENOTE®에서, 다수의 사용자들은 공유된 노트-모양의 문서 내에서 동시에 객체들을 추가, 이동 및 삭제할 수 있다. 이러한 제품들에서는, 사용자들이 실시간으로 또는 그와 거의 비슷하게 문서에 대한 변경을 할 수 있는 경향이 있다.
본 발명이 이들 및 기타 고려사항들과 관련하여 개시되어 있다.
<발명의 요약>
이 요약은 이하에서 상세한 설명에 더 기술되는 선택된 개념들을 간략화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 발명 대상의 주요 특징들 또는 필수적인 특징들을 알려주기 위한 것이 아니며, 청구된 발명 대상의 범위를 정하는 데 보조 수단으로 의도된 것도 아니다.
일반적으로, 협업적 저작 애플리케이션(collaborative authoring application)은 2명 이상의 사용자가 동시에 문서를 편집할 수 있는 저작 환경(authoring environment)을 제공한다. 저작 애플리케이션은 각각의 사용자의 편집들이 자유롭게 공유되는 공개 동작 모드(public mode of operation) 또는 각각의 사용자의 편집들이 비공개(private)로 유지될 수 있는 비공개 동작 모드(private mode of operation)로 선택적으로 구성되도록 되어 있다.
양태들에 따르면, 선택된 동작 모드와 상관없이 문서의 각각의 사용자 사본(user copy)과 문서의 마스터 사본(master copy) 간에 메타데이터 업데이트들(metadata updates)은 자동으로 동기화된다. 그렇지만, 내용 업데이트들(content updates)의 이용가능성은 저작 애플리케이션이 구성되어 있는 동작 모드에 달려 있다.
일 실시예에서, 공개 동작 모드로 구성되어 있는 저작 애플리케이션은 저작 애플리케이션에 의해 발생된 내용 업데이트들 및 메타데이터 업데이트들 둘다를 마스터 사본과 주기적으로 공유한다. 일 실시예에서, 비공개 동작 모드로 구성되어 있는 저작 애플리케이션은 저작 애플리케이션에 의해 발생된 메타데이터 업데이트들만을 마스터 사본과 주기적으로 공유한다.
다른 양태들에 따르면, 저작 애플리케이션이 내용 또는 메타데이터를 문서의 마스터 사본과 동기화시킬 수 없을 때(예를 들어, 저작 애플리케이션이 오프라인일 때)에도 저작 애플리케이션은 문서의 사용자 사본을 편집할 수 있다. 일 실시예에서, 저작 애플리케이션이 오프라인일 때, 저작 애플리케이션은 공개 동작 모드 또는 비공개 동작 모드로 구성될 수 있다.
이들 및 다른 특징들 및 이점들이 이하의 상세한 설명을 읽어보고 또 관련 도면들을 살펴보면 명백하게 될 것이다. 이상의 전반적인 설명 및 이하의 상세한 설명 둘다가 단지 설명을 위한 것이며 청구된 양태들을 제한하는 것이 아니라는 것을 잘 알 것이다.
도 1은 본 발명의 양태들의 일례인 특징들을 갖는 예시적인 저작 시스템을 나타낸 개략 블록도.
도 2는 본 발명의 원리들에 따른, 제1 컴퓨팅 장치에 저장된 문서가 내용 및 메타데이터를 포함하고 있을 수 있는 도 1의 저작 시스템을 나타낸 개략 블록도.
도 3은 본 발명의 원리들에 따른, 5개의 데이터 단위(그 중 2번째 데이터 단위가 잠금되어 있음)를 갖는 문서의 개략 블록도.
도 4는 본 발명의 원리들에 따른, 저작 환경을 구현하도록 구성된 사용자 컴퓨팅 시스템의 개략 블록도.
도 5는 본 발명의 원리들에 따른, 문서의 사용자 사본이 문서의 마스터 사본과 동기화될 수 있는 예시적인 동기화 프로세스의 동작 흐름을 나타낸 플로우차트.
도 6은 본 발명의 원리들에 따른, 저작 애플리케이션들이 공개 동작 모드로 구성되어 있는 저작 시스템의 개략 블록도.
도 7은 본 발명의 원리들에 따른, 저작 애플리케이션이 공개 동작 모드로 구성되어 있을 때 저작 애플리케이션이 문서의 사용자 사본을 문서의 마스터 사본과 동기화시킬 수 있는 예시적인 공개 모드 동기화 프로세스의 동작 흐름을 나타낸 플로우차트.
도 8은 본 발명의 원리들에 따른, 저작 애플리케이션들이 비공개 동작 모드로 구성되어 있는 저작 시스템의 개략 블록도.
도 9는 본 발명의 원리들에 따른, 저작 애플리케이션이 비공개 동작 모드로 구성되어 있을 때 저작 애플리케이션이 문서의 사용자 사본을 문서의 마스터 사본과 동기화시킬 수 있는 예시적인 비공개 모드 동기화 프로세스의 동작 흐름을 나타낸 플로우차트.
도 10은 본 발명의 원리들에 따른, 저작 애플리케이션이 다른 동작 모드로 구성될 수 있는 예시적인 토글 프로세스의 동작 흐름을 나타낸 플로우차트.
도 11 내지 도 19는 본 발명의 원리들에 따른, 제1 사용자 컴퓨팅 장치의 제1 사용자 및 제2 사용자 컴퓨팅 장치의 제2 사용자가 동시에 문서를 편집하고 있는 협업적 저작 세션 동안의 서로 다른 시점들에서의 저장 장치에 저장된 캐쉬들, 제1 사용자 컴퓨팅 장치 및 제2 사용자 컴퓨팅 장치의 개략 블록도.
도 20은 본 발명의 원리들에 따른, 본 발명의 양태들의 일례인 특징들을 갖는 사용자 컴퓨팅 장치를 나타내는 저작 시스템의 개략 블록도.
도 21은 본 발명의 원리들에 따른, 사용자 컴퓨팅 장치가 문서의 사용자 사본을 문서의 마스터 사본과 동기화시킬 수 있는 예시적인 저작 프로세스의 동작 흐름을 나타낸 플로우차트.
도 22는 본 발명의 원리들에 따른, 사용자 사본을 오프라인으로 편집한 후에 사용자 컴퓨팅 장치가 문서의 사용자 사본을 문서의 마스터 사본과 동기화시킬 수 있는 예시적인 전환 프로세스(transitioning process)의 동작 흐름을 나타낸 플로우차트.
이하의 상세한 설명에서, 본 명세서의 일부를 형성하고 예로서 구체적인 실시예들 또는 일례들이 도시되어 있는 첨부 도면들이 참조되고 있다. 본 발명이 컴퓨터 시스템에서 운영 체제 상에서 실행되는 애플리케이션 프로그램과 관련하여 실행되는 프로그램 모듈들과 일반적으로 관련하여 기술될 것이지만, 당업자라면 본 발명이 또한 다른 프로그램 모듈들과 관련하여 구현될 수 있다는 것을 잘 알 것이다. 본 발명의 사상 또는 범위를 벗어나지 않고, 본 명세서에 기술된 실시예들이 결합될 수 있고, 다른 실시예들이 이용될 수 있다. 따라서, 이하의 상세한 설명은 제한적인 의미로 해석되어서는 안되며, 본 발명의 범위가 첨부된 청구항들 및 그의 등가물들에 의해 정의된다.
본 발명의 실시예들은 다수의 사용자들이 협업적으로 문서를 저작할 수 있는 환경을 제공한다. 도 1은 본 발명의 양태들의 일례인 특징들을 갖는 예시적인 저작 시스템(100)을 나타낸 것이다. 저작 시스템(100)은 문서(150)의 마스터 사본을 저장하는 저장 장치(120)를 포함하고 있다. 일 실시예들에서, 저장 장치(120)는 컴퓨팅 장치를 포함할 수 있다. 다른 실시예에서, 저장 장치(120)는 하나 이상의 저장 장치들(예를 들어, 서버 컴퓨팅 장치들의 네트워크)을 포함할 수 있다.
저작 시스템(100)은 또한 저장 장치(120)에 통신 연결(communicatively couple)되어 있을 수 있는 적어도 하나의 사용자 컴퓨팅 장치(110)를 포함하고 있다. 사용자 컴퓨팅 장치들(110) 각각은, 문서(150)의 사용자 사본(155)을 생성하고 사용자 사본(155)을 편집함으로써, 문서(150)를 편집할 수 있다. 사용자 컴퓨팅 장치들(110)이 다른 사용자 컴퓨팅 장치들과 공유될 업데이트들을 저장 장치(120)로 주기적으로 전송하고 다른 사용자 컴퓨팅 장치들로부터의 업데이트들을 저장 장치(120)로부터 주기적으로 획득할 때, 문서(150)의 사용자 사본들(155)이 동기화된다.
사용자 컴퓨팅 장치(110)라는 용어는, 본 명세서에서 사용되는 바와 같이, 문서의 마스터 사본으로부터 저작될 문서의 사용자 사본을 획득하도록 구성되어 있는 임의의 컴퓨팅 장치를 포함한다. 사용자 컴퓨팅 장치(110)는 저장 장치(120)와 다를 수 있거나, 저장 장치(120) 상에 구현된 다른 사용자 계정을 포함할 수 있다. 일 실시예에서, 한 문서에 대해 저장 장치(120)로서 기능하는 컴퓨팅 장치가 다른 문서에 대해 사용자 컴퓨팅 장치(110)로서 기능할 수 있고, 그 반대로도 될 수 있다.
도 1에 도시된 일례에서, 4개의 사용자 컴퓨팅 장치(110A, 110B, 110C, 및 110D)가 저장 장치(120)에 통신 연결되어 있다. 그렇지만, 다른 실시예들에서, 임의의 수의 컴퓨팅 장치들(110)이 저장 장치(120)에 연결되어 있을 수 있다. 도시된 일례에서, 각각의 사용자 컴퓨팅 장치(110A, 110B, 110C, 및 110D)는 사용자 컴퓨팅 장치의 사용자에 의해 발생된 업데이트들을 저장 장치(120)로 전송할 수 있고 다른 사용자 컴퓨팅 장치들의 사용자들에 의해 발생된 업데이트들을 저장 장치(120)에 요청할 수 있다. 일 실시예에서, 저장 장치(120)는 서버 컴퓨팅 장치일 수 있고, 사용자 컴퓨팅 장치들(110A, 110B, 110C, 및 110D)은 클라이언트 컴퓨팅 장치들일 수 있다.
도 2에 도시된 바와 같이, 저장 장치(120) 상에 저장된 문서(150)의 마스터 사본은 내용(content)(152) 및 메타데이터(metadata)(154)를 포함할 수 있다. 어떤 실시예들에서, 메타데이터(154)가 내용(152)과 별도로 저장될 수 있다. 예를 들어, 내용(152)은 문서(150)에 저장될 수 있고, 메타데이터(154)는 문서(150)와 분리되어 있는 테이블(도시 생략)에 저장될 수 있다. 그렇지만, 다른 실시예들에서, 메타데이터(154)가 문서(150) 내에 저장될 수 있다.
사용자 컴퓨팅 장치들(110) 상의 저작 애플리케이션들(130)은 문서(150)의 사용자 사본들(155)의 대응하는 내용 및 메타데이터를 처리하고 조작한다. 일반적으로, 저작 애플리케이션들(130)은 내용(152)에 대한 업데이트들을 메타데이터(154)에 대한 업데이트들과 분리하여 동기화시킬 수 있다. 예를 들어, 메타데이터 업데이트들(154)은 저장 장치(120)와 사용자 컴퓨팅 장치들(110) 사이에서 자동으로 동기화될 수 있는 반면, 각각의 사용자 컴퓨팅 장치(110)로부터의 내용 업데이트들(152)은 각자의 사용자의 요청 시에 동기화될 수 있다.
메타데이터 업데이트라는 용어는, 본 명세서에서 사용되는 바와 같이, 저작될 문서의 메타데이터(154)에 대해 행해지는 부가, 삭제 및/또는 수정을 말한다. 문서 메타데이터의 비제한적인 일례들로는 내용 잠금(content lock), 프레즌스 정보(presence information), 및 기타 이러한 데이터가 있다. 본 명세서에 기술할 것인 바와 같이, 컨텐츠 잠금은 잠금을 소유하지 않는 사용자들이 그 잠금 내에 있는 컨텐츠를 편집하는 것을 금지시킨다. 프레즌스 정보는 어느 사용자들이 저작될 문서를 편집하려는 의도를 표시했는지를 나타낸다.
어떤 실시예들에서, 메타데이터가 주기적인 시간 간격으로 저장 장치(120)와 사용자 컴퓨팅 장치(110) 사이에서 교환될 수 있다. 일 실시예에서, 메타데이터가 몇초마다 교환될 수 있다. 그렇지만, 메타데이터 교환이 보다 짧은 또는 보다 긴 시간 간격으로 일어날 수 있다. 다른 실시예들에서, 사용자가 마무리 동작(finalization act)을 수행할 때(예를 들어, 문서를 저장할 때) 메타데이터가 교환될 수 있다.
내용 업데이트라는 용어는, 본 명세서에서 사용되는 바와 같이, 저작될 문서의 실질적 내용(substantive content)(152)에 대해 행해지는 부가, 삭제 및/또는 수정을 말한다. 예를 들어, 워드 프로세싱 문서에 대한 내용 업데이트들은 부가된 단락들(즉,/또는 그의 섹션들), 삭제된 단락들(즉,/또는 그의 섹션들), 및/또는 수정된 단락들(즉,/또는 그의 섹션들)을 포함할 수 있다. 다른 실시예에서, 프리젠테이션 문서에 대한 내용 업데이트들은 부가된, 삭제된 및/또는 수정된 사진들, 텍스트, 애니메이션들, 사운드들 및 기타 이러한 데이터 객체들을 포함할 수 있다.
어떤 실시예에서, 사용자의 요청 시에만 내용이 교환된다. 예를 들어, 일 실시예에서, 사용자 컴퓨팅 장치들(110) 중 하나의 사용자 컴퓨팅 장치의 사용자는 내용 변경들을 다른 사용자들과 공유하기 위해 요청을 할 수 있다. 다른 실시예에서, 사용자 컴퓨팅 장치들(110) 중 하나의 컴퓨팅 장치의 사용자는 다른 사용자들에 의해 행해진 내용 변경들을 보기 위해 요청을 할 수 있다. 그렇지만, 다른 실시예들에서, 내용이 자동으로 교환될 수 있다.
도 3을 참조하면, 내용 잠금은 문서의 어느 부분들이 다른 사용자에 의해 요구되었는지를 알려줌으로써 편집 충돌을 억제한다. 어떤 실시예들에서, 내용 잠금은 한 사용자가 다른 사용자에 의해 요구된 문서의 일부분을 편집하지 못하도록 할 수 있다. 그렇지만, 다른 실시예들에서, 사용자는 내용 잠금을 풀고 문서의 일부분을 편집하기로 할 수 있다. 이러한 경우들에, 잠금은 잠금된 섹션을 편집할 때 충돌이 일어날지도 모른다는 것을 사용자에게 경고할 수 있다.
도 3은 5개의 데이터 단위(210, 220, 230, 240, 250)를 갖는 문서(200)의 개략 블록도이다. 일 실시예들에서, 문서(200)는 워드 프로세싱 문서이고, 데이터 단위들(210-250)은 텍스트 단락이다. 다른 실시예에서, 문서(200)는 프리젠테이션 문서이고, 제1 데이터 단위(210)는 제목 또는 주제어(subject heading)이고, 제2 데이터 단위(220)는 사진 또는 기타 데이터 객체이며, 나머지 데이터 단위들(230, 240, 250)은 텍스트 블록들이다.
제1 사용자는 문서(200)의 데이터 단위들(210-250) 중 하나 이상의 데이터 단위에 관해 잠금을 발생할 수 있다. 도 3에 도시된 일례에서, 제1 사용자는 교차 해칭(cross-hatching)으로 나타낸 바와 같이, 제2 데이터 단위(220)를 잠금하였다. 내용 잠금을 발생함으로써, 제1 사용자는 제1 사용자가 제2 데이터 단위(220)를 편집하고자 의도한다는 것을 나타내었다. 예를 들어, 제1 사용자는 제1 사용자가 데이터 단위(220)를 활발히 편집하고 있을 때 잠금을 발생할 수 있다. 다른 실시예에서, 제1 사용자는 잠금을 발생하고 나서 나중에 데이터 단위(220)를 편집할 수 있다. 다른 실시예들에서, 제1 사용자가 문서를 편집할 때 잠금이 자동으로 발생된다. 이상에서 살펴본 바와 같이, 문서(200)를 관리하는 저작 애플리케이션은 제1 사용자 이외의 사용자가 잠금된 데이터 단위(220)를 편집하지 못하게 할 수 있다.
일반적으로, 제1 사용자에 의해 발생된 내용 잠금이 그 잠금의 수명 동안에 문서에 액세스하는 모든 다른 사용자들에게 디스플레이된다. 일 실시예에서, 제1 사용자도 역시 내용 잠금을 볼 수 있다. 잠금이 다른 유형의 증인(indicia)을 사용하여 디스플레이될 수 있다. 예를 들어, 일 실시예에서, 잠금된 데이터 단위의 배경이 착색되거나, 음영되거나 패턴화될 수 있다[예를 들어, 도 3의 데이터 단위(220) 참조]. 다른 실시예에서, 잠금된 단위의 내용(예를 들어, 텍스트, 사진, 형상, 또는 기타 데이터 객체)이 착색되거나, 음영되거나, 패턴화될 수 있다. 또 다른 실시예에서, 잠금을 표시하기 위해 잠금된 데이터 단위에 인접하여 박스, 괄호 또는 심볼이 디스플레이될 수 있다.
잠금 메타데이터가 각종의 서로 다른 포맷으로 저장될 수 있다. 예를 들어, 잠금 메타데이터가 테이블 포맷으로 저장될 수 있다. 프레즌스 메타데이터도 역시 각종의 포맷으로 저장될 수 있다. 예를 들어, 프레즌스 메타데이터가 테이블에 저장될 수 있다. 그렇지만, 다른 실시예에서, 잠금 메타데이터 및 프레즌스 메타데이터가 서로 다른 포맷으로 저장될 수 있다.
일반적으로, 본 발명의 원리들에 따른 양태들의 일례인 특징들을 갖는 저작 환경이 사용자 컴퓨팅 장치(예를 들어, 퍼스널 컴퓨터, 서버 컴퓨터, 노트북 컴퓨터, PDA, 스마트폰, 또는 임의의 다른 이러한 컴퓨팅 장치) 상에 구현될 수 있다. 저작 환경을 구현하도록 구성된 사용자 컴퓨팅 시스템(400)의 비제한적인 실시예에 대해 본 명세서에서 도 4를 참조하여 기술한다.
도 4에서, 본 발명의 원리들을 구현하는 예시적인 컴퓨팅 시스템(400)은 사용자 컴퓨팅 장치(410)와 같은 사용자 컴퓨팅 장치를 포함한다. 기본적인 구성에서, 사용자 컴퓨팅 장치(410)는 통상적으로 시스템 메모리(420)에 저장된 애플리케이션들 및 프로그램들을 실행하는 적어도 하나의 처리 장치(415)를 포함한다. 컴퓨팅 장치(410)의 정확한 구성 및 유형에 따라, 시스템 메모리(420)는 RAM, ROM, EEPROM, 플래쉬 메모리, CD-ROM, DVD(digital versatile disk), 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 기타 메모리 기술을 포함할 수 있지만, 이들로 제한되지 않는다.
시스템 메모리(420)는 통상적으로 컴퓨팅 장치(410)의 동작을 제어하는 데 적당한 운영 체제(422)[미국 워싱턴주 레드몬드 소재의 MICROSOFT CORPORATION로부터의 WINDOWS® 운영 체제 등]를 저장하고 있다. 시스템 메모리(420)는 또한 문서의 사용자 사본(427)이 저장될 수 있는 문서 캐쉬(426)도 포함할 수 있다. 문서의 메타데이터(429)도 역시 사용자 캐쉬(426) 내에 저장될 수 있다.
시스템 메모리(420)는 또한 문서를 생성 및 편집하는 저작 애플리케이션들(424)과 같은 하나 이상의 소프트웨어 애플리케이션들을 저장하고 있을 수 있다. 본 발명의 원리들에 따른, 문서들을 저작하는 데 적당한 저작 애플리케이션(424)의 한 비제한적인 일례는 미국 워싱턴주 레드몬드 소재의 MICROSOFT CORPORATION으로부터의 저작 소프트웨어 MICROSOFT® OFFICE WORD이다. 저작 애플리케이션들의 다른 비제한적인 일례들로는 역시 미국 워싱턴주 레드몬드 소재의 MICROSOFT CORPORATION으로부터의 프리젠테이션 소프트웨어 POWERPOINT®와 도면 작성 및 다이어그램 작성 소프트웨어 VISIO®가 있다.
컴퓨팅 장치(410)는 또한 데이터를 입력 및 조작하기 위한 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 기타 등등의 입력 장치(들)(430)를 가질 수 있다. 디스플레이 화면, 스피커, 프린터, 기타 등등의 출력 장치(들)(435)도 역시 포함되어 있을 수 있다. 이 출력 장치들(435)은 널리 공지되어 있으며, 여기에서 상세히 기술할 필요가 없다.
컴퓨팅 장치(410)는 또한 장치(410)가 분산 컴퓨팅 환경에서 네트워크(예를 들어, 인트라넷 또는 인터넷)를 통해 다른 컴퓨팅 장치들[예를 들어, 도 1의 저장 장치(120)]과 통신할 수 있게 해주는 통신 연결들(440)을 포함할 수 있다. 제한이 아닌 예로서, 통신 장치 매체(440)는 유선 네트워크 또는 직접 배선 연결(direct-wired connection) 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함한다.
도 5 내지 도 19를 참조하면, 저작 애플리케이션이 내용 및 메타데이터를 저장 장치와 교환하는 동기화 프로세스가 저작 애플리케이션의 사용자에 의해 선택된 프라이버시 모드(privacy mode)에 따라 다를 수 있다. 도 5는 사용자 컴퓨팅 장치(110) 상에 구현된 저작 시스템(100)이 저작될 문서의 사용자 사본(155)을 저장 장치(120) 상에 저장된 문서의 마스터 사본(150)과 동기화시킬 수 있는 예시적인 동기화 프로세스(500)를 나타낸 플로우차트이다. 동기화 프로세스(500)는 시작 모듈(502)에서 초기화되고 시작되어, 제1 업데이트 동작(504)으로 진행한다.
제1 업데이트 동작(504)은 사용자 사본(155)의 메타데이터를 마스터 사본(150)의 메타데이터와 동기화시킨다. 어떤 실시예들에서, 제1 업데이트 동작(504)은 사용자와의 상호작용을 필요로 하지 않고 메타데이터를 동기화시킨다. 예를 들어, 제1 업데이트 동작(504)은 주기적인 시간 간격으로 저장 장치(120)와 사용자 컴퓨팅 장치(110) 사이에서의 메타데이터의 교환을 제공할 수 있다. 일 실시예에서, 제1 업데이트 동작(504)은 몇초마다 메타데이터의 교환을 제공한다. 그렇지만, 다른 실시예들에서, 제1 업데이트 동작(504)은 보다 짧은 또는 보다 긴 시간 간격으로 행해지는 메타데이터의 교환을 제공할 수 있다.
획득 동작(obtain operation)(506)은 다른 사용자들로부터의 내용 업데이트들이 있는지 여부를 판정하기 위해 저장 장치(120)의 저장 캐쉬(125)를 주기적으로 검사한다. 이러한 내용 업데이트들이 있는 경우, 획득 동작(506)은 그 내용 업데이트들을 획득한다. 일 실시예에서, 획득 동작(506)은 사용자 장치(110)로 하여금 저장 장치(120)를 폴링(polling)하게 하고 저장 캐쉬(125)로부터 임의의 내용 업데이트들을 풀링(pulling)하게 한다. 다른 실시예에서, 획득 동작(506)은 저장 장치(120)로 하여금 요청 시에 내용 업데이트들을 사용자 장치(110)로 전송하게 한다. 그렇지만, 다른 실시예들에서, 저장 장치(120)는 사용자 장치(110)로부터의 요청을 촉구하는 일 없이(prompting) 임의의 이용가능한 내용 업데이트들을 사용자 장치(110)로 전송한다.
판정 모듈(508)은 저작 애플리케이션(130)이 구성되어 있는 동작 모드[예를 들어, 공개(public) 또는 비공개(private)]를 판정한다. 예를 들어, 판정 모듈(508)은 저작 애플리케이션이 공개 동작 모드(public mode of operation)로 구성되어 있는 것으로 판정할 수 있다. 일반적으로, 저작 애플리케이션(130)이 공개 모드로 동작할 때, 저작 애플리케이션(130)은 일반적으로 내용 업데이트들을 저장 장치(120)와 공유한다. 일 실시예에서, 공개 모드에서 동작하는 저작 애플리케이션(130)은 마무리 동작의 수행 시에(예를 들어, 사용자가 문서를 저장할 때, 자동-저장 기능이 작동될 때, 기타 등등) 내용 업데이트들을 저장 장치(120)로 전송한다.
다른 실시예에서, 판정 모듈(508)은 저작 애플리케이션(130)이 비공개 동작 모드(private mode of operation)로 구성되어 있는 것으로 판정할 수 있다. 일반적으로, 비공개 모드로 동작하는 저작 애플리케이션(130)은 일반적으로 내용 업데이트들을 저장 장치(120)와 공유하지 않는다. 일 실시예에서, 비공개 모드에서 동작하는 저작 애플리케이션(130)은 마무리 동작의 수행 시에도(예를 들어, 사용자가 문서를 저장할 때, 자동-저장 기능이 작동될 때, 기타 등등) 내용 업데이트들을 저장 장치(120)로 전송하지 않는다. 이러한 실시예들에서, 저작 애플리케이션(130)에 의해 발생되는 내용 업데이트들은 사용자가 공개 동작 모드로 토글할 때에만 저장 장치(120)로 전송될 뿐이다.
그에 따라, 판정 모듈(508)이 저작 애플리케이션(130)이 공개 동작 모드로 구성되어 있는 것으로 판정하는 경우, 전송 동작(510)은 저작 애플리케이션(130)에 의해 발생된 내용 업데이트들을 저장 장치(120)로 전송한다. 동기화 프로세스(500)는 종료 모듈(512)에서 완료되어 종료한다. 그렇지만, 판정 모듈(508)이 저작 애플리케이션(130)이 비공개 동작 모드로 구성되어 있는 것으로 판정하는 경우, 동기화 프로세스(500)는 전송 동작(510)을 구현하지 않고 종료 모듈(512)로 진행한다.
도 6은 공개 모드 동기화 사이클을 구현하도록 구성되어 있는 저작 시스템(600)의 개략 블록도이다. 저작 시스템(600)은 일반적으로 저장 장치(620) 및 하나 이상의 사용자 장치들(610)을 포함하고 있다. 저작될 문서의 내용(652) 및 메타데이터(654)는 저장 장치(620) 상의 메모리(625)에 저장되어 있다. 도 6에 도시된 일례에서, 제1 사용자 장치(610A) 및 제2 사용자 장치(610B) 둘다는 저장 장치(620) 상에 저장된 내용(652) 및 메타데이터(654)에 액세스한다. 사용자 컴퓨팅 장치(610A)는 로컬 캐쉬(635A) 및 저작될 문서의 사용자 사본(655A)을 포함하고, 사용자 컴퓨팅 장치(610B)는 로컬 캐쉬(635B) 및 저작될 문서의 사용자 사본(655B)을 포함하고 있다.
각각의 사용자 컴퓨팅 장치(610)의 로컬 캐쉬(635)는 게시(publish) 모듈(632), 보호(protect) 모듈(634), 획득(obtain) 모듈(636), 통합(integrate) 모듈(638), 및 메타데이터 동기화(metadata sync) 모듈(639)을 저장하도록 구성되어 있다. 보호 모듈(634)은 내용 변경들을 로컬 캐쉬(635)에 저장하도록 구성되어 있다. 일 실시예에서, 보호 모듈(634)은 게시 모듈(632)의 작동을 트리거한다. 게시 모듈(632)은 로컬 캐쉬(635)로부터의 내용 업데이트들을 저장 장치(620)의 저장 메모리(625)에 제공(예를 들어, 푸싱(pushing), 전송, 기타)하도록 구성되어 있다. 일 실시예에서, 게시 모듈(632)은, 저장 장치(620)로 전송하기 위해, 사용자 사본(655)에 의해 발생된 내용 업데이트들을 로컬 캐쉬(635) 내에 큐잉하도록 구성되어 있다.
획득 모듈(636)은 내용 업데이트들을 저장 장치(620)의 저장 메모리(625)로부터 획득(예를 들어, 풀링, 수신, 기타)하도록 구성되어 있다. 일 실시예에서, 획득 모듈(636)은 저장 메모리(625)로부터 획득된 내용 업데이트들을 사용자 장치(610)의 로컬 캐쉬(635) 내에 큐잉하도록 구성되어 있다. 통합 모듈(638)은 내용 변경들을 인스턴스화(instantiate)하여 문서의 사용자 사본(655)에 넣도록 구성되어 있다. 일 실시예에서, 통합 모듈(638)은 컨텐츠 업데이트들의 이용가능성을 나타내고 그 변경들을 검토(review), 무시(ignore) 또는 인스턴스화하기 위한 사용자 선택을 수신하도록 구성되어 있다.
메타데이터 동기화 모듈(639)은 저작될 문서의 사용자 사본(655)과 저장 장치(620) 상에 저장된 마스터 사본 사이에서 메타데이터 업데이트들을 동기화시킨다. 일 실시예에서, 메타데이터 동기화 모듈(639)은 일정한 시간 간격으로 저장 장치(620)와 사용자 장치(610) 사이에서의 메타데이터 업데이트들을 전송한다. 다른 실시예에서, 메타데이터 업데이트들이 있게 될 때, 메타데이터 동기화 모듈(639)은 그 메타데이터 업데이트들을 전송한다. 메타데이터 업데이트들이 저장 장치(620)와 사용자 장치들(610) 사이에서 정기적으로 공유되기 때문에, 사용자 장치(610)의 로컬 캐쉬(635)에 저장된 메타데이터가 통상적으로 저작될 문서의 마스터 사본의 메타데이터의 현재 상태를 반영하고 있다.
도 7은 저작 애플리케이션이 저작 애플리케이션에 의해 편집되는 문서를 그 문서의 마스터 사본과 동기화시킬 수 있는 공개 모드 동기화 프로세스(700)에 대한 예시적인 동작 흐름을 나타낸 플로우차트이다. 공개 모드 동기화 프로세스(700)는 시작 모듈(702)에서 초기화되고 시작되어, 사용자 명령들에 따라 문서를 편집하는 저작 동작(author operation)(704)으로 진행한다. 예를 들어, 저작 동작(704)은 사용자에 의해 수행되는 키보드 스트로크들을 확인하고 대응하는 편집 명령들을 구현할 수 있다. 다른 실시예에서, 저작 동작(704)은 사용자에 의해 수행되는 마우스 클릭을 확인하고 대응하는 편집 명령들을 구현할 수 있다.
제1 저장 동작(store operation)(706)은 메타데이터 업데이트들을 주기적으로 수집하고 이들을 사용자 장치의 로컬 캐쉬에 저장한다. 그에 따라, 저작 애플리케이션이 충돌하거나 오동작하는 경우에, 메타데이터 업데이트들이 보호된다. 일 실시예에서, 사용자가 문서에 대한 변경들을 저장하라는 명령들을 제공할 때, 제1 저장 동작(706)은 메타데이터를 저장한다. 다른 실시예에서, 자동 저장 기능(automatic save feature)이 작동될 때, 제1 저장 동작(706)은 메타데이터를 저장한다. 다른 실시예에서, 제1 저장 동작(706)은 사용자 상호작용과 상관없이 일정한 시간 간격으로(예를 들어, 몇밀리초마다, 몇초마다, 몇분마다, 기타) 메타데이터를 저장한다.
제1 게시 동작(publish operation)(708)은 로컬 캐쉬에 저장된 메타데이터 업데이트들을 저장 장치로 주기적으로 전송한다. 일반적으로, 제1 게시 동작(708)은 사용자와의 어떠한 상호작용도 필요로 하지 않고 자동으로 메타데이터 업데이트들을 전송한다. 예를 들어, 제1 게시 동작(708)은 메타데이터에 대한 변경들[예를 들어, 소프트웨어 델타(software delta)]을 일정한 시간 간격으로(예를 들어, 몇밀리초마다, 몇초마다, 몇분마다, 기타) 전송할 수 있다. 다른 실시예에서, 메타데이터 업데이트들이 로컬 캐쉬에 있을 때, 제1 게시 동작(708)은 이러한 메타데이터 업데이트들을 저장 장치로 전송한다. 다른 실시예에서, 저장 장치의 요청 시에, 제1 게시 동작(708)은 메타데이터 업데이트들을 전송한다.
제2 저장 동작(710)은 내용 업데이트들을 사용자 장치의 로컬 캐쉬에 주기적으로 저장한다. 그에 따라, 저작 애플리케이션이 충돌하거나 오동작하는 경우에, 내용 업데이트들이 보호된다. 일 실시예에서, 제1 저장 동작(706)이 메타데이터 업데이트들을 저장할 때, 제2 저장 동작(710)은 내용 업데이트들을 저장한다. 그렇지만, 다른 실시예들에서, 제2 저장 동작(710)은, 제1 저장 동작(706)이 메타데이터 업데이트들을 저장하는 것과는 다른 횟수로, 내용 업데이트들을 로컬 캐쉬에 저장할 수 있다. 일 실시예에서, 제2 저장 동작(710)은, 내용 업데이트들이 발생된 순서로 이어서 전송될 수 있게 해주기 위해, 내용에 대한 변경들을 큐(queue) 또는 기타 순서 리스트(ordered listing)에 저장할 수 있다.
제2 게시 동작(712)은 내용 업데이트들을 저장 장치로 전송한다. 일 실시예에서, 공유하라는 명령들이 사용자에 의해 제공될 때(예를 들어, 사용자가 명시적으로 게시 동작을 수행할 때, 저작 애플리케이션의 자동-저장 기능이 구현될 때, 기타), 제2 게시 동작(712)은 내용 업데이트들을 저장 장치로 전송한다. 다른 실시예에서, 저작 애플리케이션으로부터 내용 업데이트들이 있을 때, 제2 게시 동작(712)은 이러한 내용 업데이트들을 전송한다. 다른 실시예에서, 제2 게시 동작(712)은 사용자로부터의 어떠한 상호작용도 필요로 하지 않고 자동으로 내용 업데이트들을 전송한다. 또 다른 실시예에서, 저장 장치의 요청 시에, 제2 게시 동작(712)은 내용 업데이트들을 전송할 수 있다.
제1 인스턴스화 동작(instantiate operation)(714)은 메타데이터 업데이트들을 저장 장치로부터 주기적으로 획득하고, 그 메타데이터 업데이트들을 자동으로 인스턴스화하여 저작 애플리케이션에 의해 저작되는 문서에 넣는다. 예를 들어, 제1 인스턴스화 동작(714)은 다른 사용자들에 의해 발생된 메타데이터 업데이트들을 일정한 시간 간격으로(예를 들어, 몇밀리초마다, 몇초마다, 몇분마다, 기타) 획득할 수 있다. 다른 실시예에서, 메타데이터 업데이트들이 있을 때, 제1 인스턴스화 동작(714)은 이러한 메타데이터 업데이트들을 획득한다. 통상적으로, 메타데이터 업데이트들을 인스턴스화하는 데 사용자와의 상호작용이 필요하지 않다. 예를 들어, 메타데이터 업데이트들이 획득될 때 새로 발생된 잠금들이 자동으로 사용자에게 디스플레이된다.
제2 인스턴스화 동작(716)은 내용 업데이트들을 저장 장치로부터 주기적으로 획득하고, 그 내용 업데이트들을 사용자가 볼 수 있게 및/또는 인스턴스화할 수 있게 해준다. 예를 들어, 제2 인스턴스화 동작(716)은 다른 사용자들에 의해 발생된 내용 업데이트들을 일정한 시간 간격으로(예를 들어, 몇밀리초마다, 몇초마다, 몇분마다, 기타) 획득할 수 있다. 다른 실시예에서, 내용 업데이트들이 있을 때, 제2 인스턴스화 동작(716)은 이러한 내용 업데이트들을 획득한다. 통상적으로, 저작 애플리케이션은 내용 업데이트들이 있다는 것을 사용자에게 알려주고, 사용자로 하여금 그 내용 업데이트들을 검토할지, 인스턴스화할지 또는 무시할지를 선택하게 할 수 있다. 공개 모드 동기화 프로세스(700)는 종료 모듈(718)에서 완료되어 종료한다.
도 8은 비공개 모드 동기화 사이클을 구현하도록 구성되어 있는 저작 시스템(800)의 개략 블록도이다. 저작 시스템(800)은 일반적으로 저장 장치(820) 및 하나 이상의 사용자 장치들(810)을 포함하고 있다. 저작될 문서의 내용(852) 및 메타데이터(854)는 저장 장치(820) 상의 메모리(825)에 저장되어 있다. 도 8에 도시된 일례에서, 제1 사용자 장치(810A) 및 제2 사용자 장치(810B)는 저장 장치(820) 상에 저장된 내용(852) 및 메타데이터(854)에 동시에 액세스한다. 사용자 컴퓨팅 장치(810A)는 로컬 캐쉬(835A) 및 저작될 문서의 사용자 사본(855A)을 포함하고, 사용자 컴퓨팅 장치(810B)는 로컬 캐쉬(835B) 및 저작될 문서의 사용자 사본(855B)을 포함하고 있다.
각각의 사용자 컴퓨팅 장치(810)의 로컬 캐쉬(835)는 게시(publish) 모듈(832), 보호(protect) 모듈(834), 획득(obtain) 모듈(836), 통합(integrate) 모듈(838), 및 메타데이터 동기화(metadata sync) 모듈(839)을 저장하도록 구성되어 있다. 보호 모듈(834)은, 저장 장치(820)의 저장 메모리(825)로 나중에 전송하기 위해, 사용자 사본(855)으로부터의 내용 업데이트들을 로컬 캐쉬(835)에 저장하도록 구성되어 있다. 일 실시예에서, 보호 모듈(834)은 내용 업데이트들이 발생된 순서에 따라 그 내용 업데이트들을 저장하도록 구성되어 있다. 예를 들어, 보호 모듈(834)은, 저장 장치(820)로 전송하기 위해, 사용자 사본(855)에 의해 발생된 내용 업데이트들을 로컬 캐쉬(835) 내에 큐잉하도록 구성될 수 있다.
게시 모듈(832)은 로컬 캐쉬에 저장된 내용 변경들을 저장 장치(820)로 전송하도록 구성되어 있다. 일반적으로, 게시 모듈(832)은 내용 변경들을 게시하라는 명령들을 수신할 때 내용 변경들을 공유한다. 예를 들어, 사용자가 저작 애플리케이션의 사용자 인터페이스를 통해 게시 옵션을 선택하는 경우, 게시 모듈(832)은 내용 변경들을 저장 장치(820)로 전송할 수 있다. 보호 모듈(834)은 게시 모듈(832)을 자동으로 트리거하지 않는다.
획득 모듈(836)은 내용 업데이트들을 저장 장치(820)의 저장 메모리(825)로부터 획득(예를 들어, 풀링, 수신, 기타)하도록 구성될 수 있다. 일 실시예에서, 획득 모듈(836)은, 나중에 인스턴스화하여 저작될 문서의 사용자 사본(855) 내에 넣기 위해, 저장 메모리(825)로부터 획득된 내용 업데이트들을 로컬 캐쉬(835) 내에 큐잉하도록 구성되어 있다. 통합 모듈(integrate module)(838)은 내용 변경들을 인스턴스화(instantiate)하여 문서의 사용자 사본(855)에 넣는 것을 용이하게 해주도록 구성되어 있다. 예를 들어, 통합 모듈(838)은 인스턴스화할 새로운 내용 업데이트들이 있다는 것을 사용자에게 알려주도록 구성되어 있을 수 있다. 다른 실시예에서, 통합 모듈(838)은 내용 변경들을 자동으로 인스턴스화(instantiate)하여 저작될 문서의 사용자 사본(855)에 넣도록 구성될 수 있다.
메타데이터 동기화 모듈(839)은 저작될 문서의 사용자 사본(855)과 저장 장치(820) 상에 저장된 마스터 사본 사이에서 메타데이터 업데이트들을 동기화시킨다. 일 실시예에서, 메타데이터 동기화 모듈(839)은 도 6을 참조하여 이상에서 기술한 메타데이터 동기화 모듈(639)과 동일하다. 그렇지만, 다른 실시예들에서, 메타데이터 동기화 모듈(839)은 사용자 장치(810)와 저장 장치(820) 사이에서 메타데이터를 동기화시키도록 다른 방식으로 구성되어 있을 수 있다.
도 9는 저작 애플리케이션이 저작 애플리케이션에 의해 편집되는 문서를 그 문서의 마스터 사본과 동기화시킬 수 있는 비공개 모드 동기화 프로세스(900)에 대한 예시적인 동작 흐름을 나타낸 플로우차트이다. 비공개 모드 동기화 프로세스(900)는 시작 모듈(902)에서 초기화되고 시작되어, 사용자 명령들에 따라 저작될 문서를 편집하는 저작 동작(904)으로 진행한다. 예를 들어, 저작 동작(904)은 도 7을 참조하여 이상에서 기술한 저작 애플리케이션(704)과 동일할 수 있다.
제1 저장 동작(906)은 저작 동작(904)이 구현될 때 발생되는 메타데이터 업데이트들을 로컬 캐쉬에 주기적으로 저장한다. 일 실시예에서, 제1 저장 동작(906)은 도 7과 관련하여 이상에서 기술한 공개 모드 동기화 프로세스(700)의 제1 저장 동작(706)과 동일하다. 그렇지만, 다른 실시예들에서, 메타데이터 업데이트들을 저장하는 데 다른 프로세스들이 사용될 수 있다. 제1 게시 동작(908)은 로컬 캐쉬로부터의 메타데이터 업데이트들을 저장 장치로 주기적으로 전송한다. 일 실시예에서, 제1 게시 동작(908)은 도 7과 관련하여 이상에서 기술한 공개 모드 동기화 프로세스(700)의 제1 게시 동작(708)과 동일하다. 그렇지만, 다른 실시예들에서, 메타데이터 업데이트들을 공유하는 데 다른 프로세스들이 사용될 수 있다.
제2 저장 동작(910)은 저작 동작(904)이 사용자 장치 상에서 구현될 때 발생되는 내용 업데이트들을 사용자 장치의 로컬 캐쉬에 주기적으로 저장한다. 일반적으로, 제2 저장 동작(910)은 사용자가 데이터 보호 동작을 수행할 때(예를 들어, 문서를 저장하기로 할 때) 행해진다. 일 실시예에서, 제2 저장 동작(910)은 도 7과 관련하여 이상에서 기술한 공개 모드 동기화 프로세스(700)의 제2 저장 동작(710)과 동일하다. 그렇지만, 다른 실시예들에서, 내용 업데이트들을 저장하는 데 다른 프로세스들이 사용될 수 있다.
판정 모듈(912)은 내용 업데이트들을 저장 장치로 업로드할지 여부를 판정한다. 일 실시예에서, 판정 모듈(912)은 사용자가 내용 변경들을 공유하라는 명령들을 제공했는지 여부를 판정한다. 예를 들어, 판정 모듈(912)은 사용자가 저작 애플리케이션의 사용자 인터페이스 상에서 "게시(Publish)" 버튼을 선택했는지 여부를 판정할 수 있다. 판정 모듈(912)이 사용자가 내용 변경들을 공유하라는 명령들을 제공한 것으로 판정하는 경우, 제2 게시 동작(914)은 내용 변경들을 저장 장치로 전송한다. 그렇지만, 판정 모듈(912)이 사용자가 내용을 공유하라는 명령들을 제공한 것으로 판정하는 경우, 비공개 동기화 프로세스(900)는 제2 게시 동작(914)을 건너뛰고 제1 인스턴스화 동작(916)으로 진행한다.
제1 인스턴스화 동작(916)은 메타데이터 업데이트들을 저장 장치로부터 주기적으로 획득하고, 그 메타데이터 업데이트들을 자동으로 인스턴스화하여 저작 애플리케이션에 의해 저작되는 문서에 넣는다. 예를 들어, 제1 인스턴스화 동작(916)은 도 7과 관련하여 이상에서 기술한 공개 모드 동기화 프로세스(700)의 제1 인스턴스화 동작(714)과 동일할 수 있다. 그렇지만, 다른 실시예들에서, 저장 장치로부터 메타데이터를 획득하는 데 다른 프로세스들이 이용될 수 있다.
제2 인스턴스화 동작(918)은 내용 업데이트들을 저장 장치로부터 주기적으로 획득하고, 그 내용 업데이트들을 사용자가 볼 수 있게 및/또는 인스턴스화할 수 있게 해준다. 예를 들어, 제2 인스턴스화 동작(918)은 도 7과 관련하여 이상에서 기술한 공개 모드 동기화 프로세스(700)의 제2 인스턴스화 동작(716)과 동일할 수 있다. 그렇지만, 다른 실시예들에서, 저장 장치로부터 내용을 획득하는 데 다른 프로세스들이 이용될 수 있다. 비공개 모드 동기화 프로세스(900)는 종료 모듈(920)에서 완료되어 종료한다.
도 10은 저작 애플리케이션이 공개 동작 모드로 또는 비공개 동작 모드로 선택적으로 구성될 수 있는 토글 프로세스(toggle process)(1000)에 대한 동작 흐름을 나타낸 플로우차트이다. 토글 프로세스(1000)는 시작 모듈(1002)에서 초기화되고 시작되어, 수신 동작(1004)으로 진행한다. 수신 동작(1004)은 특정의 동작 모드의 선택을 획득한다. 일 실시예에서, 수신 동작(1004)은 사용자 인터페이스 도구를 통해 모드 선택을 확인할 수 있다. 예를 들어, 수신 동작(1004)은 사용자가 저작 애플리케이션의 사용자 인터페이스의 토글 버튼(toggle button)을 클릭한 것으로 판정할 수 있다.
토글 동작(1006)은 저작 애플리케이션을 선택된 동작 모드로 구성한다. 예를 들어, 토글 동작(1006)은 현재 비공개 동작 모드로 구성되어 있는 저작 애플리케이션을 공개 동작 모드로 구성할 수 있다. 이러한 실시예들에서, 저장된 내용 변경들이 문서의 마스터 사본과 자동으로 공유될 수 있다. 다른 실시예들에서, 토글 동작(1006)은 현재 비공개 동작 모드로 구성되어 있는 저작 애플리케이션을 공개 동작 모드로 구성할 수 있다. 이러한 실시예들에서, 저작 애플리케이션은 내용 변경들을 마스터 사본에 알려주지 않기 시작한다. 일 실시예에서, 저작 애플리케이션은 내용 변경들을 로컬 캐쉬 메모리에 저장하기 시작한다.
표시 동작(indicate operation)(1008)은 선택된 동작 모드를 사용자에게 알려주도록 저작 애플리케이션의 사용자 인터페이스를 구성한다. 예를 들어, 사용자가 저작 애플리케이션을 공개 모드에서 실행시키기로 한 경우, 표시 동작(1008)은 내용 변경들이 다른 사용자들과 공유되고 있다는 것을 사용자에게 알려줄 수 있다. 사용자가 저작 애플리케이션을 비공개 모드에서 실행시키기로 한 경우, 표시 동작(1008)은 내용 변경들이 다른 사용자들과 공유되고 있지 않다는 것을 사용자에게 알려줄 수 있다. 토글 프로세스(1000)는 종료 모듈(1010)에서 완료되어 종료한다.
도 11 내지 도 19를 참조하면, 예시적인 응용을 살펴봄으로써 본 발명의 원리들이 더 잘 이해될 수 있다. 도 11 내지 도 19는 저장 장치(1120) 상에 저장된 문서의 마스터 사본에 대해 협업적 저작 세션 동안에 행해진 변경들, 제1 저작 애플리케이션(1130A)에 의해 편집되는 문서의 제1 사용자 사본, 및 제2 저작 애플리케이션(1130B)에 의해 편집되는 제2 사용자 사본을 나타내고 있다. 사용자 컴퓨팅 장치들의 각자의 로컬 캐쉬들(1135A, 1135B)에 저장된 내용 업데이트 및 메타데이터 업데이트도 도시되어 있다. 일 실시예에서, 제1 저작 애플리케이션(1130A) 및 제2 저작 애플리케이션(1130B)이 문서를 동시에 편집한다. 그렇지만, 다른 실시예들에서, 제1 및 제2 저작 애플리케이션(1130A, 1130B)은 동일한 프로세스들을 사용하여 서로 다른 때에 문서를 편집(즉, 액세스)할 수 있다.
도 11에서, 제1 저작 애플리케이션(1130A)은 공개 동작 모드로 구성되어 있고, 제2 저작 애플리케이션(1130B)은 비공개 동작 모드로 구성되어 있다. 그렇지만, 다른 실시예들에서, 각각의 저작 애플리케이션(1130)이 임의의 원하는 동작 모드로 구성되어 있을 수 있다. 제1 저작 애플리케이션(1130A)이 공개 모드로 동작하고 있기 때문에, 제1 저작 애플리케이션(1130A)은 일반적으로 도 7과 관련하여 이상에서 기술한 공개 모드 동기화 프로세스(700)를 따른다. 제2 저작 애플리케이션(1130B)이 비공개 모드로 동작하고 있기 때문에, 제2 저작 애플리케이션(1130B)은 일반적으로 도 9와 관련하여 이상에서 기술한 비공개 모드 동기화 프로세스(900)를 따른다.
문서의 마스터 사본은 대응하는 마스터 잠금 테이블(master lock table)을 갖는다. 편의상, 도 11 내지 도 19에 도시된 일례에서, 마스터 잠금 테이블은 문서의 마스터 사본의 일부로서 디스플레이된다. 그렇지만, 다른 실시예들에서, 마스터 잠금 테이블이 문서의 마스터 사본과 분리되어 저장될 수 있다. 이와 유사하게, 이해를 돕기 위해, 문서의 각각의 사용자 사본과 연관된 잠금들이 도 11 내지 도 19에서 사용자 사본의 일부로서 도시되어 있다. 그렇지만, 다른 실시예들에서, 메타데이터가 각각의 사용자 사본과 분리되어 저장될 수 있다.
도시된 일례에서, 마스터 사본의 내용은 텍스트 "Hello World"를 포함하는 제1 데이터 단위를 포함하고, 마스터 사본의 메타데이터는 제1 데이터 단위에 관한 제1 잠금(E1)을 포함한다. 제1 잠금(E1)이 제1 저작 애플리케이션(1130A)의 제1 사용자에게 할당된다. 그에 따라, 제1 저작 애플리케이션(1130A)은 제1 데이터 단위를 편집할 수 있다. 제2 저작 애플리케이션(1130B)과 같은 다른 저작 애플리케이션들은 제1 데이터 단위를 편집하지 못하게 되어 있다. 마스터 사본의 내용 및 메타데이터가 사용자 장치들의 로컬 캐쉬들(1135A, 1135B)에 반영된다.
도 11에서, 제1 저작 애플리케이션(1130A) 및 제2 저작 애플리케이션(1130B) 각각이 문서의 마스터 사본에 액세스하여 이를 편집하기 시작한다. 제1 저작 애플리케이션(1130A)은 취소선 주석(strikethrough annotation)으로 나타낸 바와 같이 단어 "Hello"를 삭제하기 위해 문서의 제1 사용자 사본을 편집한다[도 7의 저작 동작(704) 참조]. 제2 저작 애플리케이션(1130B)은 텍스트 "Goodbye World"를 포함하는 제2 데이터 단위를 부가하기 위해 문서의 제2 사용자 사본을 편집한다[도 9의 저작 동작(904) 참조]. 제2 사용자에게 할당된 제2 잠금(E2)이 제2 데이터 단위에 관해 발생된다.
도 12는 공개 모드 동기화 프로세스(700)의 제1 저장 동작(706) 및 비공개 모드 동기화 프로세스(900)의 제1 저장 동작(906)의 효과를 나타낸 것이다. 저작 애플리케이션들(1130A, 1130B) 각각은, 저장 장치(1120)로 전송하기 위해, 문서의 각자의 사용자 사본에서 발생된 메타데이터 변경들을 각자의 로컬 캐쉬(1135A, 1135B)에 저장한다. 도시된 일례에서, 제1 저작 애플리케이션(1130A)은 어떠한 새로운 잠금들을 부가하지도 제1 잠금(E1)을 해제하지도 않았다. 그에 따라, 도 12에서 메타데이터에 대한 어떤 변경들도 로컬 캐쉬(1135A)에 저장되지 않는다. 그렇지만, 제2 저작 애플리케이션(1130B)은 새로운 데이터 단위에 관해 제2 잠금(E2)을 부가하였다. 그에 따라, 제2 잠금(E2)이 로컬 캐쉬(1135B)의 메타데이터 테이블에 저장된다.
도 13은 공개 모드 동기화 프로세스(700)의 제1 게시 동작(708) 및 비공개 모드 동기화 프로세스(900)의 제1 게시 동작(908)의 효과를 나타낸 것이다. 각자의 로컬 캐쉬들(1135A, 1135B) 각각은 저장된 메타데이터를 저장 장치(1120)로 전송한다. 도시된 일례에서, 제2 로컬 캐쉬(1135B)는 새로운 잠금(E2)을 저장 장치(1120)로 전송한다. 그렇지만, 제1 로컬 캐쉬(1135A)는 저장 장치(1120)로 전송할 어떤 메타데이터 변경들로 가지고 있지 않다.
공개 모드 동기화 프로세스(700)의 제2 저장 동작(710)에 따라, 제1 저작 애플리케이션(1130A)은 내용을 저장하라는 명령들이 사용자에 의해 (즉, 명시적으로 또는 암시적으로) 제공될 때, 저장 장치(1120)로 전송하기 위해, 내용 변경들을 로컬 캐쉬(1135A)에 저장한다. 공개 모드 동기화 프로세스(700)의 제2 게시 동작(712)에 따라, 내용을 저장하라는 명령들은 내용 업데이트들을 저장 장치(1120)에 게시하도록 로컬 캐쉬(1135A)를 트리거한다. 도시된 일례에서, 도 12에서 제1 데이터 단위로부터 단어 "Hello"를 제거한 것이 로컬 캐쉬(1135A)에 저장되고 도 13에서 저장 장치(1120)로 전송된다.
이와 달리, 비공개 모드 동기화 프로세스(900)의 제2 저장 동작(910)에 따라, 제2 저작 애플리케이션(1130B)은 내용 변경들을 로컬 캐쉬(1135B)에 저장한다. 도 12에 도시된 일례에서, 제2 데이터 단위("Goodbye World")의 부가가 로컬 캐쉬(1135B)에 반영된다. 그렇지만, 비공개 모드 동기화 프로세스(900)의 판정 모듈(912)에 따라, 게시 명령이 사용자에 의해 제공될 때, 로컬 캐쉬(1135B)는 업데이트된 내용을 저장 장치(1120)로 전송할 뿐이다. 도 13에 도시된 일례에서, 게시 명령들이 제공되지 않고, 제2 데이터 단위가 저장 장치(1120)로 전송되지 않는다.
도 14 및 도 15는 공개 모드 동기화 프로세스(700)의 제1 인스턴스화 동작(714) 및 비공개 모드 동기화 프로세스(900)의 제1 인스턴스화 동작(916)의 효과를 나타낸 것이다. 각각의 저작 애플리케이션(1130A, 1130B)은 저장 장치(1120)로부터 메타데이터 업데이트들을 획득하고, 그 메타데이터 업데이트들을 자동으로 인스턴스화하여 문서의 각자의 사용자 사본에 넣는다. 도시된 일례에서, 도 14에 나타낸 바와 같이, 제2 잠금(E2)이 저장 장치(1120) 상의 문서의 마스터 사본으로부터 풀링되어 제1 사용자 장치의 제1 로컬 캐쉬(1135A)에 저장된다. 도 15에서, 제1 저작 애플리케이션(1130A)은 제2 잠금(E2)을 자동으로 인스턴스화하여 문서의 제1 사용자 사본에 넣는다. 그렇지만, 제1 저작 애플리케이션(1130A)이 제1 사용자 사본의 메타데이터에 어떤 변경도 하지 않았기 때문에, 제2 사용자 사본 및 제2 로컬 캐쉬(1135B)와 연관된 메타데이터에 어떤 변경도 행해지지 않는데, 그 이유는 메타데이터가 문서의 마스터 사본과 연관된 메타데이터를 이미 반영하고 있기 때문이다.
그에 부가하여, 공개 모드 동기화 프로세스(700)의 제2 인스턴스화 동작(716) 및 비공개 모드 동기화 프로세스(900)의 제2 인스턴스화 동작(918)의 효과가 도 14 및 도 15에 나타내어져 있다. 각각의 저작 애플리케이션(1130A, 1130B)은 내용 업데이트들을 저장 장치(1120)로부터 획득하고, 그 내용 업데이트들을 사용자가 볼 수 있게 및/또는 인스턴스화할 수 있게 해준다. 도시된 일례에서, 제2 로컬 캐쉬(1135B)는 어떤 내용 변경들도 저장 장치(1120)로 전달하지 않는다. 그에 따라, 도 14 및 도 15에서 제1 로컬 캐쉬(1135A) 및 제1 저작 애플리케이션(1130A)은 저장 장치(1120)로부터 어떤 내용 업데이트도 획득하지 않는다.
그렇지만, 제1 저작 애플리케이션(1130A)이 내용 변경들을 공유하기 때문에, 제2 로컬 캐쉬(1135B)는 제1 데이터 단위로부터 단어 "Hello"를 삭제하는 내용 업데이트를 저장 장치(1120)로부터 획득한다(도 14 참조). 도 15에서, 제2 저작 애플리케이션(1130B)은 로컬 캐쉬(1135B)로부터의 내용 업데이트를 인스턴스화하여 문서의 사용자 사본에 넣는다. 일 실시예에서, 제2 저작 애플리케이션(1130B)의 사용자 인터페이스는 내용 업데이트들을 자동으로 인스턴스화하여 문서의 제2 사용자 사본에 넣는다(도 15 참조). 그렇지만, 다른 실시예에서, 제2 저작 애플리케이션(1130B)은 내용 업데이트가 있다는 것을 제2 사용자에게 알려준다. 이러한 실시예에서, 제2 사용자가 인스턴스화하라는 명령들을 제공할 때, 제2 저작 애플리케이션(1130B)은 내용 업데이트를 인스턴스화한다.
도 16에서, 제2 사용자가 제2 저작 애플리케이션(1130B)을 공개 모드 구성으로 토글시킨다. 일 실시예에서, 제2 사용자는 제2 저작 애플리케이션(1130B)의 사용자 인터페이스 상에서 제2 저작 장치(1130B)의 동작 모드를 토글시키는 버튼을 선택한다. 그렇지만, 다른 실시예들에서, 제2 사용자는 제2 저작 애플리케이션(1130B)에 공개 동작 모드로 토글하도록 다른 방식으로 요청할 수 있다. 동작 모드를 토글시킨 후에, 제2 저작 애플리케이션(1130B)은 도 7과 관련하여 이상에서 기술한 공개 모드 동기화 프로세스(700)를 따르기 시작할 수 있다. 예를 들어, 제2 저작 애플리케이션(1130B)은 내용 업데이트들은 물론 메타데이터 업데이트들도 공유하기 시작할 수 있다. 일 실시예에서, 이전에 저장된 내용 업데이트들도 역시 공유된다.
어떤 실시예들에서, 저작 애플리케이션을 비공개 동작 모드로부터 공개 동작 모드로 토글시키는 것으로 인해 이전에 저장된 내용이 저장 장치와 자동으로 공유되지는 않는다. 오히려, 저작 애플리케이션(1130)의 모드를 토글시키는 것은 진행 중인 로컬 캐쉬(1135)의 거동을 변경시킨다. 예를 들어, 저작 애플리케이션(1130)이 공개 모드로 구성되어 있는 동안에 사용자가 문서를 "저장"하기로 할 때, 내용 변경들이 저장 장치(1120)로 자동으로 전송된다. 일 실시예에서, 이전에 저장된 변경들도 역시 새로운 내용 변경들과 함께 전송된다. 그렇지만, 다른 실시예들에서, 저작 애플리케이션(1130)이 부가의 사용자 상호작용을 필요로 하지 않고 공개 동작 모드로 토글될 때, 이전에 저장된 변경들이 저장 장치(1120)로 자동으로 전송될 수 있다.
도 16에 도시된 일례에서, 제2 저작 애플리케이션(1130B)이 공개 모드로 토글되어 있다. 사용자는 저작 애플리케이션(1130B)을 토글시킨 후에 내용 변경들을 저장하기로 아직 선택하지 않았다. 그에 따라, 제2 데이터 단위가 저장 장치(1120)로 아직 전송되지 않았다. 도 17에 도시된 일례에서, 제2 로컬 캐쉬(1135B)는 사용자로부터 저장 명령을 수신하고, 도 7의 공개 모드 동기화 프로세스(700)의 제2 게시 동작(712)에 따라, 텍스트 "Goodbye World"를 포함하는 제2 데이터를 저장 장치(1120)로 전송한다. 도 18에서 제1 로컬 캐쉬(1135A)는 저장 장치(1120)로부터 내용 업데이트를 획득하고, 도 19에서 저작 애플리케이션(1130A)은 내용 업데이트를 인스턴스화하여 문서의 제1 사용자 사본에 넣는다.
이제 도 20 내지 도 22를 참조하면, 본 발명의 원리들에 따른 양태들의 일례인 특징들을 갖는 저작 시스템(2000)은, 저작 애플리케이션이 문서의 마스터 사본을 저장하고 있는 저장 장치로부터 단절되어 있을 때에도, 사용자들로 하여금 문서들의 사용자 사본들을 저작할 수 있게 해줄 수 있다. 저작 시스템(2000)은 문서의 사용자 사본(2055)을 저작하기 위해 저작 애플리케이션(2030)을 실행하는 사용자 장치(2010)를 포함하고 있다. 도시된 일례에서, 사용자 장치(2010)는 오프라인이다[예를 들어, 네트워크(2060)로부터 단절되어 있다]. 그에 따라, 사용자 장치(2010)는 네트워크(2060)에 연결될 때까지 문서의 사용자 사본(2055)을 저작할 때 발생되는 내용 변경이나 메타데이터 변경 어느 것도 공유하지 않는다.
사용자 장치(2010) 또한 문서의 사용자 사본(2055)에 관한 메타데이터(2039)가 저장되어 있는 로컬 캐쉬(2035)도 포함하고 있다. 일 실시예에서, 메타데이터(2039)는 문서의 로컬 사본(2055)에 행해진 변경들을 반영하기 위해 주기적으로 업데이트될 수 있다. 다른 실시예에서, 각각의 저작 세션의 끝에서 메타데이터(2039)가 업데이트된다. 로컬 캐쉬(2035)는 또한 저장 캐쉬(store cache)(2031), 업로드 캐쉬(upload cache)(2033), 및 획득 캐쉬(obtain cache)(2037)도 포함하고 있다.
저작 애플리케이션(2030)은 내용 변경들을 저장 캐쉬(2031)에 주기적으로 저장한다. 어떤 실시예들에서, 저작 프로세스 전체에 걸쳐 일정한 시간 간격으로 (예를 들어, 자동 저장 기능을 통해) 내용 업데이트들이 저장 캐쉬(2031)에 저장된다. 다른 실시예들에서, 사용자가 문서를 저장하라는 명령들을 제공할 때, 저작 애플리케이션(2030)은 내용 변경들을 저장할 수 있다. 일 실시예에서, 저장 캐쉬(2031)는 내용 업데이트들이 발생된 순서에 따라 다수의 내용 업데이트들을 저장한다. 그렇지만, 다른 실시예에서, 저작 세션의 끝에서 내용 업데이트들이 저장 캐쉬(2031)에 저장된다. 예를 들어, 문서의 사용자 사본(2055)과 문서의 초기 사본(도시 생략) 간에 비교가 행해질 수 있고, 차이가 저장 캐쉬(2031)에 저장될 수 있다.
사용자 장치(2010)가 네트워크(2060)에 연결될 때, 로컬 캐쉬(2035)는 업로드 캐쉬(2033) 내에 저장된 내용 변경들을 네트워크(2060)를 통해 저장 장치(도시 생략)로 전송한다. 예를 들어, 사용자 장치(2010)가 네트워크(2060)에 연결되자마자, 로컬 캐쉬(2035)는 업로드 캐쉬(2033)에 저장된 내용 업데이트들을 공유할 수 있다. 일 실시예에서, 사용자 장치(2010)가 네트워크(2060)에 연결되기 전에 저작 애플리케이션이 실행을 중지한 경우에도, 로컬 캐쉬(2035)는 업로드 캐쉬(2033)에 저장된 내용 업데이트들을 공유할 수 있다.
일반적으로, 저작 애플리케이션(2030)이 구성되어 있는 동작 모드가 내용 업데이트들이 업로드 캐쉬(2033)에 언제 배치되는지를 결정한다. 저작 애플리케이션(2030)이 공개 동작 모드로 구성되어 있는 경우, 로컬 캐쉬(2035)는, 나중에 네트워크(2060)로 전송하기 위해, 내용 변경들을 업로드 캐쉬(2033)에 자동으로 저장할 수 있다. 일 실시예에서, 로컬 캐쉬(2035)는 내용 업데이트들을 저장 캐쉬(2031)로부터 업로드 캐쉬(2033)로 복사한다.
그렇지만, 저작 애플리케이션(2030)이 비공개 동작 모드로 구성되어 있는 경우, 로컬 캐쉬(2035)는 내용 변경들을 업로드 캐쉬(2033)에 자동으로 저장하지 않는다. 예를 들어, 일 실시예에서, 저작 애플리케이션(2030)이 공개 모드로 토글될 때, 내용 변경들이 업로드 캐쉬(2033)에 저장될 수 있다. 다른 실시예에서, 사용자가 저작 애플리케이션(2030)의 동작 모드에 상관없이 내용 변경들을 공유하라는 명령들을 제공할 때, 내용 변경들이 업로드 캐쉬(2033)에 저장될 수 있다.
아직 인스턴스화되어 제1 사용자 사본(2055)에 넣어지지 않은 이전에 획득된 내용 업데이트들이 획득 캐쉬(2037)에 저장될 수 있다. 사용자 장치(2010)가 네트워크(2060)에 연결되어 있는지 여부에 상관없이, 이 내용 업데이트들이 언제라도 인스턴스화되어 사용자 사본(2055)에 넣어질 수 있다. 일 실시예에서, 획득 캐쉬(2037)는 사용자 사본(2055)과 통합될 내용 업데이트들의 순서 리스트를 저장한다. 내용 업데이트들이 인스턴스화되어 문서의 사용자 사본(2055)에 넣어질 때, 내용 업데이트들이 획득 캐쉬(2037)로부터 제거될 수 있다. 어떤 실시예들에서, 사용자는 내용 업데이트들의 인스턴스화를 "실행취소(undo)"하여 획득 캐쉬(2037)로부터 제거하기로 할 수 있다. 이러한 일 실시예에서, 사용자가 인스턴스화를 실행 취소할 때, 내용 업데이트가 획득 캐쉬(2037)에 다시 부가될 수 있다.
도 21은 저작 애플리케이션(2030)이 오프라인일 때, 저작 애플리케이션(2030)과 같은 저작 애플리케이션이 문서의 사용자 사본[사용자 사본(2055) 등]을 편집할 수 있는 저작 프로세스(2100)의 동작 흐름을 나타낸 것이다. 저작 프로세스(2100)는 시작 모듈(2102)에서 초기화되고 시작되어, 획득 동작(2104)으로 진행한다. 획득 동작(2104)은 문서의 사용자 사본(2055)에 대해 구현될 편집 명령들을 수신한다. 통상적으로, 획득 동작(2104)은 사용자 사본(2055) 내의 하나 이상의 데이터 단위들에 대해 구현될 편집 명령들을 수신한다.
제1 판정 모듈(2106)은 편집될 데이터 단위가 잠금되어 있는지 여부를 검사한다. 예를 들어, 제1 판정 모듈(2106)은, 외부 잠금(즉, 다른 사용자와 연관된 잠금)이 편집될 데이터 단위와 연관되어 있는지 여부를 판정하기 위해, 제1 사용자 장치(2010)의 로컬 캐쉬(2035)에 저장된 메타데이터(2039)를 검사할 수 있다. 제1 판정 모듈(2106)이 편집될 데이터 단위가 다른 사용자에 의해 잠금되어 있는 것으로 판정하는 경우, 오류 동작(2108)은 데이터 단위의 편집을 금지시킨다. 예를 들어, 일 실시예에서, 오류 동작(2108)은 데이터 단위가 편집되어서는 안된다는 것을 저작 애플리케이션(2030)의 사용자에게 통보할 수 있다. 다른 실시예에서, 오류 동작(2108)은 데이터 단위가 편집될 수 없다는 것을 저작 애플리케이션(2030)의 사용자에게 통보할 수 있다. 저작 프로세스(2100)는 획득 동작(2104)으로 되돌아가서 다시 시작한다.
그렇지만, 제1 판정 모듈(2106)이 편집될 데이터 단위가 잠금되어 있지 않은 것으로 판정하는 경우, 요청 동작(2114)은 로컬 캐쉬(2035)에 저장된 메타데이터(2039)에 잠금 요청을 부가한다. 그렇지만, 그 요청이 문서의 마스터 사본과 동기화될 수 없기 때문에, 요청 동작(2114)이 실제로는 데이터 단위에 잠금을 할당하지 않는다. 잠금을 요청하기 전에, 선택적인 경고 동작(2110)이 저작 애플리케이션(2030)의 사용자에게 경고를 발행할 수 있다. 예를 들어, 경고 동작(2110)은 저작 애플리케이션(2030)이 오프라인이고 그에 따라 사용자 사본(2055)에 행해진 변경들이 문서의 마스터 사본과 동기화될 수 없다는 것을 사용자에게 알려줄 수 있다. 경고 동작(2110)은 또한 변경들이 동기화될 수 없을 때 문서의 사용자 사본(2055)을 편집하면 충돌이 일어날 수 있다는 것을 사용자에게 상기시켜 줄 수 있다.
경고 동작(2110)이 구현되면, 제2 판정 모듈(2112)은 저작 애플리케이션(2030)이 편집 명령들을 계속 구현해야 하는지 여부를 판정한다. 예를 들어, 제2 판정 모듈(2112)은 사용자에게 제시된 사용자 인터페이스 도구를 통해 저작 애플리케이션(2030)의 사용자로부터 선택을 수신할 수 있다. 제2 판정 모듈(2112)이 편집 명령들이 구현되어서는 안되는 것으로 판정하는 경우, 저작 프로세스(2100)는 획득 동작(2104)으로 되돌아가서 다시 시작한다.
그렇지만, 제2 판정 모듈(2112)이 편집 명령이 구현되어야만 하는 것으로 판정하는 경우, 저작 프로세스(2100)는 이상에서 기술한 요청 동작(2114)으로 진행한다. 실행 동작(2116)은 편집 명령에 따라 사용자 사본(2055)을 편집한다. 제3 판정 모듈(2118)은 문서가 로컬 캐쉬(2035)에 저장되어야 하는지 여부를 판정한다. 일 실시예에서, 제3 판정 모듈(2118)은 문서를 저장하라는 명령이 사용자로부터 수신되었는지 여부를 판정한다. 다른 실시예에서, 제3 판정 문서는 자동-저장 기능이 작동되었는지 여부를 판정한다.
제3 판정 모듈(2118)이 문서가 저장되어서는 안되는 것으로 판정하는 경우, 저작 프로세스(2100)는 획득 동작(2104)으로 되돌아가서 다시 시작한다. 그렇지만, 제3 판정 모듈(2118)이 문서가 저장되어야 하는 것으로 판정하는 경우, 저장 동작(2120)은 편집 명령을 구현함으로써 일어나는 문서에서의 변경의 표시를 로컬 캐쉬(2035)의 저장 캐쉬(2031)에 부가한다. 예를 들어, 저장 동작(2120)은 편집 명령 자체를 저장 캐쉬(2031)에 부가할 수 있다. 다른 실시예에서, 저장 동작(2120)은 내용 델타(content delta)(예를 들어, 편집 명령을 구현함으로써 야기되는 사용자 사본의 차이의 표시)를 저장 캐쉬(2031)에 부가할 수 있다.
제4 판정 모듈(2122)은 저작 애플리케이션(2030)이 공개 동작 모드로 또는 비공개 동작 모드로 구성되어 있는지를 판정한다. 제3 판정 모듈(2120)이 저작 애플리케이션(2030)이 공개 동작 모드로 구성되어 있는 것으로 판정하는 경우, 게시 동작(2124)은 내용 업데이트들을 저장 장치와 공유한다. 예를 들어, 로컬 캐쉬(2035)는 저장 캐쉬(2031)에 저장된 내용 업데이트들을 업로드 캐쉬(2033)로 복사하고 업로드 캐쉬(2033)를 저장 장치로 전송할 수 있다. 일 실시예에서, 제1 사용자 장치가 네트워크(2060)에 연결될 때, 게시 동작(2124)은 변경들 및/또는 편집 명령들이 인스턴스화되어 문서의 마스터 사본에 넣어지는 순서를 나타낸다. 저작 프로세스(2100)는 종료 모듈(2128)에서 완료되어 종료한다.
그렇지만, 제4 판정 모듈(2122)이 저작 애플리케이션(2030)이 비공개 동작 모드로 구성되어 있는 것으로 판정하는 경우, 제5 판정 모듈(2126)은 내용 변경들을 업로드하라는 명령들이 사용자에 의해 명확하게 제공되었는지 여부를 판정한다. 내용 변경들을 업로드하라는 명령들이 명확하게 제공된 경우, 저작 프로세스(2100)는 게시 동작(2124)으로 진행한다. 그렇지만, 내용 변경들을 업로드하라는 명령들이 제공되지 않은 경우, 저작 프로세스(2100)는 이상에서 기술한 바와 같이 종료 모듈(2122)에서 완료되어 종료한다.
일반적으로, 사용자 장치(2010)와 같은 사용자 장치는, 네트워크(2060)와 같은 네트워크를 통해 저장 장치에 연결될 때, 적어도 메타데이터를 동기화시킨다. 일 실시예에서, 저작 애플리케이션이 실행 중이 아닐 때에도, 사용자 장치는 메타데이터를 동기화시킨다. 사용자 장치가 내용을 동기화시키는지 여부는 저작 애플리케이션이 공개 동작 모드로 또는 비공개 동작 모드로 구성되어 있는지에 달려 있을 수 있다. 사용자 장치가 네트워크에 연결되어 있을 때 저작 애플리케이션이 실행 중이 아닐지라도, 저작 애플리케이션이 구성되어 있는 동작 모드가 관련성이 있을지도 모른다.
도 22는, 사용자 장치(2010)와 같은 사용자 장치가 네트워크(2060)와 같은 네트워크를 통해 저장 장치에 연결될 때, 사용자 장치에 의해 구현될 수 있는 전환 프로세스(transition process)(2200)의 동작 흐름을 나타낸 것이다. 전환 프로세스(2200)는 시작 모듈(2202)에서 초기화되고 시작되어, 사용자 장치(2010)를 네트워크(2060)에 통신 연결시키는 연결 동작(2204)으로 진행한다. 사용자 장치(2010)는 네트워크(2060)를 통해 문서의 마스터 사본을 저장하는 저장 장치에 통신 연결될 수 있다.
획득 동작(2206)은, 사용자 사본(2055)을 마스터 사본과 동기화시키기 시작하기 위해, 내용 및 메타데이터를 포함하는 문서의 마스터 사본의 업데이트된 버전을 검색한다. 일 실시예에서, 획득 동작(2206)은 마스터 사본의 가장 최근의 버전이 있는지 저장 장치를 폴링(polling)한다. 다른 실시예에서, 획득 동작(2206)은 연결이 이루어질 때 자동으로 저장 장치로부터 가장 최근의 버전을 수신한다. 일 실시예에서, 저작 애플리케이션(2030)이 실행 중이 아닐 때에도, 획득 동작(2206)이 구현된다.
비교 동작(2208)은 획득된 마스터 사본과 사용자 사본(2055) 간의 차이를 구한다. 예를 들어, 비교 동작(2208)은 메타데이터의 차이 및/또는 내용의 차이를 구한다. 제1 판정 모듈(2210)은 이 비교에 기초하여 사용자 사본(2055)과 획득된 마스터 사본 간에 충돌이 존재하는지 여부를 판정한다. 예를 들어, 제1 판정 모듈(2210)은 저작 애플리케이션(2030)이 잠금된 데이터 단위들을 편집했는지 및/또는 사용자 장치(2010)가 오프라인으로 된 후에 마스터 사본을 편집했는지를 판정할 수 있다. 일 실시예에서, 저작 애플리케이션(2030)이 실행 중인지 여부에 상관없이 사용자 장치(2010)가 네트워크(2060)에 연결될 때, 비교 동작(2208) 및 제1 판정 모듈(2210)이 구현된다.
제1 판정 모듈(2210)이 충돌이 없는 것으로 판정하는 경우, 전환 프로세스(2200)는 문서의 사용자 사본으로부터의 메타데이터 업데이트들을 마스터 사본으로 전송하는 제1 공유 동작(2214)으로 진행한다. 예를 들어, 제1 공유 동작(2214)은 저작 애플리케이션(2030)에 의해 편집되는 데이터 단위들에 대한 잠금 요청을 마스터 사본으로 전송할 수 있다. 그렇지만, 제1 판정 모듈(2210)이 충돌이 있는 것으로 판정하는 경우, 해결 동작(2212)은 충돌이 해결될 때까지 추가의 편집을 금지시킨다.
일반적으로, 해결 동작(2212)은 충돌이 있다는 통지를 저작 애플리케이션(2030)의 사용자에게 제공한다. 일 실시예에서, 저작 애플리케이션(2030)에 액세스할 때, 해결 동작(2212)은 그 통지를 제공한다. 다른 실시예에서, 저작 애플리케이션(2030)이 문서의 사용자 사본(2055)에 액세스할 때, 해결 동작(2212)은 그 통지를 제공한다. 일 실시예에서, 해결 동작(2212)은 그 충돌을 사용자에게 디스플레이하여 사용자로 하여금 그 충돌을 해결할 수 있게 해준다. 다른 실시예에서, 해결 동작(2212)은 각각의 충돌에 대한 일련의 가능한 해결책들을 사용자에게 제공한다. 충돌이 해결되었을 때, 전환 프로세스(2200)는 이상에서 기술한 바와 같이 제1 공유 동작(2214)으로 진행하여 이를 실행한다.
제2 판정 동작(2216)은 저작 애플리케이션(2030)의 동작 모드(예를 들어, 공개 모드 또는 비공개 모드)를 확인한다. 제2 판정 동작(2216)이 저작 애플리케이션(2030)이 공개 모드로 동작하고 있는 것으로 판정하는 경우, 제2 공유 동작(2222)은 문서의 마스터 사본에 통합시키기 위해 내용 업데이트들을 저장 장치로 전송한다. 일 실시예에서, 제2 공유 동작(2222)은 로컬 캐쉬(2035) 내의 업로드 캐쉬(2033)(도 21)에 저장된 모든 내용 변경들을 전송한다. 전환 프로세스(2200)는 종료 모듈(2224)에서 완료되어 종료한다.
그렇지만, 제2 판정 동작(2216)이 저작 애플리케이션(2030)이 비공개 모드로 동작하고 있는 것으로 판정하는 경우, 제3 판정 모듈(2220)은 사용자가 내용 업데이트들을 공유하라는 명령들을 제공했는지 여부를 판정한다. 예를 들어, 제3 판정 모듈(2218)은 저작 애플리케이션(2030)이 비공개 동작 모드로 구성되어 있음에도 불구하고 변경들을 공유하라는 명령들을 저작 애플리케이션(2030)의 사용자 인터페이스를 통해 수신할 수 있다. 일 실시예에서, 제3 판정 모듈(2218)은 저작 애플리케이션(2030)의 사용자 인터페이스를 통해 제공된 사용자 명령을 확인한다.
제3 판정 모듈(2218)이 내용을 공유하라는 명령들이 제공된 것으로 판정하는 경우, 전환 프로세스(2200)는 내용 업데이트들이 저장 장치로 전송할 준비가 되는 큐잉 동작(queue operation)(2220)으로 진행한다. 예를 들어, 내용 업데이트들이 업데이트 캐쉬(2033)(도 20)와 같은 업데이트 캐쉬에 저장될 수 있다. 전환 프로세스(2200)는 이상에서 기술한 바와 같이 제2 공유 동작(2222)으로 진행하여 이를 실행한다.
본 발명의 실시예들이 컴퓨터 프로세스(방법), 컴퓨팅 시스템, 또는 제조 물품(컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체 등)으로서 구현될 수 있다. 이 프로세스들(프로그램들)은 본 문서에 기술된 구조들을 포함하는 임의의 수의 방식으로 구현될 수 있다. 한가지 이러한 방식은 본 문서에 기술된 유형의 장치들의 기계 동작에 의한다. 다른 선택적인 방식은 이 방법들의 개별적인 동작들 중 하나 이상의 동작들이 그 동작들 중 어떤 동작들을 수행하는 하나 이상의 사람 조작자와 관련하여 컴퓨팅 장치 상에서 수행되는 것이다. 이들 사람 조작자가 서로 같은 장소에 있을 필요가 없고, 각각의 조작자가 프로그램의 일부분을 수행하는 기계에만 있을 수 있다.
컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하고 컴퓨터 프로세스를 실행하는 명령어들의 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨터 시스템에 의해 판독가능하고 컴퓨터 프로세스를 실행하는 명령어들의 컴퓨터 프로그램을 인코딩하는 반송파 상의 전파 신호(propagated signal)일 수 있다. 컴퓨터-판독가능 매체라는 용어는, 본 명세서에서 사용되는 바와 같이, 저장 매체 및 통신 매체 둘다를 포함한다.
당업자라면 본 발명이 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 미니컴퓨터, 메인프레임 컴퓨터, 기타 등등을 비롯한 기타 컴퓨터 시스템 구성에서 실시될 수 있다는 것을 잘 알 것이다. 본 발명은 또한 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서도 실시될 수 있다. 분산 컴퓨팅 환경에서는, 프로그램 모듈들이 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다. 일반적으로, 프로그램 모듈들은 특정의 태스크들을 수행하거나 특정의 추상 데이터 유형들을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 및 기타 유형의 구조체를 포함한다.

Claims (20)

  1. 사용자 장치(110, 610, 810, 2010) 상에서 문서의 사용자 사본(user copy)(155, 655, 855, 2055)을 편집하는 저작 시스템(authoring system)으로서,
    상기 사용자 사본은 상기 문서의 마스터 사본(master copy)(150)에 기초하여 발생되고,
    상기 저작 시스템이,
    상기 사용자 장치 상에 저장된 로컬 캐쉬(local cache)(426, 635, 835, 2035) - 상기 로컬 캐쉬는 저장 캐쉬(store cache)(2031) 및 업로드 캐쉬(upload cache)(2033)를 포함함 -,
    상기 사용자 장치 상에서 실행되도록 구성된 저작 애플리케이션(authoring application)(130, 424, 1130, 2030) - 상기 저작 애플리케이션은 문서의 상기 사용자 사본을 편집하도록 구성되어 있고, 상기 저작 애플리케이션은 공개 동작 모드 및 비공개 동작 모드로 이루어진 그룹 중에서 선택된 동작 모드로 선택적으로 구성되도록 되어 있으며, 상기 저작 애플리케이션은 상기 문서의 상기 사용자 사본에 행해진 편집들에 기초하여 메타데이터 업데이트들(metadata updates)을 발생하고 상기 문서의 상기 사용자 사본에 행해진 편집들에 기초하여 내용 업데이트들(content updates)을 발생하도록 구성되어 있음 -,
    상기 저작 애플리케이션이 구성되어 있는 동작 모드와 상관없이 상기 문서의 상기 사용자 사본 및 상기 문서의 상기 마스터 사본 사이에서 메타데이터 업데이트들을 동기화시키도록 구성되어 있는 메타데이터 동기화 모듈(metadata sync module)(639, 839, 2039),
    상기 문서를 저장하라는 명령들을 수신할 때, 상기 발생된 내용 업데이트들을 상기 로컬 캐쉬의 상기 저장 내용 캐쉬에 저장하도록 구성되어 있는 보호 모듈(protect module)(634, 834) - 상기 보호 모듈은 또한, 상기 저작 애플리케이션이 상기 공개 동작 모드로 구성되어 있는 경우, 상기 발생된 내용 업데이트들이 상기 저장 캐쉬에 저장될 때 상기 발생된 내용 업데이트들을 상기 업로드 캐쉬에 저장하도록 구성되어 있음 -, 및
    상기 업로드 캐쉬에 저장된 상기 내용 업데이트들을 상기 문서의 상기 마스터 사본과 공유하도록 구성되어 있는 게시 모듈(publish module)(632, 832)을 포함하며,
    상기 내용 업데이트들을 상기 문서의 상기 마스터 사본과 공유하는 것이 상기 내용 업데이트들을 상기 마스터 사본에 통합시키는 것인 저작 시스템.
  2. 제1항에 있어서, 상기 저작 애플리케이션이 구성되어 있는 동작 모드와 상관없이 상기 문서의 상기 마스터 사본으로부터 외부 내용 업데이트들(external content updates)을 획득하도록 구성되어 있는 획득 모듈(obtain module) - 상기 외부 내용 업데이트들은 하나 이상의 다른 저작 애플리케이션들에 의해 발생됨 -, 및
    상기 획득 모듈이 상기 마스터 사본으로부터 획득된 상기 외부 내용 업데이트들을 저장하는 획득 캐쉬(obtain cache)를 더 포함하는 저작 시스템.
  3. 제2항에 있어서, 상기 획득 모듈이 상기 외부 내용 업데이트들을 제2 내용 캐쉬에 저장했을 때, 상기 저작 애플리케이션은 외부 내용 업데이트들이 있다는 표시를 제공하도록 구성되어 있고,
    상기 저작 애플리케이션이 상기 외부 내용 업데이트들 중 하나 이상의 외부 내용 업데이트들을 인스턴스화하여 상기 문서의 상기 사용자 사본에 넣도록 구성되어 있는 것인 저작 시스템.
  4. 제1항에 있어서, 상기 보호 모듈이 또한, 상기 저작 애플리케이션이 상기 비공개 동작 모드로 구성되어 있고 상기 보호 모듈이 상기 내용 업데이트들을 공유하라는 명령들을 수신한 경우, 상기 발생된 내용 업데이트들이 상기 저장 캐쉬에 저장될 때 상기 발생된 내용 업데이트들을 상기 업로드 캐쉬에 저장하는 것인 저작 시스템.
  5. 제1항에 있어서, 상기 저작 애플리케이션이 네트워크에의 연결을 통해 상기 문서의 상기 마스터 사본에 액세스하도록 구성되어 있는 것인 저작 시스템.
  6. 제5항에 있어서, 상기 저작 애플리케이션이 상기 네트워크에 연결되어 있지 않을 때, 상기 저작 애플리케이션이 상기 문서의 상기 사용자 사본을 편집할 수 있도록 구성되어 있는 것인 저작 시스템.
  7. 제5항에 있어서, 상기 저작 애플리케이션이 상기 네트워크에 연결되어 있지 않을 때, 상기 저작 애플리케이션이 경고를 제공하도록 구성되어 있고,
    상기 경고는 상기 저작 애플리케이션이 상기 사용자 사본을 상기 마스터 사본과 동기화시킬 수 없다는 것을 알려주는 것인 저작 시스템.
  8. 제1항에 있어서, 상기 메타데이터 업데이트들이 편집 중에 있는 상기 문서의 적어도 하나의 데이터 단위에 관해 상기 저작 애플리케이션에 의해 발생되는 적어도 하나의 잠금을 포함하고,
    상기 잠금은 다른 저작 애플리케이션들이 상기 문서의 각자의 사용자 사본 상의 상기 데이터 단위를 편집하지 못하게 하는 것인 저작 시스템.
  9. 문서의 사용자 사본을 그 문서의 마스터 사본과 동기화시키는 컴퓨터-구현 방법으로서,
    상기 문서의 상기 사용자 사본은 사용자 장치(110, 610, 810, 2010) 상에 저장되고 상기 문서의 상기 마스터 사본(150)은 상기 사용자 장치에 통신 연결되도록 구성되어 있는 저장 장치(120, 620, 820, 1120) 상에 저장되며,
    상기 방법이,
    상기 사용자 장치(110, 610, 810, 2010)를 상기 저장 장치에 연결시키는 단계,
    저작 애플리케이션(130, 424, 1130, 2030)에 대해 비공개 동작 모드를 선택하는 단계,
    상기 사용자 장치에서, 적어도 제1 내용 업데이트를 발생하기 위해 상기 저작 애플리케이션을 사용하여 상기 문서의 상기 사용자 사본(155, 655, 855, 2055)을 편집하는 단계,
    상기 문서의 상기 사용자 사본을 편집함으로써 발생되는 임의의 메타데이터 업데이트들을 상기 사용자 장치로부터 상기 저장 장치로 주기적으로 전송하는 단계 - 상기 메타데이터 업데이트들은 인스턴스화되어 상기 저장 장치 상에 저장된 상기 마스터 사본(150)에 넣어짐 -,
    상기 문서의 상기 사용자 사본을 편집함으로써 발생되는 상기 내용 업데이트를 상기 사용자 장치에 저장하는 단계,
    상기 마스터 사본이 외부 메타데이터 업데이트들을 포함하도록 업데이트되었을 때, 상기 사용자 장치에서, 상기 문서의 상기 마스터 사본으로부터 상기 외부 메타데이터 업데이트들을 주기적으로 수신하는 단계,
    상기 문서의 상기 마스터 사본으로부터 수신된 상기 외부 메타데이터 업데이트들을 인스턴스화하여 상기 문서의 상기 사용자 사본에 넣는 단계, 및
    상기 마스터 사본이 외부 내용 업데이트들을 포함하도록 업데이트되었을 때, 상기 사용자 장치에서, 상기 문서의 상기 마스터 사본으로부터 상기 외부 내용 업데이트들을 주기적으로 수신하는 단계를 포함하는 것인 컴퓨터-구현 방법.
  10. 제9항에 있어서, 인스턴스화 명령들을 수신하는 단계, 및
    인스턴스화 명령들에 따라 상기 외부 내용 업데이트들을 인스턴스화하여 상기 문서의 상기 사용자 사본에 넣는 단계를 더 포함하는 컴퓨터-구현 방법.
  11. 제9항에 있어서, 상기 저작 애플리케이션 내에서 상기 외부 내용 업데이트들의 이용가능성의 표시를 제공하는 단계,
    상기 저작 애플리케이션 내에서 상기 외부 내용 업데이트들을 보라는 명령들을 수신하는 단계,
    상기 외부 내용 업데이트들을 인스턴스화하여 상기 문서의 상기 사용자 사본에 넣기 위한 옵션들을 제공하는 단계, 및
    상기 외부 내용 업데이트들을 인스턴스화하여 상기 문서의 상기 사용자 사본에 넣기 위해 선택된 옵션들을 구현하는 단계를 더 포함하는 컴퓨터-구현 방법.
  12. 제9항에 있어서, 상기 저작 애플리케이션을 공개 동작 모드로 구성하라는 명령들을 수신하는 단계,
    상기 저작 애플리케이션을 상기 공개 동작 모드로 토글시키는(toggling) 단계, 및
    상기 사용자 장치에 저장된 상기 내용 업데이트들을 상기 문서의 상기 마스터 사본과 공유하는 단계를 더 포함하는 컴퓨터-구현 방법.
  13. 제12항에 있어서, 상기 사용자 장치를 상기 저장 장치로부터 단절시키는 단계,
    상기 저작 애플리케이션을 사용하여 상기 문서의 상기 사용자 사본을 계속 편집하는 단계,
    상기 사용자 장치를 상기 저장 장치로부터 단절시킨 후에 상기 저작 애플리케이션에 의해 발생되는 임의의 내용 업데이트들을 상기 사용자 장치에 저장하는 단계, 및
    상기 사용자 장치가 상기 저장 장치에 재연결될 때 상기 사용자 장치에 저장된 상기 내용 업데이트들을 공유하는 단계를 더 포함하는 컴퓨터-구현 방법.
  14. 제9항에 있어서, 상기 사용자 장치를 상기 저장 장치로부터 단절시키는 단계,
    상기 저작 애플리케이션을 사용하여 상기 문서의 상기 사용자 사본을 계속 편집하는 단계, 및
    상기 사용자 장치를 상기 저장 장치로부터 단절시킨 후에 상기 저작 애플리케이션에 의해 발생되는 임의의 내용 업데이트들을 상기 사용자 장치에 저장하는 단계를 더 포함하며,
    상기 저작 애플리케이션이 상기 공개 동작 모드로 토글될 때까지 상기 사용자 장치가 상기 저장 장치에 재연결될 때 상기 사용자 장치에 저장된 상기 내용 업데이트들이 상기 저장 장치와 공유되지 않는 것인 컴퓨터-구현 방법.
  15. 컴퓨팅 장치에 의해 실행될 때 사용자 장치(110, 610, 810, 2010) 상에 저장된 문서의 사용자 사본(155, 655, 855, 2055)을 저작하는 방법을 수행하는 컴퓨터-실행가능 명령어들을 저장하는 컴퓨터-판독가능 저장 매체로서,
    상기 방법이,
    저작 애플리케이션(130, 424, 1130, 2030)을 공개 동작 모드로 구성하는 단계 - 상기 저작 애플리케이션이 상기 문서의 상기 사용자 사본(155, 655, 855, 2055)을 저작하기 위해 상기 사용자 장치(110, 610, 810, 2010)에 의해 실행되도록 구성되어 있고 상기 사용자 장치가 오프라인임 -,
    복수의 내용 업데이트들을 발생하기 위해 상기 저작 애플리케이션을 사용하여 상기 문서의 상기 사용자 사본을 편집하는 단계,
    상기 저작 애플리케이션에 의해 발생되는 임의의 메타데이터를 상기 사용자 장치에 저장하는 단계,
    상기 저작 애플리케이션에 의해 발생되는 상기 내용 업데이트들을 상기 사용자 장치에 있는 큐(2031)에 저장하는 단계,
    상기 사용자 장치를 상기 저장 장치에 연결시키는 단계, 및
    상기 사용자 장치가 연결되기 전에 상기 저작 애플리케이션이 닫히더라도 상기 사용자 장치가 상기 저장 장치에 연결될 때 상기 메타데이터를 상기 문서의 상기 마스터 사본(150)과 공유하는 단계를 포함하는 것인 컴퓨터-판독가능 저장 매체.
  16. 제15항에 있어서, 상기 방법이,
    상기 사용자 장치가 연결되기 전에 상기 저작 애플리케이션이 닫히더라도 상기 사용자 장치가 상기 저장 장치에 연결될 때 상기 큐에 저장된 상기 내용 업데이트들을 공유하는 단계를 더 포함하는 것인 컴퓨터-판독가능 저장 매체.
  17. 제15항에 있어서, 상기 방법이,
    상기 사용자 장치를 상기 저장 장치에 연결시킨 후에 상기 문서의 상기 마스터 사본으로부터 외부 메타데이터 업데이트들을 획득하는 단계, 및
    상기 메타데이터 업데이트들을 자동으로 인스턴스화하여 상기 문서의 상기 사용자 사본에 넣는 단계를 더 포함하는 것인 컴퓨터-판독가능 저장 매체.
  18. 제15항에 있어서, 상기 저작 애플리케이션에 의해 발생되는 상기 내용 업데이트들을 상기 사용자 장치에 있는 큐에 저장하는 단계가 상기 저작 애플리케이션이 상기 사용자로부터 마무리 명령들을 수신할 때 상기 내용 업데이트들을 상기 큐에 저장하는 단계를 포함하는 것인 컴퓨터-판독가능 저장 매체.
  19. 제18항에 있어서, 상기 마무리 명령들을 수신하는 단계가 상기 저작 애플리케이션이 상기 공개 모드로 구성되어 있을 때 상기 내용 업데이트들의 공유를 트리거하는 것인 컴퓨터-판독가능 저장 매체.
  20. 제18항에 있어서, 상기 마무리 명령들을 수신하는 단계가 상기 저작 애플리케이션이 상기 비공개 모드로 구성되어 있을 때 상기 내용 업데이트들의 공유를 트리거하지 않는 것인 컴퓨터-판독가능 저장 매체.
KR1020107012783A 2007-12-14 2008-11-11 협업적 저작 모드 KR101571574B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/957,010 2007-12-14
US11/957,010 US8825758B2 (en) 2007-12-14 2007-12-14 Collaborative authoring modes

Publications (2)

Publication Number Publication Date
KR20100095583A true KR20100095583A (ko) 2010-08-31
KR101571574B1 KR101571574B1 (ko) 2015-11-24

Family

ID=40754698

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107012783A KR101571574B1 (ko) 2007-12-14 2008-11-11 협업적 저작 모드

Country Status (11)

Country Link
US (2) US8825758B2 (ko)
EP (1) EP2220581B1 (ko)
JP (1) JP5250637B2 (ko)
KR (1) KR101571574B1 (ko)
CN (1) CN101896915B (ko)
AU (1) AU2008338826B2 (ko)
BR (1) BRPI0819825B1 (ko)
MY (1) MY161814A (ko)
RU (1) RU2465642C2 (ko)
TW (2) TWI467390B (ko)
WO (1) WO2009079116A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015055951A (ja) * 2013-09-11 2015-03-23 株式会社リコー 情報処理システム及び情報処理方法

Families Citing this family (213)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11017097B2 (en) 2004-05-14 2021-05-25 Peter N. Ching Systems and methods for prevention of unauthorized access to resources of an information system
US8589140B1 (en) 2005-06-10 2013-11-19 Wapp Tech Corp. System and method for emulating and profiling a frame-based application playing on a mobile device
US7813910B1 (en) 2005-06-10 2010-10-12 Thinkvillage-Kiwi, Llc System and method for developing an application playing on a mobile device emulated on a personal computer
JP5211557B2 (ja) * 2007-06-15 2013-06-12 富士通株式会社 Web会議支援プログラム、該プログラムを記録した記録媒体、Web会議支援装置、およびWeb会議支援方法
US7937663B2 (en) * 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8589909B2 (en) * 2008-01-10 2013-11-19 Oracle International Corporation Techniques for reducing down time in updating applications with metadata
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8825594B2 (en) * 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8996621B2 (en) * 2008-05-12 2015-03-31 Adobe Systems Incorporated Asynchronous comment updates
US10055392B2 (en) 2008-05-12 2018-08-21 Adobe Systems Incorporated History-based archive management
US9176943B2 (en) 2008-05-12 2015-11-03 Adobe Systems Incorporated Comment presentation in electronic documents
US7945595B1 (en) 2008-05-12 2011-05-17 Adobe Systems Incorporated System and method for generating an item list in electronic content
US7949633B1 (en) 2008-05-12 2011-05-24 Adobe Systems Incorporated Shared edit access of electronic content
US9418054B2 (en) 2008-05-12 2016-08-16 Adobe Systems Incorporated Document comment management
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US20100082701A1 (en) * 2008-09-24 2010-04-01 Computer Associates Think, Inc. System and Method for Using a Configuration Management Database
US8176124B2 (en) * 2008-12-04 2012-05-08 Disney Enterprises, Inc. Communication hub for video game development systems having a video game development tool and video game platforms with communication libraries
US20110178910A1 (en) * 2009-01-26 2011-07-21 Bank Of America Corporation Conducting a financial institution interaction across multiple financial institution channels
US9396279B1 (en) * 2009-02-17 2016-07-19 Jpmorgan Chase Bank, Na Collaborative virtual markup
US8327278B2 (en) * 2009-02-17 2012-12-04 Microsoft Corporation Synchronizing metadata describes user content updates and an indication of user gestures being performed within the document, and across client systems using different communication channels
US8180793B2 (en) * 2009-03-19 2012-05-15 Hewlett-Packard Development Company, L.P. Access to data stored in a file system
US8639762B2 (en) * 2009-03-23 2014-01-28 Google Inc. Providing access to a conversation in a hosted conversation system
US8346768B2 (en) 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US9602444B2 (en) 2009-05-28 2017-03-21 Google Inc. Participant suggestion system
US8527602B1 (en) 2009-05-28 2013-09-03 Google Inc. Content upload system with preview and user demand based upload prioritization
US9021386B1 (en) 2009-05-28 2015-04-28 Google Inc. Enhanced user interface scrolling system
US8972843B2 (en) * 2009-07-29 2015-03-03 Hewlett-Packard Development Company, L.P. Sending a subset of component documents of a modular document to an electronic device
US20110029482A1 (en) * 2009-07-29 2011-02-03 Roger Brian Gimson Synchronizing a change of a modular document
US8301722B2 (en) * 2009-07-29 2012-10-30 Hewlett-Packard Development Company, L.P. Associating version information with a component document of a modular document
US8225146B2 (en) * 2009-09-01 2012-07-17 Lsi Corporation Method for implementing continuous data protection utilizing allocate-on-write snapshots
US8732247B2 (en) * 2009-09-28 2014-05-20 Bjorn Michael Dittmer-Roche System and method of simultaneous collaboration
US20110138374A1 (en) * 2009-12-09 2011-06-09 Suprio Pal Downtime reduction for enterprise manager patching
CN101754464A (zh) * 2010-01-25 2010-06-23 华为终端有限公司 实现手机共享数据的方法、装置和通信系统
US20110252125A1 (en) * 2010-04-09 2011-10-13 Microsoft Corporation Dynamic Syncing
US8824487B1 (en) 2010-04-29 2014-09-02 Centurylink Intellectual Property Llc Multi-access gateway for direct to residence communication services
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US8510399B1 (en) 2010-05-18 2013-08-13 Google Inc. Automated participants for hosted conversations
US9380011B2 (en) 2010-05-28 2016-06-28 Google Inc. Participant-specific markup
US9026935B1 (en) 2010-05-28 2015-05-05 Google Inc. Application user interface with an interactive overlay
US8892632B2 (en) 2010-06-04 2014-11-18 Microsoft Corporation Client-server interaction frequency control
JP5565691B2 (ja) * 2010-07-16 2014-08-06 日本電気株式会社 バックアップシステム、バックアップ方法及びバックアッププログラム
US20120131102A1 (en) * 2010-08-18 2012-05-24 Gabos John S One-to-many and many-to-one transfer, storage and manipulation of digital files
US20120101980A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Synchronizing online document edits
KR101697979B1 (ko) * 2010-11-23 2017-01-19 삼성전자주식회사 네트워크로 연결 가능한 기기에서 데이터를 동기화하기 위한 장치 및 방법
US10402485B2 (en) 2011-05-06 2019-09-03 David H. Sitrick Systems and methodologies providing controlled collaboration among a plurality of users
US11611595B2 (en) 2011-05-06 2023-03-21 David H. Sitrick Systems and methodologies providing collaboration among a plurality of computing appliances, utilizing a plurality of areas of memory to store user input as associated with an associated computing appliance providing the input
JP5681558B2 (ja) 2011-05-10 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データの保存を制御する装置及び方法
JP5329602B2 (ja) 2011-05-12 2013-10-30 株式会社三菱東京Ufj銀行 端末装置およびプログラム
JP2012243108A (ja) * 2011-05-19 2012-12-10 Buffalo Inc ファイル管理装置及びその制御プログラム
JP2012243105A (ja) * 2011-05-19 2012-12-10 Buffalo Inc ファイル管理装置及びその制御プログラム
JP5843514B2 (ja) * 2011-06-22 2016-01-13 キヤノン株式会社 情報処理装置および制御方法およびプログラム
US9075561B2 (en) * 2011-07-29 2015-07-07 Apple Inc. Systems, methods, and computer-readable media for managing collaboration on a virtual work of art
CN102999532B (zh) * 2011-09-19 2017-05-10 中兴通讯股份有限公司 用户配置数据的方法及装置
US20150199308A1 (en) * 2011-10-17 2015-07-16 Google Inc. Systems and methods for controlling the display of online documents
US10733151B2 (en) 2011-10-27 2020-08-04 Microsoft Technology Licensing, Llc Techniques to share media files
US10482638B2 (en) * 2011-11-11 2019-11-19 Microsoft Technology Licensing, Llc Collaborative commenting in a drawing tool
US9053079B2 (en) 2011-12-12 2015-06-09 Microsoft Technology Licensing, Llc Techniques to manage collaborative documents
US9529884B2 (en) 2012-01-19 2016-12-27 Microsoft Technology Licensing, Llc Usage based synchronization of note-taking application features
US20130218998A1 (en) * 2012-02-21 2013-08-22 Anacore, Inc. System, Method, and Computer-Readable Medium for Interactive Collaboration
US10379695B2 (en) 2012-02-21 2019-08-13 Prysm, Inc. Locking interactive assets on large gesture-sensitive screen displays
US9906594B2 (en) 2012-02-21 2018-02-27 Prysm, Inc. Techniques for shaping real-time content between multiple endpoints
US20130239027A1 (en) * 2012-03-12 2013-09-12 Apple Inc. Apparatus and method for generating wiki previews
US9348802B2 (en) 2012-03-19 2016-05-24 Litéra Corporation System and method for synchronizing bi-directional document management
US10089323B2 (en) * 2012-04-05 2018-10-02 Microsoft Technology Licensing, Llc Telemetry system for a cloud synchronization system
US10198462B2 (en) * 2012-04-05 2019-02-05 Microsoft Technology Licensing, Llc Cache management
DE202013012504U1 (de) * 2012-04-23 2017-01-30 Google Inc. Gemeinsame Nutzung und Synchronisierung von elektronisch gespeicherten Dateien
US20130311598A1 (en) * 2012-05-16 2013-11-21 Apple Inc. Cloud-based data item sharing and collaboration among groups of users
US20130326330A1 (en) * 2012-06-01 2013-12-05 Google Inc. Integrating collaboratively proposed changes and publishing
KR102022094B1 (ko) * 2012-08-14 2019-09-17 삼성전자주식회사 콘텐트를 수정하는 전자 장치 및 방법
US20140082635A1 (en) * 2012-09-14 2014-03-20 David H. Sitrick Systems and methodologies for event processing for a plurality of users
US9372833B2 (en) 2012-09-14 2016-06-21 David H. Sitrick Systems and methodologies for document processing and interacting with a user, providing storing of events representative of document edits relative to a document; selection of a selected set of document edits; generating presentation data responsive to said selected set of documents edits and the stored events; and providing a display presentation responsive to the presentation data
US20150106685A1 (en) * 2012-10-12 2015-04-16 Thrivon Management Consulting Transforming a document into web application
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US10198140B2 (en) * 2012-12-20 2019-02-05 Dropbox, Inc. Systems and methods for facilitating communication between users of a content management service
CN105144210A (zh) * 2013-01-23 2015-12-09 汤姆逊许可公司 资产驱动的工作流建模中的集合处理
US9460073B2 (en) 2013-02-27 2016-10-04 Google Inc. Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment
JP6142580B2 (ja) * 2013-03-07 2017-06-07 株式会社リコー 情報処理システム、情報登録方法、会議装置及びプログラム
CN103200239B (zh) * 2013-03-13 2016-07-06 北京东田教育科技有限公司 一种基于异构通信的交互式电子书的保存方法
US20140281870A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Document collaboration and notification of changes using different notification mechanisms
US20130218829A1 (en) * 2013-03-15 2013-08-22 Deneen Lizette Martinez Document management system and method
EP2941848A4 (en) * 2013-03-15 2016-06-15 Huawei Tech Co Ltd SYNCHRONIZATION AND COLLABORATION OF INFORMATION IN A GROUP OF MOBILE DEVICES
EP2779054A1 (en) * 2013-03-15 2014-09-17 BlackBerry Limited Shared document editing and voting using active stylus based touch-sensitive displays
US9690403B2 (en) 2013-03-15 2017-06-27 Blackberry Limited Shared document editing and voting using active stylus based touch-sensitive displays
US9256341B2 (en) 2013-03-20 2016-02-09 Microsoft Technology Licensing, Llc Tracking changes in collaborative authoring environment
US9715476B2 (en) * 2013-04-10 2017-07-25 Microsoft Technology Licensing, Llc Collaborative authoring with scratchpad functionality
US8880994B1 (en) * 2013-04-19 2014-11-04 E-Z Brief Llc System and method for annotating and manipulating electronic documents
US9542377B2 (en) 2013-05-06 2017-01-10 Dropbox, Inc. Note browser
ITPR20130040A1 (it) * 2013-05-10 2014-11-11 Revisoft S R L Sistema per la gestione di archivi clienti utilizzabile in sede e fuori sede, implementabile tramite uno stesso e unico programma software
US10025782B2 (en) 2013-06-18 2018-07-17 Litera Corporation Systems and methods for multiple document version collaboration and management
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9904720B2 (en) 2013-09-18 2018-02-27 Facebook, Inc. Generating offline content
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US9497283B2 (en) * 2013-12-13 2016-11-15 Oracle International Corporation System and method for providing data interoperability in a distributed data grid
US11514399B2 (en) 2013-12-21 2022-11-29 Microsoft Technology Licensing, Llc Authoring through suggestion
US10824787B2 (en) 2013-12-21 2020-11-03 Microsoft Technology Licensing, Llc Authoring through crowdsourcing based suggestions
US9740504B2 (en) * 2014-01-23 2017-08-22 Qualcomm Incorporated Hardware acceleration for inline caches in dynamic languages
RU2568933C2 (ru) * 2014-01-30 2015-11-20 Закрытое акционерное общество "Госбук" Система определения объема внесенных изменений в редактируемые и составляемые тексты
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
US20150379092A1 (en) * 2014-06-26 2015-12-31 Hapara Inc. Recommending literacy activities in view of document revisions
WO2016009285A1 (en) 2014-07-16 2016-01-21 Tensera Networks Ltd. Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US9979796B1 (en) * 2014-07-16 2018-05-22 Tensera Networks Ltd. Efficient pre-fetching notifications
US9503402B2 (en) * 2014-08-18 2016-11-22 Dropbox, Inc. Managing drafts of electronic documents across client devices
CN105450975A (zh) * 2014-08-26 2016-03-30 天脉聚源(北京)教育科技有限公司 一种会议系统及文件同步和内容录制方法
CA2960661C (en) * 2014-11-20 2018-01-02 Nuglif Inc. System for automatically displaying pages of a digital edition and computer implemented method for same
US10032223B2 (en) 2015-03-20 2018-07-24 Bank Of America Corporation System for account linking and future event integration into retirement score calculation
US10102582B2 (en) 2015-03-13 2018-10-16 Bank Of America Corporation Streamlining application using a social network platform
US10049406B2 (en) 2015-03-20 2018-08-14 Bank Of America Corporation System for sharing retirement scores between social groups of customers
US9830660B2 (en) 2015-03-20 2017-11-28 Bank Of America Corporation System for augmenting a retirement score with health information
US10019760B2 (en) 2015-03-20 2018-07-10 Bank Of America Corporation System for utilizing a retirement score to receive benefits
JP6568702B2 (ja) * 2015-03-27 2019-08-28 京セラ株式会社 表示装置および共有表示システム
WO2016175764A1 (en) 2015-04-28 2016-11-03 Microsoft Technology Licensing, Llc Operating system privacy mode
US20160321226A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Insertion of unsaved content via content channel
US10909080B2 (en) * 2015-05-04 2021-02-02 Microsoft Technology Licensing, Llc System and method for implementing shared document edits in real-time
US9886230B2 (en) 2015-06-07 2018-02-06 Apple Inc. Device, method, and graphical user interface for collaborative editing in documents
RU2609081C2 (ru) * 2015-06-29 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Способ (варианты) и система (варианты) обработки документа в распределенной архитектуре
US10282255B2 (en) 2015-07-15 2019-05-07 Microsoft Technology Licensing, Llc Coordinating file synchronization between a sync engine and another application that supports document collaboration
US11102313B2 (en) * 2015-08-10 2021-08-24 Oracle International Corporation Transactional autosave with local and remote lifecycles
US10582001B2 (en) 2015-08-11 2020-03-03 Oracle International Corporation Asynchronous pre-caching of synchronously loaded resources
US10013668B2 (en) 2015-08-14 2018-07-03 Oracle International Corporation Secure storage of enterprise certificates for cloud services
US10452497B2 (en) * 2015-08-14 2019-10-22 Oracle International Corporation Restoration of UI state in transactional systems
US10419514B2 (en) 2015-08-14 2019-09-17 Oracle International Corporation Discovery of federated logins
US9998883B2 (en) * 2015-09-30 2018-06-12 Nathan Dhilan Arimilli Glass pane for collaborative electronic communication
KR20170044590A (ko) * 2015-10-15 2017-04-25 (주)잼투고 분산형 멀티미디어 편집 시스템 및 편집방법
US10582012B2 (en) 2015-10-16 2020-03-03 Oracle International Corporation Adaptive data transfer optimization
US11036712B2 (en) 2016-01-12 2021-06-15 Microsoft Technology Licensing, Llc. Latency-reduced document change discovery
US10599526B2 (en) * 2016-01-13 2020-03-24 Microsoft Technology Licensing, Llc Auto-save operation for collaborative editing of electronic documents
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
WO2018004020A1 (ko) 2016-06-27 2018-01-04 주식회사 한글과컴퓨터 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법
US10310716B2 (en) 2016-06-27 2019-06-04 Hancom Inc. Apparatus for supporting cooperation for joint editing of electronic document, and method of operating the same
KR101826625B1 (ko) 2016-08-04 2018-02-07 주식회사 한글과컴퓨터 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10341419B2 (en) 2016-08-08 2019-07-02 Tnq Books And Journals Private Limited Transformation of a content file into a content-centric social network
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
EP3513542B1 (en) 2016-09-16 2021-05-19 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
KR101858970B1 (ko) 2016-09-26 2018-05-17 주식회사 인프라웨어 공동 편집 문서를 공유하는 방법 및 장치
KR102472801B1 (ko) * 2016-10-12 2022-12-01 천종윤 분산형 멀티미디어 편집 시스템 및 편집방법
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
US10558714B2 (en) * 2016-12-28 2020-02-11 Facebook, Inc. Topic ranking of content items for topic-based content feeds
US10484489B2 (en) * 2016-12-29 2019-11-19 Facebook, Inc. Generating a feed of content for a user of an online system including content associated with additional online system users who are not connected to the user via the online system
US11526533B2 (en) * 2016-12-30 2022-12-13 Dropbox, Inc. Version history management
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
CN107622087B (zh) * 2017-08-17 2024-03-22 珠海云游道科技有限责任公司 便于用户操作的文档管理装置及方法
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US10721084B2 (en) 2017-09-25 2020-07-21 Microsoft Technology Licensing, Llc Providing a private mode in asynchronous collaboration for a synchronous collaboration environment
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US11252204B2 (en) * 2017-10-10 2022-02-15 Rakuten Group, Inc. Content sharing system, content sharing method, and program
JP2019079473A (ja) 2017-10-27 2019-05-23 富士ゼロックス株式会社 情報処理装置及びプログラム
CN108153492B (zh) * 2017-12-22 2021-09-14 联想(北京)有限公司 数据处理方法、系统和电子设备
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US20210150135A1 (en) 2019-11-18 2021-05-20 Monday.Com Digital processing systems and methods for integrated graphs in cells of collaborative work system tables
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
CN111026482B (zh) * 2019-11-29 2022-02-22 维沃移动通信有限公司 一种应用程序控制方法及电子设备
WO2021112773A1 (en) * 2019-12-06 2021-06-10 Gnowbe Group Ltd. A one-touch authoring system and method for instantaneous content creation and visualization in apps and web browsers on mobile devices and web browsers on desktops via a communication network
US20210234908A1 (en) * 2019-12-20 2021-07-29 Atlassian Pty Ltd. Systems and methods for collaborative editing an electronic resource using client device designations
US11347621B1 (en) * 2020-03-17 2022-05-31 Core Scientific, Inc. Application performance characterization and profiling as a service
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
US11397847B1 (en) 2021-01-14 2022-07-26 Monday.com Ltd. Digital processing systems and methods for display pane scroll locking during collaborative document editing in collaborative work systems
CN113472776B (zh) * 2021-06-30 2022-12-27 亿图软件(湖南)有限公司 一种多人实时协作方法及系统
US20230145722A1 (en) * 2021-11-10 2023-05-11 Bank Of America Corporation Recursive Data and Electronic Signature Document Updater
WO2023121505A1 (ru) * 2021-12-24 2023-06-29 Общество С Ограниченной Ответственностью "Кейс Студио" Система и способ управления совместным редактированием цифровых объектов
US11763258B2 (en) * 2021-12-29 2023-09-19 Slack Technologies, Llc Workflows for documents
US11727190B1 (en) 2022-01-31 2023-08-15 Salesforce, Inc. Previews for collaborative documents
US11875081B2 (en) 2022-01-31 2024-01-16 Salesforce, Inc. Shared screen tools for collaboration
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Family Cites Families (351)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01113849A (ja) 1987-10-19 1989-05-02 Internatl Business Mach Corp <Ibm> マルチユーザシステム
US4855580A (en) 1987-11-20 1989-08-08 Recognition Equipment Incorporated Data merge document processing method
US5107443A (en) * 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
US5799320A (en) * 1989-08-23 1998-08-25 John R. Klug Remote multiple-user editing system and method
US5142619A (en) 1990-02-21 1992-08-25 International Business Machines Corporation Method and apparatus for visually comparing files in a data processing system
CA2039652C (en) * 1990-05-30 1996-12-24 Frank Zdybel, Jr. Hardcopy lossless data storage and communications for electronic document processing systems
US5313394A (en) * 1990-12-11 1994-05-17 Barbara Clapp Document assembly customization system for modifying a source instrument including text and decisional commands
US5671428A (en) 1991-08-28 1997-09-23 Kabushiki Kaisha Toshiba Collaborative document processing system with version and comment management
US5339389A (en) 1991-12-31 1994-08-16 International Business Machines Corporation User selectable lock regions
JPH0827754B2 (ja) 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
JP3252454B2 (ja) 1992-06-30 2002-02-04 富士ゼロックス株式会社 共有データ変更状況把握装置
US5555388A (en) 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
US6009420A (en) 1992-10-05 1999-12-28 Expert Systems Publishing Co. Computer-implemented decision management system with dynamically generated questions and answer choices
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
US5446842A (en) 1993-02-26 1995-08-29 Taligent, Inc. Object-oriented collaboration system
US5920694A (en) 1993-03-19 1999-07-06 Ncr Corporation Annotation of computer video displays
JP2703498B2 (ja) 1993-04-30 1998-01-26 インターナショナル・ビジネス・マシーンズ・コーポレイション バージョン化オブジェクトに対するロッキング機構
JPH0785020A (ja) * 1993-09-20 1995-03-31 Hitachi Ltd 文書管理方法
JP3053153B2 (ja) 1993-09-20 2000-06-19 株式会社日立製作所 文書管理システムのアプリケーション起動方法
US5689641A (en) 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US6760840B1 (en) 1994-03-15 2004-07-06 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US5768607A (en) 1994-09-30 1998-06-16 Intel Corporation Method and apparatus for freehand annotation and drawings incorporating sound and for compressing and synchronizing sound
US6181837B1 (en) * 1994-11-18 2001-01-30 The Chase Manhattan Bank, N.A. Electronic check image storage and retrieval system
US5751958A (en) * 1995-06-30 1998-05-12 Peoplesoft, Inc. Allowing inconsistency in a distributed client-server application
US5887146A (en) 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US5956028A (en) 1995-09-14 1999-09-21 Fujitsu Ltd. Virtual space communication system, three-dimensional image display method, and apparatus therefor
US5729734A (en) * 1995-11-03 1998-03-17 Apple Computer, Inc. File privilege administration apparatus and methods
US5781908A (en) * 1995-12-18 1998-07-14 J.D. Edwards World Source Company File data synchronizer in a distributed data computer network
US6006239A (en) 1996-03-15 1999-12-21 Microsoft Corporation Method and system for allowing multiple users to simultaneously edit a spreadsheet
US5781732A (en) * 1996-06-20 1998-07-14 Object Technology Licensing Corp. Framework for constructing shared documents that can be collaboratively accessed by multiple users
US5787262A (en) * 1996-06-26 1998-07-28 Microsoft Corporation System and method for distributed conflict resolution between data objects replicated across a computer network
US5835950A (en) 1996-07-12 1998-11-10 Samsung Electronics Co., Ltd. Self-invalidation method for reducing coherence overheads in a bus-based shared-memory multiprocessor apparatus
US6175853B1 (en) 1996-09-17 2001-01-16 Netscape Communications Corporation Method and apparatus for a distributed locking system for a collaborative computer system
US6244575B1 (en) 1996-10-02 2001-06-12 Micron Technology, Inc. Method and apparatus for vaporizing liquid precursors and system for using same
JP3592004B2 (ja) 1996-10-31 2004-11-24 キヤノン株式会社 情報共有管理システム及び情報共有システム管理装置と方法
US6202085B1 (en) * 1996-12-06 2001-03-13 Microsoft Corportion System and method for incremental change synchronization between multiple copies of data
US6708221B1 (en) * 1996-12-13 2004-03-16 Visto Corporation System and method for globally and securely accessing unified information in a computer network
US6065026A (en) 1997-01-09 2000-05-16 Document.Com, Inc. Multi-user electronic document authoring system with prompted updating of shared language
JP2996197B2 (ja) 1997-02-14 1999-12-27 日本電気株式会社 文書共有管理方法
US5966512A (en) 1997-06-05 1999-10-12 International Business Machines Corporation Groupware save operation
US6233600B1 (en) 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6209010B1 (en) * 1997-07-18 2001-03-27 Varis Corporation Computer implemented method for wrapping data to an arbitrary path defined by a page description language
US6240414B1 (en) 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US7447712B2 (en) 1997-09-28 2008-11-04 Global 360, Inc. Structured workfolder
WO1999019854A1 (en) 1997-10-09 1999-04-22 Interval Research Corporation Method and apparatus for sending presence messages
US5946700A (en) * 1997-10-31 1999-08-31 Oracle Corporation Method and apparatus for preserving non-current information that can be overwritten in a computer file
US6327611B1 (en) 1997-11-12 2001-12-04 Netscape Communications Corporation Electronic document routing system
US6067551A (en) * 1997-11-14 2000-05-23 Microsoft Corporation Computer implemented method for simultaneous multi-user editing of a document
US6073161A (en) * 1997-12-16 2000-06-06 International Business Machines Corporation Method and apparatus for determining editing conflicts in a multi-authoring system
US6000945A (en) 1998-02-09 1999-12-14 Educational Testing Service System and method for computer based test assembly
US6088702A (en) * 1998-02-25 2000-07-11 Plantz; Scott H. Group publishing system
AUPP252298A0 (en) 1998-03-24 1998-04-23 80-20 Software Pty Limited Document management software
US6275935B1 (en) 1998-04-17 2001-08-14 Thingworld.Com, Llc Systems and methods for locking interactive objects
US6209128B1 (en) * 1998-06-05 2001-03-27 International Business Machines Corporation Apparatus and method for providing access to multiple object versions
US6438564B1 (en) 1998-06-17 2002-08-20 Microsoft Corporation Method for associating a discussion with a document
US5999208A (en) 1998-07-15 1999-12-07 Lucent Technologies Inc. System for implementing multiple simultaneous meetings in a virtual reality mixed media meeting room
JP2000076109A (ja) 1998-08-28 2000-03-14 Toshiba Corp データ表示装置およびデータ表示方法
US6507845B1 (en) 1998-09-14 2003-01-14 International Business Machines Corporation Method and software for supporting improved awareness of and collaboration among users involved in a task
US6341291B1 (en) * 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
US6363352B1 (en) * 1998-11-13 2002-03-26 Microsoft Corporation Automatic scheduling and formation of a virtual meeting over a computer network
US6502113B1 (en) 1998-11-23 2002-12-31 John E. Crawford Negotiation manager incorporating clause modification and markers for tracking negotiation progress
JP2000163344A (ja) 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式
US7024430B1 (en) 1998-12-08 2006-04-04 Starfish Software, Inc. Method and system for implementing a filter in a data synchronization system
US6681371B1 (en) 1998-12-21 2004-01-20 At&T Corp. System and method for using container documents as multi-user domain clients
KR100309803B1 (ko) 1998-12-26 2001-12-17 서평원 망관리시스템과관리대상장비간의데이터베이스동기화장치및방법
US7065633B1 (en) * 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
US6342906B1 (en) * 1999-02-02 2002-01-29 International Business Machines Corporation Annotation layer for synchronous collaboration
US6564246B1 (en) 1999-02-02 2003-05-13 International Business Machines Corporation Shared and independent views of shared workspace for real-time collaboration
JP3711210B2 (ja) 1999-03-12 2005-11-02 シャープ株式会社 文書編集システムおよびプログラム記録媒体
US6687878B1 (en) * 1999-03-15 2004-02-03 Real Time Image Ltd. Synchronizing/updating local client notes with annotations previously made by other clients in a notes database
US7007235B1 (en) * 1999-04-02 2006-02-28 Massachusetts Institute Of Technology Collaborative agent interaction control and synchronization system
US6317777B1 (en) 1999-04-26 2001-11-13 Intel Corporation Method for web based storage and retrieval of documents
TW428146B (en) 1999-05-05 2001-04-01 Inventec Corp Data file updating method by increment
US6430576B1 (en) 1999-05-10 2002-08-06 Patrick Gates Distributing and synchronizing objects
CN1154054C (zh) 1999-06-04 2004-06-16 网络装置公司 对不同文件锁定协议强制实施统一文件锁定的方法及文件服务器
US6629129B1 (en) 1999-06-16 2003-09-30 Microsoft Corporation Shared virtual meeting services among computer applications
US6438548B1 (en) 1999-06-30 2002-08-20 International Business Machines Corporation Method of and system for managing documents in a bandwidth constrained environment
US6678882B1 (en) * 1999-06-30 2004-01-13 Qwest Communications International Inc. Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse
US6327584B1 (en) 1999-07-30 2001-12-04 Hewlett-Packard Company Apparatus and method for using version control to dynamically update files while the files are available for access
US6560620B1 (en) * 1999-08-03 2003-05-06 Aplix Research, Inc. Hierarchical document comparison system and method
JP3915331B2 (ja) * 1999-08-10 2007-05-16 富士ゼロックス株式会社 共有ドキュメントの編集装置及び編集方法
US6516339B1 (en) 1999-08-18 2003-02-04 International Business Machines Corporation High performance client/server editor
US6526434B1 (en) 1999-08-24 2003-02-25 International Business Machines Corporation System and method for efficient transfer of data blocks from client to server
US6189009B1 (en) 1999-08-27 2001-02-13 The Voice.Com, Inc. System and method for integrating paper-based business documents with computer-readable data entered via a computer network
US6507865B1 (en) 1999-08-30 2003-01-14 Zaplet, Inc. Method and system for group content collaboration
US7089278B1 (en) 1999-09-07 2006-08-08 Fuji Xerox Co., Ltd. Anchored conversations: adhesive, in-context, virtual discussion forums
JP2001092707A (ja) 1999-09-24 2001-04-06 Nec Corp 情報処理システム、構造化文書処理システム、その更新方法及びその更新プログラムを記録した記録媒体
US7039860B1 (en) 1999-10-01 2006-05-02 Netspinner Solutions As Creating web pages category list prior to the list being served to a browser
US6578054B1 (en) 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
WO2001033362A1 (en) 1999-11-05 2001-05-10 Attivo Software, Inc. Action communication and synchronization for documents accessed by multiple users
US6560614B1 (en) * 1999-11-12 2003-05-06 Xosoft Inc. Nonintrusive update of files
US6751618B1 (en) * 1999-11-24 2004-06-15 Unisys Corporation Method and apparatus for a web application server to upload multiple files and invoke a script to use the files in a single browser request
JP2001154966A (ja) 1999-11-29 2001-06-08 Sony Corp コンピュータ・ネットワーク上で構築・提供される共有仮想空間上で複数ユーザが参加可能な仮想会話を支援する会話支援システム及び会話支援方法、並びに、プログラム記憶媒体
US20020007287A1 (en) * 1999-12-16 2002-01-17 Dietmar Straube System and method for electronic archiving and retrieval of medical documents
US6594664B1 (en) 2000-01-04 2003-07-15 International Business Machines Corporation System and method for online/offline uninterrupted updating of rooms in collaboration space
US6529905B1 (en) * 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
JP3879350B2 (ja) 2000-01-25 2007-02-14 富士ゼロックス株式会社 構造化文書処理システム及び構造化文書処理方法
SG99886A1 (en) 2000-02-24 2003-11-27 Ibm System and method for collaborative multi-device web browsing
US6842768B1 (en) 2000-03-01 2005-01-11 Siemens Communications, Inc. Apparatus and method for selectable compression
JP2001265704A (ja) 2000-03-23 2001-09-28 Megafusion Corp 仮想活動の制御方法
KR100331685B1 (ko) 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
JP2001290690A (ja) 2000-04-11 2001-10-19 Canon Inc ファイル管理方法及び装置並びに記憶媒体
US7478129B1 (en) 2000-04-18 2009-01-13 Helen Jeanne Chemtob Method and apparatus for providing group interaction via communications networks
US7124164B1 (en) 2001-04-17 2006-10-17 Chemtob Helen J Method and apparatus for providing group interaction via communications networks
JP3549097B2 (ja) 2000-04-26 2004-08-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 共同作業オブジェクトのオーナ識別方法、コンピュータシステムおよびコンピュータ可読な記録媒体
AU2001256612A1 (en) 2000-05-16 2001-11-26 Garrett O'carroll A document processing system and method
US6931592B1 (en) 2000-05-22 2005-08-16 Microsoft Corporation Reviewing and merging electronic documents
US6757767B1 (en) 2000-05-31 2004-06-29 Advanced Digital Information Corporation Method for acceleration of storage devices by returning slightly early write status
SE522846C2 (sv) 2000-06-22 2004-03-09 Ericsson Telefon Ab L M Antenn med spiralformad radiator och återkopplingsledare, samt flerlagerkort och bärbar kommunikationsapparat innefattande en sådan antenn
US6596396B2 (en) 2000-08-09 2003-07-22 Mitsubishi Gas Chemical Company, Inc. Thin-film-like particles having skeleton constructed by carbons and isolated films
US6925476B1 (en) 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US6681382B1 (en) * 2000-09-18 2004-01-20 Cisco Technology, Inc. Method and system for using virtual labels in a software configuration management system
WO2002033575A2 (en) 2000-10-18 2002-04-25 Chasseral Limited Concurrent file access
US20020083183A1 (en) 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US6976213B1 (en) 2000-11-10 2005-12-13 Interspec, Inc. Method of automatically generating specifications and providing online services for same
US7669051B2 (en) 2000-11-13 2010-02-23 DigitalDoors, Inc. Data security system and method with multiple independent levels of security
US7080076B1 (en) * 2000-11-28 2006-07-18 Attenex Corporation System and method for efficiently drafting a legal document using an authenticated clause table
WO2002059773A1 (en) 2000-12-04 2002-08-01 Thinkshare Corp. Modular distributed mobile data applications
US6941326B2 (en) 2001-01-24 2005-09-06 Microsoft Corporation Accounting for update notifications in synchronizing data that may be represented by different data structures
US7110936B2 (en) 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US7058663B2 (en) * 2001-03-13 2006-06-06 Koninklijke Philips Electronics, N.V. Automatic data update
US8744835B2 (en) 2001-03-16 2014-06-03 Meaningful Machines Llc Content conversion method and apparatus
WO2002075523A1 (en) 2001-03-16 2002-09-26 Netomat, Inc. Sharing, managing and communicating information over a computer network
JP2002288029A (ja) 2001-03-28 2002-10-04 Ricoh Co Ltd 文書管理システム
US6757678B2 (en) * 2001-04-12 2004-06-29 International Business Machines Corporation Generalized method and system of merging and pruning of data trees
US7409424B2 (en) * 2001-04-24 2008-08-05 Parker James A Electronic mail file access system
JP4953518B2 (ja) 2001-05-14 2012-06-13 ケープレックス・インク オブジェクト指向技術を用いた情報共有方法及び装置
US6993522B2 (en) 2001-06-27 2006-01-31 Microsoft Corporation System and method for resolving conflicts detected during a synchronization session
US7117278B2 (en) 2001-07-12 2006-10-03 Sun Micro Systems, Inc. Method for merging a plurality of data streams into a single data stream
US7149776B1 (en) * 2001-08-31 2006-12-12 Oracle International Corp. System and method for real-time co-browsing
US7124362B2 (en) 2001-08-31 2006-10-17 Robert Tischer Method and system for producing an ordered compilation of information with more than one author contributing information contemporaneously
WO2003021985A1 (en) 2001-09-06 2003-03-13 Tersync Ltd. System and method for providing two-way radio communications network transmissions over internet protocol
US20040205539A1 (en) 2001-09-07 2004-10-14 Mak Mingchi Stephen Method and apparatus for iterative merging of documents
US20030097410A1 (en) 2001-10-04 2003-05-22 Atkins R. Travis Methodology for enabling multi-party collaboration across a data network
JP2003150586A (ja) * 2001-11-12 2003-05-23 Ntt Docomo Inc 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4215425B2 (ja) * 2001-11-21 2009-01-28 日本電気株式会社 文章管理システム、その管理方法及びそのプログラム
JP4051924B2 (ja) * 2001-12-05 2008-02-27 株式会社日立製作所 送信制御可能なネットワークシステム
US6711718B2 (en) * 2001-12-10 2004-03-23 Charles Pfeil Parallel electronic design automation: distributed simultaneous editing
US7496841B2 (en) 2001-12-17 2009-02-24 Workshare Technology, Ltd. Method and system for document collaboration
US7475242B2 (en) * 2001-12-18 2009-01-06 Hewlett-Packard Development Company, L.P. Controlling the distribution of information
US20030140067A1 (en) * 2002-01-18 2003-07-24 Robert Sesek Systems and methods for sending documents
US7024429B2 (en) 2002-01-31 2006-04-04 Nextpage,Inc. Data replication based upon a non-destructive data model
WO2003067448A1 (en) * 2002-02-02 2003-08-14 E-Wings, Inc. Distributed system for interactive collaboration
JP2003233520A (ja) 2002-02-07 2003-08-22 Fujitsu Ltd ネットワーク上のファイル資源のためのファイル制御装置
US20030159105A1 (en) 2002-02-21 2003-08-21 Hiebert Steven P. Interpretive transformation system and method
US7340534B2 (en) 2002-03-05 2008-03-04 Sun Microsystems, Inc. Synchronization of documents between a server and small devices
US7200668B2 (en) * 2002-03-05 2007-04-03 Sun Microsystems, Inc. Document conversion with merging
US20030208534A1 (en) 2002-05-02 2003-11-06 Dennis Carmichael Enhanced productivity electronic meeting system
WO2003107629A2 (en) * 2002-06-01 2003-12-24 Engedi Technologies, Inc. Out-of-band remote management station
US6691155B2 (en) 2002-06-20 2004-02-10 Linda Gottfried Multimedia system for sharing brand information keeps history of modifications of production information by consumers to allow recreating multimedia interface in its previous formats
US20040003090A1 (en) 2002-06-28 2004-01-01 Douglas Deeds Peer-to-peer media sharing
US7565603B1 (en) 2002-06-28 2009-07-21 Microsoft Corporation Representing style information in a markup language document
JP2004065193A (ja) 2002-08-09 2004-03-04 Kazumi Minbu 刈払い機用ガード
JP2004078535A (ja) 2002-08-16 2004-03-11 Yamaha Corp 排他制御装置、方法及びプログラム
US6928476B2 (en) * 2002-08-23 2005-08-09 Mirra, Inc. Peer to peer remote data storage and collaboration
US20040109025A1 (en) 2002-08-28 2004-06-10 Jean-Marie Hullot Computer program comprising a plurality of calendars
CN103927375B (zh) 2002-09-30 2017-06-23 改进搜索有限责任公司 跨语言搜索结果的闪烁注释标注加亮
JP4737914B2 (ja) 2002-10-02 2011-08-03 ケープレックス・インク 文書改訂支援プログラム及び当該支援プログラムを記録したコンピュータ読み取り可能媒体、並びに文書改訂支援装置。
US20040068505A1 (en) * 2002-10-04 2004-04-08 Chung-I Lee System and method for synchronously editing a file on different client computers
CN1244874C (zh) 2002-10-12 2006-03-08 鸿富锦精密工业(深圳)有限公司 多点协同作业系统及方法
DE10250842B4 (de) 2002-10-31 2010-11-11 OCé PRINTING SYSTEMS GMBH Verfahren, Computerprogrammprodukt und Vorrichtung zum Verarbeiten eines Dokumentendatenstroms eines Eingangsformates zu einem Ausgangsformat
US7818678B2 (en) 2002-10-31 2010-10-19 Litera Technology Llc Collaborative document development and review system
US7328243B2 (en) * 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
US20040177343A1 (en) 2002-11-04 2004-09-09 Mcvoy Lawrence W. Method and apparatus for understanding and resolving conflicts in a merge
US7356393B1 (en) 2002-11-18 2008-04-08 Turfcentric, Inc. Integrated system for routine maintenance of mechanized equipment
US20040143630A1 (en) * 2002-11-21 2004-07-22 Roy Kaufmann Method and system for sending questions, answers and files synchronously and asynchronously in a system for enhancing collaboration using computers and networking
US7954043B2 (en) * 2002-12-02 2011-05-31 International Business Machines Corporation Concurrent editing of a file by multiple authors
US7209948B2 (en) * 2002-12-20 2007-04-24 International Business Machines, Corporation Collaborative review of distributed content
KR100490734B1 (ko) 2002-12-21 2005-05-24 한국전자통신연구원 주석기반 문서 자동 생성장치 및 방법
KR100462839B1 (ko) * 2002-12-24 2004-12-23 한국전자통신연구원 모바일 환경에서의 이동 클라이언트와 서버간의 데이터동기화 및 갱신 충돌 해결 방법
US7337388B2 (en) * 2003-01-02 2008-02-26 Microsoft Corporation Tool-based iterative document management
US7379928B2 (en) 2003-02-13 2008-05-27 Microsoft Corporation Method and system for searching within annotated computer documents
US8706760B2 (en) 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
US8010491B2 (en) 2003-02-28 2011-08-30 Microsoft Corporation Method for managing multiple file states for replicated files
US7389309B2 (en) 2003-02-28 2008-06-17 Microsoft Corporation Method for managing file replication in applications
JP2004265193A (ja) * 2003-03-03 2004-09-24 Canon Inc 情報処理方法、情報処理装置、サーバ装置の制御方法、サーバ装置
US9003295B2 (en) 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
US20060259524A1 (en) 2003-03-17 2006-11-16 Horton D T Systems and methods for document project management, conversion, and filing
US7757162B2 (en) 2003-03-31 2010-07-13 Ricoh Co. Ltd. Document collection manipulation
US7155465B2 (en) 2003-04-18 2006-12-26 Lee Howard F Method and apparatus for automatically archiving a file system
JP2004326176A (ja) 2003-04-21 2004-11-18 Matsushita Electric Works Ltd 情報サーバ、情報サーバ用プログラムおよび情報システム
US7290251B2 (en) * 2003-05-16 2007-10-30 Microsoft Corporation Method and system for providing a representation of merge conflicts in a three-way merge operation
US7849401B2 (en) 2003-05-16 2010-12-07 Justsystems Canada Inc. Method and system for enabling collaborative authoring of hierarchical documents with locking
BRPI0410362B1 (pt) 2003-05-16 2017-06-20 Google Inc. Systems and methods of sharing network and network media
CA2526178A1 (en) 2003-05-16 2004-12-02 Gerald Hewes Centralized mobile and wireless messaging opt-out registry system and method
US7373590B2 (en) 2003-05-19 2008-05-13 Microsoft Corporation Shared electronic ink annotation method and system
US7660829B2 (en) 2003-05-30 2010-02-09 Microsoft Corporation System and method for delegating file system operations
US7257769B2 (en) 2003-06-05 2007-08-14 Siemens Communications, Inc. System and method for indicating an annotation for a document
US9256753B2 (en) 2003-06-11 2016-02-09 Microsoft Technology Licensing, Llc Method and apparatus for protecting regions of an electronic document
US7444337B2 (en) 2004-03-09 2008-10-28 Ntt Docomo, Inc. Framework and associated apparatus for the adaptive replication of applications with server side code units
US8001187B2 (en) 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US7716593B2 (en) 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
EP2136324A3 (en) * 2003-07-08 2011-01-05 US Lynx LLC An automated publishing system that facilitates collaborative editing and accountability through virtual document architecture
US7315978B2 (en) 2003-07-30 2008-01-01 Ameriprise Financial, Inc. System and method for remote collection of data
AU2003903994A0 (en) 2003-07-31 2003-08-14 Canon Kabushiki Kaisha Collaborative editing with automatic layout
US20050033811A1 (en) 2003-08-07 2005-02-10 International Business Machines Corporation Collaborative email
US7363581B2 (en) 2003-08-12 2008-04-22 Accenture Global Services Gmbh Presentation generator
US7401104B2 (en) 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
JP4393140B2 (ja) 2003-08-29 2010-01-06 京セラミタ株式会社 画像形成装置及び画像形成システム
US7490071B2 (en) * 2003-08-29 2009-02-10 Oracle Corporation Support vector machines processing system
US7302274B2 (en) 2003-09-19 2007-11-27 Nokia Corporation Method and device for real-time shared editing mobile video
US7143117B2 (en) * 2003-09-25 2006-11-28 International Business Machines Corporation Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match
US8489769B2 (en) 2003-10-02 2013-07-16 Accenture Global Services Limited Intelligent collaborative expression in support of socialization of devices
US7242389B1 (en) 2003-10-07 2007-07-10 Microsoft Corporation System and method for a large format collaborative display for sharing information
US7831679B2 (en) 2003-10-15 2010-11-09 Microsoft Corporation Guiding sensing and preferences for context-sensitive services
US7185277B1 (en) * 2003-10-24 2007-02-27 Microsoft Corporation Method and apparatus for merging electronic documents containing markup language
WO2005043279A2 (en) 2003-10-31 2005-05-12 Disksites Research And Development Ltd. Device, system and method for storage and access of computer files
BRPI0416153A (pt) * 2003-11-04 2007-01-16 Taskport Inc método e sistema para colaboração
US7203708B2 (en) 2003-11-06 2007-04-10 Microsoft Corporation Optimizing file replication using binary comparisons
US7839532B2 (en) 2003-12-12 2010-11-23 Ipro Tech, Inc. Methods and apparatus for imaging documents
US7458030B2 (en) 2003-12-12 2008-11-25 Microsoft Corporation System and method for realtime messaging having image sharing feature
US20050177617A1 (en) 2003-12-23 2005-08-11 Intel Corporation Conflict resolution during data synchronization
GB2409541A (en) 2003-12-23 2005-06-29 Mandorla Technology Ltd Editable information management system and method
FR2865051B1 (fr) 2004-01-14 2006-03-03 Stg Interactive Procede et systeme pour l'exploitation d'un reseau informatique destine a la publication de contenu
US8108483B2 (en) * 2004-01-30 2012-01-31 Microsoft Corporation System and method for generating a consistent user namespace on networked devices
US7225189B1 (en) * 2004-02-19 2007-05-29 Microsoft Corporation Data source write back and offline data editing and storage in a spreadsheet
JP2005267021A (ja) 2004-03-17 2005-09-29 Ricoh Co Ltd 文書作成方法、文書作成装置、プログラム、記憶媒体および文書のデータ構造
US20050216524A1 (en) 2004-03-23 2005-09-29 Integrated Data Corporation Smart and selective synchronization between databases in a document management system
JP2005293015A (ja) 2004-03-31 2005-10-20 Sharp Corp 文書管理サーバ、文書管理システム、文書管理方法、文書管理プログラム及びこの文書管理プログラムを記録した記録媒体
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
CN1684059A (zh) 2004-04-14 2005-10-19 皇家飞利浦电子股份有限公司 一种多媒体信息文件的编辑方法和装置
JP2005301838A (ja) 2004-04-14 2005-10-27 Sharp Corp 情報処理装置,情報処理システム,ファイル同時編集方法,及びファイル同時編集プログラム
US7818679B2 (en) 2004-04-20 2010-10-19 Microsoft Corporation Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems
JP2005309745A (ja) * 2004-04-21 2005-11-04 Nec Corp オリジナル画像文書情報と追記情報とを管理する文書管理ネットワークシステム、画像文書配信サーバ
US7536636B2 (en) * 2004-04-26 2009-05-19 Kodak Graphic Communications Canada Company Systems and methods for comparing documents containing graphic elements
JP4448537B2 (ja) 2004-04-26 2010-04-14 コダック グラフィック コミュニケーションズ カナダ カンパニー グラフィック要素を含む文書同士を比較するシステム及び方法
EP1751677A2 (en) 2004-05-19 2007-02-14 Universität Zürich Computer-based system and computer program product for collaborative editing of documents
US20060053368A1 (en) 2004-05-20 2006-03-09 Bea Systems, Inc. Conduit manager for occasionally-connected application server
US7603357B1 (en) * 2004-06-01 2009-10-13 Adobe Systems Incorporated Collaborative asset management
JP4716709B2 (ja) * 2004-06-10 2011-07-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造化文書処理装置、構造化文書処理方法、及びプログラム
JP4069905B2 (ja) 2004-06-28 2008-04-02 コニカミノルタビジネステクノロジーズ株式会社 共有ファイル管理システムおよびサーバー
JP2006031292A (ja) 2004-07-14 2006-02-02 Fuji Xerox Co Ltd 文書処理装置、文書処理方法及び文書処理プログラム
US7567988B2 (en) 2004-07-16 2009-07-28 Sap Ag Synchronizing agent for multiple clients/applications on a computer system
US7487471B2 (en) * 2004-07-23 2009-02-03 Sap Ag User interface for conflict resolution management
US20060026502A1 (en) 2004-07-28 2006-02-02 Koushik Dutta Document collaboration system
US7966556B1 (en) 2004-08-06 2011-06-21 Adobe Systems Incorporated Reviewing and editing word processing documents
US20060041596A1 (en) 2004-08-19 2006-02-23 Vlad Stirbu Caching directory server data for controlling the disposition of multimedia data on a network
JP2008511881A (ja) 2004-08-31 2008-04-17 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 インスタントメッセージングプラットフォームに基づきオンラインファイルストレージを実現する通信システム及び方法
US20060047656A1 (en) 2004-09-01 2006-03-02 Dehlinger Peter J Code, system, and method for retrieving text material from a library of documents
US7702730B2 (en) * 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
US20060080432A1 (en) * 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US20060053194A1 (en) * 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20060053195A1 (en) * 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20070118794A1 (en) 2004-09-08 2007-05-24 Josef Hollander Shared annotation system and method
EP1812848A4 (en) 2004-09-15 2009-04-29 Adesso Systems Inc SYSTEM AND METHOD FOR DATA MANAGEMENT IN A DISTRIBUTED COMPUTER SYSTEM
TWI248002B (en) 2004-09-17 2006-01-21 Infopower Corp System and method of web-based editor for compound documents
KR20060034786A (ko) 2004-10-19 2006-04-26 이유정 복수의 이용자가 문서를 공동으로 편집하는 방법 및 그시스템
US7392243B2 (en) * 2004-10-20 2008-06-24 Microsoft Corporation Using permanent identifiers in documents for change management
US7730129B2 (en) 2004-10-20 2010-06-01 Inbit, Inc. Collaborative communication platforms
US7814105B2 (en) 2004-10-27 2010-10-12 Harris Corporation Method for domain identification of documents in a document database
US7472341B2 (en) * 2004-11-08 2008-12-30 International Business Machines Corporation Multi-user, multi-timed collaborative annotation
US7577906B2 (en) 2004-11-08 2009-08-18 Microsoft Corporation Method and system for document assembly
US7440967B2 (en) 2004-11-10 2008-10-21 Xerox Corporation System and method for transforming legacy documents into XML documents
US20060106879A1 (en) 2004-11-16 2006-05-18 International Business Machines Corporation Conflict resolution in a synchronization framework
US20060112343A1 (en) 2004-11-23 2006-05-25 Palo Alto Research Center Incorporated Methods, apparatus, and program products for aligning presentation of separately recorded experiential data streams
US7650336B1 (en) * 2004-12-02 2010-01-19 Adobe Systems Incorporated File system atomic lock
US8108773B2 (en) * 2004-12-17 2012-01-31 Xerox Corporation Method and apparatus for generating instances of documents
US7617229B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation Management and use of data in a computer-generated document
US7908247B2 (en) * 2004-12-21 2011-03-15 Nextpage, Inc. Storage-and transport-independent collaborative document-management system
US7593943B2 (en) 2005-01-14 2009-09-22 Microsoft Corporation Method and system for synchronizing multiple user revisions to a shared object
US20060173901A1 (en) 2005-01-31 2006-08-03 Mediatek Incorporation Methods for merging files and related systems
US20060174207A1 (en) 2005-01-31 2006-08-03 Sharp Laboratories Of America, Inc. Systems and methods for implementing a user interface for multiple simultaneous instant messaging, conference and chat room sessions
US20060179026A1 (en) * 2005-02-04 2006-08-10 Bechtel Michael E Knowledge discovery tool extraction and integration
US7313580B2 (en) 2005-02-08 2007-12-25 Domenico Vellante Systems and methods for sharing information between a user group and associated document
US7720890B2 (en) 2005-02-22 2010-05-18 Microsoft Corporation Ghosted synchronization
US7792788B2 (en) 2005-03-04 2010-09-07 Microsoft Corporation Method and system for resolving conflicts operations in a collaborative editing environment
US20060218476A1 (en) 2005-03-25 2006-09-28 Xerox Corporation Collaborative document authoring and production methods and systems
US20070016650A1 (en) 2005-04-01 2007-01-18 Gilbert Gary J System and methods for collaborative development of content over an electronic network
RU50695U1 (ru) 2005-04-28 2006-01-20 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ УНИТАРНОЕ ПРЕДПРИЯТИЕ "ГЛАВНОЕ ПРОИЗВОДСТВЕННО-КОММЕРЧЕСКОЕ УПРАВЛЕНИЕ ПО ОБСЛУЖИВАНИЮ ДИПЛОМАТИЧЕСКОГО КОРПУСА ПРИ МИНИСТЕРСТВЕ ИНОСТРАННЫХ ДЕЛ РОССИЙСКОЙ ФЕДЕРАЦИИ" (ГлавУпДК при МИД России) Система хранения и обработки данных
US7536641B2 (en) 2005-04-29 2009-05-19 Google Inc. Web page authoring tool for structured documents
US7454406B2 (en) 2005-04-29 2008-11-18 Adaptec, Inc. System and method of handling file metadata
US20060265377A1 (en) 2005-05-19 2006-11-23 Trimergent Personalizable information networks
US7305420B2 (en) 2005-05-25 2007-12-04 Microsoft Corporation Synchronizing modifiable documents with multiple clients using document subsections
RU2304803C2 (ru) 2005-06-27 2007-08-20 Евгений Михайлович Растворов Система регистрации операций над данными, находящимися на устройствах хранения информации
US7610287B1 (en) 2005-06-28 2009-10-27 Google Inc. System and method for impromptu shared communication spaces
US7533354B2 (en) 2005-08-25 2009-05-12 International Business Machines Corporation Technique for selecting and prioritizing choices
US7779347B2 (en) 2005-09-02 2010-08-17 Fourteen40, Inc. Systems and methods for collaboratively annotating electronic documents
TWI276325B (en) 2005-09-16 2007-03-11 Hon Hai Prec Ind Co Ltd Mobile communication device and method for downloading configuration files thereof and wireless communication system
WO2007034858A1 (ja) 2005-09-22 2007-03-29 Justsystems Corporation データ管理装置、データ編集装置、データ閲覧装置、データ管理方法、データ編集方法およびデータ閲覧方法
JP2007115131A (ja) 2005-10-21 2007-05-10 Canon Inc 情報処理装置及びその制御方法、情報処理システム、コンピュータプログラム、記憶媒体
GB0523703D0 (en) * 2005-11-22 2005-12-28 Ibm Collaborative editing of a document
CN1979466A (zh) 2005-11-29 2007-06-13 国际商业机器公司 允许多个用户同时编辑一个共享的电子文档的方法及装置
US8434021B2 (en) 2005-11-30 2013-04-30 Microsoft Corporation Centralized user interface for displaying contextually driven business content and business related functionality
US8015194B2 (en) 2005-12-29 2011-09-06 Ricoh Co., Ltd. Refining based on log content
US7529780B1 (en) 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US7774703B2 (en) 2006-02-09 2010-08-10 Microsoft Corporation Virtual shadow awareness for multi-user editors
US20070198952A1 (en) 2006-02-21 2007-08-23 Pittenger Robert A Methods and systems for authoring of a compound document following a hierarchical structure
US20070226604A1 (en) 2006-03-22 2007-09-27 Chalasani Nanchariah R System and method for merging a sub-document into a collaboratively authored master document
US8566301B2 (en) 2006-05-01 2013-10-22 Steven L. Rueben Document revisions in a collaborative computing environment
GB0610116D0 (en) 2006-05-20 2006-06-28 Ibm A method, apparatus and computer program for collaborative editing of a document
US8407670B2 (en) 2006-06-02 2013-03-26 Microsoft Corporation Collaborative code conflict detection, notification and resolution
US20080059539A1 (en) * 2006-08-08 2008-03-06 Richard Chin Document Collaboration System and Method
US8453052B1 (en) 2006-08-16 2013-05-28 Google Inc. Real-time document sharing and editing
US7801951B2 (en) * 2006-08-25 2010-09-21 Reframe-It, Inc. Process for referencing, prioritizing, accessing, and displaying marginalia in digital media
US8401841B2 (en) 2006-08-31 2013-03-19 Orcatec Llc Retrieval of documents using language models
EP2067102A2 (en) 2006-09-15 2009-06-10 Exbiblio B.V. Capture and display of annotations in paper and electronic documents
US9207933B2 (en) 2006-10-10 2015-12-08 International Business Machines Corporation Identifying authors of changes between multiple versions of a file
JP5437557B2 (ja) * 2006-10-19 2014-03-12 富士通株式会社 検索処理方法及び検索システム
US20080098294A1 (en) * 2006-10-23 2008-04-24 Mediq Learning, L.L.C. Collaborative annotation of electronic content
US7698660B2 (en) 2006-11-13 2010-04-13 Microsoft Corporation Shared space for communicating information
US20080114740A1 (en) * 2006-11-14 2008-05-15 Xcential Group Llc System and method for maintaining conformance of electronic document structure with multiple, variant document structure models
US8769006B2 (en) 2006-11-28 2014-07-01 International Business Machines Corporation Role-based display of document renditions for web conferencing
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US20080177782A1 (en) 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
RU2327206C1 (ru) 2007-01-17 2008-06-20 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Восход" Система разграничения доступа к документам в распределенной сети электронного документооборота
JP2008186176A (ja) 2007-01-29 2008-08-14 Canon Inc 画像処理装置、文書結合方法および制御プログラム
KR100904758B1 (ko) 2007-02-08 2009-06-29 삼성전자주식회사 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
US7838755B2 (en) * 2007-02-14 2010-11-23 Museami, Inc. Music-based search engine
US20080294895A1 (en) 2007-02-15 2008-11-27 Michael Bodner Disaggregation/reassembly method system for information rights management of secure documents
JP5023736B2 (ja) 2007-02-27 2012-09-12 富士ゼロックス株式会社 端末装置、及びプログラム
US20080222111A1 (en) 2007-03-07 2008-09-11 Oracle International Corporation Database system with dynamic database caching
US7949938B2 (en) 2007-03-20 2011-05-24 International Business Machines Corporation Comparing and merging multiple documents
US8019780B1 (en) 2007-03-30 2011-09-13 Google Inc. Handling document revision history information in the presence of a multi-user permissions model
US20080256114A1 (en) 2007-04-10 2008-10-16 Microsoft Corporation Techniques to display associated information between application programs
US8024652B2 (en) 2007-04-10 2011-09-20 Microsoft Corporation Techniques to associate information between application programs
US8504553B2 (en) 2007-04-19 2013-08-06 Barnesandnoble.Com Llc Unstructured and semistructured document processing and searching
US7769810B1 (en) * 2007-04-26 2010-08-03 Adobe Systems Incorporated Method and system for collaborative editing
JP5154832B2 (ja) 2007-04-27 2013-02-27 株式会社日立製作所 文書検索システム及び文書検索方法
US8082277B1 (en) 2007-06-05 2011-12-20 The Board of Trustees of the University of Alabama, for and on behalf of the University of Alabamaiin Huntsville Systems and methods for generating technical documents
US20080320384A1 (en) 2007-06-25 2008-12-25 Ramesh Nagarajan Automated addition of images to text
US8239760B2 (en) 2007-06-26 2012-08-07 Sap Ag Multi-user document editing system and method
JP2009009410A (ja) 2007-06-28 2009-01-15 Hiroshi Ueno 文章編集支援システムおよびプログラム
US7933952B2 (en) * 2007-06-29 2011-04-26 Microsoft Corporation Collaborative document authoring
US7937663B2 (en) 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
CN101790886B (zh) 2007-07-02 2012-12-05 弗劳恩霍夫应用研究促进协会 存储和读取具有媒体数据容器和元数据容器的文件的设备和方法
WO2009027138A1 (en) * 2007-08-30 2009-03-05 International Business Machines Corporation Accessing data entities
US8595202B2 (en) 2007-10-03 2013-11-26 Siemens Aktiengesellschaft Method and system for intra-document object locking in collaborative authoring
US8280892B2 (en) 2007-10-05 2012-10-02 Fujitsu Limited Selecting tags for a document by analyzing paragraphs of the document
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8028229B2 (en) 2007-12-06 2011-09-27 Microsoft Corporation Document merge
US7797274B2 (en) 2007-12-12 2010-09-14 Google Inc. Online content collaboration model
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8291308B2 (en) 2007-12-28 2012-10-16 International Business Machines Corporation Annotating collaborative information structures
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US20090249224A1 (en) 2008-03-31 2009-10-01 Microsoft Corporation Simultaneous collaborative review of a document
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US7949633B1 (en) 2008-05-12 2011-05-24 Adobe Systems Incorporated Shared edit access of electronic content
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US8332359B2 (en) 2008-07-28 2012-12-11 International Business Machines Corporation Extended system for accessing electronic documents with revision history in non-compatible repositories
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US8286132B2 (en) * 2008-09-25 2012-10-09 International Business Machines Corporation Comparing and merging structured documents syntactically and semantically
US20100095198A1 (en) 2008-10-15 2010-04-15 Apple Inc. Shared comments for online document collaboration
US20100131836A1 (en) 2008-11-24 2010-05-27 Microsoft Corporation User-authored notes on shared documents
US20100169092A1 (en) 2008-11-26 2010-07-01 Backes Steven J Voice interface ocx
US8346768B2 (en) 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015055951A (ja) * 2013-09-11 2015-03-23 株式会社リコー 情報処理システム及び情報処理方法

Also Published As

Publication number Publication date
TWI467390B (zh) 2015-01-01
WO2009079116A2 (en) 2009-06-25
TWI528188B (zh) 2016-04-01
US10057226B2 (en) 2018-08-21
RU2010123793A (ru) 2011-12-20
CN101896915A (zh) 2010-11-24
TW201506641A (zh) 2015-02-16
EP2220581A4 (en) 2019-10-30
MY161814A (en) 2017-05-15
TW200925887A (en) 2009-06-16
RU2465642C2 (ru) 2012-10-27
WO2009079116A3 (en) 2009-08-13
US20090157811A1 (en) 2009-06-18
CN101896915B (zh) 2013-12-25
US20140373108A1 (en) 2014-12-18
EP2220581A2 (en) 2010-08-25
JP2011507100A (ja) 2011-03-03
KR101571574B1 (ko) 2015-11-24
US8825758B2 (en) 2014-09-02
AU2008338826B2 (en) 2013-01-10
JP5250637B2 (ja) 2013-07-31
EP2220581B1 (en) 2020-12-23
AU2008338826A1 (en) 2009-06-25
BRPI0819825B1 (pt) 2019-08-20
BRPI0819825A2 (pt) 2015-05-26

Similar Documents

Publication Publication Date Title
KR101571574B1 (ko) 협업적 저작 모드
US11455459B2 (en) Collaborative authoring
US9760862B2 (en) Conflict resolution

Legal Events

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

Payment date: 20181018

Year of fee payment: 4