CROSS-CHANNEL COAUTHORING CONSISTENCYA computing device includes a processing unit, and a memory with instructions that, when executed by the processing unit, cause the processing unit to create: a document processing module that processes the creation and editing of document content; and a metadata processing module that generates, monitors and stores metadata for a document on the computing device, the metadata processing module generating lock creation metadata that include information about a new lock that is created when a user begins to edit a portion of a document, lock removal metadata that includes information about removing a lock, and lock deletion metadata that includes information about deleting a lock, the metadata processing module writing lock creation metadata to both a data channel and to a separate metadata channel, the metadata processing module writing lock removal metadata to the data channel and the metadata processing module writing lock deletion metadata to the metadata channel.A method (300) for metadata consistency processing on a client computer (102), the method comprising: on a client computer (102), obtaining a document from a server computer (106); opening the document on the client computer (102); after opening the document, receiving a first message from the server computer (106), the first message including first metadata for the document, the first metadata including one or more locks for one or more areas of the document, the first metadata being received from the server computer (106) on a metadata channel (111), the metadata channel (111) being a first communication path between the client computer (102) and the server computer (106) along which lock metadata associated with the document is communicated; after opening the document, editing a first area of the document that is not locked; receiving a second message from the server computer (106), the second message including second metadata for the document, the second metadata being received on the metadata channel (111); after receiving the second metadata, determining whether the second metadata includes one or more lock deletions; when it is determined that the second metadata includes one or more lock deletions, determining whether the one or more lock deletions include an identifier that matches an identifier for a lock for one or more areas of the document that are locked; when it is determined that one or more lock deletions include an identifier that matches an identifier for a lock for one or more areas of the document that are locked, deleting the lock corresponding to the lock deletion; after receiving the second metadata, determining whether the second metadata includes one or more lock creations, each of the one or more lock creations including an identifier corresponding to each lock to be created; when it is determined that the second metadata includes one or more lock creations, determining whether the second metadata includes one or more lock removals having the same lock identifier as one or more of the lock creations; when it is determined that the second metadata does not include any lock removals or when it is determined that the second metadata does include one or more lock removals and that none of the one or more lock removals have a lock identifier that matches a lock creation, for each lock creation in the one or more lock creations for which none of the one or more lock removals have a lock identifier that matches the lock creation, applying the lock creation to the area of the document specified in the lock creation; receiving a third message from the server computer (106), the third message including content information and third metadata, the content information and the third metadata being received on a data channel (113) that is separate from the metadata channel (111), the data channel (113) being a second communication path between the client computer (102) and the server computer (106) along which content and the lock metadata associated with the document is communicated; after receiving the content information and the third metadata, determining whether the third metadata includes one or more lock removals; when it is determined that the third metadata includes one or more lock removals, determining whether the one or more lock removals include an identifier that matches an identifier for a lock for one or more areas of the document that are locked; when it is determined that one or more lock removals include an identifier that matches an identifier for a lock for one or more areas of the document that are locked, removing the lock corresponding to the lock removal.
교차 채널 공동 저작 일관성컴퓨팅 장치는 처리 장치와 메모리를 포함하고, 메모리는 처리 장치에 의해 실행될 때 처리 장치가 다음의 모듈을 생성하게 하는 명령어를 갖고, 상기 모듈은 문서 컨텐츠의 생성 및 편집을 처리하는 문서 처리 모듈과, 컴퓨팅 장치에서 문서를 위한 메타데이터를 생성, 모니터링 및 저장하는 메타데이터 처리 모듈을 포함하고, 메타데이터 처리 모듈은 사용자가 문서의 일부분에 대한 편집을 시작할 때 생성되는 신규 잠금(new lock)에 관한 정보를 포함하는 잠금 생성 메타데이터(lock creation metadata)와, 잠금의 해제에 관한 정보를 포함하는 잠금 해제 메타데이터(lock removal metadata)와, 잠금의 삭제에 관한 정보를 포함하는 잠금 삭제 메타데이터(lock deletion metadata)를 생성하고, 메타데이터 처리 모듈은 데이터 채널 및 별도의 메타데이터 채널 모두에 대해 잠금 생성 메타데이터를 기록하고, 메타데이터 처리 모듈은 데이터 채널에 잠금 해제 메타데이터를 기록하고, 메타데이터 처리 모듈은 메타데이터 채널에 잠금 삭제 메타데이터를 기록한다.클라이언트 컴퓨터(102)에서 메타데이터 일관성 처리(metadata consistency processing)를 위한 방법(300)으로서, 클라이언트 컴퓨터(102)에서 서버 컴퓨터(106)로부터의 문서를 획득하는 단계와,상기 클라이언트 컴퓨터(102)에서 상기 문서를 개방(opening)하는 단계와, 상기 문서를 개방한 후 상기 서버 컴퓨터(106)로부터 제 1 메시지를 수신하는 단계; 상기 제 1 메시지는 상기 문서에 대한 제 1 메타데이터를 포함하고, 상기 제 1 메타데이터는 상기 문서의 하나 이상의 구역에 대한 하나 이상의 잠금(locks)을 포함하고, 상기 제 1 메타데이터는 메타데이터 채널(111)에서 상기 서버 컴퓨터(106)로부터 수신되고, 상기 메타데이터 채널(111)은 상기 클라이언트 컴퓨터(102)와 상기 서버 컴퓨터(106) 사이에서 상기 문서와 연관된 잠금 메타데이터가 통신될 수 있게 하는 제 1 통신 경로임. 상기 문서를 개방한 후 잠금 상태에 있지 않은 상기 문서의 제 1 구역을 편집하는 단계와,상기 서버 컴퓨터(106)로부터 제 2 메시지를 수신하는 단계-상기 제 2 메시지는 상기 문서에 대한 제 2 메타데이터를 포함하고, 상기 제 2 메타데이터는 상기 메타데이터 채널(111)에서 수신됨-와, 상기 제 2 메타데이터를 수신한 후, 상기 제 2 메타데이터가 하나 이상의 잠금 삭제(lock deletions)를 포함하는지 여부를 판정하는 단계와,상기 제 2 메타데이터가 하나 이상의 잠금 삭제를 포함한다고 판정되는 경우, 상기 하나 이상의 잠금 삭제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자와 부합되는 식별자를 포함하는지 여부룰 판정하는 단계와,하나 이상의 잠금 삭제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자와 부합하는 식별자를 포함한다고 판정되는 경우, 상기 잠금 삭제에 대응하는 상기 잠금을 삭제하는 단계와,상기 제 2 메타데이터를 수신한 후, 상기 제 2 메타데이터가 하나 이상의 잠금 생성(lock creations)을 포함하는지 여부를 판정하는 단계-상기 하나 이상의 잠금 생성 각각은 생성될 각각의 잠금에 대응하는 식별자를 포함함-와,상기 제 2 메타데이터가 하나 이상의 잠금 생성을 포함한다고 판정되는 경우, 상기 제 2 메타데이터가 하나 이상의 상기 잠금 생성과 동일한 잠금 식별자를 갖는 하나 이상의 잠금 해제(lock removals)를 포함하는지 여부를 판정하는 단계와,상기 제 2 메타데이터가 임의의 잠금 해제를 포함하지 않는다고 판정되거나 또는 상기 제 2 메타데이터가 하나 이상의 잠금 해제를 포함하고 상기 하나 이상의 잠금 해제 중 어느 것도 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 경우, 상기 하나 이상의 잠금 해제 중 어느 것도 상기 잠금 생성과 부합하는 잠금 식별자를 갖지 않는 상기 하나 이상의 잠금 생성 중 각각의 잠금 생성에 대하여, 상기 잠금 생성 내에 지정된 상기 문서의 상기 구역에 상기 잠금 생성을 적용하는 단계와,상기 서버 컴퓨터(106)로부터 제 3 메시지를 수신하는 단계-상기 제 3 메시지는 컨텐츠 정보 및 제 3 메타데이터를 포함하고, 상기 컨텐츠 정보 및 상기 제 3 메타데이터는 상기 메타데이터 채널(111)과는 분리된 데이터 채널(113)에서 수신되고, 상기 데이터 채널(113)은 상기 클라이언트 컴퓨터(102)와 상기 서버 컴퓨터(106) 사이에서 상기 문서와 연관된 컨텐츠 및 상기 잠금 메타데이터가 통신되는 제 2 통신 경로임-와,상기 컨텐츠 정보 및 상기 제 3 메타데이터를 수신한 후 상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함하는지 여부를 판정하는 단계와,상기 제 3 메타데이터가 하나 이상의 잠금 해제를 포함한다고 판정되는 경우, 상기 하나 이상의 잠금 해제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자에 부합하는 식별자를 포함하는지 여부를 판정하는 단계와,상기 하나 이상의 잠금 해제가 잠금 상태에 있는 상기 문서의 하나 이상의 구역의 잠금에 대한 식별자에 부합하는 식별자를 포함한다고 판정되는 경우, 상기 잠금 해제에 대응하는 상기 잠금을 해제하는 단계를 포함하는메타데이터 일관성 처리를 위한 방법.