KR101597082B1 - 공동 저작 - Google Patents

공동 저작 Download PDF

Info

Publication number
KR101597082B1
KR101597082B1 KR1020157002346A KR20157002346A KR101597082B1 KR 101597082 B1 KR101597082 B1 KR 101597082B1 KR 1020157002346 A KR1020157002346 A KR 1020157002346A KR 20157002346 A KR20157002346 A KR 20157002346A KR 101597082 B1 KR101597082 B1 KR 101597082B1
Authority
KR
South Korea
Prior art keywords
user
document
data unit
computing device
delete delete
Prior art date
Application number
KR1020157002346A
Other languages
English (en)
Other versions
KR20150018896A (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 KR20150018896A publication Critical patent/KR20150018896A/ko
Application granted granted Critical
Publication of KR101597082B1 publication Critical patent/KR101597082B1/ko

Links

Images

Classifications

    • G06F17/21
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06F17/241
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

공동 저작 애플리케이션은 2명 이상의 사용자들이 한 문서를 동시에 편집할 수 있는 저작 환경을 제공한다. 각 사용자는 상기 문서의 사본을 편집하고, 상기 문서의 마스터 사본에 업데이트들을 송신하고, 상기 문서의 마스터 사본으로부터 업데이트들을 수신한다. 상기 저작 환경은 일반적으로 상기 사용자들이 상충되는 편집 명령을 상기 문서의 마스터 사본에 제공하는 것을 금한다. 예를 들면, 각 사용자는 상기 문서 내의 하나 이상의 데이터 단위에 관한 콘텐트 잠금을 생성할 수 있다. 상기 저작 환경은 상기 사용자의 요청에 의해서만 콘텐트 잠금을 자동으로 동기화시키고 콘텐트를 동기화시킬 수 있다.

Description

공동 저작{COLLABORATIVE AUTHORING}
전통적인 공동 편집은 순차적으로 수행되는 경향이 있다. 사용자들은 교대로 문서에 액세스하고, 문서를 편집하고, 그들의 편집을 저장한다. 액세스하는 사용자는 액세스하는 사용자가 문서를 편집하고 있을 때 다른 사용자들이 문서를 편집하는 것을 금하기 위해 파일에 잠금(lock)을 걸 수 있다. 반복적인 편집 프로세스는 각 사용자가 문서를 편집하는 데 차례를 기다릴 수 있으므로 지연을 일으킬 수 있다. 또한, 반복적인 편집 프로세스는 관리하기 어려울 수 있다. 예를 들면, 각 사용자는 누가 문서의 어느 부분들을 편집하고 있고, 문서의 어느 버전이 가장 최근의 것이고, 그 사용자가 언제 차례가 될지를 계속 추적할 필요가 있을 수 있다.
전통적인 공동 편집의 다른 유형들에서, 각 사용자는 문서의 상이한 사본을 편집할 수 있다. 그 후, 편집된 사본들 모두가 단일 문서로 병합될 수 있다. 이 대규모의 병합은 또한 지연을 일으켜, 다수의 편집 충돌들을 초래하고, 및/또는 관리하기 어려울 수 있다. 예를 들면, 문서들을 병합하는 것에 대한 책임이 있는 사용자는 문서들 사이의 관계를 추적할 필요가 있을 수 있다. 그 사용자는 또한 편집된 사본들 중 2개 이상의 사본들 사이의 충돌들을 해결하는 것에 대한 책임이 있을 수 있다.
이러한 및 다른 고려 사항들에 관련하여 본 명세가 만들어졌다.
이 개요는 아래 상세한 설명에서 더 설명되는 선택된 개념들을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 내용의 중요한 특징들 또는 본질적인 특징들을 확인하기 위해 의도된 것이 아니고, 청구된 내용의 범위를 결정하는 데 도움이 되는 것으로서 의도된 것도 아니다.
공동 저작 애플리케이션은 2명 이상의 사용자들이 한 문서를 동시에 편집할 수 있는 저작 환경을 제공한다. 각 사용자는 상기 문서의 사본을 편집하고, 주기적으로 상기 문서의 마스터 사본에 업데이트들을 송신하고, 주기적으로 상기 문서의 마스터 사본으로부터 업데이트들을 수신한다. 상기 저작 환경은 일반적으로 상기 사용자들이 상충되는 편집 명령을 상기 문서의 마스터 사본에 제공하는 것을 금한다. 다른 실시예들에서, 상기 저작 환경은 상기 사용자들이 상이한 시간에 상기 문서를 편집한다면 편집 충돌들을 금할 수 있다.
본 명세의 양태들에 따르면, 저작되는 각 문서는 하나 이상의 데이터 단위들로 분할될 수 있다. 각 사용자는 상기 데이터 단위들 중 하나 이상의 데이터 단위에 관한 콘텐트 잠금(content lock)을 생성할 수 있다. 데이터 단위에 관한 콘텐트 잠금을 생성하는 것은 다른 사용자들이 잠긴 데이터 단위를 편집하는 것을 금한다. 일 실시예에서, 콘텐트 잠금들은 상기 사용자가 상기 문서를 편집할 때 자동으로 확장 및/또는 축소될 수 있다.
본 명세의 다른 양태들에 따르면, 상기 저작 환경은 상기 문서의 사용자 사본들 및 마스터 사본 사이에 콘텐트 및 메타데이터 양쪽 모두를 동기화시킨다. 일반적으로, 상기 저작 환경은 상기 사용자들 중 한 명의 요청에 의해서만 메타데이터를 자동으로 동기화시키고 콘텐트를 동기화시킨다. 일 실시예에서, 상기 메타데이터는 콘텐트 잠금들을 포함한다.
이러한 및 다른 특징들 및 이점들은 다음의 상세한 설명을 읽고 관련 도면들을 검토하는 것으로부터 명백해질 것이다. 전술한 일반적인 설명 및 다음의 상세한 설명은 양쪽 모두 단지 설명적인 것이고 청구된 양태들을 제한하는 것이 아니라는 것을 이해해야 할 것이다.
도 1은 본 명세의 발명의 양태들의 예들인 특징들을 갖는 예시의 저작 시스템을 예시하는 개략 블록도이다.
도 2는 본 명세의 원리들에 따른, 제1 컴퓨팅 장치 상에 저장된 문서가 콘텐트 및 메타데이터를 포함할 수 있는 도 1의 저작 시스템을 예시하는 개략 블록도이다.
도 3은 본 명세의 원리들에 따른, 저작 시스템이 사용자 컴퓨팅 장치 상에 저장된 문서의 사본을 그 문서의 마스터 사본과 동기화시킬 수 있는 예시적인 동기화 프로세스를 예시하는 흐름도이다.
도 4는 본 명세의 원리들에 따른, 5개의 데이터 단위들을 갖고, 그 중 제2 데이터 단위가 잠겨 있는 문서의 개략 블록도이다.
도 5는 본 명세의 원리들에 따른, 제3 데이터 단위에 콘텐트 잠금이 추가된 도 4의 문서의 개략 블록도이다.
도 6은 본 명세의 원리들에 따른, 제2 및 제3 데이터 단위들에 대한 콘텐트 잠금들이 해제되고 제5 데이터 단위에 새로운 콘텐트 잠금이 추가된 도 4의 문서의 개략 블록도이다.
도 7은 본 명세의 원리들에 따른 잠금 테이블의 개략 블록도이다.
도 8은 본 명세의 원리들에 따른, 저작 애플리케이션의 사용자에 의해 행해진 업데이트들을 다른 사용자들과 공유하기 위해 저작 애플리케이션에 의해 구현되는 예시의 동기화 프로세스를 예시하는 흐름도이다.
도 9는 본 명세의 원리들에 따른, 저작 애플리케이션에 의해 편집되고 있는 문서 내에 다른 사용자들에 의해 행해진 업데이트들을 인스턴스화하기 위해 저작 애플리케이션에 의해 구현되는 다른 예시의 동기화 프로세스를 예시하는 흐름도이다.
도 10은 본 명세의 원리들에 따른, 저작될 문서의 마스터 사본이 저장될 제1 컴퓨팅 장치를 포함하는 저작 환경의 개략 블록도이다.
도 11은 본 명세의 원리들에 따른 저작 환경을 구현하도록 구성된 사용자 컴퓨팅 시스템의 개략 블록도이다.
도 12는 본 명세의 원리들에 따른 사용자 컴퓨팅 장치 상의 저작 애플리케이션에 의해 구현되는 동기화 사이클을 예시하는 저작 시스템의 개략 블록도이다.
도 13은 본 명세의 원리들에 따른, 사용자 컴퓨팅 시스템이 문서를 편집하는 동안에 업데이트들을 송신 및 수신할 수 있는 다른 예시적인 동기화 프로세스에 대한 동작 흐름을 예시하는 흐름도이다.
도 14-26은 본 명세의 원리들에 따른, 제1 및 제2 사용자 컴퓨팅 장치들의 제1 사용자 및 제2 사용자가 한 문서를 동시에 편집하는 공동 저작 세션 동안에 상이한 시점들에서 제1 컴퓨팅 장치, 제1 사용자 컴퓨팅 장치, 및 제2 사용자 컴퓨팅 장치 상에 저장된 캐시들의 개략 블록도들이다.
도 27-31은 본 명세의 원리들에 따른, 제1 사용자 및 제2 사용자가 한 문서를 공동으로 저작할 때 제1 저작 애플리케이션의 예시적인 사용자 인터페이스의 변경들을 예시한다.
다음의 상세한 설명에서는, 본 명세서의 일부를 형성하고 예시로서 특정한 실시예들 또는 예들이 도시되어 있는 첨부 도면들이 참조된다. 본 명세는 일반적으로 컴퓨터 시스템 상의 운영 체제에서 실행하는 애플리케이션 프로그램과 관련하여 실행하는 프로그램 모듈들에 관련하여 설명될 것이지만, 숙련된 당업자들은 본 명세는 다른 프로그램 모듈들과 관련하여 구현될 수도 있다는 것을 인지할 것이다. 여기에 설명된 실시예들은 조합될 수 있고 본 명세의 정신 또는 범위에서 벗어남이 없이 다른 실시예들이 이용될 수 있다. 그러므로 다음의 상세한 설명은 제한적인 점에서 해석되지 않아야 하고, 본 발명의 범위는 첨부된 청구항들 및 그들의 균등물들에 의해 정의된다.
본 명세의 실시예들은 다수의 사용자들이 한 문서를 공동으로 저작할 수 있는 환경을 제공한다. 도 1은 본 명세의 발명의 양태들의 예들인 특징들을 갖는 예시의 저작 시스템(100)을 예시한다. 이 저작 시스템(100)은 문서(150)의 마스터 사본을 저장하는 저장 장치(120)를 포함한다. 일 실시예에서, 저장 장치(120)는 컴퓨팅 장치를 포함할 수 있다. 다른 실시예에서, 저장 장치(120)는 하나 이상의 저장 장치들(예를 들면, 컴퓨팅 장치들의 네트워크)을 포함할 수 있다.
저작 시스템(100)은 또한 저장 장치(120)에 통신 연결되어 있는 적어도 하나의 사용자 컴퓨팅 장치(110)를 포함한다. 사용자 컴퓨팅 장치들(110) 각각은 문서(150)의 사용자 사본(155)을 생성하고 그 사용자 사본(155)을 편집하는 것에 의해 문서(150)를 편집할 수 있다. 문서(150)의 사용자 사본들(155)은 사용자 컴퓨팅 장치들(110)이 다른 사용자 컴퓨팅 장치들과 공유될 업데이트들을 저장 장치(120)에 주기적으로 송신하고 다른 사용자 컴퓨팅 장치들로부터의 업데이트들을 저장 장치(120)로부터 주기적으로 획득할 때 동기화된다.
이 용어가 여기에서 사용될 때, 사용자 컴퓨팅 장치(110)는 저작될 문서의 사용자 사본을 그 문서의 마스터 사본으로부터 획득하는 임의의 컴퓨팅 장치를 포함한다. 사용자 컴퓨팅 장치(110)는 저장 장치(120)와 다를 수 있고 또는 저장 장치(120) 상에 구현된 상이한 사용자 계정을 포함할 수 있다. 일 실시예에서, 하나의 문서에 대한 저장 장치(120)로서 기능하는 컴퓨팅 장치는 상이한 문서에 대한 사용자 컴퓨팅 장치(110)로서 기능할 수 있고 그 반대가 될 수도 있다.
도시된 예에서는, 4개의 사용자 컴퓨팅 장치들(110A, 110B, 110C, 및 110D)이 저장 장치(120)에 통신 연결되어 있다. 그러나, 다른 실시예들에서는, 임의의 수의 컴퓨팅 장치들(110)이 저장 장치(120)에 연결될 수 있다. 도시된 예에서는, 각 사용자 컴퓨팅 장치(110A, 110B, 110C, 110D)는 그 사용자 컴퓨팅 장치의 사용자에 의해 생성된 업데이트들을 저장 장치(120)에 송신할 수 있고 다른 사용자 컴퓨팅 장치들의 사용자들에 의해 생성된 업데이트들을 저장 장치(120)로부터 요청할 수 있다. 일 실시예에서, 저장 장치(120)는 서버 컴퓨팅 장치일 수 있고 사용자 컴퓨팅 장치들(110A, 110B, 110C, 110D)은 클라이언트 컴퓨팅 장치들일 수 있다.
도 2에 도시된 바와 같이, 저장 장치(120) 상에 저장된 문서(150)는 콘텐트(152) 및 메타데이터(154)를 포함할 수 있다. 사용자 컴퓨팅 장치들(110) 상의 저작 애플리케이션들(130)은 문서(150)의 사용자 사본들(155)의 콘텐트 및 메타데이터를 처리하고 조작한다. 일부 실시예들에서, 메타데이터(154)는 콘텐트(152)와 별도로 저장될 수 있다. 예를 들면, 콘텐트(152)는 문서(150)에 저장될 수 있고 메타데이터(154)는 문서(150)와 별도의 테이블(도 7 참조)에 저장될 수 있다. 그러나, 다른 실시예들에서, 메타데이터(154)는 문서(150) 내에 저장될 수 있다.
일반적으로, 사용자 컴퓨팅 장치들(110)은 메타데이터(154)에의 업데이트들과 별도로 콘텐트(152)에의 업데이트들을 동기화시킬 수 있다. 일반적으로, 메타데이터 업데이트들(154)은 저장 장치(120) 및 사용자 컴퓨팅 장치들(110) 사이에 자동으로 동기화되는 반면, 각 사용자 컴퓨팅 장치(110)로부터의 콘텐트 업데이트들(152)은 각각의 사용자의 요청에 의하여 동기화된다.
도 3은 저작 시스템(100)이 사용자 컴퓨팅 장치(110) 상에 저장된 문서의 사본(155)을 저장 장치(120) 상에 저장된 그 문서의 마스터 사본(150)과 동기화시킬 수 있는 예시적인 동기화 프로세스(300)를 예시하는 흐름도이다. 동기화 프로세스(300)는 시작 모듈(302)에서 초기화하고 시작하여 제1 업데이트 동작(304)으로 진행한다.
제1 업데이트 동작(304)은 사용자와의 어떠한 상호 작용도 요구하지 않고 사본(155)의 메타데이터를 문서(150)의 메타데이터와 동기화시킨다. 예를 들면, 제1 업데이트 동작(304)은 주기적인 시간 간격으로 저장 장치(120)와 사용자 컴퓨팅 장치(110) 사이의 메타데이터의 교환을 제공할 수 있다. 일 실시예에서, 제1 업데이트 동작(304)은 몇 초마다 메타데이터의 교환을 제공한다. 그러나, 다른 실시예에서, 제1 업데이트 동작(304)은 보다 짧은 또는 보다 긴 시간 간격으로 발생되는 메타데이터의 교환을 제공할 수 있다.
요청 모듈(306)은 콘텐트를 동기화시키는 요청이 수신되었는지를 결정한다. 예를 들면, 요청 모듈(306)은 사용자 컴퓨팅 장치들(110) 중 하나의 컴퓨팅 장치의 사용자가 다른 사용자들과 콘텐트 변경들을 공유하기 위해 요청하였는지를 결정할 수 있다. 다른 실시예에서, 요청 모듈(306)은 사용자 컴퓨팅 장치들(110) 중 하나의 컴퓨팅 장치의 사용자가 다른 사용자들에 의해 행해진 콘텐트 변경들을 보기 위해 요청하였는지를 결정할 수 있다.
만일 요청 모듈(306)이 콘텐트를 동기화시키는 요청이 행해지지 않았다고 결정하면, 동기화 프로세스(300)는 제1 업데이트 동작(304)으로 회귀하고 다시 시작한다. 그러나, 만일 요청 모듈(306)이 콘텐트를 동기화시키는 요청이 수신되었다고 결정하면, 동기화 프로세스(300)는, 저장 장치(120)와 사용자 컴퓨팅 장치(110) 사이의 콘텐트의 교환을 제공하는, 제2 업데이트 동작(308)으로 진행한다. 동기화 프로세스(300)는 정지 모듈(310)에서 완료하고 종료한다.
용어가 여기에서 사용될 때, 콘텐트 업데이트들(152)은 문서의 실체적인 콘텐트에 행해진 임의의 추가, 삭제, 및/또는 수정을 지칭한다. 예를 들면, 워드 프로세싱 문서에 대한 콘텐트 업데이트들은 추가된 단락들(즉, 또는 그의 부분들), 삭제된 단락들(즉, 또는 그의 부분), 및/또는 수정된 단락들(즉, 또는 그의 부분들)을 포함할 수 있다. 다른 실시예에서, 프리젠테이션 문서에 대한 콘텐트 업데이트들은 추가된, 삭제된, 및/또는 수정된 그림들, 텍스트, 애니메이션들, 사운드들, 및 기타 그러한 데이터 개체들을 포함할 수 있다.
용어가 여기에서 사용될 때, 메타데이터 업데이트들(154)은 문서의 메타데이터에 행해진 임의의 추가, 삭제, 및/또는 수정을 지칭한다. 문서 메타데이터의 비제한적인 예들은 콘텐트 잠금들, 프레즌스 정보(presence information), 및 기타 그러한 데이터를 포함한다. 여기에서 논의되는 바와 같이, 콘텐트 잠금들은 그 잠금을 소유하지 않는 사용자들에 의한 그 잠금 내의 콘텐트의 편집을 금한다. 프레즌스 정보는 여기에서 더 상세히 설명되는 바와 같이 어느 사용자들이 문서를 편집하려는 의도를 나타내었는지를 표시한다.
도 4-9를 참조하면, 콘텐트 잠금들은 문서의 어느 부분들이 다른 사용자에 의해 청구(claim)되었는지를 표시하는 것에 의해 편집 충돌들을 금한다. 일부 실시예들에서, 콘텐트 잠금들은 사용자가 다른 사용자에 의해 청구된 문서의 부분을 편집하는 것을 방해할 수 있다(즉, 금할 수 있다). 그러나, 다른 실시예들에서, 사용자는 콘텐트 잠금을 깨고 문서의 그 부분을 편집하기로 결정할 수 있다. 그러한 경우에, 잠금은 잠긴 부분을 편집할 때 충돌이 일어날 수 있다고 사용자에게 경고할 수 있다.
예를 들면, 도 4는 5개의 데이터 단위들(410, 420, 430, 440, 450)을 갖는 문서(400)의 개략 블록도이다. 일 실시예에서, 문서(400)는 워드 프로세싱 문서이고 데이터 단위들(410-450)은 텍스트의 단락들이다. 다른 실시예에서, 문서(400)는 프리젠테이션 문서이고 제1 데이터 단위(410)는 표제(title) 또는 주제 제목(subject heading)이고, 제2 데이터 단위(420)는 그림 또는 다른 데이터 개체이고, 나머지 데이터 단위들(430, 440, 450)은 텍스트의 블록들이다.
제1 사용자는 문서(400)의 데이터 단위들(410-450) 중 하나 이상의 데이터 단위에 관한 잠금을 생성할 수 있다. 도 4에 도시된 예에서, 제2 데이터 단위(420)는 사선(cross-hatching)에 의해 나타내어진 바와 같이, 제1 사용자에 의해 잠겼다. 콘텐트 잠금을 생성함으로써, 제1 사용자는 제1 사용자가 그 데이터 단위(420)를 편집하려고 한다는 것을 나타낼 수 있다. 예를 들면, 사용자는 그 사용자가 그 데이터 단위(420)를 활발히 편집하고 있을 때 잠금을 생성할 수 있다. 다른 실시예에서, 사용자는 잠금을 생성하고 그 후 나중에 데이터 단위(420)를 편집할 수 있다. 전술한 바와 같이, 문서(400)를 관리하는 저작 애플리케이션은 제1 사용자 이외의 사용자가 잠긴 데이터 단위(420)를 편집하는 것을 방해할 수 있다.
일반적으로, 제1 사용자에 의해 생성된 콘텐트 잠금은 그 잠금의 수명 동안에 문서에 액세스하는 모든 다른 사용자들에게 디스플레이된다. 일 실시예에서, 제1 사용자도 콘텐트 잠금을 볼 수 있다. 잠금들은 상이한 표시 유형들을 이용하여 디스플레이될 수 있다. 예를 들면, 일 실시예에서, 잠긴 데이터 단위의 배경이 채색되거나, 음영이 들어가거나(shade), 패터닝될 수 있다(예를 들면, 도 4의 데이터 단위(420) 참조). 다른 실시예에서, 잠긴 단위의 콘텐트(예를 들면, 텍스트, 그림, 모양, 또는 다른 데이터 개체)가 채색되거나, 그늘지거나, 패터닝될 수 있다. 또 다른 실시예에서는, 잠금을 표시하기 위해 잠긴 데이터 단위에 인접하여 박스, 각괄호(bracket), 또는 심벌이 디스플레이될 수 있다.
콘텐트 잠금은 문서 내의 하나 이상의 데이터 단위들 주위에 생성될 수 있다. 일부 실시예들에서, 콘텐트 잠금은 사용자로부터의 명백한 명령 없이 암시적으로 생성될 수 있다. 예를 들면, 저작 애플리케이션은 사용자가 데이터 단위 내에 커서를 배치하거나, 데이터 단위를 강조(highlight)하거나, 또는 다른 방법으로 데이터 단위를 선택할 때 그 데이터 단위에 관한 콘텐트 잠금을 생성할 수 있다. 다른 실시예에서, 저작 애플리케이션은 사용자가 데이터 단위를 편집하기 시작할 때 그 데이터 단위에 관한 콘텐트 잠금을 생성할 수 있다. 다른 실시예에서, 저작 애플리케이션은 사용자가 데이터 단위에 행해진 편집들을 저장할 때 그 데이터 단위에 관한 콘텐트 잠금을 생성할 수 있다. 일부 실시예들에서, 저작 애플리케이션은 데이터 단위들 중 하나의 데이터 단위만이 사용자에 의해 청구되는 경우에도 문서 내의 다수의 상호 의존적인 데이터 단위들 주위에 콘텐트 잠금들을 생성할 수 있다. 다른 실시예들에서, 사용자는 하나 이상의 데이터 단위에 관한 콘텐트 잠금을 명시적으로 정의할 수 있다.
일부 실시예들에서, 콘텐트 잠금은 문서 내의 추가적인 데이터 단위들을 포함하도록 확장되고 및/또는 문서 내의 하나 이상의 데이터 단위들을 해제하도록 축소될 수 있다. 일 실시예에서, 콘텐트 잠금은 인접한(contiguous) 데이터 단위들만을 포함하도록 확장될 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 제2 데이터 단위(420) 주위의 콘텐트 잠금(예를 들면, 사선 참조)은 만일 사용자가 제3 데이터 단위(430)를 선택하거나 편집하면 제3 데이터 단위(430)를 포함하도록 확장할 수 있다. 콘텐트 잠금 또는 그의 부분들은 일반적으로 콘텐트 잠금을 생성한 사용자의 재량으로 해제될 수 있다. 일부 실시예들에서, 콘텐트 잠금을 생성한 사용자는 다른 데이터 단위를 선택하거나 편집하는 것에 의해 콘텐트 잠금을 해제한다.
일 실시예에서, 사용자는 저작 애플리케이션이 잠금을 해제하기 전에 사용자가 데이터 단위의 편집을 완료한 것을 표시해야 한다. 예를 들면, 저작 애플리케이션은 사용자가 문서를 저장하는 명령을 제공한 후에만 잠금을 해제할 수 있다. 다른 실시예에서, 저작 애플리케이션은 사용자가 도 6의 제5 데이터 단위(450)와 같은 원격 데이터 단위를 선택하거나 편집하기 시작한 후에 잠금을 해제할 수 있다. 다른 실시예에서, 저작 애플리케이션은 인접하지 않은(non-contiguous) 데이터 단위로의 이동 및 완료화 단계(finalization act)(예를 들면, 문서를 저장하는 명령) 후에만 잠금을 해제한다. 다른 실시예들에서, 콘텐트 잠금은 관리자 또는 다른 사용자에 의해 명시적으로 해제될 수 있다.
도 7을 참조하면, 잠금 메타데이터는 각종의 상이한 포맷으로 저장될 수 있다. 예를 들면, 도 7의 잠금 메타데이터는 테이블 포맷(500)으로 저장된다. 도 7의 잠금 테이블(500)은 사용자들의 목록을 포함하고, 그들 각각은 그 사용자에게 고유하게 할당되는 사용자 식별자(예를 들면, ID 번호(identificaiton number))로 식별된다. 잠길 데이터 단위들은 문서 내의 각 데이터 단위에 고유하게 할당되는 단위 식별자들(예를 들면, ID 번호들)로 식별된다. 잠금 테이블(500)은 잠길 하나 이상의 데이터 단위의 단위 식별자들을 그 잠금들을 소유하는 사용자들의 사용자 식별자들과 관련시킨다.
예를 들면, 잠금 테이블(500)에서, 데이터 단위들(512 및 514)은 제1 사용자(510)와 관련된다. 따라서, 다른 사용자들은 데이터 단위들(512 및 514)을 편집하는 것이 금지된다. 데이터 단위(522)는 사용자(520)와 관련된다. 따라서, 제1 사용자(510)를 포함하는 다른 사용자들은 데이터 단위(522)를 편집하는 것이 금지된다. 제4 사용자(540)는 문서의 어떤 부분도 잠그지 않았고 따라서 어떤 단위 식별자들과도 관련되지 않는다. 그러나, 다른 실시예들에서, 잠금 메타데이터는 상이한 포맷으로 또는 문서 내에 저장될 수 있다. 예를 들면, 잠금 테이블(500)은 사용자 식별자에 의하는 대신에 단위 식별자에 의해 배열될 수 있다.
프레즌스 메타데이터도 각종의 포맷으로 저장될 수 있다. 예를 들면, 프레즌스 메타데이터는 도 7의 잠금 테이블(500)에 저장될 수 있다. 그러나, 다른 실시예에서, 프레즌스 메타데이터는 별도의 테이블에 또는 상이한 포맷으로 저장될 수 있다. 프레즌스 메타데이터는 현재 문서에 액세스하고 있는 또는 문서의 데이터 단위에 대한 권리를 주장한(예를 들면, 콘텐트 잠금을 생성한) 각 사용자의 사용자 식별자를 포함한다. 예를 들면, 잠금 테이블(500)과 같은 메타데이터 테이블은 문서의 적어도 하나의 데이터 단위에 대한 권리를 갖는 각 사용자의 사용자 식별자를 저장할 수 있다. 잠금 메타데이터와 같이, 프레즌스 메타데이터는 자동으로 동기화될 수 있다.
도 8 및 9는 콘텐트 및 잠금들이 다수의 컴퓨팅 장치들 사이에 동기화될 수 있는 예시의 동기화 프로세스들(600, 700)을 예시하는 흐름도들이다. 제1 동기화 프로세스(600)는 저작 애플리케이션을 이용해 제1 사용자에 의해 행해진 업데이트들을 다른 사용자들과 공유하기 위해 저작 애플리케이션에 의해 구현된다. 제2 동기화 프로세스(700)는 저작 애플리케이션을 이용해 편집되고 있는 문서 내에 다른 사용자들에 의해 행해진 업데이트들을 인스턴스화하기 위해 저작 애플리케이션에 의해 구현된다.
도 8의 제1 동기화 프로세스(600)는 시작 모듈(602)에서 초기화하고 시작하여 수신 동작(604)으로 진행한다. 수신 동작(604)은 문서 내의 하나 이상의 데이터 단위에 대한 편집 동작을 수행하기 위한 명령을 제1 사용자로부터 수신한다. 편집 동작들의 비제한적인 예들은 데이터 단위들(예를 들면, 텍스트, 그림, 사진, 모양, 제목 등) 또는 그의 부분들을 추가하고, 편집하고, 및/또는 삭제하는 것, 데이터 단위들의 포맷팅을 추가하고 및/또는 삭제하는 것, 데이터 단위들의 시퀀스를 재배열하는 것, 및 다른 그러한 동작들을 포함한다.
제1 결정 모듈(606)은 편집 동작이 수행될 데이터 단위가 잠겨 있는지를 확인한다. 예를 들면, 제1 결정 모듈(606)은 도 7의 잠금 테이블(500)과 같은 잠금 테이블에 액세스하여 그 데이터 단위에 할당된 고유 식별자가 임의의 사용자와 관련되어 있는지를 결정할 수 있다. 다른 실시예에서, 제1 결정 모듈(606)은 다른 방법으로 그 데이터 단위가 잠겨 있는지를 결정할 수 있다.
만일 제1 결정 모듈(606)이 그 데이터 단위가 잠겨 있지 않다고 결정하면, 생성 동작(608)은 그 데이터 단위에 대한 콘텐트 잠금을 생성한다. 예를 들면, 일 실시예에서, 생성 동작(608)은 그 데이터 단위의 단위 식별자와 제1 사용자의 사용자 식별자를 관련시키는 항목을 도 7의 잠금 테이블(500)에 추가할 수 있다. 송신 동작(610)은 새로이 생성된 잠금의 존재를 나타내는 잠금 메타데이터를 그 문서의 마스터 사본을 저장하는 장치에 송신한다. 예를 들면, 송신 동작(610)은 그 잠금 메타데이터를 도 1의 컴퓨팅 장치(110A)와 같은 사용자 컴퓨팅 장치로부터 저장 장치(120)와 같은 저장 장치로 송신할 수 있다. 일 실시예에서, 잠금 메타데이터는 그 잠금 메타데이터에의 증분 편집들(incremental edits)(예를 들면, 델타 상태들)을 기술하는 명령을 포함한다. 구현 동작(614)은 그 데이터 단위에 대한 편집 동작을 수행한다.
대안적으로, 만일 제1 결정 모듈(606)이 그 데이터 단위가 잠겨 있다고 결정하면, 제2 결정 모듈(612)은 그 잠금에 대한 소유권 정보를 획득한다. 일 실시예에서, 만일 제2 결정 모듈(612)이 그 잠금이 다른 사용자에 의해 소유된다고 결정하면, 동기화 프로세스(600)는 편집 동작을 수행하지 않고 정지 모듈(620)에서 완료하고 종료한다. (도시되지 않은) 다른 실시예에서, 동기화 프로세스(600)는 제1 사용자가 잠금을 깨고 생성 동작(608)으로 진행하기로 결정하는 것을 가능하게 할 수 있다. 그러나, 만일 제2 결정 모듈(612)이 그 잠금이 제1 사용자에 의해 소유된다고 결정하면, 동기화 프로세스(600)는 전술한 구현 동작(614)으로 진행한다. (도시되지 않은) 다른 실시예에서, 동기화 프로세스(600)는 임의의 데이터 단위들에 대한 잠금이 해제되어야 하는지를 결정할 수 있다.
제3 결정 동작(616)은 제1 사용자가 편집 동작을 구현하는 것으로부터 생긴 데이터 단위에의 콘텐트 변경들을 공유하기 위한 명령을 (명시적으로 또는 암시적으로) 제공하였는지를 결정한다. 예를 들면, 제3 결정 동작(616)은 제1 사용자가 문서를 저장하는 명령을 제공하였는지를 결정할 수 있다. 다른 실시예에서, 제3 결정 동작(616)은 제1 사용자가 "변경 공유(share changes)" 버튼 또는 다른 그러한 표시를 선택하였는지를 결정할 수 있다. 다른 실시예에서, 제3 결정 동작(616)은 애플리케이션에 의해 자동 저장(auto-save) 특징이 구현된 것을 결정할 수 있다. 만일 제3 결정 동작(616)이 공유하는 명령이 제공되지 않았다고 결정하면, 동기화 프로세스(600)는 수신 동작(604)으로 회귀하고 다시 시작한다.
그러나, 만일 결정 동작(616)이 공유하는 명령이 제공되었다고 결정하면, 동기화 프로세스(600)는 문서의 마스터 사본을 저장하는 장치에 콘텐트 업데이트들을 송신하는 송신 동작(618)으로 진행한다. 콘텐트 업데이트들은 편집 동작에 의해 문서의 콘텐트에 행해진 변경들을 나타낸다. 예를 들면, 송신 동작(618)은 콘텐트 업데이트들을 도 1의 사용자 컴퓨팅 장치(110A)로부터 저장 장치(120)로 송신할 수 있다. 일 실시예에서, 콘텐트 업데이트들은 문서의 새로이 생성된 버전을 포함한다. 다른 실시예에서, 콘텐트 업데이트들은 문서의 현재의 사용자 사본과 문서의 마스터 사본 사이의 콘텐트에의 증분 편집들(예를 들면, 델타 상태들)을 나타낸다. 동기화 프로세스(600)는 전술한 바와 같이 정지 모듈(620)에서 완료하고 종료한다.
도 9의 제2 동기화 프로세스(700)는 시작 모듈(702)에서 초기화하고 시작하여 수신 동작(704)으로 진행한다. 수신 동작(704)은 다른 사용자들에 의해 문서에 행해진 변경들에 기초한 업데이트를 수신한다. 그 업데이트는 문서의 콘텐트 및/또는 메타데이터에의 변경들을 포함할 수 있다. 일 실시예에서, 수신 동작(704)은 문서의 마스터 사본을 저장하는 장치를 폴링(poll)하여 업데이트들을 요청할 수 있다. 다른 실시예에서, 마스터 사본을 저장하는 장치는 저작 애플리케이션에 변경들을 푸시(push)할 수 있다.
제1 결정 모듈(706)은 업데이트들이 문서의 메타데이터에의 임의의 변경들을 포함하는지를 결정한다. 예를 들면, 제1 결정 모듈(706)은 임의의 다른 사용자가 새로운 잠금을 설정하였는지 데이터 단위에 대한 잠금을 해제하였는지를 결정할 수 있다. 다른 실시예에서, 제1 결정 모듈(706)은 다른 사용자가 문서에 액세스하였는지를 결정할 수 있다.
만일 제1 결정 모듈(706)이 메타데이터 업데이트가 수신되었다고 결정하면, 구현 동작(708)은 수신된 메타데이터 업데이트들을 자동으로 인스턴스화한다. 예를 들면, 구현 동작(708)은 저작 애플리케이션으로 하여금 메타데이터 업데이트에 기초하여 도 7의 잠금 테이블(500)과 같은 잠금 테이블을 업데이트하게 할 수 있다. 그러나, 만일 제1 결정 모듈(706)이 메타데이터 업데이트가 수신되지 않았다고 결정하면, 제2 동기화 프로세스(700)는 제2 결정 모듈(710)로 진행한다.
제2 결정 모듈(710)은 업데이트가 문서의 콘텐트에의 임의의 변경들을 포함하는지를 결정한다. 예를 들면, 제2 결정 모듈(710)은 임의의 데이터 단위들이 추가, 삭제, 수정, 또는 이동되었는지를 결정할 수 있다. 만일 제2 결정 모듈(710)이 콘텐트 업데이트가 수신되지 않았다고 결정하면, 제2 동기화 프로세스(700)는 수신 동작(704)으로 회귀하여 다시 시작한다. 그러나, 만일 제2 결정 모듈(710)이 콘텐트 업데이트가 수신되었다고 결정하면, 제2 동기화 프로세스(700)는 표시 동작(712)으로 진행한다.
표시 동작(712)은 콘텐트 업데이트가 보기(viewing)를 위해 이용 가능하다는 것을 제1 사용자에게 경고한다. 예를 들면, 표시 동작(712)은 콘텐트 업데이트의 이용 가능성을 표시하는 그래픽, 텍스트, 박스, 수치 표시, 또는 다른 메시지를 디스플레이할 수 있다. 일 실시예에서, 표시 동작(712)은 몇 개의 업데이트들이 이용 가능한지를 나타내는 정보를 사용자에게 제공한다. 업데이트들에 관한 다른 정보(예를 들면, 업데이트를 만든 사용자, 타임스탬프 등)가 또한 표시될 수 있다.
제3 결정 모듈(714)은 저작 애플리케이션이 콘텐트 업데이트들을 보기 위한 및/또는 인스턴스화하기 위한 명령을 제1 사용자로부터 (명시적으로 또는 암시적으로) 수신하였는지를 결정한다. 예를 들면, 제3 결정 모듈(714)은 사용자가 저작 애플리케이션의 뷰 옵션(view option)을 (예를 들면, 버튼, 메뉴, 또는 다른 인터페이스 도구를 통해) 선택하였는지를 결정할 수 있다. 다른 실시예에서, 제3 결정 모듈(714)은 사용자가 자동-인스턴스화 옵션(auto-instantiate option)을 선택한 것을 결정할 수 있다. 만일 제3 결정 모듈(714)이 저작 애플리케이션이 제1 사용자로부터 그러한 명령을 수신하지 않았다고 결정하면, 제2 동기화 프로세스(700)는 수신 동작(704)으로 회귀하여 다시 시작한다.
만일 제3 결정 모듈(714)이 저작 애플리케이션이 제1 사용자로부터 명령을 수신하였다고 결정하면, 인스턴스화 동작(716)은 콘텐트 업데이트들을 제1 사용자에게 디스플레이한다. 예를 들면, 일 실시예에서, 인스턴스화 동작(716)은 이용 가능한 콘텐트 업데이트들을 문서의 제1 사용자의 사본에 병합할 수 있다. 다른 실시예에서, 인스턴스화 동작(716)은 어느 콘텐트가 변하였는지를 나타내기 위해 문서의 제1 사용자의 사본에 주석을 달 수 있다. 추가적인 주석들은 어느 사용자들이 어느 변경들을 행하였는지를 나타낼 수 있다. 일 실시예에서, 인스턴스화 동작(716)은 사용자 사본과 업데이트들 사이의 충돌 해결을 수행한다. 제2 동기화 프로세스(700)는 정지 모듈(718)에서 완료하고 종료한다.
도 10-12는 문서의 사용자 사본과 마스터 사본 사이의 동기화가 사용자 컴퓨팅 장치에 의해 어떻게 구현되는지를 보다 상세히 제공한다. 도 10은 저작될 문서의 마스터 사본이 저장될 저장 장치(820)를 포함하는 저작 시스템(800)의 개략 블록도이다. 저작 시스템(800)은 또한 저장 장치(820)에 통신 연결된 적어도 하나의 사용자 컴퓨팅 장치(810)를 포함한다.
사용자 컴퓨팅 장치(810)는 사용자가 저작될 문서를 생성하고 및/또는 조작할 수 있는 저작 환경을 제공하도록 구성된 저작 애플리케이션(812)을 포함한다. 사용자 컴퓨팅 장치(810)는 또한 캐시(814), 층 개체(layer object)("LO")(816), 및 동기화 매니저("sync manager")(818)를 포함한다. 캐시(814)는 저작될 문서의 사용자 사본을 저장한다. 캐시(814)는 또한 문서와 관련된, 잠금 및 프레즌스 메타데이터를 포함하는, 메타데이터를 저장한다. 문서의 콘텐트 및 메타데이터에의 업데이트들도 캐시(814)에 저장될 수 있다.
층 개체(816)는 저작 애플리케이션(812)과 캐시(814) 사이의 인터페이스를 제공한다. 층 개체(816)는 또한 저작 애플리케이션(812)과 동기화 매니저(818) 사이의 인터페이스를 제공한다. 동기화 매니저(818)는 저장 장치(820)와 통신하고 저장 장치(820)와 캐시(814) 사이의 인터페이스를 제공한다. 예를 들면, 동기화 매니저(818)는 저장 장치(820) 및 캐시(814)에 업데이트들을 송신하고 그것들로부터 업데이트들을 획득할 수 있다.
일반적으로, 본 명세의 원리들에 따른 발명의 양태들의 예들인 특징들을 갖는 저작 환경은 사용자 컴퓨팅 장치(예를 들면, 퍼스널 컴퓨터, 서버 컴퓨터, 노트북 컴퓨터, PDA, 스마트폰, 또는 임의의 다른 그러한 컴퓨팅 장치) 상에 구현될 수 있다. 저작 환경을 구현하도록 구성된 사용자 컴퓨팅 시스템(900)의 비제한 적인 실시예가 도 11에 관련하여 여기에 설명된다.
도 11에서, 본 명세의 원리들을 구현하기 위한 예시적인 컴퓨팅 시스템(900)은 사용자 컴퓨팅 장치(910)와 같은 사용자 컴퓨팅 장치를 포함하다. 기본 구성에서, 사용자 컴퓨팅 장치(910)는 전형적으로 시스템 메모리(920)에 저장된 애플리케이션들 및 프로그램들을 실행하기 위한 적어도 하나의 처리 장치(915)를 포함한다. 컴퓨팅 장치(910)의 정확한 구성 및 유형에 따라서, 시스템 메모리(920)는 RAM, ROM, EEPROM, 플래시 메모리, CD-ROM, DVD(digital versatile disks) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 다른 메모리 기술을 포함할 수 있지만, 이에 제한되는 것은 아니다.
시스템 메모리(920)는 전형적으로 컴퓨팅 장치(910)의 동작을 제어하기에 적합한, 워싱턴주, 레드먼드의 마이크로소프트사로부터의 WINDOWS® 운영 체제와 같은 운영 체제(922)를 저장한다. 시스템 메모리(920)는 또한 문서의 사용자 사본(927)이 저장될 수 있는 문서 캐시(926)를 포함할 수 있다. 문서의 메타데이터(929)도 사용자 캐시(926)에 저장될 수 있다.
시스템 메모리(920)는 또한 문서들을 생성 및 편집하기 위한 저작 애플리케이션(924)과 같은 하나 이상의 소프트웨어 애플리케이션을 저장할 수 있다. 본 명세의 원리들에 따른 문서들을 저작하기에 적합한 저작 애플리케이션(924)의 하나의 비제한적인 예는 워싱턴주, 레드먼드의 마이크로소프트사로부터의 MICROSOFT® OFFICE WORD 저작 소프트웨어이다. 저작 애플리케이션들의 다른 비제한적인 예들은 POWERPOINT® 프리젠테이션 소프트웨어 및 VISIO® 드로잉 및 다이어그래밍 소프트웨어를 포함하고, 이것들도 워싱턴주, 레드먼드의 마이크로소프트사로부터 출시된 것들이다.
컴퓨팅 장치(910)는 또한 데이터를 입력하고 조작하기 위한, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등의, 입력 장치(들)(930)를 가질 수 있다. 디스플레이 화면, 스피커, 프린터 등의, 출력 장치(들)(935)도 포함될 수 있다. 이들 출력 장치들(935)은 당업계에 잘 알려져 있어 여기서 장황하게 설명될 필요가 없다.
컴퓨팅 장치(910)는 또한 그 장치(910)가 분산 컴퓨팅 환경에서의 네트워크(예를 들면, 인트라넷 또는 인터넷)를 통하여 다른 컴퓨팅 장치들, 예를 들면, 도 10의 저장 장치(820)와 통신할 수 있게 하는 통신 접속들(940)을 포함할 수 있다. 예로서, 통신 장치 매체들(940)은 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체들, 및 음향, RF, 적외선 및 기타 무선 매체들과 같은 무선 매체들을 포함하지만, 이에 제한되는 것은 아니다.
도 12는 사용자 컴퓨팅 장치 상의 저작 애플리케이션에 의해 구현되는 동기화 사이클을 예시하는 저작 시스템(1000)의 개략 블록도이다. 저작 시스템(1000)은 저작될 문서가 저장될 저장 장치(1020) 및 사용자 컴퓨팅 장치(1010)를 포함한다. 사용자 컴퓨팅 장치(1010)는 저작 애플리케이션(1012), 캐시(1014), 층 개체(1016), 및 동기화 매니저(1018)를 포함한다. 사용자 컴퓨팅 장치(1010)의 캐시(1014)는 저작될 문서의 기초 사본(base copy)(1013), 작업 사본(working copy)(1015), 업로드 사본(1017), 및 다운로드 사본(1019)을 저장하도록 구성된다. 캐시(1014)는 또한 문서의 메타데이터(1011)를 저장하도록 구성된다.
도 13은 사용자 컴퓨팅 장치(1010)와 같은 사용자 컴퓨팅 시스템이 문서를 저작하는 동안에 업데이트들을 송신 및 수신할 수 있는 예시적인 동기화 프로세스(1100)에 대한 동작 흐름을 예시하는 흐름도이다. 동기화 프로세스(1100)는 시작 모듈(1102)에서 초기화하고 시작하여 획득 동작(1104)으로 진행한다. 획득 동작(1104)은 사용자 컴퓨팅 장치(1010)의 동기화 매니저(1018)로 하여금 저장 장치(1020)로부터 저작될 문서의 다운로드 사본(1017)을 획득하게 한다. 문서의 다운로드 사본(1017)은 저장 장치(1020)로부터 문서가 획득되는 때의 문서의 마스터 사본의 상태를 반영한다. 예를 들면, 획득 동작(1104)은 동기화 매니저(1018)로 하여금 저장 장치(1020)로부터 문서의 마스터 사본의 가장 최근 버전의 사본을 획득하게 할 수 있다.
생성 동작(1106)은 다운로드 사본(1017)에 기초하여 문서의 기초 사본(1013) 및 작업 사본(1015)을 생성한다. 문서의 작업 사본(1015)은 사용자가 문서를 편집할 수 있도록 저작 애플리케이션(1012)에 의해 조작될 수 있다. 따라서, 작업 사본(1015)은 저작 애플리케이션(1012)의 사용자에 의해 편집된 문서의 현재 상태를 반영한다. 기초 사본(1013)은 사용자가 문서를 편집하기 시작하기 바로 전 시점의 문서의 상태를 반영한다. 일 실시예에서, 층 개체(1016)는 문서의 기초 사본(1013) 및 작업 사본(1015)을 생성하고 작업 사본(1015)을 저작 애플리케이션(1012)에 제공한다.
다른 사용자들에 의해 생성된 콘텐트 업데이트들을 획득하기 위해, 폴링 동작(poll operation)(1108)은 동기화 매니저(1018)로 하여금 주기적으로 저장 장치(1020)와 접촉하여 저작되고 있는 문서의 업데이트된 다운로드 사본(1017)을 획득하게 한다. 다운로드 사본(1017)은 다운로드 시점의 문서의 마스터 사본의 상태를 반영한다. 마스터 사본은 저장 장치(1020) 상에 저장되고 기초 사본(1013)이 생성된 이후 다른 사용자들에 의해 행해진 변경들을 포함할 수 있다. 동기화 매니저(1018)는 문서의 임의의 업데이트된 다운로드 사본(1017)을 캐시(1014)에 저장한다.
편집 동작(1110)은 문서에 대한 편집 동작을 수행하기 위해 사용자에 의해 제공되는 임의의 명령을 저작 애플리케이션(1012)에 수신한다. 애플리케이션(1012)은 문서(1015)의 작업 사본에 편집들을 행한다. 저작 애플리케이션(1012)은 또한 편집 동작을 구현할 때 적절한 메타데이터 변경들을 행한다.
제1 결정 모듈(1112)에서, 층 개체(1016)는 캐시(1014)를 확인하여 폴링 동작(1108) 동안에 임의의 업데이트들이 수신되었는지(즉, 캐시(1014)에서 업데이트된 다운로드 사본(1017)이 이용 가능한지)를 결정한다. 일 실시예에서, 제1 결정 모듈(1112)은 사용자가 문서의 작업 사본을 편집하였는지 여부에 관계없이 주기적인 간격으로 수행된다. 상이한 실시예들에서, 제1 결정 모듈(1112)은, 예를 들면, 몇 초, 밀리초, 분마다 수행될 수 있다.
만일 층 개체(1016)가 새로운 다운로드 사본(1017)이 이용 가능하지 않다고 결정하면, 동기화 프로세스(1100)는 아래에 더 상세히 논의되는 제2 결정 모듈(1116)로 진행한다. 그러나, 만일 층 개체(1016)가 새로운 다운로드 사본(1017)이 이용 가능하다고 결정하면, 동기화 프로세스(1100)는 동기화 동작(1114)으로 진행한다. 일 실시예에서, 동기화 동작(1114)은 저작 애플리케이션(1012)의 사용자와의 어떤 상호 작용도 요구하지 않고 다운로드 사본(1017)에서 발견되는 임의의 메타데이터 업데이트들을 자동으로 인스턴스화한다. 예를 들면, 층 개체(1016)는 다운로드 사본(1017)에 반영된 임의의 잠금 메타데이터를 문서의 작업 사본(1015)에 자동으로 인스턴스화할 수 있다.
일부 실시예들에서, 동기화 동작(1114)은 다운로드 사본(1017)으로부터의 임의의 콘텐트 업데이트들을 작업 사본(1015)에 자동으로 인스턴스화하지 않는다. 그보다는, 동기화 동작(1114)은 저작 애플리케이션(1012)의 사용자가 콘텐트 업데이트들을 통합하는 명령을 제공할 때에만 콘텐트 업데이트들을 인스턴스화한다. 그러나, 다른 실시예들에서, 동기화 동작(1114)은 콘텐트 업데이트들을 자동으로 인스턴스화한다. 일 실시예에서, 동기화 동작(1114)은 층 개체(1016)로 하여금 통합하는 명령이 제공될 때 업데이트된 다운로드 사본(1017)을 작업 사본(1015)과 병합하게 한다. 일 실시예에서, 동기화 동작(1114)은 도 9에 도시된 제2 동기화 프로세스(700)와 동일하다. 그러나, 다른 실시예들에서는, 업데이트들을 문서의 작업 사본(1015)과 통합하기 위해 다른 동기화 프로세스들이 이용될 수 있다. 동기화 프로세스(1100)는 동기화 동작(1114)으로부터 제2 결정 모듈(1116)로 진행한다.
제2 결정 모듈(1116)은 사용자가 편집 동작(1110) 동안에 문서의 작업 사본(1015)에 또는 문서의 메타데이터(1011)에 임의의 변경들을 행하였는지를 결정한다. 만일 제2 결정 모듈(1116)이 어떠한 편집도(즉, 콘텐트도 메타데이타도) 행해지지 않았다고 결정하면, 동기화 프로세스(1100)는 폴링 동작(1108)으로 회귀하여 다시 시작한다. 그러나, 만일 제2 결정 모듈(1116)이 사용자가 콘텐트 편집들(예를 들면, 문서의 데이터 단위를 수정하는 것) 및/또는 메타데이터 편집들(예를 들면, 문서의 데이터 단위를 잠그는 것)을 행하였다고 결정하면, 공유 동작(1118)은 그 편집들을 저장 장치(1020)와 동기화시킨다.
공유 동작(1118)은 사용자 컴퓨팅 장치(1010)의 동기화 매니저(1018)로 하여금 저작 애플리케이션(1012)의 사용자로부터의 어떠한 상호 작용도 요구하지 않고 문서의 메타데이터에의 임의의 변경들을 저장 장치(1020)에 자동으로 송신하게 한다. 일 실시예에서, 공유 동작(1118)은 동기화 매니저(1018)로 하여금 콘텐트 업데이트들을 저장 장치(1020)에 자동으로 송신하게 하지 않는다. 그보다는, 동기화 매니저(1018)는 층 개체(1016)에 의해 그렇게 하도록 지시를 받는 경우에만 콘텐트 업데이트들을 저장 장치(1020)에 송신한다. 메타데이터만을 자동으로 푸시하는 것은 업데이트 효율을 증가시킴으로써 사용자 경험을 향상시키고, 네트워크 대역폭 사용을 감소시키고, 콘텐트의 자동 동기화(auto-syncing)를 요구하지 않고 충돌 금지를 제공할 수 있다. 그러나, 다른 실시예들에서, 공유 동작(1118)은 메타데이터뿐만 아니라 콘텐트도 자동으로 푸시한다. 일 실시예에서, 공유 동작(1118)은 도 8의 제1 동기화 프로세스(600)와 동일하다. 그러나, 다른 실시예들에서는 다른 동기화 프로세스들이 이용될 수 있다.
예를 들면, 사용자가 사용자에 의해 행해진 콘텐트 수정들을 공유하기를 원할 경우, 사용자는 문서의 마스터 사본과의 통합을 위해 저장 장치(1020)에 그 수정들을 제출하도록 저작 애플리케이션(1012)에 지시할 것이다. 일 실시예에서, 저작 애플리케이션(1012)은 문서의 업로드 사본(1019)을 생성하도록 층 개체(1016)에 지시할 것이다. 일반적으로, 층 개체(1016)는 작업 사본(1015)에 기초하여 업로드 사본(1019)을 생성한다. 동기화 매니저(1018)는 업로드 사본(1019)을 저장 장치(1020)에 푸시하려고 시도한다. 동기화 프로세스(1100)는 정지 모듈(1120)에서 완료하고 종료한다.
일부 실시예들에서, 공유 동작(1118)은 저장 장치(1020)로부터 수신된 모든 이전의 콘텐트 업데이트들이 문서의 작업 사본(1015)에 인스턴스화될 때까지 콘텐트 업데이트들을 저장 장치(1020)에 송신할 수 없다. 그러한 실시예들에서, 업로드 사본(1019)은 문서의 작업 사본(1015)을 가장 최근에 획득된 다운로드 사본(1017)과 병합하는 것에 의해 생성될 수 있다. 일 실시예에서, 동기화 매니저(1018)는 층 개체(1016)가 업로드 사본(1019)을 생성하려고 시도할 때 업데이트된 다운로드 사본(1017)을 위해 저장 장치(1020)를 폴링한다.
만일 동기화 매니저(1018)가 업로드 사본(1019)을 저장 장치(1020)에 푸시하는 데 실패하면(예를 들면, 업로드 사본(1019)이 마스터 사본에 인스턴스화된 가장 최근의 변경들을 반영하지 않는다면), 동기화 매니저(1018)는 수정된 업데이트 문서(1019)로 재시도한다. 예를 들면, 동기화 매니저(1018)는 저장 장치(1020)로부터 새로운 다운로드 사본(1017)을 획득할 수 있고 층 개체(1016)는 작업 사본 및 새로운 다운로드 사본(1017)으로부터 새로운 업로드 사본을 생성할 수 있다. 일 실시예에서, 동기화 매니저(1018)는 성공할 때까지 계속해서 업로드 사본(1019)을 수정하고 저장 장치(1020)에 푸시할 것이다.
도 14-31을 참조하여, 몇몇 예시의 애플리케이션들을 통해 나아감으로써 본 명세의 원리들이 더 잘 이해될 수 있다. 도 14-26은 제1 사용자 및 제2 사용자가 한 문서를 동시에 편집하는 공동 저작 세션 동안에 저장 장치의 캐시, 제1 사용자 컴퓨팅 장치의 캐시(1214), 및 제2 사용자 컴퓨팅 장치의 캐시(1234)에 행해지는 변경들을 나타난다. 그러나, 다른 실시예들에서, 제1 및 제2 사용자들은 동일한 프로세스들을 이용하여 상이한 시간들에서 문서를 편집할 수 있다.
도 14에서, 제1 사용자는 문서를 생성하고 그 문서의 초안을 마스터 사본(1250)으로서 저장 장치에 저장하였다. 대안적으로, 제1 사용자는 기존의 문서의 마스터 사본(1250)에 액세스하였을 수 있다. 제2 사용자는 아직 그 문서에 액세스하지 않았다.
문서의 마스터 사본(1250)은 대응하는 마스터 잠금 테이블을 갖는다. 편의상, 도 14-26에 도시된 예에서, 마스터 잠금 테이블은 마스터 사본(1250)의 일부로서 디스플레이된다. 그러나, 다른 실시예들에서, 마스터 잠금 테이블은 문서의 마스터 사본(1250)과 별도로 저장될 수 있다. 유사하게, 이해의 용이함을 위해, 사용자 캐시(1214, 1234) 상에 저장된 문서의 각 사본(예를 들면, 기초 사본, 작업 사본, 다운로드 사본, 및 업로드 사본)과 관련된 잠금들은 그 사본의 일부로서 도 14-26에 도시되어 있다. 그러나, 다른 실시예들에서, 메타데이터는 각 문서 사본에 대하여 또는 각 사용자에 대하여 별도로 저장될 수 있다.
문서의 마스터 사본(1250)은 텍스트 "Hello World"를 포함하는 제1 데이터 단위 및 그 제1 데이터 단위에 대한 잠금 E1을 포함한다. 잠금 E1은 제1 사용자에 의해 소유된다(즉, 제1 사용자에 할당된다). 마스터 사본(1250)의 콘텐트 및 메타데이터는 제1 사용자의 캐시(1214)에 저장된 기초 사본 및 다운로드 사본에 반영된다. 제1 사용자는 문서의 초안을 저장 장치에 송신하였기 때문에, 캐시(1214)에 저장된 업로드 사본도 마스터 사본(1250)의 콘텐트 및 메타데이터를 반영한다.
초안을 저장 장치에 송신한 이후, 제1 사용자는 텍스트 "Testing"을 포함하는 제2 데이터 단위를 포함하도록 문서의 작업 사본을 편집하였다. 그 제2 데이터 단위에 관하여 제2 잠금 E2가 추가되었다. 일 실시예에서, 제2 잠금 E2는 사용자에 할당된 새로운 잠금이다. 다른 실시예에서, 제2 잠금 E2는 제1 잠금 E1의 확장이다. 예를 들면, 제1 사용자의 캐시(1214)에 저장된 메타데이터 테이블에서 제1 사용자에 새로운 단위 식별자가 할당될 수 있다. 일 실시예에서, 제1 사용자는 새로운 데이터 단위(예를 들면, 단락)를 시작하기 위해 커서를 이동시키고 "Testing"을 타이핑하는 것에 의해 제2 잠금 E2를 생성한다. 제1 사용자가 (예를 들면, 커서를 이동시킨 후에 저장함으로써) 제1 데이터 단위에 대한 편집이 최종이라는 것을 아직 나타내지 않았기 때문에 제1 잠금 E1은 아직 해제되지 않는다.
도 15에서, 제2 사용자는 저장 장치 상에 저장된 문서의 마스터 사본(1250)에 액세스한다. 제2 사용자는 문서의 다운로드 사본을 획득하고 그 다운로드 사본을 제2 사용자의 캐시(1234)에 저장한다. 다운로드 사본은 마스터 사본(1250)의 콘텐트 및 메타데이터를 포함한다. 다운로드 사본은 제1 사용자의 작업 사본에 포함된 가장 최근의 콘텐트 및 메타데이터를 포함하지 않는다. 제2 사용자의 층 개체는 다운로드 사본에 기초하여 문서의 기초 사본 및 작업 사본을 생성한다. 제2 사용자에 의해 이용되는 저작 애플리케이션은 작업 사본의 콘텐트 및 임의의 잠금들을 제2 사용자에게 디스플레이한다.
일부 실시예들에서, 제2 사용자는 공동 저작 세션(coauthoring session)이 완전히 확립되기 전(즉, 제1 및 제2 사용자 컴퓨팅 장치들이 서로의 존재를 알기 전)에도 문서를 편집할 수 있다. 예를 들면, 제2 사용자는 제1 및 제2 사용자 컴퓨팅 장치들이 인사(즉, 악수)를 교환하는 동안에 문서의 제2 작업 사본을 편집하도록 허용된다. 전형적으로, 메타데이터는 제1 및 제2 컹퓨팅 장치들이 서로의 존재를 알기 전에 자동으로 교환되지 않는다.
도 16에서, 제1 및 제2 컴퓨팅 장치들은 각각 서로의 존재를 알아챘다. 따라서, 제1 및 제2 컴퓨팅 장치들 각각은 서로에게 자동으로 메타데이터 업데이트들을 송신하기 시작하였다. 도 16에 도시된 바와 같이, 제1 저작 애플리케이션은 제1 사용자의 잠금 테이블로부터의 업데이트된 잠금 메타데이터(예를 들면, 제2 잠금)를 (예를 들면, 층 개체 및 동기화 매니저를 통해) 저장 장치(1220)에 제공한다. 그러나, 그 저작 애플리케이션은, 콘텐트 업데이트들을 공유하는 어떠한 명령도 제1 사용자로부터 수신되지 않았기 때문에, 업데이트된 콘텐트 정보를 저장 장치(1220)에 제공하지 않는다.
도 17에서, 저장 장치는 업데이트된 잠금 메타데이터(예를 들면, 제2 잠금 E2)를 마스터 사본(1250)의 마스터 메타데이터에 통합하였다. 잠금 메타데이터는 아직 제2 사용자 컴퓨팅 장치에 의해 획득되지 않았다. 도 18에서, 제2 사용자 컴퓨팅 장치는 저장 장치를 폴링하여 마스터 사본(1250)의 새로운 다운로드 사본을 획득하였다. 새로운 다운로드 사본은 또한 업로드 사본에 기초하여 제1 캐시(1214) 상에 (예를 들면, 층 개체를 통해) 생성되었다. 다른 실시예에서, 제1 사용자 컴퓨팅 장치는 또한 저장 장치를 폴링하여 마스터 사본(1250)의 새로운 다운로드 사본을 획득하였다. 양쪽의 새로운 다운로드 사본들은 제1 사용자의 작업 사본으로부터의 업데이트된 잠금 정보(예를 들면, 잠금 E2)를 반영한다.
도 19에서, 제2 컴퓨팅 장치는 새로운 다운로드 사본에 기초하여 새로운 작업 사본을 (예를 들면, 층 개체를 통해) 생성한다. 따라서, 제2 컴퓨팅 장치의 새로운 작업 사본은 제2 데이터 단위에 대한 제2 잠금 E2를 포함한다. 새로운 작업 사본은, 그러나, 제2 데이터 단위 자체를 포함하지는 않는다. 일 실시예에서, 제2 사용자 컴퓨팅 장치의 작업 사본은 공백/빈 데이터 단위를 디스플레이하고 공백/빈 데이터 단위가 잠겨 있는 것을 표시한다. 다른 실시예에서, 작업 사본은 제2 데이터 단위를 전혀 디스플레이하지 않고 잠금 E2는 제2 데이터 단위가 제2 사용자에게 보일 때까지 제2 사용자에게 표시되지 않는다.
도 20에서, 제2 사용자는 문서에 제3 데이터 단위를 추가하고 제3 데이터 단위의 주위에(예를 들면, 저작 애플리케이션의 메모리에) 제3 잠금 E3를 추가한다. 제3 데이터 단위는 텍스트 "Goodbye World"를 포함한다. 제2 저작 애플리케이션은 제3 데이터 단위 및 제3 잠금 E3를 포함하는 문서의 작업 사본을 (예를 들면, 층 개체를 통해) 생성한다. 제2 저작 애플리케이션은 또한 제3 잠금 E3를 저장 장치에 (예를 들면, 동기화 매니저를 통해) 자동으로 제공한다. 그러나, 제2 저작 애플리케이션은 제3 데이터 유닛을 저장 장치에 제공하지 않는다.
또한 도 20에서, 제1 사용자는 제1 사용자가 제1 데이터 단위의 편집을 완료한 것을 표시한 후에 제1 잠금 E1을 해제한다. 예를 들면, 제1 사용자는 제1 사용자의 커서가 제2 데이터 단위 내에 배치될 때 문서를 저장하는 명령을 제공할 수 있다. 일 실시예에서, 제2 데이터 단위는 제1 데이터 단위로부터 원격으로 위치할 수 있다. 도시된 예에서, 제1 사용자에 의해 제공되는 완료화 표시는 제1 사용자가 제1 사용자에 의해 행해진 콘텐트 변경들을 공유하기를 원한다는 것을 표시하지 않는다. 따라서, 제1 저작 애플리케이션은 저장 장치에 배포하기 위한 콘텐트 변경들을 포함하는 업로드 사본을 (예를 들면, 층 개체를 통해) 생성하지 않는다.
도 21에서, 제3 잠금 E3는 저장 장치 상의 문서의 마스터 사본(1250)의 마스터 잠금 테이블에 저장되었다. 제1 사용자 컴퓨팅 장치는 그 후 업데이트들에 대하여 확인하기 위해 저장 장치를 (예를 들면, 동기화 매니저를 통해) 폴링한다. 제1 사용자 컴퓨팅 장치는 마스터 사본(1250)에 기초하여 저장 장치로부터 문서의 새로운 다운로드 사본을 (예를 들면, 동기화 매니저를 통해) 획득하였다. 새로운 다운로드 사본은 제3 잠금 E3를 포함한다. 제1 저작 애플리케이션은 제3 잠금 E3를 제1 저작 애플리케이션의 작업 사본에 (예를 들면, 층 개체를 통해) 자동으로 인스턴스화한다. 전술한 바와 같이, 제3 잠금 E3는 옵션으로 제1 저작 애플리케이션의 사용자 인터페이스를 이용하여 제1 사용자에 디스플레이될 수 있다.
도 22에서, 제2 사용자는 제2 사용자가 제3 데이터 단위의 편집을 완료한 것을 표시할 때 제3 잠금 E3를 해제한다. 제3 잠금 E3는 제2 사용자의 메타데이터 테이블로부터 제거된다. 도 22에 도시된 예시의 블록도에서, 제3 잠금 E3는 제2 저작 애플리케이션의 작업 사본에 대응하는 메타데이터 테이블들로부터 제거된다.
도 22에 예에서, 제2 사용자에 의해 제공되는 완료화 표시는 제2 사용자가 다른 사용자들과 콘텐트 변경들을 공유하기를 원한다는 것을 표시한다. 예를 들면, 제2 사용자는 제3 데이터 단위로부터 커서를 제거한 다음 문서를 저장하는 명령을 제공할 수 있다. 따라서, 제2 저작 애플리케이션은 작업 사본에 기초하여 콘텐트 변경들을 포함하는 업로드 사본을 생성할 수 있다. 일 실시예에서, 업로드 사본은 또한 작업 사본에 아직 인스턴스화되지 않은 다운로드 사본에서 발견되는 임의의 콘텐트 업데이트들(예를 들면, 이 경우에는 없음)에 기초할 수 있다. 도시된 예에서, 업로드 사본은 구(phrase) "Goodbye World"를 포함하는 제3 데이터 단위를 포함한다.
도 23에서, 저장 장치는 제2 사용자 컴퓨팅 장치의 업로드 사본으로부터 제3 데이터 단위를 획득하고 그 제3 데이터 단위를 저장 장치의 마스터 사본(1250)에 병합한다. 마스터 사본(1250)과 관련된 잠금 테이블은 제3 잠금 E3가 해제된 것을 표시한다. 도 24에 도시된 바와 같이, 저장 장치에 성공적으로 푸시되면, 제2 저작 애플리케이션은 업로드 사본을 제2 캐시(1234)의 다운로드 사본 및 기초 사본에 (예를 들면, 층 개체를 통해) 복사한다.
도 25에서, 제1 사용자 컴퓨팅 장치는 문서의 마스터 사본(1250)의 새로운 다운로드 사본을 (예를 들면, 동기화 매니저를 통해) 획득한다. 제1 저작 애플리케이션은 새로운 다운로드 사본이 획득된 것을 (예를 들면, 층 개체를 통해) 결정하고 새로운 다운로드 사본이 콘텐트 변경들을 포함하는 것을 결정한다. 저작 애플리케이션은 임의의 새로운 잠금들(이 경우에는 없음)을 캐시(1214)의 작업 사본에 자동으로 병합한다. 제1 저작 애플리케이션의 사용자 인터페이스는 콘텐트 업데이트들이 보기를 위해 이용 가능하다는 것을 표시한다.
도 26에서, 제1 사용자는 캐시(1214)에서 이용 가능한 콘텐트 업데이트들을 문서의 작업 사본에 인스턴스화하기로 결정한다. 따라서, 저작 애플리케이션은 캐시(1214)에 저장된 다운로드 사본을 제1 저작 애플리케이션의 작업 사본과 병합한다. 제3 데이터 단위는 제1 저작 애플리케이션의 작업 사본에 추가되고 제1 사용자에게 디스플레이된다. 제3 잠금 E3는 제1 저작 애플리케이션의 작업 사본과 관련된 메타데이터 테이블에서 해제된다. 그러므로, 제1 사용자는 제3 데이터 단위를 편집하도록 제1 저작 애플리케이션에 지시할 수 있다.
이제 도 27-31을 참조하여, 공동 저작 세션 동안의 사용자 경험이 아래에 상세히 설명된다. 도 27-31은 제1 사용자 및 제2 사용자가 한 문서(2010)를 공동으로 저작할 때 제1 저작 애플리케이션의 예시적인 사용자 인터페이스(2000)의 변경들을 예시한다. 제1 사용자인 Jane Doe는 제1 저작 애플리케이션을 이용하여 문서(2010)를 편집하고 제2 사용자인 John Doe는 다른 저작 애플리케이션을 이용하여 문서(2010)를 편집한다.
문서(2010)는 제1 데이터 단위(2012), 제2 데이터 단위(2014), 제3 데이터 단위(2016), 및 제4 데이터 단위(2018)를 포함한다. 제1 사용자는 제1 데이터 단위(2012)의 주위에 콘텐트 잠금(2022)을 건다. 예를 들면, 일 실시예에서, 제1 사용자는 커서(2015)를 제1 데이터 단위(2012)에 이동시킬 수 있다. 다른 실시예에서, 제1 사용자는 제1 데이터 단위(2012)에 대한 하나 이상의 편집 동작들을 수행하는 명령을 제공할 수 있다.
도 28에서, 제1 사용자는 제1 데이터 단위(2012)에 텍스트를 추가하였다. 제1 데이터 단위에 대한 잠금은 제2 사용자가 제1 데이터 단위(2012)를 편집하는 것을 금한다. 일 실시예에서, 제1 잠금(2022)은 제2 사용자가 제1 데이터 단위(2012)를 편집하는 것을 방해한다. 다른 실시예에서, 제1 잠금(2022)은 제1 데이터 단위(2012)를 편집하는 것에 대하여 제2 사용자에게 경고하지만, 제2 사용자에 의한 편집을 금하지는 않는다. 또 다른 실시예에서, 제1 잠금(2022)은 단지 제1 사용자가 제1 데이터 단위(2012)를 편집하려는 의도를 표현한 것을 표시한다.
도 29에서, 제2 사용자는 제3 데이터 단위(2016)에 관한 콘텐트 잠금(2024)을 걸었다. 제2 사용자는 그의 변경들을 공유하지 않기로 결정하였기 때문에, 제2 잠금은 제1 저작 애플리케이션의 사용자 인터페이스(2000) 상에서 보일 수 있지만, 제2 사용자에 의해 제3 데이터 단위(2016)에 행해진 임의의 변경들은 아직 보이지 않는다. 도시된 예에서, 제2 잠금(2024)은 제2 잠금(2024)의 범위를 표시하는 각괄호를 디스플레이하는 것에 의해 사용자 인터페이스(2000)에 의해 표시될 수 있다. 제2 잠금(2024)은 또한 제2 잠금(2024)의 소유자를 표시하는 네임태그(nametag)를 포함할 수 있다. 도 29에서, 네임태그는 제2 사용자를 식별하는 텍스트 및 아이콘을 포함한다. 아이콘은 색, 기호, 또는 다른 그래픽에 의해 사용자를 더욱 식별할 수 있다.
도 30에서, 제1 저작 애플리케이션은 문서(2010)에 대한 콘텐트 업데이트들을 수신한다. 제2 사용자는 다른 사용자들과 콘텐트 변경들을 공유하기로 결정하였고 따라서 문서(2010)의 마스터 사본에 콘텐트 업데이트들을 병합하였다(예를 들면, 위에 설명된 동기화 프로세스들 중 하나를 통해). 제1 저작 애플리케이션의 동기화 매니저는 마스터 사본을 저장하는 장치를 폴링함으로써 문서(2010)의 마스터 사본으로부터 업데이트들을 획득하였다.
제1 저작 애플리케이션의 사용자 인터페이스(2000)는 콘텐트 업데이트의 이용 가능성을 표시하는 경고(2030)를 제1 사용자에게 디스플레이한다. 도시된 예에서, 텍스트 박스(2030)가 사용자 인터페이스(2000)에 나타난다. 다른 실시예에서, 제2 잠금 또는 제2 잠금 내의 텍스트는 색, 패턴, 또는 포맷팅을 변경할 수 있다. 다른 실시예에서는, 각 새로운 업데이트가 이용 가능할 때 업데이트 카운터가 증가한다.
제1 사용자는 제2 사용자에 의해 행해진 변경들을 보기로/인스턴스화하기로 또는 콘텐트 업데이트들을 무시하기로 결정할 수 있다. 제1 사용자는 콘텐트 업데이트들을 무시하면서 문서(2010) 내의 임의의 잠기지 않은 데이터 단위들을 계속해서 편집할 수 있다. 일 실시예에서, 제1 사용자는 그의 업데이트들을 마스터 사본과 병합하기 전에 콘텐트 업데이트들을 인스턴스화해야 한다. 도 31에서, 제1 사용자는 제1 저작 애플리케이션의 사용자 인터페이스(2000)에 의해 디스플레이된 문서(2010)에 콘텐트 업데이트들을 인스턴스화하도록 제1 저작 애플리케이션에 지시한다. 제2 사용자에 의해 행해진 콘텐트 변경들은 이제 제1 사용자에게 보인다.
본 명세의 실시예들은 컴퓨터 프로세스(방법), 컴퓨팅 시스템으로서, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독 가능한 매체와 같은 제조물로서 구현될 수 있다. 프로세스들(프로그램들)은, 이 문서에서 설명된 구조들을 포함하여, 임의의 수의 방법들로 구현될 수 있다. 하나의 그러한 방법은 이 문서에서 설명된 유형의 장치들의 머신 동작들에 의한 것이다. 다른 옵션의 방법은 그 방법들의 개별 동작들 중 하나 이상의 동작이 그 동작들 중 일부를 수행하는 한 명 이상의 인간 조작자들과 관련하여 컴퓨팅 장치 상에서 수행되는 것이다. 이들 인간 조작자들은 서로 같은 곳에 있을 필요가 없고, 각각은 단지 프로그램의 일부를 수행하는 머신과 함께 있을 수 있다.
컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독 가능하고 컴퓨터 프로세스를 실행하기 위한 명령어들의 컴퓨터 프로그램을 인코딩한 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨팅 시스템에 의해 판독 가능하고 컴퓨터 프로세스를 실행하기 위한 명령어들의 컴퓨터 프로그램을 인코딩한 반송파 상의 전파 신호일 수 있다. 여기에 사용된 용어 컴퓨터 판독 가능한 매체는 저장 매체 및 통신 매체 양쪽 모두를 포함한다.
숙련된 당업자들은 본 명세가 핸드헬드 장치, 마이크로프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 소비자 전자 장치, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함한 기타 컴퓨터 시스템 구성을 이용해 실시될 수 있다는 것을 알 것이다. 본 명세는 또한 통신 네트워크를 통하여 연결되어 있는 원격 처리 장치들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경에서 실시될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 양쪽 모두의 메모리 저장 장치들에 위치할 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 및 기타 유형의 구조를 포함한다.

Claims (66)

  1. 제1 컴퓨팅 장치에서 문서를 저작하기 위한 방법으로서,
    상기 제1 컴퓨팅 장치에서, 상기 문서의 제1 데이터 단위가 제1 사용자에 의해 편집되도록 허용하는 단계와,
    상기 제1 컴퓨팅 장치에서, 상기 제1 데이터 단위가 편집될 경우 상기 문서가 상기 제1 사용자에 의해 편집되고 있다는 것을 나타내는 제1 주석(annotation)을 상기 문서상에 제공하는 단계와,
    상기 제1 컴퓨팅 장치에서, 제1 메타데이터 업데이트를 제2 컴퓨팅 장치로 송신하는 단계 - 상기 제1 메타데이터 업데이트는 상기 문서의 상기 제1 데이터 단위가 편집되고 있다는 것을 나타냄 - 와,
    상기 제1 컴퓨팅 장치에서, 제2 메타데이터 업데이트를 상기 제2 컴퓨팅 장치로부터 수신하는 단계 - 상기 제2 메타데이터 업데이트는 상기 문서의 제2 데이터 단위를 편집하고 있는 제2 사용자의 이름을 나타냄 - 와,
    상기 제1 컴퓨팅 장치에서, 상기 제2 데이터 단위에 대한 제1 잠금을 설정하는 단계 - 상기 제2 데이터 단위에 대한 상기 제1 잠금은 상기 제2 데이터 단위가 상기 제1 컴퓨팅 장치에서 편집되는 것을 금지함 - 와,
    상기 제1 컴퓨팅 장치에서, 상기 문서상에 제2 주석을 제공하는 단계 - 상기 제2 주석은 상기 제2 데이터 단위가 상기 제2 사용자에 의해 편집되고 있다는 것을 나타냄 - 와,
    상기 제1 컴퓨팅 장치에서, 상기 문서에 관한 콘텐트 업데이트들을 상기 제2 컴퓨팅 장치로부터 수신하는 단계와,
    상기 제1 컴퓨팅 장치에서, 상기 콘텐트 업데이트들을 수신하는 단계에 응답하여 상기 문서 내로 상기 콘텐트 업데이트들을 인스턴스화하기 위한 명령을 상기 제1 사용자로부터 수신하는 단계와,
    상기 제1 컴퓨팅 장치에서, 상기 제1 사용자로부터의 상기 명령에 응답하여 상기 콘텐트 업데이트들을 통합하도록 상기 문서를 업데이트하는 단계
    를 포함하는 저작 방법.
  2. 제1항에 있어서,
    상기 제1 주석은 상기 제1 사용자가 커서를 상기 제1 데이터 단위로 이동시킬 경우 상기 문서상에 디스플레이되는
    저작 방법.
  3. 제1항에 있어서,
    상기 제1 주석은 네임태그를 포함하고, 상기 네임태그는 상기 제1 사용자의 이름을 나타내는
    저작 방법.
  4. 제1항에 있어서,
    상기 제1 데이터 단위가 편집될 경우 상기 제1 데이터 단위에 대한 제2 잠금을 설정하는 단계 - 상기 제2 잠금은 상기 제1 사용자가 아닌 다른 사용자들에 의해 상기 제1 데이터 단위가 편집되는 것을 금지함 -
    를 더 포함하는 저작 방법.
  5. 제4항에 있어서,
    상기 제1 메타데이터 업데이트는 상기 제1 데이터 단위에 대해 상기 제2 잠금이 설정되었다는 것을 나타내는
    저작 방법.
  6. 제4항에 있어서,
    상기 제1 사용자는 상기 제2 잠금의 소유자인
    저작 방법.
  7. 제1항에 있어서,
    상기 제1 메타데이터 업데이트는 상기 제1 사용자의 이름을 포함하는
    저작 방법.
  8. 제1항에 있어서,
    상기 제2 주석은 네임태그를 포함하고, 상기 네임태그는 상기 제2 사용자의 이름을 나타내는
    저작 방법.
  9. 제8항에 있어서,
    상기 네임태그는 상기 제2 사용자를 색상에 의해 식별하는
    저작 방법.
  10. 제1항에 있어서,
    상기 제1 컴퓨팅 장치에서, 상기 문서에 관하여 업데이트들이 이용 가능할 경우 경고를 디스플레이하는 단계
    를 더 포함하는 저작 방법.
  11. 제10항에 있어서,
    상기 경고는 시각적 경고인
    저작 방법.
  12. 제11항에 있어서,
    상기 경고는 상기 제1 컴퓨팅 장치의 사용자 인터페이스상의 텍스트 박스를 포함하는
    저작 방법.
  13. 제1항에 있어서,
    상기 콘텐트 업데이트들을 통합하도록 상기 문서를 업데이트하는 단계는, 상기 제1 컴퓨팅 장치에서 상기 제1 사용자에 의한 액션에 의해 상기 업데이트하는 단계를 개시하는 단계를 더 포함하는
    저작 방법.
  14. 제1 컴퓨팅 장치에서 문서를 저작하기 위한 방법으로서,
    상기 제1 컴퓨팅 장치에서, 상기 문서의 제1 데이터 단위를 편집하는 단계 - 상기 제1 데이터 단위는 제1 사용자에 의해 편집되고 있는 것임 - 와,
    상기 제1 컴퓨팅 장치에서, 상기 제1 데이터 단위가 편집될 경우 상기 문서가 상기 제1 사용자에 의해 편집되고 있다는 것을 나타내는 제1 주석(annotation)을 상기 문서상에 제공하는 단계 - 상기 제1 주석은 상기 제1 사용자가 커서를 상기 제1 데이터 단위로 이동시킬 경우 상기 문서상에 디스플레이되고, 상기 제1 주석은 상기 제1 사용자의 이름을 나타내는 네임태그를 포함함 - 와,
    상기 제1 컴퓨팅 장치에서, 상기 제1 데이터 단위가 편집될 경우 상기 제1 데이터 단위에 대한 제1 잠금을 설정하는 단계 - 상기 제1 잠금은 상기 제1 사용자가 아닌 다른 사용자에 의해 상기 제1 데이터 단위가 편집되는 것을 금지함 - 와,
    상기 제1 컴퓨팅 장치에서, 제1 메타데이터 업데이트를 제2 컴퓨팅 장치로 송신하는 단계 - 상기 제1 메타데이터 업데이트는 상기 문서의 상기 제1 데이터 단위가 편집되고 있다는 것을 나타내고, 상기 제1 메타데이터 업데이트는 또한 상기 제1 사용자에 의해 상기 제1 데이터 단위가 잠겼다는 것을 나타냄 - 와,
    상기 제1 컴퓨팅 장치에서, 제2 메타데이터 업데이트를 상기 제2 컴퓨팅 장치로부터 수신하는 단계 - 상기 제2 메타데이터 업데이트는 제2 데이터 단위를 편집하고 있는 제2 사용자의 이름을 나타냄 - 와,
    상기 제1 컴퓨팅 장치에서, 상기 제2 데이터 단위에 대한 제2 잠금을 설정하는 단계 - 상기 제2 데이터 단위에 대한 상기 제2 잠금은, 상기 제2 데이터 단위가 상기 제2 사용자에 의해 편집되고 있으며 상기 제2 데이터 단위를 편집할 경우 충돌이 발생할 수 있다는 경고를 상기 제1 사용자에게 제공하되, 상기 제2 데이터 단위가 상기 제1 컴퓨팅 장치에서 편집되는 것을 금지하지는 않음 - 와,
    상기 제1 컴퓨팅 장치에서, 상기 문서상에 제2 주석을 제공하는 단계 - 상기 제2 주석은 상기 제2 데이터 단위가 상기 제2 사용자에 의해 편집되고 있다는 것을 나타내고, 상기 제2 주석은 상기 제2 사용자의 이름을 나타내는 네임태그를 포함함 -
    를 포함하는 저작 방법.
  15. 제14항에 있어서,
    상기 제1 컴퓨팅 장치에서, 상기 문서에 관한 콘텐트 업데이트들을 상기 제2 컴퓨팅 장치로부터 수신하는 단계
    를 더 포함하는 저작 방법.
  16. 제15항에 있어서,
    상기 콘텐트 업데이트들을 상기 제2 컴퓨팅 장치로부터 수신할 경우 상기 제1 컴퓨팅 장치에서의 상기 문서상에 시각적 경고를 디스플레이하는 단계
    를 더 포함하는 저작 방법.
  17. 제16항에 있어서,
    상기 시각적 경고는 상기 제1 컴퓨팅 장치에서의 상기 문서상의 텍스트 박스를 포함하는
    저작 방법.
  18. 제16항에 있어서,
    상기 시각적 경고는 색상이 변하는 상기 제2 주석 내의 네임태그를 포함하는
    저작 방법.
  19. 제15항에 있어서,
    상기 제1 컴퓨팅 장치에서, 상기 콘텐트 업데이트들 내에서 수신된 상기 제2 데이터 단위에 대한 변경사항들을 통합하도록 상기 제2 데이터 단위를 업데이트하는 단계
    를 더 포함하는 저작 방법.
  20. 명령어를 포함하는 컴퓨터-판독가능 저장 매체로서, 상기 명령어는 제1 컴퓨팅 장치에 의해 실행될 경우 상기 제1 컴퓨팅 장치로 하여금,
    문서의 제1 데이터 단위를 편집하고 - 상기 제1 데이터 단위는 제1 사용자에 의해 편집되는 것임 -,
    상기 문서가 상기 제1 사용자에 의해 편집되고 있다는 것을 나타내는 제1 주석을 상기 문서상에 제공하고,
    제1 메타데이터 업데이트를 제2 컴퓨팅 장치로 송신하고 - 상기 제1 메타데이터 업데이트는 상기 문서의 상기 제1 데이터 단위가 편집되고 있다는 것을 나타냄 -,
    제2 메타데이터 업데이트를 상기 제2 컴퓨팅 장치로부터 수신하고 - 상기 제2 메타데이터 업데이트는 제2 데이터 단위를 편집하고 있는 제2 사용자의 이름을 나타냄 -,
    상기 제2 데이터 단위에 대한 제1 잠금을 설정하고 - 상기 제2 데이터 단위에 대한 상기 제1 잠금은 상기 제2 데이터 단위가 상기 제1 컴퓨팅 장치에서 편집되는 것을 금지함 -,
    상기 문서상에 제2 주석을 제공하고 - 상기 제2 주석은 상기 제2 데이터 단위가 상기 제2 사용자에 의해 편집되고 있다는 것을 나타냄 -,
    상기 문서에 관한 콘텐트 업데이트들을 상기 제2 컴퓨팅 장치로부터 수신하고,
    상기 콘텐트 업데이트들을 수신하는 것에 응답하여 상기 문서 내로 상기 콘텐트 업데이트들을 인스턴스화하기 위한 명령을 상기 제1 사용자로부터 수신하고,
    상기 제1 사용자로부터 상기 명령을 수신한 후, 수신된 상기 콘텐트 업데이트들을 통합하도록 상기 문서를 업데이트하도록 하는
    컴퓨터-판독가능 저장 매체.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
KR1020157002346A 2007-11-09 2008-10-28 공동 저작 KR101597082B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/938,082 US7941399B2 (en) 2007-11-09 2007-11-09 Collaborative authoring
US11/938,082 2007-11-09
PCT/US2008/081456 WO2009061638A1 (en) 2007-11-09 2008-10-28 Collaborative authoring

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020107009797A Division KR101524891B1 (ko) 2007-11-09 2008-10-28 공동 저작

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020157025970A Division KR20150113993A (ko) 2007-11-09 2008-10-28 공동 저작
KR1020157025969A Division KR20150115944A (ko) 2007-11-09 2008-10-28 공동 저작

Publications (2)

Publication Number Publication Date
KR20150018896A KR20150018896A (ko) 2015-02-24
KR101597082B1 true KR101597082B1 (ko) 2016-02-23

Family

ID=40624726

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020107009797A KR101524891B1 (ko) 2007-11-09 2008-10-28 공동 저작
KR1020157025970A KR20150113993A (ko) 2007-11-09 2008-10-28 공동 저작
KR1020177006064A KR20170029020A (ko) 2007-11-09 2008-10-28 공동 저작
KR1020157025969A KR20150115944A (ko) 2007-11-09 2008-10-28 공동 저작
KR1020157002346A KR101597082B1 (ko) 2007-11-09 2008-10-28 공동 저작

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1020107009797A KR101524891B1 (ko) 2007-11-09 2008-10-28 공동 저작
KR1020157025970A KR20150113993A (ko) 2007-11-09 2008-10-28 공동 저작
KR1020177006064A KR20170029020A (ko) 2007-11-09 2008-10-28 공동 저작
KR1020157025969A KR20150115944A (ko) 2007-11-09 2008-10-28 공동 저작

Country Status (12)

Country Link
US (6) US7941399B2 (ko)
EP (1) EP2212807B1 (ko)
JP (1) JP5468547B2 (ko)
KR (5) KR101524891B1 (ko)
CN (1) CN101855629B (ko)
AU (1) AU2008324973B2 (ko)
BR (1) BRPI0818912A2 (ko)
MX (1) MX2010004932A (ko)
MY (1) MY163815A (ko)
RU (1) RU2501077C2 (ko)
TW (2) TWI457769B (ko)
WO (1) WO2009061638A1 (ko)

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398470B2 (en) * 2003-08-22 2008-07-08 Vistaprint Technologies Limited System and method for remote assistance
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
US8600343B2 (en) * 2007-07-25 2013-12-03 Yahoo! Inc. Method and system for collecting and presenting historical communication data for a mobile device
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US7797274B2 (en) * 2007-12-12 2010-09-14 Google Inc. Online content collaboration model
US8150842B2 (en) * 2007-12-12 2012-04-03 Google Inc. Reputation of an author of online content
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US20090164521A1 (en) * 2007-12-20 2009-06-25 George Lo Method and system for integrating multiple authoring applications in a collaborative environment
US20090172558A1 (en) * 2007-12-27 2009-07-02 Fuji Xerox Co., Ltd. System and method for personalized change tracking for collaborative authoring environments
US8301588B2 (en) * 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US9141483B1 (en) 2008-03-27 2015-09-22 Dropbox, Inc. System and method for multi-tier synchronization
US8352870B2 (en) * 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8078957B2 (en) 2008-05-02 2011-12-13 Microsoft Corporation Document synchronization over stateless protocols
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
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US8495043B2 (en) * 2008-09-17 2013-07-23 International Business Machines Corporation System and method for allowing updates to database objects
GB2464948A (en) * 2008-10-29 2010-05-05 Quolos Limited Online collaboration
US20100131836A1 (en) * 2008-11-24 2010-05-27 Microsoft Corporation User-authored notes on shared documents
US8285787B2 (en) * 2008-11-26 2012-10-09 Red Hat, Inc. Systems and methods for managing a collaboration space having application hosting capabilities
US8380663B2 (en) * 2008-12-17 2013-02-19 Sybase, Inc. Data integrity in a database environment through background synchronization
US8656290B1 (en) * 2009-01-08 2014-02-18 Google Inc. Realtime synchronized document editing by multiple users
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
US8805930B2 (en) 2009-02-24 2014-08-12 Red Hat, Inc. Managing application programming interfaces in a collaboration space
US8346869B2 (en) * 2009-04-13 2013-01-01 Microsoft Corporation Granular data synchronization for editing multiple data objects
US8346768B2 (en) 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US10127524B2 (en) 2009-05-26 2018-11-13 Microsoft Technology Licensing, Llc Shared collaboration canvas
US8612380B2 (en) * 2009-05-26 2013-12-17 Adobe Systems Incorporated Web-based collaboration for editing electronic documents
US9298834B2 (en) 2009-05-26 2016-03-29 Adobe Systems Incorporated User presence data for web-based document collaboration
US20110054968A1 (en) * 2009-06-04 2011-03-03 Galaviz Fernando V Continuous performance improvement system
US8219526B2 (en) * 2009-06-05 2012-07-10 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
US8280846B2 (en) * 2009-07-10 2012-10-02 Novell, Inc. Collaboration swarming
FR2955688B1 (fr) * 2010-01-28 2012-02-24 Somfy Sas Procede de configuration d'une installation domotique
CN102193927A (zh) * 2010-03-05 2011-09-21 新奥特(北京)视频技术有限公司 一种文稿系统中文稿编辑的控制方法及装置
WO2011117461A1 (en) * 2010-03-23 2011-09-29 Nokia Corporation Method and apparatus for managing files in an online account
JP2011221583A (ja) * 2010-04-02 2011-11-04 Seiko Epson Corp コンテンツ提供システム、情報処理装置、コンテンツ提供方法、プログラムおよびコンピューター読み取り可能な記録媒体
US20110276490A1 (en) * 2010-05-07 2011-11-10 Microsoft Corporation Security service level agreements with publicly verifiable proofs of compliance
KR20110128567A (ko) * 2010-05-24 2011-11-30 삼성전자주식회사 사용자 인터페이스에 포함되는 오브젝트의 제어 방법 및 상기 방법이 채용된 장치
US9652440B2 (en) * 2010-05-27 2017-05-16 Microsoft Technology Licensing, Llc Concurrent utilization of a document by multiple threads
US8555161B2 (en) * 2010-05-27 2013-10-08 Microsoft Corporation Concurrent editing of a document by multiple clients
JP2012038210A (ja) * 2010-08-10 2012-02-23 Sony Corp 情報処理装置、情報処理方法、コンピュータプログラム及びコンテンツ表示システム
US8707187B2 (en) * 2010-09-16 2014-04-22 Siemens Products Product Lifecycle Management Software Inc. Concurrent document markup
US20120078597A1 (en) * 2010-09-27 2012-03-29 Infosys Technologies Limited Mobile device with a modeling platform
US20120101980A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Synchronizing online document edits
US8660986B2 (en) 2010-10-27 2014-02-25 Microsoft Corporation Preserving user intent in merging ordered objects
DE202011110895U1 (de) 2010-11-02 2017-01-31 Google Inc. Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
KR101697979B1 (ko) * 2010-11-23 2017-01-19 삼성전자주식회사 네트워크로 연결 가능한 기기에서 데이터를 동기화하기 위한 장치 및 방법
US9930092B2 (en) 2010-12-06 2018-03-27 Zoho Corporation Private Limited Editing an unhosted third party application
US9383888B2 (en) 2010-12-15 2016-07-05 Microsoft Technology Licensing, Llc Optimized joint document review
US9118612B2 (en) 2010-12-15 2015-08-25 Microsoft Technology Licensing, Llc Meeting-specific state indicators
US9864612B2 (en) 2010-12-23 2018-01-09 Microsoft Technology Licensing, Llc Techniques to customize a user interface for different displays
US8700986B1 (en) 2011-03-18 2014-04-15 Google Inc. System and method for displaying a document containing footnotes
US8538917B2 (en) * 2011-01-14 2013-09-17 Apple Inc. System and method for file coordination
US9367530B2 (en) * 2011-01-21 2016-06-14 Jive Software Distributed document co-authoring and processing
WO2012102736A1 (en) * 2011-01-28 2012-08-02 Hewlett-Packard Development Company, L.P. Document management system and method
US8510266B1 (en) * 2011-03-03 2013-08-13 Google Inc. System and method for providing online data management services
US8996985B1 (en) 2011-03-16 2015-03-31 Google Inc. Online document processing service for displaying comments
CN102681884A (zh) * 2011-03-17 2012-09-19 新奥特(北京)视频技术有限公司 一种媒资元数据读写访问冲突的解决方法
US20130047072A1 (en) * 2011-08-19 2013-02-21 Microsoft Corporation Progressive presentation of document markup
CN102955785B (zh) * 2011-08-22 2015-09-09 北大方正集团有限公司 一种文档的网络编辑方法及系统
US8682973B2 (en) 2011-10-05 2014-03-25 Microsoft Corporation Multi-user and multi-device collaboration
US9544158B2 (en) 2011-10-05 2017-01-10 Microsoft Technology Licensing, Llc Workspace collaboration via a wall-type computing device
US9996241B2 (en) 2011-10-11 2018-06-12 Microsoft Technology Licensing, Llc Interactive visualization of multiple software functionality content items
US9230243B2 (en) 2011-10-13 2016-01-05 Dassault Systemes Collaborative design using duplicated workspaces
US10198485B2 (en) 2011-10-13 2019-02-05 Microsoft Technology Licensing, Llc Authoring of data visualizations and maps
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
EP2798589A4 (en) * 2011-12-29 2015-06-10 Intel Corp MANAGEMENT OF COLLABORATIVE TEAMS
US8924545B2 (en) 2012-01-13 2014-12-30 Microsoft Corporation Cross-property identity management
US20130191451A1 (en) * 2012-01-19 2013-07-25 Microsoft Corporation Presence-based Synchronization
US9626368B2 (en) * 2012-01-27 2017-04-18 International Business Machines Corporation Document merge based on knowledge of document schema
US9348802B2 (en) 2012-03-19 2016-05-24 Litéra Corporation System and method for synchronizing bi-directional document management
JP5982962B2 (ja) 2012-03-30 2016-08-31 富士ゼロックス株式会社 データ処理装置、データ処理システム及びプログラム
US20130268849A1 (en) * 2012-04-09 2013-10-10 Charles Qiao Du Method and System for Multi-Party Collaborative Content Management through an Inverted Social Network
US9367570B1 (en) * 2012-04-09 2016-06-14 Google Inc. Ad hoc queryable JSON with audit trails
US20130311881A1 (en) * 2012-05-16 2013-11-21 Immersion Corporation Systems and Methods for Haptically Enabled Metadata
KR102022094B1 (ko) * 2012-08-14 2019-09-17 삼성전자주식회사 콘텐트를 수정하는 전자 장치 및 방법
KR20140034612A (ko) * 2012-09-12 2014-03-20 삼성전자주식회사 멀티 유저를 위한 디스플레이 장치 및 그 제어 방법
CA2791110A1 (en) * 2012-09-25 2014-03-25 Pixton Comics Inc. Collaborative comic creation
CN102999480B (zh) * 2012-11-09 2016-03-30 中国电子科技集团公司第十五研究所 编辑文档的方法及系统
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
CN104885073B (zh) 2013-01-11 2017-10-24 奴格里夫有限公司 用于生成数字版本的系统和方法
US9460073B2 (en) 2013-02-27 2016-10-04 Google Inc. Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment
US11716392B2 (en) * 2013-04-24 2023-08-01 Blackberry Limited Updating an application at a second device based on received user input at a first device
US20140351716A1 (en) * 2013-05-23 2014-11-27 Microsoft Corporation Notes Page Sharing and Notification Features
US20140372369A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Managing Changes to Shared Electronic Documents Using Change History
US9465784B1 (en) 2013-06-20 2016-10-11 Bulletin Intelligence LLC Method and system for enabling real-time, collaborative generation of documents having overlapping subject matter
EA201300786A1 (ru) * 2013-07-17 2015-01-30 Сергей Сергеевич АЗАРОВ Способ передачи изображений
US9747267B2 (en) * 2013-08-12 2017-08-29 Adobe Systems Incorporated Document editing synchronization
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
KR102184269B1 (ko) * 2013-09-02 2020-11-30 삼성전자 주식회사 디스플레이장치, 휴대장치 및 그 화면 표시방법
US20150095458A1 (en) * 2013-09-27 2015-04-02 Xerox Corporation Methods and systems for providing a seamless transition of documents between client types
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US20150120834A1 (en) * 2013-10-28 2015-04-30 Samsung Electronics Co., Ltd. Method and system for real time collaboration on a canvas
US8938679B1 (en) * 2013-11-18 2015-01-20 Axure Software Solutions, Inc. Comment system for interactive graphical designs
US20150215390A1 (en) * 2014-01-30 2015-07-30 Crytek Gmbh Apparatus and Method for Multi-User Editing of Computer-Generated Content
US9875269B1 (en) * 2014-03-12 2018-01-23 Sprint Communications Company L.P. Collaborative editing in self-contained single page applications
JP6578701B2 (ja) * 2014-04-07 2019-09-25 株式会社リコー 情報処理システム、情報処理装置、端末装置及びプログラム
US10318618B2 (en) * 2014-06-18 2019-06-11 Microsoft Technology Licensing, Llc Consistent views of partitioned data in eventually consistent systems
CN105450975A (zh) * 2014-08-26 2016-03-30 天脉聚源(北京)教育科技有限公司 一种会议系统及文件同步和内容录制方法
US20160100019A1 (en) * 2014-10-03 2016-04-07 Clique Intelligence Contextual Presence Systems and Methods
US20160098162A1 (en) * 2014-10-06 2016-04-07 Lenovo (Singapore) Pte. Ltd. Pen based locking mechanism
US10331775B2 (en) 2014-10-15 2019-06-25 Microsoft Technology Licensing, Llc Collaborative document editing using state-based revision
CN105812432B (zh) * 2014-12-31 2019-03-12 北京金山云网络技术有限公司 云文档处理方法及装置
CN104506650B (zh) * 2015-01-04 2018-07-03 华为技术有限公司 一种用户设备协同控制方法、用户设备以及通信系统
IN2015MU00904A (ko) * 2015-03-19 2015-04-10 Zycus Infotech Pvt Ltd
US20160321025A1 (en) * 2015-04-30 2016-11-03 Kabushiki Kaisha Toshiba Electronic apparatus and method
US20160321226A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Insertion of unsaved content via content channel
US10565297B2 (en) 2015-06-26 2020-02-18 Microsoft Technology Licensing, Llc. Rumored changes for real-time coauthoring
RU2609081C2 (ru) * 2015-06-29 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Способ (варианты) и система (варианты) обработки документа в распределенной архитектуре
US20180373772A1 (en) * 2015-07-17 2018-12-27 Lg Electronics Inc. Method for maintaining synchronization of resources in wireless communication system, and apparatus therefor
KR101734262B1 (ko) 2015-08-12 2017-05-11 현대자동차 주식회사 자동변속기 제어 장치 및 방법
US9871801B2 (en) * 2015-08-28 2018-01-16 Microsoft Technology Licensing, Llc Secure computing system record access control
US10169547B2 (en) 2015-08-28 2019-01-01 Microsoft Technology Licensing, Llc Secure computing system record transfer control
US9954863B2 (en) * 2015-08-28 2018-04-24 Microsoft Technology Licensing, Llc Computing system record security architecture
US10353926B2 (en) * 2015-11-17 2019-07-16 Microsoft Technology Licensing, Llc Unified activity service
US10289282B2 (en) 2015-12-21 2019-05-14 Microsoft Technology Licensing, Llc While you were away experience
US10902185B1 (en) 2015-12-30 2021-01-26 Google Llc Distributed collaborative storage with operational transformation
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
US11017484B2 (en) 2016-01-21 2021-05-25 Tencent Technology (Shenzhen) Company Limited Resource sharing method and terminal
CN105591885B (zh) * 2016-01-21 2019-01-08 腾讯科技(深圳)有限公司 资源分享方法和装置
US10015244B1 (en) * 2016-04-29 2018-07-03 Rich Media Ventures, Llc Self-publishing workflow
US10083672B1 (en) 2016-04-29 2018-09-25 Rich Media Ventures, Llc Automatic customization of e-books based on reader specifications
US9886172B1 (en) 2016-04-29 2018-02-06 Rich Media Ventures, Llc Social media-based publishing and feedback
US9864737B1 (en) 2016-04-29 2018-01-09 Rich Media Ventures, Llc Crowd sourcing-assisted self-publishing
US11308068B2 (en) * 2016-05-13 2022-04-19 Sap Se Control systems for draft lifecycle
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
KR101746477B1 (ko) 2016-06-28 2017-06-14 주식회사 한글과컴퓨터 개체에 대한 스타일 동시 편집을 지원하는 문서 협업 장치 및 그 동작 방법
US10467198B2 (en) * 2016-09-15 2019-11-05 Oracle International Corporation Network partition tolerance in a high available centralized VCS implementation
US10769356B2 (en) * 2017-03-03 2020-09-08 Adobe Inc. Synchronizing review comments between source and shared documents
CN109688176B (zh) * 2017-10-18 2022-01-11 腾讯科技(深圳)有限公司 一种文件同步方法及终端、网络设备、存储介质
US20190146783A1 (en) 2017-11-14 2019-05-16 Microsoft Technology Licensing, Llc Collaborative software development with heterogeneous development tools
CN110505256B (zh) * 2018-05-16 2021-09-07 腾讯科技(深圳)有限公司 协作任务状态处理方法、装置、存储介质和计算机设备
DE102018111930A1 (de) * 2018-05-17 2019-11-21 Beckhoff Automation Gmbh Verfahren zum Bearbeiten eines Softwareprojekts
JP7041350B2 (ja) * 2018-05-29 2022-03-24 富士通株式会社 編集プログラム、編集装置および編集方法
US11244284B2 (en) 2018-05-31 2022-02-08 Microsoft Technology Licensing, Llc Document status management system
KR102010522B1 (ko) * 2018-06-05 2019-08-13 주식회사 한글과컴퓨터 공동 편집 대상 문서 상에서 편집을 수행하고 있는 다른 유저의 이름 표시가 가능한 클라이언트 단말 장치 및 그 동작 방법
US10887357B2 (en) 2018-08-22 2021-01-05 International Business Machines Corporation Document collaboration tool
US11677624B2 (en) * 2019-04-12 2023-06-13 Red Hat, Inc. Configuration of a server in view of a number of clients connected to the server
CN110020328A (zh) * 2019-04-16 2019-07-16 北京字节跳动网络技术有限公司 在线表格的数据处理方法、装置、电子设备及存储介质
US20210326793A1 (en) * 2020-04-17 2021-10-21 Richard Frankel Workflow management system
WO2021236837A1 (en) * 2020-05-19 2021-11-25 Markadoc Corporation Online real-time interactive collaborative document system
US10922469B1 (en) * 2020-06-30 2021-02-16 Cadence Design Systems, Inc. Methods and systems of enabling concurrent editing of hierarchical electronic circuit layouts
CN111985191B (zh) * 2020-08-05 2024-03-29 北京同创永益科技发展有限公司 一种多人协同在线文档编辑方法及其装置
WO2023063666A1 (ko) * 2021-10-12 2023-04-20 삼성전자 주식회사 공동 편집 서비스를 제공하기 위한 방법 및 이를 위한 서버
US20230376680A1 (en) * 2022-05-17 2023-11-23 Klaviyo Inc. Method and system for template reconciliation
WO2024080586A1 (ko) * 2022-10-14 2024-04-18 삼성전자주식회사 멀티 디바이스 환경에서 공동 편집을 위한 전자 장치 및 방법

Family Cites Families (372)

* 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
US5337407A (en) * 1991-12-31 1994-08-09 International Business Machines Corporation Method and system for identifying users in a collaborative computer-based system
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
US5963931A (en) * 1992-10-05 1999-10-05 Expert Systems Publishing Co. Computer-assisted decision management system
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 インターナショナル・ビジネス・マシーンズ・コーポレイション バージョン化オブジェクトに対するロッキング機構
JP3053153B2 (ja) 1993-09-20 2000-06-19 株式会社日立製作所 文書管理システムのアプリケーション起動方法
JPH0785020A (ja) 1993-09-20 1995-03-31 Hitachi Ltd 文書管理方法
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
US6049334A (en) * 1993-12-20 2000-04-11 International Business Machines Corporation Method and system for graphically indicating the activity of a plurality of users within a shared data collection
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
US5831615A (en) * 1994-09-30 1998-11-03 Intel Corporation Method and apparatus for redrawing transparent windows
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
US5774717A (en) 1995-12-15 1998-06-30 International Business Machines Corporation Method and article of manufacture for resynchronizing client/server file systems and resolving file system conflicts
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 日本電気株式会社 文書共有管理方法
US20030096760A1 (en) * 1997-03-10 2003-05-22 Smithklinebeecham Corporation Method of antagonizing the human SRC SH2 domain
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
US7447712B2 (en) 1997-09-28 2008-11-04 Global 360, Inc. Structured workfolder
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
AU1075799A (en) 1997-10-09 1999-05-03 Interval Research Corporation Method and apparatus for sending and receiving lightweight 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
US7194679B1 (en) * 1998-10-20 2007-03-20 International Business Machines Corporation Web-based file review system utilizing source and comment files
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
GB9827831D0 (en) 1998-12-17 1999-02-10 Tribeka Ltd Method and apparatus for the distribution of digitised information on demand
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
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
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
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
US6438548B1 (en) * 1999-06-30 2002-08-20 International Business Machines Corporation Method of and system for managing documents in a bandwidth constrained environment
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 오길록 문서 공동 편집 장치 및 그 방법
US7237006B1 (en) * 2000-04-07 2007-06-26 Andrew Prell Method for managing the simultaneous utilization of diverse real-time collaborative software applications
JP2001290690A (ja) 2000-04-11 2001-10-19 Canon Inc ファイル管理方法及び装置並びに記憶媒体
US7124164B1 (en) * 2001-04-17 2006-10-17 Chemtob Helen J Method and apparatus for providing group interaction via communications networks
US7478129B1 (en) 2000-04-18 2009-01-13 Helen Jeanne Chemtob 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
CA2424713C (en) * 2000-08-21 2007-12-04 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
GB2390713B (en) 2000-10-18 2005-03-23 Chasseral Ltd 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
EP1381938A4 (en) 2001-03-16 2010-06-09 Netomat Inc SHARING, MANAGING AND COMMUNICATING INFORMATION ON A COMPUTER NETWORK
US8744835B2 (en) 2001-03-16 2014-06-03 Meaningful Machines Llc Content conversion method and apparatus
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
GB2374689B (en) * 2001-04-20 2005-11-23 Eldama Systems Ip Ltd Communications system
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
AU2003210750A1 (en) 2002-02-02 2003-09-02 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
US7171467B2 (en) * 2002-06-13 2007-01-30 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
US7565603B1 (en) 2002-06-28 2009-07-21 Microsoft Corporation Representing style information in a markup language document
US20040003090A1 (en) 2002-06-28 2004-01-01 Douglas Deeds Peer-to-peer media sharing
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
US7346705B2 (en) 2002-08-28 2008-03-18 Apple Inc. Method of synchronising three or more electronic devices and a computer system for implementing that method
US6880350B2 (en) 2002-09-13 2005-04-19 Isothermal Systems Research, Inc. Dynamic spray system
CA2500334A1 (en) * 2002-09-30 2004-05-21 Ning-Ping Chan Blinking annotation callouts highlighting cross language search results
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
AU2003266303A1 (en) * 2002-10-10 2004-05-04 Ibm France System and method for selecting, ordering and accessing copyrighted information from physical documents
CN1244874C (zh) 2002-10-12 2006-03-08 鸿富锦精密工业(深圳)有限公司 多点协同作业系统及方法
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
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
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
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
US8706760B2 (en) * 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
JP2004265193A (ja) 2003-03-03 2004-09-24 Canon Inc 情報処理方法、情報処理装置、サーバ装置の制御方法、サーバ装置
US20060259524A1 (en) 2003-03-17 2006-11-16 Horton D T Systems and methods for document project management, conversion, and filing
US9003295B2 (en) 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
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 情報サーバ、情報サーバ用プログラムおよび情報システム
BRPI0410362B1 (pt) 2003-05-16 2017-06-20 Google Inc. Systems and methods of sharing network and network media
US20040230903A1 (en) 2003-05-16 2004-11-18 Dethe Elza Method and system for enabling collaborative authoring of hierarchical documents with associated business logic
CA2526178A1 (en) 2003-05-16 2004-12-02 Gerald Hewes Centralized mobile and wireless messaging opt-out registry system and method
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
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
NZ544175A (en) 2003-07-08 2008-04-30 Us Lynx Llc An automated publishing system that facilitates collaborative editing and accountability through virtual document architecture
US7329664B2 (en) 2003-07-16 2008-02-12 Neurogen Corporation Substituted (7-pyridyl-4-phenylamino-quinazolin-2-yl)-methanol analogues
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 京セラミタ株式会社 画像形成装置及び画像形成システム
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
US7458030B2 (en) 2003-12-12 2008-11-25 Microsoft Corporation System and method for realtime messaging having image sharing feature
US7839532B2 (en) 2003-12-12 2010-11-23 Ipro Tech, Inc. Methods and apparatus for imaging documents
GB2409541A (en) 2003-12-23 2005-06-29 Mandorla Technology Ltd Editable information management system and method
US20050177617A1 (en) 2003-12-23 2005-08-11 Intel Corporation Conflict resolution during data synchronization
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
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
JP2005293015A (ja) 2004-03-31 2005-10-20 Sharp Corp 文書管理サーバ、文書管理システム、文書管理方法、文書管理プログラム及びこの文書管理プログラムを記録した記録媒体
WO2005099381A2 (en) 2004-04-07 2005-10-27 Xoopit, Inc. Expression and time-based data creation and creator-controlled organization
JP2005301838A (ja) 2004-04-14 2005-10-27 Sharp Corp 情報処理装置,情報処理システム,ファイル同時編集方法,及びファイル同時編集プログラム
CN1684059A (zh) * 2004-04-14 2005-10-19 皇家飞利浦电子股份有限公司 一种多媒体信息文件的编辑方法和装置
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
WO2005103935A1 (en) 2004-04-26 2005-11-03 Creo Inc. Systems and methods for comparing documents containing graphic elements
US8499248B1 (en) * 2004-04-29 2013-07-30 Paul Erich Keel Methods and apparatus for managing and exchanging information using information objects
US7640511B1 (en) * 2004-04-29 2009-12-29 Paul Erich Keel Methods and apparatus for managing and inferring relationships from information objects
US7698307B2 (en) 2004-05-01 2010-04-13 Microsoft Corporation System and method for synchronizing between a file system and presence of contacts on a network
EP1751677A2 (en) * 2004-05-19 2007-02-14 Universität Zürich Computer-based system and computer program product for collaborative editing of documents
US20060026168A1 (en) 2004-05-20 2006-02-02 Bea Systems, Inc. Data model 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
EP1796314B1 (en) * 2004-08-31 2014-07-30 Tencent Technology (Shenzhen) Company Limited A system and method for implementing online file storage based on a real-time communication platform
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
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
US20060080432A1 (en) * 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US20070118794A1 (en) 2004-09-08 2007-05-24 Josef Hollander Shared annotation system and method
US20060123010A1 (en) 2004-09-15 2006-06-08 John Landry System and method for managing data 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
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
US20060173901A1 (en) 2005-01-31 2006-08-03 Mediatek Incorporation Methods for merging files and related systems
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
US8425491B2 (en) * 2005-05-13 2013-04-23 Coloplast A/S Retention element for telescopic device
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
JP4608391B2 (ja) 2005-08-09 2011-01-12 大阪瓦斯株式会社 排熱回収装置
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
US8326926B2 (en) * 2005-09-13 2012-12-04 Mentor Graphics Corporation Distributed electronic design automation architecture
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
EP1927922A1 (en) 2005-09-22 2008-06-04 JustSystems Corporation Data managing apparatus, data editing apparatus, data browsing apparatus, data managing method, data editing method, and data browsing method
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
JP2007170973A (ja) 2005-12-21 2007-07-05 Olympus Corp 分注装置、分析装置および吐出チップ
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
US8122341B1 (en) * 2006-06-17 2012-02-21 Google Inc. Sharing geographical information between users
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
CN101765840B (zh) 2006-09-15 2013-01-23 谷歌公司 纸质与电子文档中的注释的捕获及显示
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 삼성전자주식회사 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
EP2122509A1 (en) * 2007-02-14 2009-11-25 Museami, Inc. Web portal for distributed audio file editing
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
US7787215B2 (en) 2007-03-29 2010-08-31 Tdk Corporation Thin film magnetic head in which thermal protrusion is suppressed and method of forming the same
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
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US7937663B2 (en) 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
BRPI0811821B1 (pt) 2007-07-02 2019-11-12 Fraunhofer Ges Forschung aparelho e método para processamento e leitura de um arquivo tendo um container de dados de mídia e um container de metadados
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
US10747952B2 (en) * 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
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

Also Published As

Publication number Publication date
EP2212807A4 (en) 2016-03-23
TWI559157B (zh) 2016-11-21
KR20150113993A (ko) 2015-10-08
EP2212807A1 (en) 2010-08-04
US9547635B2 (en) 2017-01-17
TWI457769B (zh) 2014-10-21
US20110184906A1 (en) 2011-07-28
TW201445338A (zh) 2014-12-01
CN101855629A (zh) 2010-10-06
KR101524891B1 (ko) 2015-06-01
RU2010118615A (ru) 2011-11-20
JP2011503716A (ja) 2011-01-27
JP5468547B2 (ja) 2014-04-09
WO2009061638A1 (en) 2009-05-14
TW200921421A (en) 2009-05-16
US20120278276A1 (en) 2012-11-01
US8352418B2 (en) 2013-01-08
US20090125518A1 (en) 2009-05-14
US11455459B2 (en) 2022-09-27
AU2008324973A1 (en) 2009-05-14
MY163815A (en) 2017-10-31
US7941399B2 (en) 2011-05-10
BRPI0818912A2 (pt) 2015-05-12
AU2008324973B2 (en) 2012-09-06
KR20150115944A (ko) 2015-10-14
EP2212807B1 (en) 2017-11-29
KR20100084644A (ko) 2010-07-27
CN101855629B (zh) 2013-05-01
RU2501077C2 (ru) 2013-12-10
US8990150B2 (en) 2015-03-24
KR20150018896A (ko) 2015-02-24
US20160364199A1 (en) 2016-12-15
US10394941B2 (en) 2019-08-27
KR20170029020A (ko) 2017-03-14
US20200057800A1 (en) 2020-02-20
US20150067467A1 (en) 2015-03-05
MX2010004932A (es) 2010-05-24

Similar Documents

Publication Publication Date Title
KR101597082B1 (ko) 공동 저작
US8825758B2 (en) Collaborative authoring modes
JP5443471B2 (ja) 競合の解決

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 5