JP2012525657A - 共同オーサリングのチャネル横断の一貫性 - Google Patents

共同オーサリングのチャネル横断の一貫性 Download PDF

Info

Publication number
JP2012525657A
JP2012525657A JP2012508792A JP2012508792A JP2012525657A JP 2012525657 A JP2012525657 A JP 2012525657A JP 2012508792 A JP2012508792 A JP 2012508792A JP 2012508792 A JP2012508792 A JP 2012508792A JP 2012525657 A JP2012525657 A JP 2012525657A
Authority
JP
Japan
Prior art keywords
lock
metadata
document
identifier
creation
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2012508792A
Other languages
English (en)
Other versions
JP5926176B2 (ja
JP2012525657A5 (ja
Inventor
ビー.ベイラー ジョナサン
ジェイ.アントス クリストファー
ジェイ.バーンスタイン イーサン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012525657A publication Critical patent/JP2012525657A/ja
Publication of JP2012525657A5 publication Critical patent/JP2012525657A5/ja
Application granted granted Critical
Publication of JP5926176B2 publication Critical patent/JP5926176B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Abstract

コンピュータ装置は、処理装置と、処理装置で実行されると処理装置が下記のモジュールの作成する命令を有するメモリと、を含む。作成されるモジュールは、ドキュメントの内容の作成と編集を処理するドキュメント処理モジュール、コンピュータ装置でドキュメントのメタデータを生成、監視、記憶するメタデータ処理モジュールである。メタデータ処理モジュールは、ユーザがドキュメントの一部を編集し始めると作成される新しいロックに関する情報を含むロック作成メタデータと、ロック解除に関する情報を含むロック解除メタデータと、ロック削除に関する情報を含むロック削除メタデータを生成する。メタデータ処理モジュールは、データチャネルと、別個のメタデータチャネルの両方にロック作成メタデータを書き込む。メタデータ処理モジュールは、ロック解除メタデータをデータチャネルに書き込み、ロック削除メタデータをメタデータチャネルに書き込む。

Description

本発明は、共同オーサリングのチャネル横断の一貫性に関する。
ネットワークベースのドキュメントコラボレーションシステムによって、複数のユーザが、あるドキュメントに同時にアクセスし、共同でオーサリングを行うことが可能になった。
複数のユーザがドキュメントを共同でオーサリングすることが可能になったが、コンフリクトを避けるために、ネットワークベースのドキュメントコラボレーションシステムは、ドキュメントにおいて各ユーザが編集できる領域を制限することができる。この制限に関する情報が、他の共同オーサリングのユーザに通信されなければ、ドキュメントのコピーをまとめる時に変更に関するコンフリクトが発生する可能性が増す。
開示の実施形態は、処理装置と、命令を有するシステムメモリと、を備えるコンピュータ装置に関し、処理装置がその命令を実行すると、処理装置は、ドキュメントの内容を作成と編集の処理を行うドキュメント処理モジュールと、メタデータ処理モジュールとを作成する。メタデータ処理モジュールは、コンピュータ装置で、ドキュメントを生成、監視、記憶する。また、メタデータ処理モジュールは、ユーザがドキュメントの一部の編集を開始すると作成される新しいロックに関する情報を含むロック作成メタデータと、ロックの解除に関する情報を含むロック解除メタデータと、ロック削除に関する情報を含むロック削除メタデータと、を生成する。また、メタデータ処理モジュールは、ロック作成メタデータを、データチャネルと、別個のメタデータチャネルの両方に書き込む。データチャネルは、コンピュータ装置とサーバコンピュータとの間の第1の通信路で、この第1の通信路を通して、ドキュメントに関する内容とロックメタデータが通信される。メタデータチャネルは、コンピュータ装置とサーバコンピュータの間の第2の通信路で、この第2の通信路を通って、ドキュメントに関するロックメタデータが通信される。また、メタデータ処理モジュールは、ロック解除メタデータをデータチャネルに書き込み、ロック削除メタデータをメタデータチャネルに書き込む。
1つまたは複数の技術の詳細を、添付の図面と共に、下記に述べる。この技術の他の特徴、目的、利点は、説明、図面、請求項より明らかとなろう。
共同オーサリングにチャネル横断の一貫性を持たせるシステムの例を示す図である。 共同オーサリングにチャネル横断の一貫性をもたせる機能を実施する、図1に例示したクライアントコンピュータのモジュールの例を示す図である。 クライアントコンピュータでメタデータをドキュメントに適用する方法のフローチャートの第1の部分を示す図である。 クライアントコンピュータでメタデータをドキュメントに適用する方法のフローチャートの第2の部分を示す図である。 クライアントコンピュータでメタデータをドキュメントに適用する方法のフローチャートの第3の部分を示す図である。 図2のクライアントコンピュータの構成要素の例を示す図である。
本願は、ネットワークベースのドキュメントコラボレーションシステムで、ドキュメントデータをまとめる時に、チャネル横断で一貫した情報を提供するシステムおよび方法に関する。開示するシステムおよび方法においては、ドキュメントの領域に対する例えばロックのメタデータは、メタデータチャネル上で送信され、ドキュメントの内容とメタデータの両方は、データチャネルで送信される。システムと方法は、メタデータがドキュメントに適切に適用されるべき時を指定する優先順位付け規則を開示する。
図1は、メタデータをドキュメントに適用する時、チャネル横断の一貫性をサポートするシステム100の例を示す。システム100は、クライアント102、104、サーバ106、および、ネットワーク108を含む。クライアントとサーバの数は、これより多くても少なくてもよい。この開示においては、クライアントとクライアントコンピュータという用語は互いに置き換えて使うことができ、サーバとサーバコンピュータという用語も互いに置き換えて使うことができる。
クライアント102、104に記憶された複数の情報の中には、クライアントオペレーティングシステム(「OS」)と、クライアントアプリケーションがある。クライアントOSは、クライアントシステムのハードウェアリソースとソフトウェアリソースを管理するプログラムである。クライアントアプリケーションは、クライアント102、104のリソースを利用して、ユーザが指定したタスクを直接行う。例えば、クライアント102、104は、ドキュメントファイルを作成、編集するのに使われる文書処理プログラムなどの、1つまたは複数のソフトウェアアプリケーションを含む。このようなアプリケーションの一例は、ワシントン州レドモンドのマイクロソフト社製のMicrosoft Wordである。このようなアプリケーションの他の例も適用可能である。
サーバ106は、ネットワークを通してアクセス可能なファイルサーバである。サーバ106は、複数のファイルを記憶する。これらのファイルは、本明細書でさらに述べるように、ソフトウェアアプリケーションとドキュメントの両方を含むことができる。サーバ106は、サーバ106が記憶するドキュメントへのアクセスを制御する。
例示の実施形態においては、サーバ106は、ある組織内に配置してもよく、ドキュメントコラボレーションシステムの一部であってもよい。例示のドキュメントコラボレーションシステムは、マイクロソフト社提供のポータルサーバサービスであるSHAREPOINT(登録商標)チームサービスである。例示の共有ドキュメントサーバは、マイクロソフト社提供のMicrosoft Office SharePoint Server 2007である。他の構成も用いることができる。
メタデータは、データに関する情報である。典型的なメタデータの例としては、ドキュメント名、作成日または最終編集日、現在ドキュメントの編集を行っている著者(オーサ)、現在ドキュメントを閲覧している著者(オーサ)、段落識別子、段落ロックなどがある。他の種類のドキュメントメタデータも可能である。この開示においては、メタデータは、共同オーサリングを行う複数のユーザがドキュメントの同じ領域を同時に編集するのを防ぐためにドキュメント領域に適用されるロックを含む。そのドキュメント領域は、典型的には段落であるが、段落のヘッディング、表、文などを含んでもよい。また、メタデータは、ロックを作成するためのメタデータ、ロックを解除するためのメタデータ、ロックを削除するためのメタデータを含む。
例示の実施形態においては、メタデータは、メタデータチャネル111を通して送信される。例示の実施形態においては、チャネル横断の一貫性を提供するために、メタデータは、データチャネル113でも送信される。データチャネル113は、ドキュメントの内容情報をサーバコンピュータ106に送受信するのにも使われる。
ロックを作成するためのメタデータは、ロック作成メタデータと称され、共同オーサリングのユーザが、例えば、段落に文字をタイプすることによって、または、書式の設定を変更することによって、ドキュメントの領域の内容を変更すると、メタデータチャネル111に書き込まれる。ロック作成メタデータは、他の全ての共同オーサリングのユーザに対して、その段落に対するロックを適用し、他の共同オーサリングのユーザがドキュメントの同じ領域を編集できないようにする。下記に詳細に説明するように、チャネル横断の一貫性をもたせるためには、ドキュメントを保存する時、ロック作成メタデータもデータチャネル113に含まれる。
ロックを解除するためのメタデータは、ロック解除メタデータと称され、共同オーサリングのユーザが、ドキュメント領域、典型的には、段落の編集を終えると、データチャネル113に書き込まれる。ロック解除メタデータがデータチャネル113に書き込まれて、ロック解除と内容の更新が同期される。共同オーサリングのユーザは、ドキュメントの領域の編集を終えると、典型的には、保存操作を行う。保存操作中に、ドキュメントの内容は、データチャネル113に書き込まれ、サーバ106に送信される。ロック解除メタデータをドキュメントの内容と共にデータチャネル113に書き込むことによって、ドキュメントの編集された領域に対するロックを解除するメタデータがドキュメントの内容と同時に受信されることを確実にする。こうして、更新された内容を受信する前にロックが解除され、ユーザが、最新の内容ではないドキュメントの領域を編集するという潜在的な問題を防ぐことができる。
ロックを削除するためのメタデータは、ロック削除メタデータと称され、例えば、ロック削除ボタンを作動させる、または、タイムアウトによって、ロックを明示的に削除すると、メタデータチャネル111に書き込まれる。ロックは、様々な理由で明示的に削除してよい。例えば、ユーザは、ドキュメント領域の編集を始め、その領域に対するロックを作成し、その後、保存することなしにキャンセルする場合がある。ロックを明示的に削除する方法がなければ、ロックは有効なままになる。別の例としては、ユーザは、ドキュメント領域の編集を始め、その領域に対するロックを作成し、その後、長時間、その場を離れる、または、長時間、ネットワーク108との接続を切る場合がある。この場合には、ドキュメントコラボレーションシステムは、特定の時間が経つと、共同オーサリングのユーザに対する全てロックを期限切れとするタイムアウトを実施してよい。この例に関しては、タイムアウトによって、ロック削除メタデータが、編集中のドキュメント領域に対するメタデータチャネル111に書き込まれる。
ロックメタデータの各単位は、その単位に関連付けられた識別子を有する。この例において、識別子は、後述するように、ロックを識別し、かつロックの対象となっているドキュメントの部分を識別する数を含む。ロックは、ロックの作成、解除、または削除を開始したユーザの識別子も含んでよい。識別子は、ロック作成時にロックに割り当てられ、そのロックが削除または解除されるときは、同じ識別子が用いられる。従って、常に、あるロックには、ロック作成とロック削除/解除のペアが関連付けられている。
ドキュメントの領域が編集中で、ロックが作成され、保存操作が行われて、ロックが解除され、その後、ドキュメントの同じ領域が再び編集されると、ドキュメントのその領域に対して新しいロックが作成される。新しいロックは、たとえドキュメントの同じ部分が編集されていても、新しい識別子が割り当てられる。下記に記載するように、そのロック識別子は、チャネル横断の一貫性を強化する追加の手段として用いられる。
例示のドキュメントコラボレーションシステムは、ロック作成、ロック削除、ロック解除の各々の履歴を保持する。履歴は、メタデータチャネル111に保持される。下記にさらに記載するように、ロック作成、ロック削除およびロック解除の履歴は、チャネル横断の一貫性を強化するさらなる手段として用いられる。
図2は、クライアントコンピュータ102の論理モジュールの詳細な図を示す。クライアントコンピュータ102は、例示のドキュメント処理モジュール202と例示のメタデータ処理モジュール204を含む。
例示のドキュメント処理モジュール202は、Microsoft Wordなどのワードプロセッサの処理を行う。例示のドキュメント処理モジュール202によって、ドキュメントを作成または開くこと、変更、および、保存することが可能になる。例示のドキュメント処理モジュール202は、データチャネル113を用いて、ドキュメントの内容をサーバ106に保存する。ドキュメントを保存するとき、ドキュメント全体の内容をサーバ106に送信するので、データチャネル113は、比較的速度の遅いチャネルである。
例示の実施形態においては、クライアント102とクライアント104の共同オーサリングのユーザは、同じドキュメントを編集することができる。クライアント102の共同オーサリングのユーザが、最初に、ドキュメントを開いた場合、例示のドキュメント処理モジュール202は、サーバ106からドキュメントのコピーを取得し、クライアント102でドキュメントを開く。クライアント104の共同オーサリングのユーザがそのドキュメントを開くと、例示のドキュメント処理モジュール202は、サーバ106からドキュメントのコピーを取得し、クライアント104で、そのドキュメントを開く。クライアント102の共同オーサリングのユーザが、クライアント104の共同オーサリングのユーザがドキュメントを開く前に、そのドキュメントを変更したにもかかわらず、変更を保存していない場合、クライアント104の共同オーサリングのユーザは、ドキュメントを開いたとき、その変更が見えない。
例示の実施形態においては、第2の共同オーサリングのユーザは、第1および第2の共同オーサリングの両方のユーザが変更をドキュメントに保存するまで、第1の共同オーサリングのユーザがドキュメントに行った変更が見えない。例えば、クライアント102の共同オーサリングのユーザが、クライアント102で開いたドキュメントへの変更を保存すると、クライアント104の共同オーサリングのユーザは、自分がクライアント104で開いたそのドキュメントへの変更を保存するまで、その変更が見えない。クライアント102の共同オーサリングのユーザが、クライアント102で開いたドキュメントへの変更を保存した後、クライアント104の共同オーサリングのユーザが、クライアント104で開いたそのドキュメントへの変更を保存すると、クライアント102でドキュメントに加えた変更は、クライアント104で開かれたドキュメントに統合される。
例示のメタデータ処理モジュール204は、例示のドキュメントコラボレーションシステムで開かれたドキュメントのメタデータを処理する。クライアント102の共同オーサリングのユーザがドキュメントを開いて、例えば、ドキュメントの段落に文字をタイプして、そのドキュメントの内容を変更すると、クライアント102の例示のメタデータ処理モジュールは、その段落に対してロックを作成する。ロックは、ドキュメントのロックされている段落を識別する段落識別子を含むメタデータである。ロックメタデータは、そのドキュメントを編集する共同オーサリングのユーザに対する識別子も含み、ロックに対する識別子も含む。
段落ロックに関するさらなる詳細は、2008年6月25日出願の米国特許出願公開第12/145,536号に記載されており、その全体を参照によりここに組み込むものとする。
例示の実施形態においては、全てのロックは、ロックを識別するロック識別子を有する。ロック識別子は、ロックを作成する例示のメタデータ処理モジュール204が生成する乱数である。新しいロックが作成される度に、たとえその新しいロックが以前のロックと同じ段落に対して作成されても、そのロックに対して新しいロック識別子が生成される。ロック識別子を用いて、ロックが適用された時、ロックがドキュメントから解除または削除された時を判断する。
ロックが作成されると、そのロックは、例示のメタデータチャネル111に書き込まれ、サーバコンピュータ106に送信される。メタデータチャネル111は、データチャネル113とは別個の、速度の速いチャネルである。メタデータチャネル111は、典型的には、データチャネル113と比較して、より迅速に(「速く」)更新される。なぜならば、典型的に、メタデータチャネル111で送信される情報はデータチャネル113で送信される情報よりより少ないので、その情報は、データチャネル113で送信される情報より速くサーバ106に送信されるからである。ロック伝搬にメタデータチャネル111を使用して、共同オーサリングのユーザたちに、別の共同オーサリングのユーザがドキュメント領域を編集していると迅速に知らせ、編集を行っているユーザ以外の共同オーサリングのユーザたちが、ドキュメントの同じ領域を編集する可能性を最小限にすることは、有益である。
例示の実施形態において、例示のメタデータチャネル111の最初のメタデータは、すぐにサーバ106に送信されるが、その後、追加のメタデータは、例えば、5秒毎、10秒毎、30秒毎、45秒毎、1分毎、5分毎、10分毎などの定期的な間隔でサーバ106に送信される。追加のメタデータは、例えば、サーバ106の負荷を減らすなどの性能上の理由で、すぐにではなく、定期的にサーバ106に送信される。クライアント102で共同オーサリングを行っている者が、例えば、クライアント102で開いているドキュメントの段落1を編集し始めると、段落1に対してロックが作成され、メタデータチャネル111でサーバ106に送信される。クライアント104でロックが受信されると、そのロックは、クライアント104の共同オーサリングのユーザがドキュメントの段落1を編集するのを防ぐ。
ここで、例示のクライアント102の共同オーサリングのユーザが、段落8を編集する場合、段落8に対するロックが作成されるが、そのロックは、定期的な間隔が終了するまで、メタデータチャネル111を通してサーバ106に送信されない。例えば、定期的な間隔が30秒で、クライアント102の共同オーサリングのユーザが、段落1のロックがサーバ106に送信されてから3秒後に、段落8に文字をタイプした場合、段落8のロックは、その後27秒間、メタデータチャネル111を通してサーバ106に送信されない。この例においては、クライアント102の共同オーサリングのユーザが、27秒が経過する前に保存操作を行うと、段落8のロックがメタデータチャネル111を通して到着する前に、段落8の内容情報が、クライアント104に到達する可能性がある。
このため、例示のメタデータ処理モジュール204が、段落のロックを作成し、そのロックをメタデータチャネル111に書き込むと、例示のメタデータ処理モジュール204は、そのロックをデータチャネル113にも書き込む。そうすると、クライアント102の共同オーサリングのユーザが、クライアント102で開いたドキュメントに行っている編集に対して保存操作を行うと、その段落に対するロックが、段落の内容変更がデータチャネル113を通してサーバ106に送信されるのと同時に、データチャネル113を通してサーバ106に送信される。
メタデータチャネル111とデータチャネル113の両方を通すロック作成メタデータの供給は、上述した、メタデータチャネル111の更新に関する定期性に関する待ち時間の問題を最小限にするのに役立つ。メタデータチャネル111を通して、ロックが、保存操作前に、クライアント104に到達する場合、そのロックは、クライアント104の共同オーサリングのユーザが、段落を編集するのを防ぐ。クライアント102で保存操作が行われ、メタデータチャネル111を通してロックが到達する前に、その保存操作によって、内容変更がデータチャネル113を通してクライアント104に到達する場合、データチャネル113を通したロックは、内容変更と共にクライアント104に到達する。データチャネル113のロックは、クライアント104の共同オーサリングのユーザが、段落を編集するのを防ぐ。
ロック解除は、典型的には保存操作の結果として、データチャネル113を介して生じる。ドキュメントコラボレーションシステムにおいては、少なくとも2種類の異なった保存操作が可能である。保存操作の一例においては、内容データはサーバ106に保存されるが、内容情報は共有に指定されない。この例では、共同オーサリングのユーザは、編集した内容をサーバ106に保管するために、保存するが、その内容は、他のユーザと快適に共有できる状態にはなっていない。保存操作の別の例においては、共同オーサリングのユーザは、共有の内容を指定する。この開示においては、保存操作は、2番目の例に従う。つまり、保存操作は、他の共同オーサリングのユーザと共有するための保存内容を指定する。
保存操作は、典型的に、共同オーサリングのユーザが、保存するドキュメントの段落の編集を終了したことを示すので、ロック解除は、データチャネル113を介して生じる。共同オーサリングのユーザが、1つまたは複数の段落の編集を続けたい場合、共同オーサリングのユーザが編集する各段落に対して、新しいロック識別子を有する新しいロックが作成される。
ロック解除メタデータは、データチャネル113に書き込まれて、ロック解除メタデータが、サーバ106で内容変更と同時に受信されるのを確実にする。これによって、例えば、例示のクライアント104の共同オーサリングのユーザなど、別の共同オーサリングのユーザが、ロック解除メタデータを受信して、ロックされている段落を編集することが可能となり、クライアント104で開かれたドキュメントも最新の内容に更新される。これによって、ロック解除メタデータに対応するロックが解除されて、クライアント104の共同オーサリングのユーザは、更新された内容を編集することを、確実にする。
ロック解除が起こると、ロック解除メタデータのデータチャネル113への書き込みに加えて、ロック解除メタデータは、メタデータチャネル111にも書き込まれる。メタデータチャネル111からのロック解除メタデータは、典型的には、データチャネル113からのロック解除メタデータがサーバ106に到達する前に、サーバ106に到達する。サーバ106は、ロック解除メタデータを受信すると、ドキュメントの他の共同オーサリングのユーザに対して、ロックされた段落のロックの種類を変更する。新しいロック種類は、ロックされた段落がもう編集中でないことを示す。これによって、その段落の編集が可能であることを、例えば、クライアント104の共同オーサリングのユーザなどのユーザに知らせる。しかしながら、その段落は、まだ、クライアント104の共同オーサリングのユーザに対してロックされている。クライアント104の共同オーサリングのユーザが、保存操作を行うと、サーバ106は、段落への更新された内容変更でクライアント104を更新し、段落のロックを解除する。
ロック削除メタデータは、メタデータチャネル111を通してサーバ106に送信される。ロック削除メタデータは、ロック解除メタデータとは区別される。ロック解除メタデータは、ユーザが、もはやドキュメント領域の編集を行っていないときに生成される。ロック削除メタデータは、共同オーサリングのユーザによる明示的な行動で、または、ドキュメントコラボレーションシステムの明示的な行動によって生じる。例えば、上述のように、ユーザが、1つまたは複数の段落の編集を開始し、保存することなしに、編集のキャンセルを決める場合がある。共同オーサリングのユーザが段落に文字をタイプすると、ロック作成メタデータが、メタデータチャネル111とデータチャネル113の両方に書き込まれるので、共同オーサリングのユーザは、例示のドキュメント処理モジュール202に関連付けられた削除キーを押すことができる。この例示の削除キーを押すと、ロック削除メタデータがメタデータチャネル111に書き込まれる。
下記に記載のように、ロック削除メタデータは、ロック作成メタデータより優先順位が高い。結果として、メタデータチャネル111からのメタデータがクライアント104で処理されると、ロック削除メタデータは、ロック削除メタデータのロック識別子を有するロックを、クライアント104で開いているドキュメントから取り除く。
ロック削除メタデータは、特定の条件の下で、ドキュメントコラボレーションシステムによって明示的にも生成される。例えば、ユーザがドキュメントの1つまたは複数の段落を編集し、変更を保存せず、ドキュメントを閉じずに、夜帰宅した場合、ユーザが編集した全ての段落に対するロックは、アクティブなままである。これらのロックによって、他の共同オーサリングのユーザがその段落を編集するのを防ぐ。メタデータ処理モジュール111は、所定の期間が経過するとロックをタイムアウトし、そのロックに対するロック削除メタデータを生成して、この状況に対処する。
クライアント104が、例えば、クライアント102が生成したメタデータなどのメタデータを受信すると、クライアント104の優先順位付け規則が、そのメタデータを、クライアント104で開いているドキュメントにどのように適用するかを判断する。クライアント104の共同オーサリングのユーザが、サーバ106からドキュメントを取得して、クライアント104でドキュメントを開くと、メタデータチャネル111を通してそのドキュメントのメタデータが取得される。そのメタデータが、ドキュメントの1つまたは複数の段落に対する1つまたは複数のロックを含む場合、クライアント104は、そのメタデータが、1つまたは複数のロックと同じロック識別子を有する1つまたは複数のロック解除を含むか否かを判断する。メタデータが、メタデータに含まれるロックと同じロック識別子を有するロック解除を含む場合、そのロックはドキュメントに適用されない。その理由は、ロック解除は常にロック作成後に起こるので、ロック解除の方が最近起こっているからである。しかしながら、メタデータが、メタデータに含まれるロックと同じロック識別子を有するロック解除を含まない場合、ロックメタデータに指定されたドキュメントの段落に、ロックが適用される。ロックによって、クライアント104の共同オーサリングのユーザが、ドキュメントを編集するのを防ぐ。
クライアント104のドキュメントが開かれ、最初のメタデータが、上述のようにドキュメントに適用されると、例示の実施形態においては、追加のメタデータは、典型的には30秒の定期的間隔で、ドキュメントに適用される。さらに、例示の実施形態においては、ドキュメントへの追加の内容更新は、クライアント104で保存操作が行われたとき、ドキュメントに適用されるのみである。次の定期的な間隔の際、メタデータは、メタデータチャネル111を介してサーバ106から取得される。メタデータは、優先規則に従ってドキュメントに適用される。クライアント104の例示のメタデータ処理モジュール204は、まず、メタデータがロック削除を含むか否かを判断する。メタデータチャネル111のロック削除は、最も優先順位の高いメタデータで、ロックを明示的に取り除くことを意味している。
クライアント104の例示のメタデータ処理モジュール204は、次に、サーバ106から取得されたメタデータがロック作成を含むか否かを判断する。メタデータが1つまたは複数のロック作成を含む場合、メタデータが、1つまたは複数のロック作成のロック識別子に一致するロック解除も含むか否かを判断する。ロック作成が同じロック識別子を有する対応するロック解除を有さない場合、ロック作成に対応するロックが、ロック作成で識別されたドキュメントの段落に適用される。しかし、ロック作成が、同じロック識別子を有する対応するロック解除を有する場合、ロック作成に対応するロックは、ロック作成で識別されたドキュメントの段落に適用されない。これは、ロック解除は常にロック作成後に生じので、ロック解除とロック作成が同じ識別子を有する場合、ロックはキャンセルされているからである。
クライアント104の共同オーサリングのユーザが、保存操作を行うと、ドキュメントの更新された内容が、サーバ106から取得される。更新された内容には、クライアント104で最後に保存操作をした後に、内容変更をサーバ106に保存した他の共同オーサリングのユーザが行ったドキュメントへの変更が反映されている。更新された内容は、データチャネル113を通してサーバ106からクライアント104に送信される。クライアント104は、更新された内容をサーバ106から受信すると、サーバ106から受信した最新のメタデータがロック解除を含むか否かを判断する。サーバ106から受信した最新のメタデータが、ロック解除を含む場合、ロック解除が識別したロックが、ロック解除が識別したドキュメントの段落から取り除かれる。内容更新が起こるまでロック解除が行われない理由は、ロックが解除されて、共同オーサリングのユーザがロックされた段落の編集を開始したとき、共同オーサリングのユーザが、サーバ106に保存されているドキュメントの最新の内容を編集することを確実にするためである。
図3から図5は、ドキュメントにメタデータを適用して、情報のチャネル横断の一貫性を与える方法のフローチャート300の例を示す。操作302で、共同オーサリングを指定されたドキュメントが、サーバコンピュータ106から取得される。操作304で、そのドキュメントを、クライアント104の共同オーサリングのユーザが開く。操作306で、クライアント104は、ドキュメントの第1のメタデータを含む第1のメッセージをサーバコンピュータ106から受信する。サーバコンピュータ106は、ドキュメントがクライアント104で開かれると、クライアント104に第1のメタデータを送信する。第1のメタデータは、メタデータチャネル111を通して送信される。第1のメタデータは、ドキュメントに対する1つまたは複数のロックを含む。ロックは、例えば、クライアント102の共同オーサリングのユーザなどの、一人または複数の共同オーサリングのユーザが、ドキュメントの1つまたは複数の領域を変更したことを示している。
操作308で、クライアント104は、第2のメッセージを、ドキュメントの第2のメタデータを含むサーバコンピュータ106から受信する。第2のメタデータも、メタデータチャネル111を通して受信される。操作310で、第2のメタデータが1つまたは複数のロック削除を含むか否かが判断される。第2のメタデータが1つまたは複数のロック削除を含むと判断されれば、操作312で、1つまたは複数のロック削除が、ドキュメントに適用されたロックに一致するか否かが判断される。各ロック削除は識別子を有し、各ロックは識別子を有する。ロック削除の識別子が、ドキュメントのロックの識別子と一致すると判断されれば、操作314で、ドキュメントのロックは削除される。
操作316で、第2のメタデータがロック作成を含むか否かが判断される。第2のメタデータがロック作成を含むと判断されると、操作318で、第2のメタデータがロック解除を含むか否かが判断される。第2のメタデータがロック解除を含むと判断されると、操作320で、ロック解除の識別子がロック作成の識別子と一致するか否かが判断される。ロック解除がないと判断されると、または、ロック解除はあるが、ロック解除のどれもロック作成と一致しないと判断されると、操作322で、第2のメタデータのロック作成に対応するロックが、ドキュメントに適用される。ロック作成が、一致するロック解除を有する場合、ロック作成のためにロックはドキュメントに適用されない。ロック解除は、ロック作成の後に生じるので、ロック解除は、ロック作成に対応するドキュメントの領域は、もうロックする必要がないということ意味する。
操作324で、クライアント104は、第3のメッセージをサーバコンピュータ206から受信する。第3のメッセージは、ドキュメントの内容を含み、かつ、第3のメタデータも含む。第3のメッセージは、典型的には、クライアント104の共同オーサリングのユーザが保存操作を行ってクライアント104で開かれたドキュメントの内容を保存した後、受信される。第3のメッセージに含まれるドキュメントの内容は、例えば、クライアント102の共同オーサリングのユーザなどの他の共同オーサリングのユーザからの、更新されたドキュメントの内容である。第3のメッセージは、データチャネル113を通して受信される。第3のメッセージは、データチャネル113を通して受信されて、更新されたドキュメントの内容と同時にロック解除が受信されることを確実にする。ロックが解除されると、ロックが解除されたドキュメントの領域が最新の内容を有することが確実になる。
操作326で、第3のメタデータがロック解除を含むか否かを判断する。第3のメタデータが1つまたは複数のロック解除を含むと判断されると、操作312で、1つまたは複数のロック解除が、ドキュメントに適用されたロックと一致するか否かを判断する。各ロック解除は識別子を有し、各ロックは識別子を有する。ロック解除の識別子が、ドキュメントのロックの識別子と一致すると判断されると、操作314で、ドキュメントのロックが解除される。
チャネル横断の共同オーサリングの一貫性に関する上記説明は、2人の共同オーサリングのユーザについて述べている。他の例示の実施形態においては、3人以上の共同オーサリングのユーザが、同じドキュメントを編集してよい。同じメタデータ統合操作が、3人以上の共同オーサリングのユーザを有する実施形態に適用される。
図6を参照してクライアント102の構成要素の例を示す。例示の実施形態においては、クライアント102は、デスクトップコンピュータ、ラップトップコンピュータ、パーソナルデータアシスタント、または、セルラーデバイス等のコンピュータ装置である。クライアント102は、入出力装置、中央処理装置(「CPU」)、データ記憶装置、およびネットワーク装置を含むことができる。
基本的な構成においては、コンピュータ装置102は、典型的に、少なくとも1つの処理装置402とシステムメモリ404を含む。コンピュータ装置の具体的な構成と種類に応じて、システムメモリ404は、揮発性(例えば、RAM)、不揮発性(例えば、ROM、フラッシュメモリなど)、または、それらの組み合わせであってよい。システムメモリ404は、典型的には、ワシントン州レドモンドのマイクロソフト社製のWINDOWS(登録商標)オペレーティングシステムなどのネットワーク化されたパーソナルコンピュータ、または、ワシントン州レドモンドのマイクロソフト社製のWindows SharePoint Server 2007などのサーバの操作を制御するのに適切なオペレーティングシステム406を含む。システムメモリ404は、1つまたは複数のソフトウェアアプリケーション408を含んでもよく、プログラムデータを含んでもよい。
コンピュータ装置102は、追加の特徴または機能を有してよい。例えば、コンピュータ装置102は、例えば、磁気ディスク、光ディスク、またはテープなどの追加のデータ記憶装置(取り外し可能および/または取り外し不可能)を含んでよい。そのような追加の記憶装置は、取り外し可能記憶装置410および取り外し不可能記憶装置412として、図6に示されている。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶する方法または技術で実装される、揮発性媒体、不揮発性媒体、取り外し可能媒体、および、取り外し不可能媒体を含んでよい。システムメモリ404、取り外し可能記憶装置410、および、取り外し不可能記憶装置412は、全てコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリなどのメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)などの光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置など磁気記憶装置、または、所望の情報を記憶するのに用いることができ、かつ、コンピュータ装置102によってアクセス可能な、他の任意の媒体を含むが、これらに限定されない。このようなコンピュータ記憶媒体のいずれかが、装置102の一部であってよい。コンピュータ装置102は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、などの入力装置(複数可)414を有してもよい。ディスプレイ、スピーカ、プリンタなどの出力装置(複数可)416も含んでよい。これらの装置は、この技術分野でよく知られており、ここでこれ以上説明する必要はない。
コンピュータ装置102は、例えばイントラネットやインターネットなどの分散コンピュータ環境でのネットワークを介して、コンピュータ装置102が他のコンピュータ装置420と通信するのを可能にする通信接続418を含んでもよい。通信接続418は、通信媒体の一例である。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波や他の搬送機構などの変調データ信号の形の他のデータによって具現されてよく、任意の情報配信媒体を含む。「変調データ信号」とういう用語は、信号に情報を符号化するように、信号の特性の1つまたは複数をセットし変化させた信号を意味する。通信媒体の例としては、有線ネットワークまたは直接有線接続などの有線媒体、音響媒体、RF媒体、赤外線媒体などの無線媒体を含むが、これらに限定されない。本明細書で用いられるコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含む。
上記の様々な実施形態は、一例としてのみ記載したもので、それらの実施形態に限定されるものではない。本開示の精神および範囲を逸脱することなしに、上記実施形態に様々な修正および変更を加えてよい。

Claims (15)

  1. クライアントコンピュータ(102)におけるメタデータ一貫性処理の方法(300)であって、
    クライアントコンピュータ(102)で、サーバコンピュータ(106)からドキュメントを取得するステップと、
    前記クライアントコンピュータ(102)で前記ドキュメントを開くステップと、
    前記ドキュメントを開いた後、前記サーバコンピュータ(106)から第1のメッセージを受信するステップであって、前記第1のメッセージは、前記ドキュメントに関する第1のメタデータを含み、前記第1のメタデータは、前記ドキュメントの1つまたは複数の領域に対する1つまたは複数のロックを含み、前記第1のメタデータは、前記サーバコンピュータ(106)からメタデータチャネル(111)を通して受信され、前記メタデータチャネル(111)は、前記クライアントコンピュータ(102)と前記サーバコンピュータ(106)との間の第1の通信路であって、該第1の通信路を通して、前記ドキュメントに関するロックメタデータが通信される、第1のメッセージを受信するステップと、
    前記ドキュメントを開いた後、ロックされていない前記ドキュメントの第1の領域を編集するステップと、
    前記サーバコンピュータ(106)から第2のメッセージを受信するステップであって、前記第2のメッセージは、前記ドキュメントに関する第2のメタデータを含み、前記第2のメタデータは、前記メタデータチャネル(111)を通して受信される、第2のメッセージを受信するステップと、
    前記第2のメタデータを受信した後、前記第2のメタデータが1つまたは複数のロック削除を含むか否かを判断するステップと、
    前記第2のメタデータが1つまたは複数のロック削除を含むと判断すると、該1つまたは複数のロック削除が、ロックされている前記ドキュメントの1つまたは複数の領域に対するロックの識別子と一致する識別子を含むか否かを判断するステップと、
    1つまたは複数のロック削除が、ロックされている前記ドキュメントの1つまたは複数の領域のロックの識別子に一致する識別子を含むと判断すると、前記ロック削除に対応するロックを削除するステップと、
    前記第2のメタデータを受信した後、前記第2のメタデータが、1つまたは複数のロック作成であって、該1つまたは複数のロック作成の各々が作成される各ロックに対応する識別子を含む、ロック作成を含むか否かを判断するステップと、
    前記第2のメタデータが1つまたは複数のロック作成を含むと判断すると、前記第2のメタデータが、前記ロック作成の1つまたは複数と同じロック識別子を有する1つまたは複数のロック解除を含むか否かを判断するステップと、
    前記第2のメタデータがロック解除を含まないと判断すると、または、前記第2のメタデータが1つまたは複数のロック解除を含むが、該1つまたは複数のロック解除のどれも、ロック作成に一致するロック識別子を有さないと判断すると、前記1つまたは複数のロック解除のどれも前記ロック作成に一致するロック識別子を有さない前記1つまたは複数のロック作成の各ロック作成に対して、前記ロック作成で指定された前記ドキュメントの領域に前記ロック作成を適用するステップと、
    前記サーバコンピュータ(106)から第3のメッセージを受信するステップであって、前記第3のメッセージは、内容情報と第3のメタデータを含み、前記内容情報と前記第3のメタデータは、前記メタデータチャネル(111)とは別個のデータチャネル(113)を通して受信され、前記データチャネル(113)は、前記クライアントコンピュータ(102)と前記サーバコンピュータ(106)との間の第2の通信路であって、該第2の通信路を通して、前記ドキュメントに関する内容と前記ロックメタデータが通信される、第3のメッセージを受信するステップと、
    前記内容情報と前記第3のメタデータを受信した後、前記第3のメタデータが1つまたは複数のロック解除を含むか否かを判断するステップと、
    前記第3のメタデータが1つまたは複数のロック解除を含むと判断すると、前記1つまたは複数のロック解除が、ロックされている前記ドキュメントの1つまたは複数の領域のロックの識別子に一致する識別子を含むか否かを判断するステップと、
    1つまたは複数のロック解除が、ロックされている前記ドキュメントの1つまたは複数の領域のロックの識別子に一致する識別子を含むと判断すると、前記ロック解除に対応するロックを解除するステップと
    を含むことを特徴とする方法。
  2. 前記第3のメタデータが1つまたは複数のロック解除を含むか否かを判断した後、前記第3のメタデータが1つまたは複数のロック作成を含むか否かを判断するステップと、
    前記第3のメタデータが1つまたは複数のロック作成を含むと判断すると、前記第3のメタデータが、前記ロック作成のうちの1つまたは複数の識別子に一致するロック識別子を有する1つまたは複数のロック解除を含むか否かを判断するステップと、
    前記第3のメタデータが、ロック解除を含まないと判断すると、または、前記第3のメタデータが1つまたは複数のロック解除を含むが、該1つまたは複数のロック解除のどれもロック作成に一致するロック識別子を有さないと判断すると、前記1つまたは複数のロック解除のどれも前記ロック作成に一致するロック識別子を有さない前記1つまたは複数のロック作成の各ロック作成に対して、前記ロック作成に指定されている前記ドキュメントの前記領域にロックを適用するステップと、
    をさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記クライアントコンピュータ(102)が、前記第1のメタデータを受信した後、所定の間隔で、第1の要求メッセージを前記サーバコンピュータ(106)に送信するステップをさらに含み、前記第1の要求メッセージは、前記サーバコンピュータ(106)からのメタデータを要求することを特徴とする請求項1に記載の方法。
  4. ロックされていない前記ドキュメントの第2の領域を編集するステップをさらに含み、前記ドキュメントの前記第2の領域は、前記ドキュメントの前記第1の領域と異なることを特徴とする請求項3に記載の方法。
  5. 第2の要求メッセージを前記サーバコンピュータ(106)に送信するステップをさらに含み、前記第2の要求メッセージは、ロックされていない前記ドキュメントの前記第2の領域に対するロック作成を含み、前記第2の要求メッセージは、前記第1の要求メッセージが前記サーバコンピュータ(106)に送信された時から1回または複数回の所定の間隔で、送信されることを特徴とする請求項4に記載の方法。
  6. 各ロック作成、各ロック解除、および、各ロック削除のための識別子をさらに含み、該各ロック解除が、ロック作成、ロック解除、ロック削除を開始した共同オーサリングのユーザの識別子を含むことを特徴とする請求項1に記載の方法。
  7. コンピュータ装置(102)であって、
    処理装置(402)と、
    前記処理装置(402)に接続されたシステムメモリ(404)であって、前記処理装置(402)によって実行されると、前記処理装置(402)にドキュメント処理モジュール(202)とメタデータ処理モジュール(204)を作成させる命令を含む前記システムメモリ(404)とを含み、
    前記ドキュメント処理モジュール(202)は、ドキュメント内容の作成と編集の処理を行い、
    前記メタデータ処理モジュール(204)は、前記コンピュータ装置(102)で、ドキュメントのメタデータを生成、監視、記憶し、前記メタデータ処理モジュール(204)は、ユーザがドキュメントの一部の編集を開始すると作成される新しいロックに関する情報を含むロック作成メタデータと、ロック解除に関する情報を含むロック解除メタデータと、ロック削除に関する情報を含むロック削除メタデータとを生成し、前記メタデータ処理モジュール(204)は、データチャネル(113)と、別個のメタデータチャネル(111)の両方にロック作成メタデータを書き込み、前記データチャネル(113)は、前記コンピュータ装置(102)とサーバコンピュータ(106)との間の第1の通信路であって、該第1の通信路を通して、前記ドキュメントに関する内容とロックメタデータが通信され、前記メタデータチャネル(111)は、前記コンピュータ装置(102)と前記サーバコンピュータ(106)との間の第2の通信路であって、該第2の通信路を通して、前記ドキュメントに関する前記ロックメタデータが通信され、前記メタデータ処理モジュール(204)は、ロック解除メタデータを前記データチャネル(113)に書き込み、前記メタデータ処理モジュール(204)は、ロック削除メタデータを前記メタデータチャネル(111)に書き込む
    ことを特徴とするコンピュータ装置(102)。
  8. 前記メタデータ処理モジュール(204)は、保存操作の後、ロック解除メタデータを前記データチャネル(113)に書き込み、前記ロック解除メタデータは、前記保存操作中に保存された変更された内容に対応していることを特徴とする請求項7に記載のコンピュータ装置。
  9. 前記メタデータ処理モジュール(204)は、前記ドキュメントの1つまたは複数の領域が変更されると、前記メタデータチャネル(111)と前記データチャネル(113)にロック作成メタデータを書き込むことを特徴とする請求項7に記載のコンピュータ装置。
  10. 前記メタデータ処理モジュール(204)は、前記コンピュータ装置(102)のタイムアウト後、または、前記コンピュータ装置(102)で削除機能が手動で作動されたとき、ロック削除メタデータを前記メタデータチャネル(111)に書き込むことを特徴とする請求項7に記載のコンピュータ装置。
  11. 前記ドキュメント処理モジュール(202)は、前記コンピュータ装置(102)で保存操作が行われると、ドキュメントの更新された内容情報をサーバコンピュータ(106)から取得することを特徴とする請求項7に記載のコンピュータ装置。
  12. 前記メタデータ処理モジュール(204)は、前記コンピュータ装置(102)で前記保存操作が行われると、ロック作成メタデータとロック解除メタデータを前記サーバコンピュータ(106)から取得することを特徴とする請求項11に記載のコンピュータ装置。
  13. 前記メタデータ処理モジュール(204)は、前記ロック作成メタデータと前記ロック解除メタデータに識別子を割り当て、前記メタデータ処理モジュールは、前記ロック作成メタデータと前記ロック解除メタデータに対で識別子を割り当て、少なくとも1つのロック解除に対する前記識別子は、少なくとも1つのロック作成に対する前記識別子と同じで、最大で1つのロック作成と1つのロック解除が同じ識別子を有することを特徴とする請求項7に記載のコンピュータ装置。
  14. 前記メタデータ処理モジュール(204)は、前記ロック作成メタデータと前記ロック削除メタデータに対で識別子を割り当て、少なくとも1つのロック削除の前記識別子は、少なくとも1つのロック作成の前記識別子と同じであり、最大で1つのロック作成と1つのロック削除が同じ識別子を有することを特徴とする請求項7に記載のコンピュータ装置。
  15. 電子コンピュータ装置(102)の処理装置(402)によって実行されると、
    サーバコンピュータ(106)からドキュメントを取得するステップであって、該ドキュメントは、前記電子コンピュータ装置(102)でユーザによって要求されたものであるステップと、
    前記ドキュメントを開くステップと、
    前記ドキュメントを開いた後、前記サーバコンピュータ(106)から第1のメッセージを受信するステップであって、前記第1のメッセージは、前記ドキュメントの第1のメタデータを含み、前記第1のメタデータは、前記ドキュメントの1つまたは複数の領域の1つまたは複数のロックを含み、前記第1のメタデータは、前記サーバコンピュータ(106)からメタデータチャネル(111)を通して受信され、前記メタデータチャネル(111)は、前記電子コンピュータ装置(102)と前記サーバコンピュータ(106)の間の第1の通信路であって、該第1の通信路を通して、前記ドキュメントに関するロックメタデータが通信される、第1のメッセージを受信するステップと、
    前記ドキュメントを開いた後、ロックされていない前記ドキュメントの第1の領域を編集するステップと、
    前記サーバコンピュータ(106)から第2のメッセージを受信するステップであって、前記第2のメッセージは、前記ドキュメントの第2のメタデータを含み、前記第2のメタデータは、前記メタデータチャネル(111)で受信される、第2のメッセージを受信するステップと、
    前記第2のメタデータを受信した後、前記第2のメタデータが1つまたは複数のロック削除を含むか否かを判断するステップと、
    前記第2のメタデータが1つまたは複数のロック削除を含むと判断すると、前記1つまたは複数のロック削除が、ロックされている前記ドキュメントの1つまたは複数の領域に対するロックの識別子に一致する識別子を含むか否かを判断するステップと、
    1つまたは複数のロック削除がロックされている前記ドキュメントの1つまたは複数の領域に対するロックの識別子に一致する識別子を含むと判断すると、前記ロック削除に対応する前記ロックを削除するステップと、
    前記第2のメタデータを受信した後、前記第2のメタデータが1つまたは複数のロック作成であって、その各々が作成される各ロックに対応する識別子を含むロック作成を含むか否かを判断するステップと、
    前記第2のメタデータが1つまたは複数のロック作成を含むと判断すると、前記第2のメタデータが、前記ロック作成のうちの1つまたは複数と同じロック識別子を有する1つまたは複数のロック解除を含むか否かを判断するステップと、
    前記第2のメタデータがロック解除を含まないと判断すると、または、前記第2のメタデータが1つまたは複数のロック解除を含むが、該1つまたは複数のロック解除のどれも、ロック作成に一致するロック識別子を有さないと判断すると、前記1つまたは複数のロック解除のどれも前記ロック作成に一致するロック識別子を有さない前記1つまたは複数のロック作成の各ロック作成に対して、前記ロック作成で指定された前記ドキュメントの領域に前記ロック作成を適用するステップと、
    前記サーバコンピュータ(106)から第3のメッセージを受信するステップであって、前記第3のメッセージは、内容情報と第3のメタデータを含み、前記内容情報と前記第3のメタデータは、前記メタデータチャネル(111)とは別個のデータチャネル(113)を通して受信され、前記データチャネル(113)は、前記電子コンピュータ装置(102)と前記サーバコンピュータ(106)との間の第2の通信路であって、該第2の通信路を通して、前記ドキュメントに関する内容と前記ロックメタデータが通信される、第3のメッセージを受信するステップと、
    前記内容情報と前記第3のメタデータを受信した後、前記第3のメタデータが1つまたは複数のロック解除を含むか否かを判断するステップと、
    前記第3のメタデータが1つまたは複数のロック解除を含むと判断すると、前記1つまたは複数のロック解除がロックされている前記ドキュメントの1つまたは複数の領域に対するロックの識別子に一致する識別子を含むか否かを判断するステップと、
    1つまたは複数のロック解除がロックされている前記ドキュメントの1つまたは複数の領域に対するロックの識別子に一致する識別子を含むと判断すると、前記ロック解除に対応する前記ロックを解除するステップと、
    前記第3のメタデータが1つまたは複数のロック解除を含むか否かを判断した後、前記第2のメタデータが、前記1つまたは複数のロック解除の識別子に一致する識別子を有する1つまたは複数のロック作成を含むか否かを判断するステップと、
    前記第2のメタデータが、前記1つまたは複数のロック解除の識別子に一致する識別子を有する1つまたは複数のロック作成を含むと判断すると、前記1つまたは複数のロック作成に一致する識別子を有する1つまたは複数のロックが前記ドキュメントに適用されているか否かを判断するステップと、
    1つまたは複数のロック作成が、前記1つまたは複数のロック解除の識別子に一致する識別子を有すると判断し、かつ、前記1つまたは複数のロック作成に一致する識別子を有する1つまたは複数のロックが、前記ドキュメントに適用されていると判断すると、前記1つまたは複数のロック解除に一致する識別子を有するロック作成に一致する識別子を有する前記ドキュメントから各ロックを解除するステップと、
    前記第3のメタデータが1つまたは複数のロック解除を含むか否かを判断した後、前記第3のメタデータが1つまたは複数のロック作成を含むか否かを判断するステップと、
    前記第3のメタデータが1つまたは複数のロック作成を含むと判断すると、前記第3のメタデータが、前記ロック作成のうち1つまたは複数の識別子に一致するロック識別子を有する1つまたは複数のロック解除を含むか否かを判断するステップと、
    前記第3のメタデータがロック解除を含まないと判断すると、または、前記第3のメタデータが1つまたは複数のロック解除を含むが、該1つまたは複数のロック解除のどれもロック作成に一致するロック識別子を有さないと判断すると、前記1つまたは複数のロック解除のどれも前記ロック作成に一致するロック識別子を有さない前記1つまたは複数のロック作成の各ロックに対して、前記ロック作成で指定された前記ドキュメントの領域にロックを適用するステップと
    を処理装置(402)に行わせる命令を含むことを特徴とするコンピュータ可読データ記憶媒体。
JP2012508792A 2009-05-01 2010-04-30 共同オーサリングのチャネル横断の一貫性 Expired - Fee Related JP5926176B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/433,929 2009-05-01
US12/433,929 US8161019B2 (en) 2009-05-01 2009-05-01 Cross-channel coauthoring consistency
PCT/US2010/033241 WO2010127291A2 (en) 2009-05-01 2010-04-30 Cross-channel coauthoring consistency

Publications (3)

Publication Number Publication Date
JP2012525657A true JP2012525657A (ja) 2012-10-22
JP2012525657A5 JP2012525657A5 (ja) 2013-06-13
JP5926176B2 JP5926176B2 (ja) 2016-05-25

Family

ID=43031156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012508792A Expired - Fee Related JP5926176B2 (ja) 2009-05-01 2010-04-30 共同オーサリングのチャネル横断の一貫性

Country Status (14)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101948601B1 (ko) * 2017-11-28 2019-02-15 주식회사 한글과컴퓨터 용지 크기 변경 요청에 기초하여 용지 크기를 변경하는 웹 기반 문서 저장 서버 및 이의 동작 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069924B2 (en) * 2007-07-25 2018-09-04 Oath Inc. Application programming interfaces for communication systems
US20110010638A1 (en) * 2009-07-10 2011-01-13 Novell, Inc. Presence-enabled inbox
US20130185651A1 (en) * 2012-01-18 2013-07-18 Microsoft Corporation People presence detection in a multidocument knowledge base
US9256600B2 (en) * 2012-04-13 2016-02-09 D2L Corporation Method and system for electronic content locking
US9158746B2 (en) 2012-06-13 2015-10-13 International Business Machines Corporation Managing concurrent editing in a collaborative editing environment using cursor proximity and a delay
US9898520B2 (en) * 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
US20160321226A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Insertion of unsaved content via content channel
US10565297B2 (en) * 2015-06-26 2020-02-18 Microsoft Technology Licensing, Llc. Rumored changes for real-time coauthoring
US10305824B2 (en) 2016-07-15 2019-05-28 Sap Se Dynamic hierarchy based message distribution
US10545929B2 (en) * 2016-08-31 2020-01-28 Sap Se Metadata versioning in a distributed database
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
CN107219984B (zh) * 2017-05-26 2019-01-22 维沃移动通信有限公司 一种文档内容管理方法及移动终端
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
US11829452B2 (en) 2020-08-24 2023-11-28 Leonard L. Drey System and method of governing content presentation of multi-page electronic documents

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034581A (ja) * 1999-07-23 2001-02-09 Hitachi Ltd 分散型情報処理システムの情報の共有方法
JP2004252673A (ja) * 2003-02-19 2004-09-09 Ntt Docomo Inc サーバ装置、端末装置およびプログラム
JP2005301838A (ja) * 2004-04-14 2005-10-27 Sharp Corp 情報処理装置,情報処理システム,ファイル同時編集方法,及びファイル同時編集プログラム
JP2007328392A (ja) * 2006-06-06 2007-12-20 Fuji Xerox Co Ltd 文書編集システム、文書編集制御サーバ、サーバ用プログラム、ユーザ端末、端末用プログラム
JP2008123088A (ja) * 2006-11-09 2008-05-29 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425016B1 (en) * 1997-05-27 2002-07-23 International Business Machines Corporation System and method for providing collaborative replicated objects for synchronous distributed groupware applications
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
WO2003017114A1 (en) * 2001-08-20 2003-02-27 Gausa, Llc System and method for real-time multi-directional file-based data streaming editor
GB0211644D0 (en) * 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
US7103597B2 (en) * 2002-10-03 2006-09-05 Mcgoveran David O Adaptive transaction manager for complex transactions and business process
US7480708B2 (en) * 2002-12-23 2009-01-20 Sap Ag Method and computer program product for managing data consistency
GB0308991D0 (en) * 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
RU2322687C2 (ru) * 2003-05-17 2008-04-20 Майкрософт Корпорейшн Система и способ для обеспечения множественных воспроизведений содержания документов
US7690000B2 (en) 2004-01-08 2010-03-30 Microsoft Corporation Metadata journal for information technology systems
US7577906B2 (en) * 2004-11-08 2009-08-18 Microsoft Corporation Method and system for document assembly
US20080140732A1 (en) * 2006-12-11 2008-06-12 Bentley System, Inc. Method and system for sharing file based data
US20080177782A1 (en) * 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
CN101013381B (zh) * 2007-01-26 2010-05-19 华中科技大学 基于对象存储系统的分布式锁
US8130219B2 (en) * 2007-06-11 2012-03-06 Autodesk, Inc. Metadata for avatar generation in virtual environments
US20090019048A1 (en) * 2007-07-12 2009-01-15 Pendergast Brian S Document lock manager

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034581A (ja) * 1999-07-23 2001-02-09 Hitachi Ltd 分散型情報処理システムの情報の共有方法
JP2004252673A (ja) * 2003-02-19 2004-09-09 Ntt Docomo Inc サーバ装置、端末装置およびプログラム
JP2005301838A (ja) * 2004-04-14 2005-10-27 Sharp Corp 情報処理装置,情報処理システム,ファイル同時編集方法,及びファイル同時編集プログラム
JP2007328392A (ja) * 2006-06-06 2007-12-20 Fuji Xerox Co Ltd 文書編集システム、文書編集制御サーバ、サーバ用プログラム、ユーザ端末、端末用プログラム
JP2008123088A (ja) * 2006-11-09 2008-05-29 Konica Minolta Holdings Inc 情報の管理方法及び情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101948601B1 (ko) * 2017-11-28 2019-02-15 주식회사 한글과컴퓨터 용지 크기 변경 요청에 기초하여 용지 크기를 변경하는 웹 기반 문서 저장 서버 및 이의 동작 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5926176B2 (ja) 共同オーサリングのチャネル横断の一貫性
US11755616B2 (en) Synchronized organization directory with team member folders
US8346768B2 (en) Fast merge support for legacy documents

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130422

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140902

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160421

R150 Certificate of patent or registration of utility model

Ref document number: 5926176

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees