(57)【特許請求の範囲】
【請求項１】
複数のユーザーによりドキュメントを共同オーサリングするコンピュータシステムであって、前記コンピュータシステムは、
少なくとも１つの処理装置と、
前記処理装置と通信するように接続された少なくとも１つのデータ記憶装置であって、前記データ記憶装置は、前記処理装置によって実行されると、
第１のユーザーからの要求に応答して、前記処理装置が、前記ドキュメントにアクセスするステップであって、前記ドキュメントは、複数のセクションを含む、アクセスするステップと、
前記第１のユーザーからの要求に応答して、前記処理装置が、前記セクションのうちの１つに対し、前記第１のユーザーに関連付けられる第１のユーザーアクセス許可に対応する操作を実行するステップであって、前記第１のユーザーアクセス許可は、前記第１のユーザーによる前記セクションごとの編集できる範囲を示す、実行するステップと、
前記操作の実行に応答して、前記処理装置が、所定の規則に基づいて、前記操作が実行されたセクションに対する、第２のユーザーに関連付けられる第２のユーザーアクセス許可を動的に変更するステップであって、前記第２のユーザーアクセス許可は、前記第２のユーザーによる前記セクションごとの編集できる範囲を示し、前記所定の規則は、前記セクションごとに前記ドキュメントに表示される動的制御を使用して前記セクションごとに定義される、変更するステップと
を前記処理装置に実行させるコンピュータ実行可能命令を有することを特徴とするコンピュータシステム。
【請求項２】
前記第１のユーザーアクセス許可および前記第２のユーザーアクセス許可は、完全制御、読み取り／書き込み、校閲専用、コメント専用、および読み取り専用から構成されるグループから選択されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記所定の規則は、前記第２のユーザーアクセス許可を動的に変更する条件、および動的変更後のアクセスレベルが定義されることを特徴とする請求項１のコンピュータシステム。
【請求項４】
前記条件は、前記第１のユーザーアクセス許可に対応する操作の実行の完了であることを特徴とする請求項３に記載のコンピュータシステム。
【請求項５】
前記ドキュメントには、前記セクションごとに、前記セクションの編集を現在行っているユーザーを示すユーザー制御、およびユーザーが前記セクションを編集できる範囲を示すアクセス制御がさらに表示されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
前記アクセス制御の表示は、アイコンにより表現され、異なるアクセス許可を、異なる色のアイコン、異なる陰影のアイコン、および異なる形状のうちの少なくとも１つにより表現されることを特徴とする請求項５に記載のコンピュータシステム。
【請求項７】
複数のユーザーによりドキュメントを共同オーサリングする方法であって、前記方法は、
第１のユーザーからの要求に応答して、コンピュータシステム上の処理装置が、前記ドキュメントにアクセスするステップであって、前記ドキュメントは、複数のセクションを含む、アクセスするステップと、
前記第１のユーザーからの要求に応答して、前記処理装置が、前記セクションのうちの１つに対し、前記第１のユーザーに関連付けられる第１のユーザーアクセス許可に対応する操作を実行するステップであって、前記第１のユーザーアクセス許可は、前記第１のユーザーによる前記セクションごとの編集できる範囲を示す、実行するステップと、
前記操作の実行に応答して、前記処理装置が、所定の規則に基づいて、前記操作が実行されたセクションに対する、第２のユーザーに関連付けられる第２のユーザーアクセス許可を動的に変更するステップであって、前記第２のユーザーアクセス許可は、前記第２のユーザーによる前記セクションごとの編集できる範囲を示し、前記所定の規則は、前記セクションごとに前記ドキュメントに表示される動的制御を使用して前記セクションごとに定義される、変更するステップと
を備えたことを特徴とする方法。
【請求項８】
前記第１のユーザーアクセス許可および前記第２のユーザーアクセス許可は、完全制御、読み取り／書き込み、校閲専用、コメント専用、および読み取り専用から構成されるグループから選択することを特徴とする請求項７に記載の方法。
【請求項９】
前記所定の規則は、前記第２のユーザーアクセス許可を動的に変更する条件、および動的変更後のアクセスレベルが定義されることを特徴とする請求項７に記載の方法。
【請求項１０】
前記条件は、前記第１のユーザーアクセス許可に対応する操作の実行の完了であることを特徴とする請求項９に記載の方法。
【請求項１１】
前記ドキュメントには、前記セクションごとに、前記セクションの編集を現在行っているユーザーを示すユーザー制御、およびユーザーが前記セクションを編集できる範囲を示すアクセス制御がさらに表示されることを特徴とする請求項７に記載の方法。
【請求項１２】
前記アクセス制御の表示は、アイコンにより表現され、異なるアクセス許可を、異なる色のアイコン、異なる陰影のアイコン、および異なる形状のうちの少なくとも１つにより表現されることを特徴とする請求項１１に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
マルチユーザー環境において、多数のユーザーが同時に同一のドキュメントを編集できることが望ましい。多数のユーザーが同一ドキュメントを編集していると、多様な編集をそのドキュメントにどのように追加するのか混乱することがよくある。例えば、場合によってはドキュメントの多数のバージョンが編集されることがあり、編集を単一の完成したドキュメントにまとめることが困難になる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
ドキュメントのマルチユーザー編集作業を支援するシステムにおいてさえ、ユーザーは通常、ユーザーの編集がそのドキュメントを編集している他の人にいつ示されるのか制御できない。さらに、どのユーザーがそのドキュメントの特別な箇所を作業しているのか明確にすることが困難になり、それによって、ドキュメントに加えられた変更に食い違いが生じかねない。
【課題を解決するための手段】
【０００３】
本開示はドキュメントの構造化共同オーサリング（coauthoring）のシステムと方法に関する。
【０００４】
一態様によると、ドキュメントの構造化共同オーサリングのシステムは、各ドキュメントがセクションに分けられた1つ以上のドキュメントと、ドキュメントの各セクションに対してユーザーアクセス許可を格納するドキュメント許可モジュールと、他のユーザーとドキュメント更新情報を共有したいとのユーザーからの要求を処理し、他のユーザーからのドキュメント更新情報を受信したいとのユーザーからの要求を処理するドキュメント更新情報処理モジュールと、クライアント上に表示するためにドキュメントをレンダリングするものであり、ドキュメントがレンダリングされて、そのドキュメントのセクションはユーザーが行った共有ドキュメント更新情報で更新され、その共有ドキュメント更新情報をクライアント上のユーザーが要求するドキュメントレンダリングモジュールとを含むサーバーを備える。ユーザーアクセス許可は、ユーザーがドキュメントの各セクションを修正できる範囲を決定し、様々なユーザーアクセス許可がドキュメントの1つ以上のセクションのために格納できるよう許可する。本システムは、複数のユーザーがドキュメントの１つ以上のセクションを共同オーサリングすることを許可して、各ユーザーがドキュメントの1つ以上のセクションに対して特定のアクセス権を保有し、ユーザーがドキュメントの１つ以上のセクションに行った更新情報が他のユーザーに表示できるかを特定でき、そのユーザーがドキュメントの１つ以上のセクションにアクセスしている他のユーザーの名前を閲覧でき、それらユーザーからのドキュメントへの更新情報を選択的に取得できる。
【０００５】
別の態様によると、ドキュメントの構造化共同オーサリング方法は、ユーザーによりクラアント上のドキュメントを開くことであり、ドキュメントがセクションに分けられ、各セクションがドキュメントの一部を表現し、そのドキュメントがドキュメントの1つ以上のセクションのためにユーザーアクセス許可を表示し、ドキュメントがそのドキュメントの1つ以上のセクションを編集しているユーザーの名前を表示すること、ドキュメントの１つ以上のセクションで操作を実行することであり、その操作はそのドキュメントの１つ以上のセクションに付与されたユーザーアクセス許可と一致すること、他のユーザーと共有できるドキュメントへの更新情報を識別し、そのドキュメントへの更新情報が他のユーザーと共有されること、並びに、ドキュメントの１つ以上のセクションへのドキュメント更新情報が取得される１人以上のユーザーを識別することであり、その１人以上のユーザーは、ドキュメントに表示された名前から選択されて、そのドキュメント更新情報がドキュメントサーバーから取得され、そのドキュメントの適切なセクションで表示されることを備える。
【０００６】
さらに別の態様によると、ドキュメントサーバーでドキュメントの構造化共同オーサリングを整合する方法は、ドキュメントを複数のセクションに分割し、セクションのそれぞれがドキュメントの段落を含むこと、ドキュメントのセクションのそれぞれに対するユーザーアクセス許可を、ドキュメントの複数のユーザーのために格納することであり、そのユーザーアクセス許可が複数のユーザーのそれぞれがそのドキュメントのセクションに対して閲覧、編集およびコメントを行うことができる範囲を定義すること、ドキュメントのセクションのそれぞれにアクセスしているユーザーの名前を格納すること、ドキュメントのユーザーにそのドキュメントの事例をレンダリングすることであり、レンダリングされたドキュメントはユーザーアクセス許可をそのドキュメントのセクションのそれぞれに対して指示するアクセス制御を含み、レンダリングされたドキュメントは、ドキュメントのセクションのそれぞれを編集しているユーザーの名前を含み、そのレンダリングされたドキュメントは、ユーザーからのセクションへの更新情報の要求、およびユーザーがそのセクションに行った更新情報がユーザーに利用可能になることの指定を含む動作を与える動作制御を含むこと、ドキュメントのユーザーが行ったドキュメントへの更新情報を格納すること、第１のユーザーからの要求を受信し、第１のユーザーが行ったドキュメントへの更新情報を他のユーザーと共有すること、第１のユーザーからの要求に応答して、第１のユーザーが行ったドキュメント更新情報を他のユーザーと共有可能にすること、第２のユーザーからの要求を受信し、他のユーザーが行ったドキュメントのセクションへの更新情報を受信すること、並びに、第２のユーザーからの要求に応答して、第２のユーザーが要求するセクションへの共有更新情報を含むドキュメントの事例を第２のユーザーのためにレンダリングすることであり、その共有更新情報が要求されたドキュメントセクションの真上に位置付けられる新規のドキュメントセクションにレンダリングされることを備えた方法。
【０００７】
発明の概要は、発明を実施するための形態において下記にさらに記述する概念の選択を簡易化した形態で紹介するために提供されている。要約は、特許請求する主題の重要な特徴または本質的特徴を識別することを意図せず、また特許請求する主題の範囲を限定するために用いることも意図していない。
【図面の簡単な説明】
【０００８】
本明細書に組み込まれ、一部を形成する添付図面は、本開示の本質の説明に供する記述と共に、本開示の幾つかの態様を示す。
【図１】ドキュメントを共同オーサリングするための例示的システムを示す図である。
【図２】共同オーサリングをするため使用される例示的ドキュメントの構造を示す図である。
【図３】共同オーサリングをするための例示的ドキュメントの一部を示す図である。
【図４】別のユーザーからのドキュメント更新情報を、図３で示す例示的ドキュメントの一部に対して表示する例を示す図である。
【図５】例示的ドキュメントサーバーのモジュールを示す図である。
【図６】ドキュメントを共同オーサリングする例示的方法のフローチャートである。
【図７】ドキュメントサーバーで、ドキュメントの共同オーサリングを整合する例示的方法のフローチャートである。
【発明を実施するための形態】
【０００９】
本出願は、ドキュメントの構造化共同オーサリングのためのシステムおよび方法を対象とする。
【００１０】
本明細書で記述する例において、ドキュメントはセクションに分けられ、ドキュメントの１つ以上のセクションに対する特定のアクセス許可がユーザーに割当てられる。アクセス許可は、ユーザーがドキュメントのセクションを、閲覧、編集、コメントできる範囲を定義する。また、構造化共同オーサリングにより、ユーザーはドキュメント更新情報の共有が可能となる。ユーザーは、ドキュメントを変更でき、変更があるとすると、これらのどの変更が他のユーザーと共有されるか決定できる。さらに、ユーザーは１人以上の他のユーザーが行ったドキュメントへの共有更新情報の閲覧を要求できる。
【００１１】
図１はドキュメントの構造化共同オーサリングを支援する例示的システム１００を示す。システム１００は、クライアント１０１、１０２および１つ以上のドキュメントサーバー１０４を含む。より多くの、またはより少ないクライアントおよびドキュメントサーバーを使用することができる。
【００１２】
例示的実施形態において、クライアント１０１、１０２はデスクトップコンピューター、ラップトップコンピューター、携帯情報端末、または携帯装置のようなコンピューター装置である。クライアント１０１、１０２は、入出力装置、中央演算装置（ＣＰＵ）、データ記憶装置、およびネットワーク装置を含むことができる。
【００１３】
典型的な入出力装置は、キーボード、マウス、ディスプレイ、マイクロフォン、スピーカー、ディスクドライブ、ＣＤ−ＲＯＭドライブ、およびフラッシュドライブを含む。他の形式の入出力装置もまた使用可能である。
【００１４】
データ記憶装置のようなコンピューター可読媒体は、データ保持を提供する。例として、コンピューター可読媒体は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータのような情報の記憶に対して、随意の方法または技術で実装する物理的揮発性および非揮発性、取り外し可能および取り外し不能な媒体が含まれる。典型的には、通信媒体は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の搬送機構のような変調データ信号形式で具現化するとともに、任意の情報配信媒体を含む。「変調データ信号」なる用語は、１つ以上の特性集合を有する信号、または信号形式で情報を符号化するように変更された信号を意味する。
【００１５】
データ記憶装置に格納される複数の情報の中には、クライアントオペレーティングシステム（ＯＳ）およびクライアントアプリケーションがある。クライアントＯＳはクライアントシステムのハードウェアリソースおよびソフトウェアリソースを管理するプログラムである。クライアントアプリケーションはクライアント１０１、１０２のリソースを活用し、ユーザーが特定したタスクを直接実行する。例えば、クライアント１０１、１０２は、ドキュメントファイルの作成および編集に使用するワードプロセッサプログラムのような１つ以上のソフトウェアアプリケーションを含む。そのようなアプリケーションの一例は、ワシントン州レッドモンドのマイクロソフト社のマイクロソフトＷＯＲＤである。そのようなアプリケーションの他の例もまた利用可能である。
【００１６】
ネットワーク装置により、クライアント１０１、１０２がＬＡＮまたはインターネットのようなネットワークを介してサーバー１０４にデータを送受信できる。クライアント１０１、１０２に対して、他の設定も可能である。
【００１７】
ドキュメントサーバー１０４は、ネットワークを介してアクセス可能なファイルサーバーである。そのドキュメントサーバー１０４は、複数のファイルを格納する。これらのファイルは、本明細書中でさらに記述されるように、ソフトウェアアプリケーションおよびドキュメントの両方を含むことができる。ドキュメントサーバー１０４は、サーバー１０４が格納するドキュメントへのアクセスを制御する。
【００１８】
例示的実施形態において、ドキュメントサーバー１０４は、組織編制内に位置付けできる、またはインターネットをベースにした共有ドキュメントシステムの一部になり得る。例示のインターネットをベースにした共有ドキュメントシステムとは、マイクロソフト社が提供しているＳＨＡＲＥＰＯＩＮＴ（登録商標）チームサービスポータルサーバーサービスである。例示の共有ドキュメントサーバーはマイクロソフト社が提供しているＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ  ＳｈａｒｅＰｏｉｎｔ  Ｓｅｒｖｅｒ  ２００７である。他の設定も使用可能である。
【００１９】
図２は、例示のクライアント１０１上のワードプロセッサアプリケーション２０１がレンダリングする例示的ドキュメント２００を示す。
【００２０】
示されている実施例において、ドキュメント２００が、セクション２０２からセクション２１２のように、個々に指定された複数のセクションに分けられる。セクションはドキュメントの内の編集可能な箇所に対応している。典型的には、セクションは、ドキュメントの任意な下部区分が可能で、例えば、段落、表題、図、表、等である。ドキュメントは、１つのセクションだけでも可能であり、例えば、１つの表、単一の段落、文である。
【００２１】
例示のドキュメント２００の各セクションと、そのセクションを現在共同オーサリングしているユーザー名を表示する例示のユーザー制御２２２〜２３２が並んでいる。例示のドキュメント２００は、ドキュメントセクションに対して各ユーザーのアクセス許可を表示する例示のアクセス制御２４２〜２５２と、ユーザーがそのドキュメントセクションに対し１つ以上の特定動作をとれるようにする例示の動作制御２８２〜２９２とを含む。特定動作は、別のユーザーへのドキュメントセクションの割当て、校閲したドキュメントのマーキング、完了したドキュメントセクションのマーキング、等を含んでいる。さらに、例示のドキュメント２００は、ドキュメントのセクションに対して、アクセス許可を動的に変更する規則を定義する例示の動的制御２６２〜２７２も含む。制御の他の機能も可能である。制御は、テキストボックス、リストボックス、プルダウンリストボックス、アイコン、その他の適切な任意のユーザーインターフェイス制御形式を含んでも良い。
【００２２】
示されている例において、ユーザー制御２２２〜２３２は、ドキュメントの記入セクション２０２〜２１２の編集を現在行っている個人または複数のユーザーの名前を記載する。例えば、ユーザーＡとユーザーＢがドキュメントのセクション２０２を現在編集している場合、ユーザーＡとユーザーＢの名前がユーザー制御２２２に記載され、ドキュメント２００を開いている誰もが、ユーザーＡとユーザーＢがセクション２０２を現在編集していることがわかる。例えばドキュメントセクションに語句を入力して、ユーザーがドキュメントセクションに変更を行うと、ドキュメントセクションを編集中であるとみなされる。
【００２３】
アクセス制御２４２〜２５２のアクセス許可は、ユーザーがドキュメント２００のセクションを編集できる範囲を指示する。例示のユーザーアクセス許可は、完全制御、読み取り／書き込み、校閲専用（only）、コメント専用、読み取り専用、およびアクセス禁止（no access）を含む。他のユーザーアクセス許可も可能である。
【００２４】
例示的実施形態において、ドキュメントセクションに対して任意なレベルのアクセス許可を有する全ユーザーの名前が、ユーザー制御２２２〜２３２を介して表示される。例示的実施形態において、読み取り専用であるユーザーの名前は、例えば上記ユーザーリストが長い場合には、表示されない可能性がある。
【００２５】
ユーザーが完全制御を割当てられると、そのユーザーはドキュメントのセクションに対して完全な読み取り／書き込みアクセスを有し、さらにそのユーザーは、ユーザーインターフェイスの随意の態様を使用できる。例えば、完全制御の場合、ユーザーはドキュメントの書式を変更できる。ユーザーが読み取り／書き込み制御を有している場合、ユーザーは読み取り／書き込み許可をドキュメントのセクションに対して有するが、書式を変更できない。校閲専用許可の場合、ユーザーは、マイクロソフトのワード内にある「変更履歴」のような技術を介して、追跡されているドキュメントに変更を行うことができる。コメント専用許可の場合、ユーザーはコメントをドキュメントのセクションに挿入できるが、ドキュメントのセクション内にあるテキストを変更できない。読み取り専用許可の場合、ユーザーはドキュメントのセクションを閲覧できるが、そのドキュメントに変更を加えることはできず、またいかなるコメントも挿入できない。
【００２６】
アクセス許可がない場合、ドキュメントのある特定のセクションをユーザーは閲覧できないことがある。例えば、１人以上のユーザーが閲覧を許可されていないドキュメント内には秘密情報があるかもしれない。そのため、あるユーザーに提示された場合、ドキュメントの１つ以上のセクションが、ユーザーがセクションを閲覧できないように編纂されていることがある。これは、図２の陰影付きセクション２０６とセクション２０８により示す。この陰影付きセクションは一部のユーザーに対するアクセス拒否として定義されている。幾つかの実施形態において、極秘セクションは、そのセクションの閲覧を許可されていないユーザーには全く表示しないようにすることができる。例示的実施形態において、ユーザーがセクションの編集を許可されない場合でも、ドキュメントのセクションは編纂することができる。例えば、工学的と財務的のセクションの両方を含むドキュメントにおいて、技術者がそのドキュメントを閲覧しているとき、財務的セクションを編纂可能とし、財務の人がそのドキュメントを閲覧しているとき、工学的セクションを編纂可能としてもよい。
【００２７】
例示的実施形態において、ドキュメントの所有者（即ち、そのドキュメントに対して所有権を保有する個人または複数の個人）がユーザーアクセス許可と規則を割当て、編集してもよい。これは、ドキュメント全体に対してセクションごと、または包括的に行うことができる。このユーザーアクセス許可と規則はドキュメントサーバーに格納される。
【００２８】
また、記述のユーザーアクセス許可は、ネットワーク接続なしに実施することもできる。ドキュメントのセクションに対して割当てられたユーザー許可は、クライアントのソフトウェアアプリケーションにキャシュされるか、またはドキュメント内に格納できる。このように、アクセス許可は、クライアントがネットワークから切断されるか、別のコンピューターからそのドキュメントの作業をする場合に、使用できる。
【００２９】
動作制御２８２〜２９２は、ユーザーがドキュメントセクションに関して特定の動作をすることを許可する。例えば、ユーザーは、ドキュメントセクションを編集している１人以上の他のユーザーからのドキュメントセクションへの更新情報を取得したいと望むかもしれないし、１人以上の他のユーザーとドキュメントセクションに行った更新情報を共有したいと望むかもしれない。ユーザーが行う他の例示的動作は、ユーザーに電子メールを送信すること、または状況を知るためにユーザーにインスタントメッセージを行うことを含む。他の動作も可能である。
【００３０】
動的制御２６２〜２７２は、ユーザーがタスクを完了したときにドキュメントのセクションへのアクセス許可が動的に変更されることを許可する規則を定義するために使用される。例えば、１人以上のユーザーを校閲者として指定してもよいが、ユーザーは作業を完了するまでは、ドキュメントが校閲されることを希望しないかもしれない。例示的実施形態において、ユーザーがドキュメントのセクションを完了としてマークを付けると、校閲者に与えられるアクセス許可は、読み取り専用から校閲専用に動的に変わる。
【００３１】
ユーザーがドキュメント２００を開いて編集を開始すると、ユーザーは対応する例示の共同オーサリング制御２２２〜２３２を閲覧して、他の誰がドキュメントのさまざまなセクションを現在編集しているのか判定することができる。典型的には、ユーザーは１人以上の他のユーザーの存在を知り、ユーザーが追加変更を行う前に、他のユーザーがどのような変更を行ったか確認したいかもしれない。ユーザーは、１人以上の他のユーザーによる変更を閲覧したいことを、例示の動作制御２８２〜２９２を介して示すことができる。また、１人以上の他のユーザーが行った変更が共有できると指定されている場合には、変更がドキュメントに表示され、ユーザーに示される。
【００３２】
例示的実施形態において、ユーザーは、他のユーザーと編集をどの時点で共有するかを決定する柔軟性も有する。ドキュメントを編集するとき、ユーザーは、それらの変更をユーザーの気持ちが整うまで、変更を共有したがらない可能性がある。上記のような例示の一実施形態において、ユーザーは例示の動作制御２８２〜２９２を選択し、変更を共有できるユーザーを特定する。別の例示的実施形態において、ユーザーが他のユーザーと変更の共有を望むとき、最初のユーザーは共有するドキュメントのセクションを強調表示し、ユーザーインターフェイスに例示してある「共有ボタン」２０５をクリックする。これにより、ドキュメントセクションのドキュメントへの変更が共有されることを、ドキュメントサーバー１０４に通知する。例示的実施形態においては、例示の「共有ボタン」２０５をクリックすると、ドキュメントセクション変更を共有可能なユーザーのリストを提示できる。他の実装例も可能である。
【００３３】
例示の「共有ボタン」２０５に加えて、例示のユーザーインターフェイスは、例示の「保存ボタン」２０３および例示の「割当てボタン」２０７も含む。例示の「保存ボタン」２０３は、標準的な保存ボタンとして操作し、ユーザーはクライアントまたはサーバーメモリに変更を保存できる。しかし、保存操作は、他人と更新情報を共有することにはならない。例示の「割当てボタン」２０７はドキュメントの所有者がアクセス許可を他のユーザーに割当てることを許可する。
【００３４】
図３は、例示のドキュメントセクション３０６の構造化共同オーサリングに対するドキュメント３００の例示的実施形態を示している。例示のドキュメントセクション３０６の左側に、ドキュメントセクションを現在共同オーサリングしている２人のユーザーの名前を表示している例示のユーザー制御３１２、３１８がある。この例では、その２名のユーザーはヘイディ・クレイグとトム・アンダーソンである。例示のアクセス制御３１４、３２０および例示の動作制御３０８、３１６がこれらユーザーに関連付けられている。ユーザーであるヘイディ・クレイグに対しては、例示のアクセス制御３１４が完全アクセスを示すため陰影を付け、ユーザーであるトム・アンダーソンに対しては、例示のアクセス制御３２０が書き込みアクセスを示すために別の陰影を付けてある。他の実施形態において、色、アイコン形状、テキスト、等がアクセス状態を示すために使用できる。
【００３５】
例示の動作制御３０８、３１６により、ユーザーはドキュメントセクションに関して取上げられる１つ以上の動作を選択できる。例示的実施形態において、ユーザーがマウスで動作制御上（例えば、ヘイディ・クレイグのための動作制御３０８）を動かすと、有効動作リスト３０７が提示される。この例示的実施形態において、ユーザーが更新情報を取得するため例示の動作３０９を選択する場合、ユーザーはヘイディが共有を指定していたヘイディ・クレイグからのドキュメントセクションへの更新情報を取得する。ユーザーが更新情報を共有するため例示の動作３１１を選択する場合、ユーザーがドキュメントセクションに行った変更はヘイディ・クレイグと共有される。 ユーザーが例示の動作３１３を選択する場合、ユーザーはヘイディ・クレイグに電子メールを送信できる。ユーザーであるトム・アンダーソン用の例示の動作制御３１６上でマウスを動かすと、トム・アンダーソンに対して動作オプションの同じセットを与える。
【００３６】
別の実施形態において、動作制御３０８、３１６は、ユーザーに選択リストを与えるプルダウンリストボックスである。動作制御の他の実施形態も可能である。
【００３７】
図３には、例示の動的制御３２２も示されている。例示の動的制御３２２により、ユーザーはドキュメントセクションに対するアクセス許可を動的に変更し、条件付きアクセス許可を特定できる。この例において、動的制御３２２はプルダウンリストボックスである。プルダウンを展開すると、例示の動的制御は、例示のドキュメントセクション３０６のアクセス許可を有する例示のユーザーリスト３２４を表示する。例示のユーザー３２４の１人が選択されると、そのユーザーに対してアクセス許可が示される。例えば、例示のユーザーであるサラ・ホワイト３２６が選択されると、動的制御３２２は例示のアクセス許可リスト３２８を示すために、さらに展開する。例示のアクセス許可リスト３２８において、例示のアクセス許可３３０（アクセス禁止）に陰影が付けられており、サラ・ホワイトが現在このドキュメントセッションにアクセス権がないことを示している。この例で、アクセス許可３３０をクリックすると、動的制御３２２はさらに展開しアクセス許可を動的に変更する手段を与える。「〜まで（Until）」オプションリスト３３２が表示され、特定の動作が生じるまで現在のアクセス許可を維持するオプションを提示する。例えばユーザーは、サラ・ホワイトの現在ある「アクセス禁止」はそのドキュメントセクションの共有がユーザーによって指定されるまでは維持される、と特定するように「セクションの共有」オプション３３４で選択することができる。例示の「セクションの共有」オプション３３４をクリックするとさらに展開し、動的制御３３２は例示の「その次に（Then）」オプションリスト３３６を提示して「セクションの共有」動作が生じたときに設定できるアクセス許可を示す。この例では「コメント専用」オプション３３８が選択されており、ユーザーであるサラ・ホワイトへのアクセス許可が、ドキュメントセクションの共有が指定されると、「アクセス禁止」から「コメント専用」へ動的に変わることを示している。
【００３８】
次に図４を参照する。例示的実施形態において、例示のドキュメント３００に示されるように、ドキュメントセクションの上に変更が表示され、ユーザーは編集を加える前にその変更を見ることができる。本例示のドキュメント３００において、動作制御３１６を介してユーザーは、ドキュメントセクションへの更新情報３０６を受信するよう、トム・アンダーソンに要求をする。その更新情報４０６がドキュメントセクション３０６の上に表示される。ユーザーは、トム・アンダーソンがドキュメントセクション３０６の最終文を変更したのを見て取ると、結果的にドキュメントセクションに変更を追加できるようになる。
【００３９】
共同オーサリングの変更の選択および表示に対して他の例示的実施形態も可能である。例えば、共同オーサリングの変更は、現在のセクションの隣に、現在のセクションの下に、または現在のセクションに単に組み込んで表示することができる。例示的実施形態において、削除および追加は取消し線および下線で示すことができる。
【００４０】
例示的実施形態において、ユーザーは、変更が表示される１人以上の他のユーザーを選択できる。また、ユーザーは包括的に他の全てのユーザーからの変更を選択できる。例示的実施形態において、変更はセクション単位またはドキュメント全体で受信できる。
【００４１】
図５は、例示のドキュメントサーバー１０４をより詳細に示している。例示のドキュメントサーバー１０４は１つ以上のドキュメント５０２、ドキュメント許可モジュール５０４、ドキュメント更新情報処理モジュール５０６、およびドキュメントレンダリングモジュール５０８を含む。例示のドキュメント５０２は、クライアント上のアプリケーションプログラムからドキュメントを開くよう要求が受信されると、ユーザーにレンダリングされる。
【００４２】
例示のドキュメント許可モジュール５０４は、各ユーザーに対し各ドキュメントの各セクションごとにアクセス許可を格納する。幾つかの実施形態において、アクセス許可は各ドキュメント内に格納される。他の実施形態において、アクセス許可は、各ドキュメントとは別に（例えば、サーバーに、またはデータベースに）格納され、そのドキュメントとリンクされる。上記のように、様々なユーザーアクセス許可は、完全制御、読み取り／書き込み、校閲専用、コメント専用、読み取り専用、およびアクセス禁止を含むことができる。他のユーザーアクセス許可も可能である。
【００４３】
また本例示のドキュメント許可モジュール５０４は、ネットワーク接続なしで、アクセス許可を実施する。ドキュメント許可モジュール５０４は、クライアント上でアクセス許可をキャッシュして（caching）、この実施を実現する。そのアクセス許可は、そのドキュメントにアクセスしていたユーザーおよび他の全てのユーザーに対しキャッシュされる。ドキュメント許可モジュール５０４は、アクセス許可が変わると動的にクライアントキャッシュ（client cache）を更新する。ユーザーがオフラインになると、クライアントキャシュは、ユーザーがそのドキュメントのセクションを編集できる範囲を判定するためチェックされる。
【００４４】
例示のドキュメント更新情報処理モジュール５０６は、ユーザーによりドキュメントに保存された全ての変更を記録する。ドキュメント更新情報処理モジュール５０６は、ユーザーがこれらの変更のどれを他のユーザーと共有すると指定したかも記録する。典型的には、ユーザーは保存を表現するユーザーインターフェイスのボタンをクリックして、ドキュメントに行われた変更を保存する。しかし、これら保存した変更は、ユーザーがその変更を共有するよう指定するまで、他のユーザーは利用できない。例示的実施形態において、ユーザーはドキュメントの１つ以上のセクションを強調表示したり、共有を表現するユーザーインターフェイスのボタンをクリックしたりすることにより指定できる。他の例示的実施形態において、ユーザーはドキュメントセクションがドキュメントセクションに隣接する動作制御ボタンを介して、共有されるべきことを指定してもよい。ユーザーは、またドキュメント全体が共有されるべきであると指定することもできる。保存および共有を表現するボタンの使用は、例にすぎない。他の実装例も可能である。
【００４５】
例示のドキュメント更新情報処理モジュール５０６は、他のユーザーがドキュメントに加えた変更を取得したいというユーザーからの要求も処理する。ユーザー要求は、各ドキュメントセクションに対して、動作制御を介して行われても、またはドキュメント全体に対して行われてもよい。例示のドキュメント更新情報処理モジュール５０６は、ドキュメントのどのセクションが更新できるか判定し、更新した変更を例示のドキュメントレンダリングモジュール５０８に与える。ユーザー要求は手動で作成され、ユーザーはドキュメントを更新する時機を制御できる。これにより、ユーザーがセクションを編集中にドキュメントセクションが更新されたり、それによりユーザーが行った変更が無効になる可能性は回避される。
【００４６】
例示のドキュメントレンダリングモジュール５０８は、クライアント側のユーザーに表示するためドキュメントをレンダリングする。このドキュメントレンダリングモジュールはテキストボックス、リストボックス、およびプルダウンリストボックスのような標準的なユーザーインターフェイス制御を使用して、ドキュメントの各セクションに対するユーザーアクセス許可を表示したり、ドキュメントのセクションにアクセスするユーザー名を表示することができる。代替的実施形態において、カスタムデザイン制御を使用してもよい。ユーザーインターフェイス制御を使って、実行されているユーザー操作に依拠してアクセス許可を動的に変更するのに使用される、ドキュメントの各セクションの規則を定義することもできる。
【００４７】
例示のドキュメントレンダリングモジュール５０８は、またユーザーからの共有更新情報をドキュメントに組み込む。これらはユーザーが作成した更新情報であり、ドキュメントサーバー１０４に保存され、および他のユーザーと共有するよう指定されていたものである、。その更新情報は、ドキュメントのセクションへの編集変更、校閲変更記録、またはコメントを含んでよい。例示のドキュメントレンダリングモジュール５０８は、典型的には、作業中のユーザーが容易にテキスト編集を見ることができるように、編集が行われたドキュメントのセクションの上に、テキスト編集をレンダリングする。コメントは、典型的にはドキュメントのセクションに隣接してレンダリングされる。しかし、例示的実施形態において、更新情報は別なところに位置付けしてもよい。
【００４８】
図６は、ドキュメントを共同オーサリングするための方法６００の例示的フローチャートを示している。操作６０２では、ユーザーはクライアントのドキュメントを開く。ドキュメントサーバーから取得したドキュメントは、セクションに分けられる。ユーザーに対するアクセス許可が、ドキュメントの１つ以上のセクションに表示される。さらに、他のユーザーの名前がそのドキュメントに表示されるが、典型的には、他のユーザーがアクセスしているドキュメントのセクションに隣接して表示される。
【００４９】
操作６０４では、ユーザーはセクションに対してアクセス許可と一致する操作を実行する。例えば、ユーザーがセクションに対し完全制御を有する場合、ユーザーはドキュメントのセクションに対して、セクションの書式の変更を含め、全面的な編集ができる。一方、ユーザーがコメント専用アクセスを有する場合、ユーザーはドキュメントのセクションに唯一コメントを挿入することはできるが、セクションのどのテキストにも編集はできない。
【００５０】
ユーザーがセクションのアクセス許可に適切な操作を完了すると、ユーザーはそのドキュメントの１つ以上のセクションに行われた変更を、他のユーザーと共有するよう望むことができる。操作６０６で、ユーザーはドキュメントへの共有できる更新情報を識別する。例えば、ユーザーは共有できるセクションを強調表示してもよい。別の実施例において、ユーザーは全ての更新情報を共有するよう選択することができる。
【００５１】
操作６０８では、ユーザーは、識別された更新情報が共有できることをドキュメントサーバーに通知する。これは、例えば、共有を表現するユーザーインターフェイス上のボタンをクリックすることで行える。別の例として、ユーザーはドキュメントに加えられた全ての変更を共有することを指示するボタンをクリックしてもよい。共有されるべきセクションの指定、およびドキュメントサーバーに通知する他の方法も可能である。
【００５２】
ユーザーがドキュメントを編集している時に、そのドキュメントを編集している他のユーザー名が、ドキュメントの各セクションに表示される。ユーザーが１人以上のユーザーからの編集の閲覧を望む場合、操作６１０で、ユーザーは１人以上の他のユーザーを識別する。例えば、ユーザーが別のユーザー名を強調表示するか、別のユーザー名をダブルクリックしてもよい。他の実装方法も可能である。
【００５３】
操作６１２では、識別される他のユーザーからの更新情報が取得され、ドキュメント上に表示される。その更新情報は、典型的には、他のユーザー名とともに、そのユーザーが編集しているセクションの上に表示される。他の実装例も可能である。
【００５４】
図７は、ドキュメントサーバーでドキュメントの共同オーサリングを整合するための方法７００の例示的フローチャートを示している。操作７０２で、ドキュメントの各セクションのユーザーアクセス許可がドキュメントサーバーに格納される。操作７０４において、ドキュメントを現在共同オーサリングしているユーザー名がドキュメントサーバーに格納される。
【００５５】
操作７０６で、ドキュメントのコンテンツ、ドキュメントの各セクションのユーザーアクセス許可、およびドキュメントのセクションを共同オーサリングしているユーザー名が、クライアント上のユーザーへの表示用ドキュメントをレンダリングするために使用される。ユーザーアクセス許可とドキュメントセクションを共同オーサリングしているユーザーの名前が、典型的には、テキストボックス、リストボックス、またはプルダウンリストボックスのような標準的なユーザーインターフェイス制御を使用して表示される。他の実装例も可能である。
【００５６】
ユーザーがドキュメントに変更を加えると同時に、変更は操作７０８でドキュメントサーバーに格納される。しかし、変更は、変更を行ったユーザーなどが指定するまで共有できない。
【００５７】
ドキュメントへの変更を共有できるとユーザーが判定すると、操作７１０でドキュメントサーバーは、共有する更新情報を識別するクライアントからの通知を受信し、更新情報を要求する可能性のある他のユーザーに、更新情報を利用できるようにする。
【００５８】
操作７１２で、ドキュメントサーバーは、１人以上の他のユーザーが行ったドキュメントの更新情報に対するユーザーからの要求を受信する。次に、そのドキュメントは、操作７１４で、要求される共有変更を組み込むためにレンダリングされる。
【００５９】
本主題を構造特徴および/または方法論的な行為に特定の用語で記述してきたが、添付の特許請求に定義される主題は、必ずしも上記の特定な特徴または行為に限定されないことを理解されたい。むしろ、上記の特定の特徴および行為は、特許請求を実装するための例示形態として開示してある。
【図１】
0005503648.tif 000002
【図２】
0005503648.tif 000003
【図３】
0005503648.tif 000004
【図４】
0005503648.tif 000005
【図５】
0005503648.tif 000006
【図６】
0005503648.tif 000007
【図７】
0005503648.tif 000008