(57)【要約】      （修正有）【課題】フォルダー式ファイル・システムにおけるコラボレーション・システムの属性を与えることにある。【解決手段】従来のオペレーション・システムのフォルダー式またはディレクトリベース・ファイル・システムは、共有コラボレーション作業領域の属性によって実現されるか、またはそれらを備えるように拡張される。特に従来のファイル・システムは、サーバベースまたは分散型いずれのコラボレーション・システムにも接続され、またオペレーション・システム・ファイル・システムのユーザインタフェースは、コラボレーション・システムの態様を制御できるように増強される。各フォルダーまたはディレクトリは、同期化が可能であり、眺めることができ、また他のユーザまたはユーザのグループと共有できる「作業領域」として取り扱う。フォルダーはまた、存在しているコラボレータと作業領域を共有しているコラボレータとを示す「認識」情報を備える。【選択図】図６
2005129018.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェースを有するオペレーション・システムの一部であるフォルダー式のファイル・システムにおいて共有されるフォルダーで複数のメンバーがコラボレーション的に作用し合うことを可能にするコラボレーション・システムの情報とサービスとを提供する方法であって、
オペレーション・システム・ユーザインタフェースにコラボレーション・インタフェースを含む工程（ａ）と、
前記コラボレーション・システムの使用によって、共有フォルダーの関連の範囲内でコラボレートするメンバーに関する情報を表示するために前記コラボレーション・インタフェースを使用する工程（ｂ）と、
前記フォルダー式のファイル・システム内で行われた変更を決定する工程（ｃ）と、
前記コラボレーション・システムを介して他のメンバーにこれらの変更を知らせる工程（ｄ）と、を含む方法。
【請求項２】
工程（ａ）は前記ユーザインタフェースの一部分を前記コラボレーション・インタフェースとして設計し、実現する工程を含む、請求項１に記載の方法。
【請求項３】
工程（ａ）は前記ユーザインタフェースを、前記コラボレーション・インタフェースを含むように大きくする工程を含む、請求項１に記載の方法。
【請求項４】
工程（ａ）は前記ユーザインタフェースの一部分を前記コラボレーション・インタフェースで置き換える工程を含む、請求項１に記載の方法。
【請求項５】
工程（ｂ）はコラボレーションが起こるオペレーション・システム共有フォルダーの基礎を成す共有空間を生成するために前記コラボレーション・インタフェースを使用する工程を含む、請求項１に記載の方法。
【請求項６】
工程（ｂ）は更に、前記複数のメンバーの一人を前記共有空間に参加するように勧誘するために前記コラボレーション・インタフェースを使用する工程を含む、請求項５に記載の方法。
【請求項７】
工程（ｂ）は前記共有空間内のメンバーに関する情報を表示する工程を含む、請求項５に記載の方法。
【請求項８】
前記共有空間内のメンバーに関する前記情報は各メンバーがオンラインにあって利用可能であるかどうかを示す認識情報を含む、請求項７に記載の方法。
【請求項９】
工程（ｃ）は前記フォルダー式のファイル・システム内の各同期化ファイルに関して、そのファイルが変更されたかどうかの決定がなされることを可能にするために十分な情報を備えるスナップショットを維持する工程を含む、請求項１に記載の方法。
【請求項１０】
工程（ｃ）は更に、前記フォルダー式のファイル・システムに対して変更が行われたという通知を前記フォルダー式のファイル・システムから受け取る工程と、前記通知に応答してどのファイルが変更されたかを決定するために各ファイルのスナップショットを調べる工程とを含む、請求項９に記載の方法。
【請求項１１】
工程（ｃ）は、ウェブサービス・インタフェースを介して前記コラボレーション・システムに接続する工程を含む、請求項１に記載の方法。
【請求項１２】
工程（ｄ）は、共有フォルダー内に在るメンバーのリストを維持する工程を含む、請求項１に記載の方法。
【請求項１３】
工程（ｄ）は更に、共有フォルダー内に在る各メンバーに関して、そのメンバーが前記フォルダー内の各同期化ファイルの内容を持っているかどうかを示す情報を維持する工程を含む、請求項１２に記載の方法。
【請求項１４】
同期化ファイルの内容を持たない各共有フォルダー・メンバーにスタブ・ファイル（ｓｔｕｂ  ｆｉｌｅ）を提供する工程を含む、請求項１３に記載の方法。
【請求項１５】
ユーザインタフェースに前記スタブ・ファイルを表示する工程を更に含む、請求項１４に記載の方法。
【請求項１６】
ユーザが前記スタブ・ファイル表示を選択した時に情報源からファイル内容をダウンロードする工程を更に含む、請求項１５に記載の方法。
【請求項１７】
前記情報源はサーバを含む、請求項１６に記載の方法。
【請求項１８】
前記情報源は他のメンバーのコンピュータを含む、請求項１６に記載の方法。
【請求項１９】
ファイル変更を前記共有フォルダーのメンバーたちに流布するために前記コラボレーション・システムを使用する工程を更に含む、請求項１に記載の方法。
【請求項２０】
前記ファイル変更は全ファイル内容よりもむしろ２進差分といった変更の単に圧縮された表現として流布される、請求項１９に記載の方法。
【請求項２１】
工程（ｂ）はコラボレーションが起こるオペレーション・システム共有フォルダーの基礎を成す共有空間を生成するために前記コラボレーション・インタフェースを使用し、また前記方法は更に、
あるファイルに対して前記共有空間内で行われた変更を前記共有空間内のドキュメント共有エンジンに転送する工程（ｅ）と、
前記フォルダー式のファイル・システム内の対応するファイルに前記ファイル変更を行うために前記ドキュメント共有エンジンを使用する工程（ｆ）と、を含む、請求項１に記載の方法。
【請求項２２】
工程（ｆ）は前記ドキュメント共有エンジンの制御下で前記フォルダー式ファイル・システムにおいて前記変更を行う前記コラボレーション・システムでファイル・シンクロナイザを使用する工程を含む、請求項２１に記載の方法。
【請求項２３】
前記複数のメンバーの各々にファイル変更が発生したことを知らせるために前記ドキュメント共有エンジンを使用する工程（ｇ）を更に含む、請求項２１に記載の方法。
【請求項２４】
前記複数のメンバーのリストと、前記複数のメンバーのうちの誰が選択された同期化ファイルを開いたかを示すインジケータとを前記コラボレーション・インタフェースに表示するために前記ドキュメント共有エンジンを使用する工程（ｈ）を更に含む、請求項２１に記載の方法。
【請求項２５】
前記コラボレーション・インタフェースはオンライン・チャット・メカニズムを含む、請求項１に記載の方法。
【請求項２６】
前記コラボレーション・インタフェースは選択されたファイルに関するコメントを作成して記憶するためのメカニズムを含む、請求項１に記載の方法。
【請求項２７】
ユーザインタフェースを有するオペレーション・システムの一部であるフォルダー式のファイル・システムにおいて共有されるフォルダーで複数のメンバーがコラボレーション的に作用し合うことを可能にするコラボレーション・システムの情報とサービスとを提供する装置であって、
前記ユーザインタフェースにコラボレーション・インタフェースを有するための手段と、
前記ユーザインタフェース内の前記メンバーに関する情報を検索して表示するために前記コラボレーション・インタフェースを前記コラボレーション・システムに接続するインタフェースと、
前記フォルダー式のファイル・システムで行われた変更を決定するファイル・シンクロナイザと、
前記変更を前記コラボレーション・システムに知らせるドキュメント共有エンジンと、を含む装置。
【請求項２８】
前記コラボレーション・インタフェースを有する手段は前記ユーザインタフェースの一部分を前記コラボレーション・インタフェースとして設計して実現する手段を含む、請求項２７に記載の装置。
【請求項２９】
前記コラボレーション・インタフェースを有する手段は前記ユーザインタフェースを、前記コラボレーション・インタフェースを有するように拡張する手段を含む、請求項２７に記載の装置。
【請求項３０】
前記コラボレーション・インタフェースを有する手段はコラボレーション活動をサポートすることを特に意図したインタフェースで前記ユーザインタフェースの一部分を置き換える手段を含む、請求項２７に記載の装置。
【請求項３１】
前記インタフェースは共有空間を生成するために前記コラボレーション・インタフェースが前記コラボレーション・システムと対話することを可能にするウェブサービス・インタフェースを含む、請求項２７に記載の装置。
【請求項３２】
前記インタフェースは更に、前記複数のメンバーの一人を前記共有空間に参加するように勧誘するために前記コラボレーション・インタフェースが前記コラボレーション・システムと作用し合うことを可能にするウェブサービス・インタフェースを含む、請求項３１に記載の装置。
【請求項３３】
前記コラボレーション・インタフェースは、前記共有空間内のメンバーに関する情報を表示する手段を含む、請求項３２に記載の装置。
【請求項３４】
前記共有空間内のメンバーに関する前記情報は各メンバーがオンラインにあって利用可能であるかどうかを示す認識情報を含む、請求項３３に記載の装置。
【請求項３５】
前記ファイル・シンクロナイザは前記フォルダー式のファイル・システム内の各同期化ファイルに関して、そのファイルが変更されたかどうかの決定がなされることを可能にするために十分な情報を備えるスナップショットを維持する手段を含む、請求項２７に記載の装置。
【請求項３６】
前記ファイル・シンクロナイザは更に、前記フォルダー式のファイル・システムに対して変更が行われたという通知を前記フォルダー式のファイル・システムから受け取るファイルＲＡＭＰと、前記通知に応答して、どのファイルが変更されたかを決定するために各ファイルのスナップショットを調べるための手段とを含む、請求項３５に記載の装置。
【請求項３７】
前記ファイル・シンクロナイザは、前記コラボレーション・システムに接続するウェブサービス・インタフェースを含む、請求項２７に記載の装置。
【請求項３８】
前記インタフェースは、共有空間を生成するために前記コラボレーション・インタフェースが前記コラボレーション・システムと作用し合うことを可能にするウェブサービス・インタフェースを含んでおり、前記ドキュメント共有エンジンは前記共有空間内に在るメンバーのリストを維持する手段を含む、請求項２７に記載の装置。
【請求項３９】
前記ドキュメント共有エンジンは、共有空間内に在る各メンバーに関して、そのメンバーが前記共有空間内の各同期化ファイルの内容を持っているかどうかを示す情報を維持する手段を更に含む、請求項３８に記載の方法。
【請求項４０】
スタブ・ファイルを作成して、同期化ファイルの内容を持たない各共有空間メンバーに前記スタブ・ファイルを提供する手段を更に含む、請求項３９に記載の装置。
【請求項４１】
前記ユーザインタフェースに前記スタブ・ファイルを表示する手段を更に含む、請求項４０に記載の装置。
【請求項４２】
ユーザが前記スタブ・ファイル表示を選択した時に情報源からファイル内容をダウンロードする手段を更に含む、請求項４１に記載の装置。
【請求項４３】
前記情報源はサーバを含む、請求項４２に記載の装置。
【請求項４４】
前記情報源は他のメンバーのコンピュータを含む、請求項４２に記載の装置。
【請求項４５】
前記ドキュメント共有エンジンはファイルの変更を決定する手段とこれらの変更が前記共有フォルダーのメンバーたちに分配されるように前記コラボレーション・システムにその変更を提供する手段とを含む、請求項２７に記載の装置。
【請求項４６】
前記ドキュメント共有エンジンは前記ファイル変更を２進差分として前記コラボレーション・システムに提供する、請求項４５に記載の方法。
【請求項４７】
前記インタフェースは共有空間を生成するために前記コラボレーション・インタフェースが前記コラボレーション・システムと作用し合うすることを可能にするウェブサービス・インタフェースと前記変更を前記ファイル・シンクロナイザに知らせる手段とを含んでおり、かつ、前記ドキュメント共有エンジンは前記共有空間内に配置され、また前記ドキュメント共有エンジンは前記共有空間内で、あるファイルに対して行われた変更を受け取る手段とを更に含んでいる、請求項２７に記載の装置。
【請求項４８】
前記ファイル・シンクロナイザは、フォルダー式のファイル・システムにおいて変更を行う手段を含む、請求項４７に記載の装置。
【請求項４９】
前記ドキュメント共有エンジンは、前記複数のメンバーの各々にファイル変更が発生したことを通知する手段を含む、請求項４７に記載の装置。
【請求項５０】
前記ドキュメント共有エンジンと共同動作する手段を更に含み、かつ、前記コラボレーション・インタフェースに、前記複数のメンバーのリストと前記複数のメンバーのうちの誰が選択された同期化ファイルを開いたかを示すインジケータとを表示する手段を含む、請求項４７に記載の装置。
【請求項５１】
前記コラボレーション・インタフェースによって制御される前記ドキュメント共有エンジン内にオンライン・チャット・メカニズムを更に含む、請求項２７に記載の装置。
【請求項５２】
選択されたファイルに関するコメントを作成して記憶するための、前記コラボレーション・インタフェースによって制御される手段を更に含む、請求項２７に記載の装置。
【請求項５３】
ユーザインタフェースを有するオペレーション・システムの一部であるフォルダー式のファイル・システムにおいて共有されるフォルダーで複数のメンバーがコラボレーション的に作用し合うことを可能にするコラボレーション・システムの情報とサービスとを提供するコンピュータプログラム製品であって、
前記ユーザインタフェースにコラボレーション・インタフェースを有するためのプログラムコードと、
前記コラボレーション・システムの使用を介して、前記共有フォルダーの関連内でコラボレートするメンバーに関する情報を表示するためにコラボレーション・インタフェースを使用するためのプログラムコードと、
前記フォルダー式のファイル・システムで行われた変更を決定するためのプログラムコードと、
前記コラボレーション・システムを介して前記変更を他のメンバーに知らせるためのプログラムコードと、を有する、コンピュータ可読プログラムコードをその上に有するコンピュータ使用可能媒体を含む、コンピュータプログラム製品。
【請求項５４】
ユーザインタフェースを有するオペレーション・システムの一部であるフォルダー式のファイル・システムにおいて共有されるフォルダーで複数のメンバーがコラボレーション的に作用し合うことを可能にするコラボレーション・システムの情報とサービスとを提供するための、搬送波に実現されたコンピュータデータ信号であって、
前記ユーザインタフェースにコラボレーション・インタフェースを有するためのプログラムコードと、
前記コラボレーション・システムの使用を介して、前記共有フォルダーの関連内でコラボレートするメンバーに関する情報を表示するためにコラボレーション・インタフェースを使用するためのプログラムコードと、
前記フォルダー式のファイル・システムで行われた変更を決定するためのプログラムコードと、
前記コラボレーション・システムを介して前記変更を他のメンバーに知らせるためのプログラムコードと、を含むコンピュータデータ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コラボレーション・システムと、従来のオペレーション・システムの一部であるフォルダー式ファイル・システムとに関し、またフォルダー式ファイル・システムにおけるコラボレーション・システムの属性を与えるための方法と装置とに関する。
【背景技術】
【０００２】
コラボレーションは、「コラボレータ」と呼ばれるメンバーのグループ内の各メンバーが自動的に、そのグループ内の他のコラボレータに情報を送信し、また他のコラボレータから情報を受信する能力を含んでいる。このようなコラボレーションを容易にするために、ハンドヘルド無線装置を含むパーソナルコンピュータ・システム、通信機器その他の通信装置の間でこのような情報が伝送されることを可能にする種々のシステムが開発されてきた。これらの装置は、本書ではまとめて「コンピュータ」と呼ばれる。
【０００３】
コンピュータベースのコラボレーションは、一つのコンピュータまたはサーバに接続された、あるいはそれにと共に動作するユーザ間でローカルに行われることもある。別の場合には、コラボレーションは、ユーザの各々がネットワークに接続されたコンピュータの所に配置されているインターネットといったネットワーク上で行われることもある。そのネットワークには、サーバが接続されていることもある。ネットワーク化されたコンピュータ・コラボレーション・システムとして、幾つかのコラボレーション・モデルが現在、実現されつつある。これらのモデルの一つは、すべてのコラボレータがネットワークを介して中央サーバに接続されているクライアント・サーバ・モデルである。各コラボレータによって生成された情報は、ネットワーク上でサーバに送られ、このサーバは、次に、このネットワーク上でその情報を他の各々のコラボレータに送信する。このシステムの一つのバージョンではコラボレーション的に修正されつつあるデータは中心的にサーバに記憶され得る。それからそのデータを修正したい各コラボレータは、そのサーバ・データに変更を行うためにサーバに情報を送る。サーバは、データのそのコピーを修正し、それから各コラボレータがそのデータをローカルに表示できるように、すべてのコラボレータに修正済みデータの「ビュー（ｖｉｅｗ）」を表現する情報を同期的または非同期的に送る。
【０００４】
別の場合には、サーバベースのシステムではサーバ内に維持されているデータコピーに加えて、追加のローカル・データコピーがコラボレートしている各コンピュータ内に維持できる。データを修正したいと思っている各コラボレータは、サーバ・データに変更を行うためにサーバに情報を送る。サーバは、データのそのコピーを修正し、それからすべてのコラボレータにコマンドを送信する。各コラボレータは、このコマンドを使用してそのローカル・データコピーを更新する。それからこのローカル・データコピーは、ローカルに表示される。このモデルの例は、ニューヨーク州アーモンクのＩＢＭ社によって販売されているＬｏｔｕｓ  Ｎｏｔｅｓ（登録商標）と、ワシントン州レッドモンドのマイクロソフト社によって販売されているＥｘｃｈａｎｇｅである。
【０００５】
もう一つのコラボレーション・モデルは、コラボレートしているコンピュータの各々の間でネットワーク上に直接接続が確立される「ピアツーピア」あるいは「分散型」モデルである。各コラボレータによって生成される情報はそれから、各々の他のコラボレータに直接送られる。このようなシステムではコラボレータ達は、コラボレーション・システムによって生成されて維持されるプライベートな「仮想」共有空間で通信する。
【０００６】
ピアツーピア・コラボレーション・システムでは、各コラボレータがコラボレーション的に修正されたデータのローカル・コピーを持つので、中央データ・リポジトリ（データ保管部）は必要でない。データを変更するために「プッシュ」または「プル」モデルのいずれかが使用できる。「プッシュ」モデルではコラボレータは、他の各コラボレータに転送されるデータ変更要求を生成する。到来するデータ変更要求は次に、そのローカル・データコピーを修正するために各コラボレータによって使用される。「プル」モデルでは一人のコラボレータが、ローカルデータを修正して非同期要求するときにこのような変更を提示する。他のコラボレータは、要求を発行し、変更を取り出して収集し、続いてこれらのローカル・データコピーを修正してこのような変更を反映させる。このピアツーピア・モデルの例は、マサチューセッツ州リンカーンのＫｕｂｉ  Ｓｏｆｔｗａｒｅによって開発され販売されているＫｕｂｉ  Ｃｌｉｅｎｔと、詳細は「http://www.groove.net」に説明されている１００  Ｃｕｍｍｉｎｇｓ  Ｃｅｎｔｅｒ  Ｓｕｉｔｅ  ５３５Ｑ，Ｂｅｖｅｒｌｙ，ＭＡ  ０１９０１５（マサチューセッツ州、ビバリー、カミングスセンタースイート５３５Ｑ、１００番地、郵便番号０１９０１５）のＧｒｏｏｖｅ  Ｎｅｔｗｏｒｋｓ，Ｉｎｃ．によって開発され販売されているＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムである。特許文献１を参照のこと。
【特許文献１】米国特許第６，４４６，１１３Ｂ１号
【特許文献２】米国特許出願第１０／６３１，２０６号
【特許文献３】米国特許出願第１０／６１５，２８１号
【特許文献４】米国特許出願第０９／５７１，８５１号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながらこれら後者のコラボレーション・システムのすべては、すべての従来のコンピュータシステム上に存在するオペレーション・システムと協同して動作するアプリケーションプログラムである。これらのコラボレーション・システムは、純粋にアプリケーションプログラム（電子メール・アプリケーション、グループウエア・アプリケーション、またはブラウザベースのアプリケーション等）であるので、これらは各コラボレータが特定のプログラムに固有のユーザインタフェースを習得することを必要とするという欠点を持っている。多くのユーザは、このようなインタフェースに関連する新しい制御と機能を習得することに抵抗を覚える。
【０００８】
最近のオペレーション・システムは、典型的にはフォルダーまたはディレクトリによって構成されたファイル・システムを含んでいる。これらのフォルダーまたはディレクトリは、明示的なユーザ指定のファイルの集まりであるか、ファイルが問合せまたは検索基準に基づいて構成される「仮想的」集まりであり得る。このファイル・システム及び関連フォルダーリング（ｆｏｌｄｅｒｉｎｇ）またはディレクトリ・システム（以下、「フォルダー式」ファイル・システムと呼ぶ）は、ユーザによってオペレーション・システムの一部であると認識されるという利点を有する。従ってもしユーザがこのオペレーション・システムを持っていれば、ユーザは、既にこの内蔵されたファイル・システムに精通しているので、システムを操作するために追加の１セットのコマンドと機能とを習得する必要がない。
【０００９】
このようなフォルダー式ファイル・システムは図１に示されており、これはワシントン州レッドモンドのマイクロソフト社から販売されているＷｉｎｄｏｗｓ（登録商標）ＸＰ  Ｐｒｏのオペレーション・システムからのファイル・システムの表示の画面写真１００である。この表示は、ファイルまたは追加のサブフォルダーを持つことができる種々のフォルダー１０２を示している。この表示はまた、フォルダー１０２上で実行できる種々のタスク１０６をユーザに提示するタスク・ペイン１０４を含む。これらのタスクは、フォルダーの名前変更、フォルダーの移動、フォルダーのコピーなどを含む。更に他のセクション１１０は、ユーザがローカル・ディスク、「Ｍｙ  Ｄｏｃｕｍｅｎｔｓ」フォルダー、その他の選択された場所といったコンピュータ内の他の領域にナビゲートする(航行する)ことを可能にする。更なるセクション１１２は、ファイルが最後に修正された日付といった、選択されたフォルダー（図１ではＦｏｌｄｅｒ  Ｄが選択されて示されている）に関する詳細を提示する。
【００１０】
しかしながら、コラボレーション・システムは、別々のアプリケーションプログラムであるから、フォルダー式ファイル・システムの一部であるファイル上でコラボレーション的作業を実行するために、これらのファイルは通常のオペレーション・システム・ファイル・システムとコラボレーション・アプリケーションプログラムとの間で移動またはコピーしなくてはならない。典型的には通常のファイル・システム・ディレクトリとコラボレーション・システムとの間のファイルのこのような移動またはコピーは、退屈で誤り易くなる可能性がある。更にこのような情報の複製は、記憶部の過剰な使用という結果を招き、複数のコピーが修正されるときにコピー相互の同期を外すことがあり得るのでユーザに混乱を引き起こす可能性がある。
【００１１】
もしこれらのファイルがファイル・システムからコラボレーション・システムに移動させる必要なしに、コラボレーション的に共有できれば好都合であろう。このために多くのフォルダー式ファイル・システムでは、フォルダーまたはディレクトリは、これらのフォルダーを「リモート・フォルダー」または「リモート搭載ボリューム」として取り扱うことによって他の者と共有することができる。例えば図１ではフォルダーは、Ｆｏｌｄｅｒ  Ｄといったフォルダーを選択し、次にタスク・ペイン・セクション１０６から「Ｓｈａｒｅ  ｔｈｉｓ  ｆｏｌｄｅｒ（このフォルダーを共有する）」タスク１０８を選択することによって共有することができる。共有タスクの選択は、画面写真２００が図２に示されているダイアログ・ボックスを開く。このダイアログ・ボックスは、種々の共有パラメータが設定されることを可能にする。例えばラジオ・ボタン２０２は、フォルダーが共有されるべきかどうかを選択するために使用できる。テキスト・ボックス２０４、２０６は、ユーザがフォルダー共有の名前とコメントとを入力することを可能にする。ラジオ・ボタン２０８は、ユーザがその選択されたフォルダーの共有を許される他のユーザの数を制御することを可能にする。最後に追加のボタン２１０、２１２は、ユーザが共有許可を設定することと、あるユーザがネットワークに接続されていないときでも選択されたフォルダーがアクセスされることを可能にするパラメータをユーザが設定することとを可能にする。選択されたフォルダーが共有と指定されているときは、図１の１１４で示されているようにフォルダーを表すアイコンに「ハンド（ｈａｎｄ）」オーバレイが適用される。
【００１２】
このようにフォルダーを取り扱うことは、フォルダー内のデータの共有を可能にするが、ユーザは自分の行動とデータの使用方法とを容易には調和させられず、従って前述のコラボレーション・システムによって与えられると同様な仕方で効率的に「コラボレート（協働）」することはできない。例えばフォルダー共有は、フォルダーまたはファイルに変更を行ったユーザの如何なる表示も与えないしそのユーザを識別することもない（変更が行われたときに他のユーザに通知することもない）。更にファイル共有システムは、誰がフォルダーを現在アクセスしているか、誰がそのフォルダー内のファイルを調べているかを示す如何なるメカニズムも提供しない。更にファイル共有は、ユーザがファイルに関するコメントを記憶することを可能にせず、その代わりにコラボレータ間のすべての通信はファイルを介して行わなくてはならない。これとは対照的にコラボレーション・システムは、コラボレータが「帯域外」でしかもなお「イン・コンテキスト（文脈内）」で通信するためのメカニズムを提供する。実際上、コラボレーション・システムは、コラボレータが共有ファイルを修正することだけでなくこれらのファイル自体を含むフォルダーの周囲の文脈内でファイルに関して通信することも可能にする。
【課題を解決するための手段】
【００１３】
本発明の原理によれば従来のオペレーション・システム・フォルダー式またはディレクトリベース・ファイル・システムは、共有されるコラボレーション作業領域の属性を含むか、属性を提供するように拡張される。特に通常のファイル・システムは、サーバベースまたは分散型のいずれかのコラボレーション・システムに接続され、オペレーション・システム・ファイル・システムのユーザインタフェースは、それがコラボレーション・システムの態様を制御することを可能にするように設計、拡張、そうでなければ増強される。各フォルダーまたはディレクトリは、他のユーザまたはユーザのグループが見ることができ、共有することができる「作業領域」として取り扱われることが可能であり、各フォルダーは存在していてその作業領域を共有するコラボレータを示す「認識（ａｗａｒｅｎｅｓｓ）」情報を備えている。
【００１４】
一実施態様では勧誘メカニズムは、ある作業領域内のユーザが他のユーザまたはコンピュータをその作業領域に参加するように勧誘することを可能にする。この勧誘メカニズムは、勧誘を受け入れている人が自分のコンピュータ上の新しい作業領域の場所を選択することを、あるいはその作業領域を自分のコンピュータ上の既存のフォルダーと併合することを可能にすることもできる。
【００１５】
他の実施態様では、異なるユーザが追加、更新、削除などといった操作を実行する特定の許可を与えられることもできる。
【００１６】
更に他の実施態様ではオペレーション・システム・フォルダーの表示は、共有されたフォルダーまたは作業領域に関するメタ情報を表示する領域によって増強され得る。このようなメタ情報は、修正のログ（例えば変更を行ったユーザと変更が行われた日付）と作業領域の属性（例えば作業領域の名前、最後の同期化時刻、コラボレータがオンラインであった最後の時刻など）を含むことができる。
【００１７】
なお、他の実施態様ではメンバーが即座に通信できるように「チャット」またはリアルタイム式の会話メカニズムが設けられる。
【００１８】
他の実施態様は、メンバーがオンラインであって利用可能であるかどうかを示す認識メカニズムを持つことができる。この認識メカニズムはまた、他のユーザが、あるウィンドウ内に開いているフォルダーを現在持っているかどうかを表示することもできる。認識メカニズムは更に、他のメンバーがフォルダー内のファイルのいずれかの上でアクティブに作業しているかどうかを示すこともできる。
【００１９】
更に他の実施態様は、監視されているオブジェクト（対象）が変化したときにメンバーに警告する通知メカニズムを持つこともできる。このような通知メカニズムは、オペレーション・システムのタスクバーまたはサイドバーといった警告メカニズムを用いて、または音声警告、Ｅメール警告、または即時メッセージ警告といった他のメカニズムによってユーザに警告することができる。
【００２０】
他の実施態様は、メンバーがファイルに関する永続的なコメントを残すことを可能にするコメント作成メカニズムを持つこともできる。
【００２１】
更に他の実施態様は、あるメンバーがファイルを保存して他のメンバーのファイル修正を防止する、あるいは思いとどまらせることができるように、チェックイン／チェックアウトメカニズムを持つことができる。このようなシステムはまた、多数の更新不一致が処理されることを可能にするバージョン管理メカニズムと、ファイルが読取られたか修正されたかどうかを示す「読取り／未読取り・修正／未修正」メカニズムとを持つこともあり得る。
【００２２】
なお他の実施態様では、ファイルのコピーがローカルに記憶されている分散型コラボレーション・システムに「非対称ファイルサービス」が設けられる。非対称ファイルサービスは、コラボレータが自分にとって関心のあるファイルだけをローカルに記憶するように選択できるメカニズムである。特に、すべてのユーザがコラボレーション・データのローカル・コピーを保存する分散型コラボレーション・システムでは、コラボレーション・データをサブセットにすることは、有用であることが多い。例えばもしユーザが分散型コラボレーション・システムで１，０００個のファイルのライブラリについてコラボレートする場合、すべてのコラボレータが各ファイルの自分自身のローカル・コピーを持つことは無駄、さもなければ不必要である可能性がある。その代わりに各コラボレータは、自分にとって関心のあるファイルだけのコピーを持つように選択できる。それから、いずれの点においても他のコラボレータは、彼らが持たないファイルのコピーを要求することができる。次にコラボレーション・システムは、そのファイルのコピーを持っている如何なる適当な他のコラボレータからでもそのファイルを取り出すであろう。
【発明を実施するための最良の形態】
【００２３】
本発明のシステム３００の全体的アーキテクチャは、図３に示されている。以下の論議における説明目的のために、本発明で使用可能なオペレーション・システム（以下、一般的に「ＯＳ」と称する）は、前述のＷｉｎｄｏｗｓ  ＸＰ  Ｐｒｏオペレーション・システムであり、本発明で使用できるコラボレーション・システムは、前述のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムである。しかしながら、同業者は、本発明によって与えられる結果を達成するために下記に論じられる仕方で他のオペレーション・システムが修正できることと、本発明では他のコラボレーション・システムも使用できることとを理解するであろう。更にこの論議は以下では、既存のオペレーション・システムに対する修正を中心にしているが、直接的な仕方で本発明の特徴を含んだ新しいオペレーション・システムが設計可能であることは、同業者には明らかであろう。この新しいオペレーション・システムは、このオペレーション・システムとコラボレーション・ソフトウエアとが一体化したプログラムとして機能するように、コラボレーション・サービスを提供するように設計されたユーザインタフェースばかりでなく、コラボレーション・ソフトウエア自身も含むことができるであろう。
【００２４】
Ｗｉｎｄｏｗｓ  ＸＰ  Ｐｒｏオペレーション・システムは、図１、２に関して前述したような内蔵型フォルダー式ファイル・システムを持っている。ここで使用されるように用語「フォルダー」は、明示的ユーザ動作によるか、ユーザ指定の選択文に応じて１セットのオブジェクトを選択するデータベース様の問合せによるか、いずれかによってアセンブルされた動的または永続的いずれかの１セットのオブジェクトを意味する。ここで使用される用語「ファイル」は、名前、最後の修正日付、またはユーザによって指定された顧客属性といった関連メタデータを有する１セットの永続データを意味する。最後に以下で使用される用語「ユーザ」は、人、コンピュータ、またはユーザに代わって操作する代理人を含む。Ｗｉｎｄｏｗｓ  ＸＰ  Ｐｒｏオペレーション・システムは、オペレーション・システム機能とオペレーション・システム・ユーザインタフェースとを備えた「Ｗｉｎｄｏｗｓシェル」プログラムを含む。このシェル・プログラムは、ユーザによってカスタマイズ（ｃｕｓｔｏｍｉｚｅ）できる。特にＷｉｎｄｏｗｓシェル・プログラムは、今後「ＯＳファイル・システム」と呼ばれるフォルダー式ファイル・システム用の機能とユーザインタフェースとを備えている。
【００２５】
本発明の原理によればＷｉｎｄｏｗｓシェル・プログラムは、Ｗｉｎｄｏｗｓシェル拡張３０６によって拡張可能である。Ｗｉｎｄｏｗｓシェル拡張は、下記の仕方で本発明に主要なユーザインタフェースを提供する。これは、それぞれ矢印３４２、３４４によって模式的に示すように、Ｗｉｎｄｏｗｓシェル・ファイル・システム３０２からコマンドを受信することによって、またＷｉｎｄｏｗｓシェル・ファイル・システム３０２に対してコマンドを発生させることによって、ウィンドウズ・シェルを拡張する。これはまた、下記に説明する仕方で矢印３０５によって模式的に示すようにコラボレーション・システムと通信する。
【００２６】
一般に前述のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムは、分散型コラボレーション・システムであって、コラボレーティング・コンピュータは、インターネットといったネットワークによって相互に接続されている。このようなシステムでは種々のネットワークが使用できるが、以下の論議ではネットワークはインターネットであると仮定する。このシステムではコラボレーティング・コンピュータシステムは、複数のピア・ユニットを構成しており、インターネットを経由する通信は、中間手段なしで一つのピア・ユニットからもう一つのピア・ユニットに向けることができる。各ピア・ユニットは、パーソナルコンピュータ、あるいはセット・トップ・ボックスまたはハンドヘルド装置といった他の形式のネットワーク接続可能な装置として実現できる。コラボレーション・システムは、他のピア・ユニットからの通信を受信して処理する「トランシーバ」と呼ばれるクライアント・プログラムによってピア・ユニット上に実現される。
【００２７】
Ｇｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムでは、「ａｃｔｉｖｉｔｙ（アクティビティ）」と呼ばれるプログラムが各コラボレーティング・コンピュータシステム、通信機器、またはその他のネットワーク接続可能装置に常駐している。このａｃｔｉｖｉｔｙ（アクティビティ）は、例えば「チャット」、ゲーム遊び、またはビジネス・アプリケーションといった共用され集中したタスクが他の遠く離れたコラボレータと協働（コラボレーション）して実行されることを可能にする。このコラボレーションは、プライベートな共有空間における個人と小グループとの間の共同・相互活動を含む。各共有空間は、この共有空間のメンバーのコラボレーティング・コンピュータの各々で動作可能な一つ以上のアクティビティの具体例である。
【００２８】
このシステムでは、共有空間の参加者またはメンバーは、「エンドポイント（端点）」に関連する「アカウント」を開くことによってシステムにアクセスする。個々のコラボレータは、二つ以上の装置を介してシステムにアクセスできるので、エンドポイントは１個人と１装置との一意の組合せとして定義される。各エンドポイントは、共有空間データの個々のローカル・コピーを記憶する。
【００２９】
各アクティビティは、各々が例えばマウス・イベントとキーボード・イベントを受信することによってコラボレータと作用し合う（ｉｎｔｒａｃｔ）一つ以上のツールを含んでおり、これらの相互作用に応答してデータ変更要求を起動する。これらのデータ変更要求は、ローカルに使用されて共有空間の他のメンバーに送られる。各アクティビティはまた、これらのツールとは別の、共通データモデルに準じた共有空間データのローカル・コピーを維持するための一つ以上のデータ変更エンジンを含む。このデータモデルは例えば、アクティビティ固有であって、好適には共有空間のすべてのメンバーに亘って同じである。各コラボレーティング・コンピュータはまた、ローカルに生成されたデータ変更要求と他の共有空間メンバーから受信されたデータ変更要求とを調べて、そのローカルなデータ変更要求と他のデータ変更要求の実行を調整し、データのローカル・コピーに要求された変更を行うようにデータ変更エンジンに指示するダイナミックス・マネージャを含む。
【００３０】
しかしながら、Ｗｉｎｄｏｗｓシェル・ファイル・システム３０２は、コラボレーション・システム・トランシーバを組み込まないので、ユーザがコラボレーション・システム・ユーザインタフェースを使用して作用し合うことができるのと同じ仕方でコラボレーション・プログラムと直接作用し合うことはできない。本発明の原理によればＷｉｎｄｏｗｓシェル・ファイル・システム３０２とＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムは、イベント通知とウィンドウ・シェル拡張３０６とを用いて作用し合う。
【００３１】
ファイル・システムＲＡＭＰプログラム３０４は、コラボレーション・システム・コードの一部であってＯＳファイル・システム３０２におけるファイルの変更を検出する。これは、これらの変更を同期させることが必要であることをファイル・シンクロナイザ３０８に知らせるために矢印３４０によって模式的に示すようにファイル・シンクロナイザ３０８と通信する。特にＷｉｎｄｏｗｓ  ＸＰ  Ｐｒｏオペレーション・システムは、クライアントが選択されたイベントの通知を受信するために加入できるシステムイベント通知システムを備えている。これらのイベントは、フォルダーとファイルの編集、追加、及び削除といったＯＳファイル・システムにおける変更を含んでいる。これらの通知を受信するためにクライアントは、選択されたタイプのイベントに関して通知システムに登録しなくてはならない。コラボレーション・システムの起動時にファイル・システムＲＡＭＰプログラム３０４は、それがＷｉｎｄｏｗｓシェル・ファイル・システム３０２におけるファイルとファイル内容の変更を示すファイル通知に関してＯＳイベント通知システムに登録できるように、呼び出される。
【００３２】
ファイル・シンクロナイザ３０８は、Ｗｉｎｄｏｗｓシェル・ファイル・システム３０２内のファイルに行われた如何なる変更もコラボレーション・システムに記憶されているそのファイルのコピーに対しても行われ、またその逆も同じに行われることを保証するソフトウエア・プログラムである。ファイル・システムＲＡＭＰプログラム３０４は、ファイルが変更されたときにＷｉｎｄｏｗｓシェル・ファイル・システム３０２から通知を受信するが、この通知はどのファイルが変更されたか、あるいはどんな変更がなされたかを示さない。従ってファイル・シンクロナイザ３０８は、コラボレーション・システム・データストア内にＷｉｎｄｏｗｓシェル・ファイル・システム３０２の「スナップショット」を記憶する。このスナップショットは、最後に成功した同期化の時刻における各同期化ファイルの状態を記述するために十分な情報を持っている。このスナップショットの形式と内容は、使用されるオペレーション・システムに依存する。例えばこのスナップショットは、ディレクトリ構造と、スナップショットが最後に撮られたとき以降にファイルが変更されたかどうかを告げるために必要な情報を各レコードが持っている１セットのレコード（１ファイルごとに１レコード）とからなるが、ファイルの内容を省略することもある。この情報は、ファイルのサイズと、そのファイルが修正された最後の日付と、非データ「拡張」ファイル属性と、それらの値（ＩＢＭ  ＯＳ／２オペレーション・システムで使用されるようなもの）とを含むことがあり、これらの値は、フレキシブル・スキーマ、または「非データ・フォーク」（ＭａｃＯＳオペレーション・システムといったもの）または、ｉノード情報（Ｕｎｉｘ（登録商標）オペレーション・システム用の）、またはこれらのファイル内容から計算されたハッシュ値、を有する半構造化データベース項目としてファイルを更に取り扱うオペレーション・システムでは「メタデータ」と呼ばれることもある。
【００３３】
ファイル・シンクロナイザ３０８がファイル・システムＲＡＭＰ３０４によってＷｉｎｄｏｗｓシェル・ファイル・システム３０２内の変更を知らされると、ファイル・シンクロナイザ３０８は、Ｗｉｎｄｏｗｓシェル・ファイル・システムにどのような変更が行われたか、またどのファイル（１個または複数の）が変更されたかを決定するためにスナップショット情報を調べることができる。ファイル・シンクロナイザ３０８は、Ｗｉｎｄｏｗｓシェル拡張３０６（矢印３３４によって模式的に示されるように）と矢印３３６によって模式的に示されるようにＯＳファイルＲＡＭＰプログラム３０４とから入力を受信する。
【００３４】
ファイル・シンクロナイザ３０８は更に、矢印３２６、３２８、３３０、３３２によって模式的に示されるように各共有仮想空間と関連するドキュメント共有エンジンと作用し合う。図３は、コラボレーション・システムによって生成された４個の共有空間３１５、３１４、３１８、３２２を示している。これらの空間の各々は、それぞれ関連するドキュメント共有エンジン３１２、３１６、３２０、３２４を持っている。各ドキュメント共有エンジンは、同期化フォルダー内に各ファイルに関する「ファイル記述子」を記憶している。ファイル記述子は、ファイル・メタデータ（ファイル名、サイズ、及び修正時刻といった）からなり、コラボレーション・システム内のファイルを追跡するために使用される。
【００３５】
コラボレーション・システムの動作中、各エンジンはまた、すべてのコラボレータを同期させておくためにそれぞれの共有空間内の各コラボレータにファイル記述子を含むデータ変更要求を送る。各ドキュメント共有エンジンはまた、ファイル・シンクロナイザがファイル変更を検出するために必要とする前述のファイル・システム・スナップショットを保持する。変更されたファイルがどのように分散されているかによって、ドキュメント共有エンジンはまた、ファイルが編集される（ファイル・シンクロナイザによって決定されたように）時に、ドキュメント共有エンジン内のコピーが比較点として使用できるように、エンジン内の同期化ファイルの内容のコピーを保持することができる。それから全ファイル内容の代わりに、実際の変更だけが他のコラボレータに（下記に論じるように２進法差分更新を介して）送られる。
【００３６】
コラボレーション・システムには、ファイル共有プログラム３０３も設けられる。Ｇｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムの場合には、ファイル共有プログラム３０３は、通常のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅシステムの一部である修正されたＦｉｌｅｓ  Ｔｏｏｌ（ファイル・ツール）であり得る。この修正済みＦｉｌｅｓ  Ｔｏｏｌは、共有空間に関連しており、ツール内でフォルダー同期化を動作可能または動作不能にするためのユーザインタフェース・オプションを開示する。このようなユーザインタフェース・オプションは、関心のフォルダーに関するツール・メニューと「プロパティ」ダイアログ・ボックス・ボタンのどちらか、あるいはそれら両者を介して利用可能にできる。このオプションは、共有空間に関連する適当なドキュメント共有エンジンにおいてフォルダー同期化モードを動作可能及び動作不能にする。このオプションは、（１）ユーザが現在使用しているアイデンティティ（識別情報）に関して定義されたアイデンティティ・ポリシー（識別方針）と（２）ドキュメント共有エンジンによって定義された同期化モードを設定するためのツール許可との検査に基づいて動作可能または動作不能にされ得る。ユーザ・アイデンティティ（ユーザ識別情報）とアイデンティティ・ポリシー（識別方針）とそれらの実施については、Ｒａｙｍｏｎｄ  Ｅ．Ｏｚｚｉｅ，  Ｇｅｏｒｇｅ  Ｍｏｒｏｍｉｓａｔｏ，  Ｎｉｍｉｓｈａ  Ａｓｔｈａｇｉｒｉ，  Ｗｅｉ  Ｄａｉ，  Ａｌｅｘｅｉ  Ｅｖｄｏｋｉｍｏｖ，  Ｍａｒｋ  Ｃｏｔｅ、及びＡｄａｍ  Ｗｅｉｓｓによって２００３年７月３１日に出願された、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＭＡＮＡＧＩＮＧ  ＡＮＤ  ＤＩＳＰＬＡＹＩＮＧ  ＣＯＮＴＡＣＴ  ＡＵＴＨＥＮＴＩＣＡＴＩＯＮ  ＩＮ  Ａ  ＰＥＥＲ−ＴＯ−ＰＥＥＲ  ＣＯＬＬＡＢＯＲＡＴＩＯＮ  ＳＹＴＥＭ（ピアツウピア・コラボレーション・システムにおけるコンタクト認証を管理し表示する方法と装置）と題する同時係属中の特許文献２に更に詳細に論じられており、この出願はその全体が参照によって組み入れられている。
【００３７】
Ｗｉｎｄｏｗｓシェル・ファイル・システム３０２内のフォルダーをコラボレーション・システム内のフォルダーと同期させるプロセスは、図４Ａと４Ｂが一緒に配置されるときに形成されるフローチャートによって説明される。このプロセスは、工程４００から開始して、Ｗｉｎｄｏｗｓシェル拡張３０６が「Ｓｙｎｃｈｒｏｎｉｚｅ（同期化）」ボタンを表示する工程４０２に進む。
【００３８】
特にＷｉｎｄｏｗｓ  ＸＰ  Ｐｒｏオペレーション・システムの場合には、Ｗｉｎｄｏｗｓシェル拡張３０６は、Ｗｉｎｄｏｗｓシェル・ファイル・システム・ユーザインタフェースに「ｅｘｐｌｏｒｅ  ｂａｎｄ（探索帯域）」グラフィック・ディスプレイを生成する「ｂａｎｄ  ｏｂｊｅｃｔ（バンド・オブジェクト）を用いて実現できる。バンド・オブジェクトとそれらを使用してＷｉｎｄｏｗｓ  ＸＰ  Ｅｘｐｌｏｒｅユーザインタフェースを拡張する仕方は、下記のＵＲＬ：
http://www.microsoft.com/msj/defaultframe.asp?page=/msj/1199/bandobj/bandobj.htm&nav=/msj/1199/newnav.htmと
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/shellcc/platform/Shell/programmersguide/shell adv/bands.asp)
のマイクロソフトのウェブサイトに詳しく記載されている。更にシェル拡張３０６は、Ｗｉｎｄｏｗｓ  ＸＰ  Ｅｘｐｌｏｒｅｒボタンバーを拡張することもできる。この例示的実施態様ではＷｉｎｄｏｗｓ  Ｅｘｐｌｏｒｅｒボタンバーは、オペレーション・システムが動作しているコンピュータにコラボレーション・システムがインストールされるときに作成されるバンド・オブジェクトによって「Sｙｎｃｈｒｏｎｉｚｅ（同期化）」ボタンを追加するように修正される。
【００３９】
図５Ａは、ボタンバー５０２とフォルダーが同期化のために選択されることを可能にするフォルダーのリスト５１２とを示すＷｉｎｄｏｗｓ  Ｅｘｐｌｏｒｅｒ画面表示の画面写真の一部分５００である。本発明の原理によればボタンバーは、例示的Ｓｙｎｃｈｒｏｎｉｚｅ（同期化）ボタン５０６を追加するようにＷｉｎｄｏｗｓシェル拡張３０６によって修正される。
【００４０】
図５Ａではユーザは、「Ｐｒｏｊｅｃｔ  Ｘ」と名付けられたフォルダーを選択しているが、Ｓｙｎｃｈｒｏｎｉｚｅ（同期化）ボタン５０６は、Ｅｘｐｌｏｒｅｒ  Ｂａｎｄ表示が通常の「Ｆｉｌｅ  ａｎｄ  Ｆｏｌｄｅｒ  Ｔａｓｋｓ」ペイン５０４を示すように「オフ」になっている。ユーザがＳｙｎｃｈｒｏｎｉｚｅボタン５０６をクリックすると、タスク・ペイン５０４は「Ｓｙｎｃｈｒｏｎｉｚｅ（同期化）ペイン」に置き換えられ、Ｓｙｎｃｈｒｏｎｉｚｅボタン５０６は「ｐｕｓｈｅｄ  ｉｎ（押下状態）」となる。この操作は、通常のボタンバー５０２上のＳｅａｒｃｈ（探索）ボタン５０８及びＦｏｌｄｅｒｓ（フォルダー）ボタン５１０と同じユーザインタフェース規約に従う。
【００４１】
次に、工程４０４でユーザは、Ｗｉｎｄｏｗｓシェル拡張３０６を使用して同期化を動作可能にする。図５Ｂは、Ｓｙｎｃｈｒｏｎｉｚｅボタン５０６が選択されたときに現れる例示的Ｓｙｎｃｈｒｏｎｉｚｅペイン５１４を示すＷｉｎｄｏｗｓ  Ｅｘｐｌｏｒｅｒ画面表示の画面写真５００を示す。図５Ａの要素に対応する図５Ｂ（及び対応する図７〜１２）の要素は、対応する数字呼称を与えられている。例えば図５Ａのボタンバー５０２は、図５Ｂのボタンバー５０２に対応する。図５Ａに関連して論じられた図５Ｂの対応する要素は、図５Ｂに関連してこれ以上論じられないであろう。図５Ｂでは図５Ａに示されたタスク・ペイン５０４は、Ｓｙｎｃｈｒｏｎｉｚｅペイン５１４に置き換えられており、Ｓｙｎｃｈｒｏｎｉｚｅボタン５０６が「ｐｕｓｈｅｄ  ｉｎ（押下状態）」になっている。
【００４２】
もし現在選択されているフォルダーが現在同期化されていなければ、Ｓｙｎｃｈｒｏｎｉｚｅペイン５１４は、同期化がどのように動作するかを説明する紹介文を含む小さな初期ペインである。これが選択されると、「Ｌｅａｒｎ  ｍｏｒｅ  ａｂｏｕｔ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ（同期化について更に学ぶ）」リンク５１８がヘルプ・ウィンドウ（また潜在的にヘルプを示すブラウザ・ウィンドウ）を開く。「Ｅｎａｂｌｅ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ（同期化を動作可能にする）」ボタン５１６の選択は、同期化のためにリスト５１２内で選択されたフォルダーをセットアップする。
【００４３】
もしこの時点でコラボレーション・システムが現在動作していなければ、このシステムは工程４０６で規定するように起動される。前述のようにＷｉｎｄｏｗｓシェル拡張３０６は、Ｇｒｏｏｖｅコラボレーション・システムと直接通信するために必要なトランシーバへのアクセスを持たないので、これはこのコラボレーション・システムによって開示されているウェブサービス・インタフェースを用いてコラボレーション・システムにアクセスする。特にＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システム・ソフトウエアは、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（単純オブジェクト・アクセス・プロトコル）（ＳＯＡＰ）インタフェースを含むように修正される。これらのインタフェースによってコラボレーション・アクセス方法は、Ｗｉｎｄｏｗｓシェル拡張３０６といった他のプログラムがコラボレーション・システム・ソフトウエアの一部であるトランシーバを持たなくてもＳＯＡＰ言語を使用してこのコラボレーション・クライアントと通信して作用し合うことができるように、またコラボレーション・データを抽出することができるように、標準のＳＯＡＰフォーマットで開示される。
【００４４】
図６は、Ｗｉｎｄｏｗｓシェル拡張３０６によって生成されたメッセージといったＳＯＡＰメッセージを処理する例示的なコラボレーション・クライアント６００上のＳＯＡＰエンジン６０２の内部構造を示す概略のブロック図である。このＳＯＡＰエンジンは、ＳＯＡＰ代理コンポーネント６０４と加入マネージャ６０６と種々のサービス６０８〜６１４とを含む。ＳＯＡＰエンジン６０２は、通信マネージャに登録し、すべての到来ＨＴＴＰ通信に関心を示す。この仕方で通信マネージャがこれらの通信から如何なるデータも待ち行列から外すと、ＳＯＡＰエンベロープ形式のデータは、処理のためにＳＯＡＰエンジン６０２に渡される。
【００４５】
ＳＯＡＰ代理コンポーネント６０４は、ＳＯＡＰ  ＲＰＣ要求を目標ＣＯＭインタフェース上の方法呼出しに変換するコンポーネントである。コンポーネント６０４は、コラボレーション・クライアント上でシステム・サービスによって初期化され、ローカルＳＯＡＰサーバから到来するＨＴＴＰ通信を予期して聞き耳を立てる。通信が受信されるとＳＯＡＰ代理コンポーネント６０４は、ＳＯＡＰ要求からヘッダを読み取る。それからＳＯＡＰ代理コンポーネント６０４は、呼び出されるサービスを決定し、ＳＯＡＰヘッダから目標オブジェクトを決定する。
【００４６】
それからこの代理コンポーネント６０４は、サービスを例示し、もしそれがある幾つかのインタフェースを実現していればそのサービス上に幾つかの方法を任意選択的に呼び出してその方法に関する更に詳細な関係を決定する。それから代理コンポーネントは、すべてのインバウンド・パラメータをＳＯＡＰ表現からＣＯＭ（ＶＡＲＩＡＮＴ）表現に変換する。次に、選択されたサービスは、データを処理して応答を生成する。代理コンポーネント６０４は、如何なる返却値もＳＯＡＰ応答エンベロープ（ｅｎｖｅｌｏｐｅ）に変換し戻す。それからＳＯＡＰ代理コンポーネント６０４は、このエンベロープをローカルＳＯＡＰサーバに返却する。特にＳＯＡＰエンジン６０２は、要求を処理した後にＳＯＡＰ応答エンベロープでその結果を、元のＳＯＡＰ要求からの情報に基づいてＳＯＡＰクライアントによって所有されるＳＯＡＰサーバ内の特定の待ち行列に返却する。
【００４７】
ＳＯＡＰ要求を介してアクセスできるコラボレーション・クライアント６００には、１１個のサービスが示されている。これらは、アカウントサービス６０８、カレンダー（暦）サービス６１０、コンタクト（接触）サービス６１２、討論サービス６１４、イベントサービス６１６、ファイル（ベース６４）サービス６１８、ファイル（ＤＩＭＥ）サービス６２０、メッセージサービス６２２、空き領域（スペース）サービス６２４、ツールサービス６２６、及びトランシーバサービス６２８を含んでいる。各サービスは、Ｃｒｅａｔｅ（）、Ｒｅａｄ（）、Ｕｐｄａｔｅ（）、Ｄｅｌｅｔｅ（）方法を含む最大４個の方法を実現してサポートする。Ｒｅａｄ（）方法は一つのレコードまたは複数のレコードのリストを検索する。Ｃｒｅａｔｅ（）方法は、新しいレコードを作成する。Ｕｐｄａｔｅ（）方法は、既存のレコードを修正し、またＤｅｌｅｔｅ（）方法は、既存のレコードを削除する。各方法は、コラボレーション・データの更新または返却に責任を負っている。更にサービスは、このサービスによって管理されるデータ項目に対して動作する同様の方法を提供することもできる。
【００４８】
アカウントサービス６０８は、ローカルなコラボレーション装置へのすべてのアカウントに関する情報を提供し、またその装置上で利用可能なすべてのウェブサービスへの階層的アクセスのための開始点である。カレンダー（暦）サービス６１０は、コラボレーション・カレンダー・ツール内のイベントに関する情報を提供し、ＳＯＡＰクライアントが新しいイベントを生成し、また既存のイベントを削除または修正することを可能にする。コンタクト（接触）サービス６１２は、アイデンティティ（識別情報）のために記憶されたコラボレーション的コンタクト（接触）に関する情報を提供する。討論サービス６１４は、討論ツールのエントリーに関する情報を提供し、ＳＯＡＰクライアントが新しいエントリーを生成し、また既存のエントリーを削除または修正することを可能にする。イベントサービス６１６は、ＳＯＡＰクライアントがウェブサービス・イベントを検索するためのメカニズムを提供する。
【００４９】
ファイル（ベース６４）サービス６１８は、ファイル・ツール内のファイルに関する情報を提供し、ＳＯＡＰクライアントがファイルの内容を読み取り、新しいファイルを生成し、また既存のファイルを削除または修正することを可能にする。ファイル（ＤＩＭＥ）サービス６２０は、同じ仕方で動作し、ＳＯＡＰ  ＤＩＭＥプロトコルを使用してファイル内容を転送することを除いて、ファイル（ベース６４）サービス６１８と同じ方法をサポートする。メッセージサービス６２２は、コラボレーション・クライアントによって送られたが有効期間が終了したためにＳＯＡＰクライアントによって受け取られなかったメッセージを遠隔のＳＯＡＰクライアントが検索するためのメカニズムを提供する。空き領域サービス６２４は、指定されたアイデンティティが所有する共有空間に関する情報を提供する。ツールサービス６２６は、共有空間内のツールに関する情報を提供する。
【００５０】
トランシーバサービス６２８は、外部アプリケーションがローカル装置上で作業領域ウィンドウを開いて、ユーザを指定のＵＲＬに向けることを可能にし、あるいはそのユーザが即時メッセージまたは共有空間勧誘を送ることを可能にする。Ｖカードサービス６３０は、あるアイデンティティに関するＥメールアドレス及びフルネームといった追加情報を提供するが、この情報は典型的には、Ｖカードに見られるであろう。最後に加入マネージャ６０６は、遠隔のエンドポイントが通知を受けるためにサポートされる如何なるデータモデルにも加入できるようにする加入サービスを実現する。
【００５１】
ウェブサービス・インタフェースの動作は、以下のＵＲＬ：すなわち
http://www.groove.net/pdf/gws features-v25.pdf
とhttp://www.groove.net/pdf/wp-groove web services.pdf
とhttp://www.groove.net/pdf/datasheet-gws gdk.pdfのＵＲＬにおいて、またＷｅｉｄｏｎｇ  ＷａｎｇとＪｏｈｎ  ＢｕｒｋｈａｒｄｔとＪａｃｋ  Ｏｚｚｉｅとによって２００３年７月８日に出願された、ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＰＲＯＶＩＤＩＮＧ  ＷＥＢ  ＳＥＲＶＩＣＥＳ  ＩＮ  Ａ  ＣＯＬＬＡＢＯＲＡＴＩＶＥ  ＣＯＭＰＵＴＩＮＧ  ＳＹＳＴＥＭ（コラボレーション計算システムにおいてウェブサービスを提供する方法と装置）と題する特許文献３において詳しく論じられている。この出願の内容は、その全体が参照によりここに組み入れられている。
【００５２】
一実施態様ではウェブサービス・インタフェースとトランシーバサービスを使用すれば、ユーザからの更なる介入なしにコラボレーション・システムは自動的に起動される。別の場合には、ユーザは、ダイアログ・ボックスを介してコラボレーション・システムが起動されるべきかどうかを尋ねられることがあり得る。
【００５３】
たとえコラボレーション・システムが既に動作中であっても、このシステムはなお、ある初期化情報を取得する必要があるかもしれない。前述のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムといったある幾つかの分散型コラボレーション・システムは、フォルダー同期化のためのアカウントが決定されなくてはならないようにアカウントベースになっている。これは、直接的な仕方で決定できる。最初にＷｉｎｄｏｗｓシェル拡張は、ウェブサービスを介してアカウントサービスを利用してどのアカウントがログインされているかを決定する。例えばもし一つの、そして一つだけのアカウントがログインされていれば、そのアカウントが使用される。別の場合には、一つだけのアカウントがユーザのマシン上に存在すれば、そのアカウントが使用される（必要であればログインする）。もし二つ以上のアカウントが存在すれば、ユーザは、ダイアログ・ボックスまたは他のメカニズムによって一つのアカウントを選択するようにプロンプト（入力要求）され得る。更にもしその選択されたアカウントがそれに関する多数のアイデンティティ（識別情報）を持っていれば、ユーザが一つのアイデンティティ（識別情報）を選択することを要求する更なるプロンプトが、追加のダイアログ・ボックスを使用して行われる。
【００５４】
同期化から利益を受けないフォルダーのために同期化を動作可能にしようとしているかどうかをユーザに警告する安全チェックをこの時点で実施することも可能である。例えば取外し可能媒体上または遠隔の駆動装置上のフォルダーは、同期化できない。同様に既にコラボレーション・システム・フォルダー階層の一部であったり、またはＷｉｎｄｏｗｓ  ＸＰ  Ｐｒｏシステム・ディレクトリの一部であるフォルダーは、同期化できない。最後にフォルダーは、もしユーザがそのフォルダーへの書込み許可を持っていなければ、あるいはもしそのフォルダーが既に他のコラボレーション・システムアカウントによって同期化されていれば、同期化できない。
【００５５】
別の場合には、もし同期化を有するフォルダーが開かれていて、コラボレーション・システムが動作していなければ、ユーザにコラボレーション・アプリケーションを動作させるようにプロンプトするタスク・ペインが表示され得る。同様にもしコラボレーション・システムは動作中であるが同期化を動作可能にしたアカウントがログインされていなければ、ユーザにログインするようにプロンプトする他のタスク・ペインが表示される（もしそのアカウントがパスワードを持たく、かつ、ログイン処理が自動化できなければ）。
【００５６】
「Ｐｒｏｊｅｃｔ  Ｘ」フォルダーが未だ同期化されていなかったと仮定した場合、本発明の原理に従って、Ｅｎａｂｌｅ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ（同期化動作可能）ボタン５１６が選択されると、このシステムは、コラボレーション・システムをＷｉｎｄｏｗｓシェル・ファイル・システム・フォルダーに同期させる。特に図４に戻って、工程４０８でＷｉｎｄｏｗｓシェル拡張は、新しい共有作業領域（例えば図３の共有空間１である３１２）を生成する。アカウントとアイデンティティ（識別情報）が知られているので、Ｗｉｎｄｏｗｓシェル拡張は、コラボレーション・システムのウェブサービス・インタフェースとトランシーバサービスとを使用してコラボレーション・システムが指定されたアカウントとアイデンティティ（識別情報）とに関する新しいファイル共有作業領域を作成することを要求する。この作業領域は、予め決められたテンプレートから作成され、ファイル・ツールとドキュメント共有エンジン３１６とチャット・ツール（図３には図示せず）とコメント・ツール（図３には図示せず）とを含む。作業領域テンプレートは、この作業領域３１２を特殊なファイル共有作業領域として標識付けする。また作業領域が作成されると、Ｗｉｎｄｏｗｓシェル・ファイル・システム３０２内で同期化すべきフォルダーのファイル経路は、パラメータとしてコラボレーション・システムに渡される。
【００５７】
次に工程４１０で、新しい作業領域に関連するデータストアに、フォルダー・ファイル経路をドキュメント共有エンジン３１６のＵＲＬに関連付けるマッピングが追加される。このフォルダー・ファイル経路はまた、このときドキュメント共有エンジン３１６にも与えられる。
【００５８】
それから工程４１２で、ドキュメント共有エンジンに関する識別情報（ＧＵＩＤ及びアカウントデータストア内のドキュメント共有エンジンに写像されたアカウントＵＲＬといった）がＷｉｎｄｏｗｓシェル・ファイル・システム内に記憶される。これは例えば、特殊ファイルをコラボレーション初期化ディレクトリ（前述のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムの場合はこのディレクトリは「Ｇｒｏｏｖｅ．ｉｎｉ」）に加えることによって、またはデスクトップ初期化ファイル（ｄｅｓｋｔｏｐ．ｉｎｉ）に書き込むことによって、またはオペレーション・システム・レジストリにマッピングテーブルを追加することによって遂行できる。
【００５９】
それからこのプロセスは、オフページ・コネクタ（ページ接続子）４１４、４１６を介して工程４１８に進む。工程４１８では作業領域が作成された後に、ドキュメント共有エンジンにファイル記述子を入れて（工程４１８）、ファイル・シンクロナイザ・スナップショットを初期化する（工程４２２）ことによって同期化がトリガー（誘発）される。この時点で、Ｗｉｎｄｏｗｓシェル・ファイル・システムとドキュメント共有エンジンとファイル・シンクロナイザとに亘って一貫したビューが存在しており、このプロセスは工程４２４で終了する。
【００６０】
それからＷｉｎｄｏｗｓシェル拡張３０６は、同期化されたフォルダーに関する作業領域ユーザインタフェースを表示する。特に同期化されたフォルダーに関する情報を示すフルサイズのＳｙｎｃｈｒｏｎｉｚｅ（同期化）ペインが、通常のＦｉｌｅ  ａｎｄ  Ｆｏｌｄｅｒ  Ｔａｓｋペインに取って代わる。Ｓｙｎｃｈｒｏｎｉｚｅペインは、前述のバンド・オブジェクトの一つによって生成され、共有空間情報と同期化ファイル・システム・フォルダーに関するＷｉｎｄｏｗｓ  Ｅｘｐｌｏｒｅｒ  Ｂａｎｄのオプションとを与える。Ｗｉｎｄｏｗｓシェル拡張３０６は、ウェブサービスを使用して共有空間とそのドキュメント共有エンジンとにアクセスし（矢印３０７によって模式的に示されているように）、それから空き領域サービスを使用してメンバーリスト及びメンバー状態といったファイル共有作業領域に関する情報を検索する。
【００６１】
図７は、フルサイズのＳｙｎｃｈｒｏｎｉｚｅ（同期化）ペイン７２０を示す。図５Ａ、５Ｂと同様に、図５Ａ、５Ｂの要素に対応する図７の要素は、対応する数字呼称を与えられており、図７に関してこれ以上論議されないであろう。例えば要素７０２は、図５Ａ、５Ｂの要素５０２に対応している。Ｓｙｎｃｈｒｏｎｉｚｅペイン７２０は、共有空間情報と、同期化されたＯＳファイル・システム・フォルダーに関するオプションとを表示する（図８のＰｒｏｊｅｃｔ  Ｘ）。
【００６２】
フォルダーは多数の共有空間と同期化できるので、Ｓｙｎｃｈｒｏｎｉｚｅペイン７２０は、同期化された共有空間の名前のリストを有するコンボ・ボックス（ｃｏｍｂｏ  ｂｏｘ）７２２を含む。ユーザは、コンボ・ボックス７２２内の適当な共有空間名を選択して、関連する共有空間情報とオプションとをＳｙｎｃｈｒｏｎｉｚｅ（同期化）ペイン７２０の残りの部分に表示する。
【００６３】
一実施態様ではＳｙｎｃｈｒｏｎｉｚｅペイン７２０内の共有空間情報は、コンボ・ボックス７２２内で選択された共有空間に関する状態情報を含むことができる。この状態情報は、共有空間コンボ・ボックス７２２の下方に現れる。図７に示すように、この情報は、今度はメンバー名を含むメンバーリスト７２４を含み、メンバーを表すアイコンを含むこともある。共有空間情報は、各メンバーに関する認証アイコン７２６を含むこともできる。認証アイコンは、前述の同時係属中の特許文献２に更に詳細に記述された仕方で生成できる。この共有空間情報はまた、現在のアイデンティティ（識別情報）に関する空間を共有する装置のリストも含むことができる（図７には図示せず）。この装置リストは、各装置の名前を含むことができる。図７には単一のメンバーが示されている。このメンバーは、ファイル共有作業領域を作成したユーザに対応している。
【００６４】
コラボレーション・システムに依存してメンバーリスト７２４はまた、メンバーの許可を表示することもできる。例えば前述のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムは、共有空間の作成者がメンバーの各々に「役割」を割り当てることを許している。これらの役割は、メンバーがこの空間内でファイルを作成、削除または修正できるかどうかを規定する。下記のように、役割または許可がコラボレーション・システムを介して各メンバーに割り当てられることを可能にするダイアログ・ボックスを開くために、オプション・ボタンを設けることができる。
【００６５】
メンバーリストはまた、追加のアイコンを表示するか、あるいはリスト化されたメンバーがオンラインであって利用可能であるかどうかを他の手段によって示すことができる。この「認識」メカニズムはまた、リスト化されたメンバーが現在あるウィンドウ内に開いているフォルダーを持っているかどうかを表示することもできる。この認識メカニズムは更に、他のメンバーがそのフォルダー内のファイルのどれかでアクティブに作業しているかどうかを示すこともできる。認識メカニズムは、ウェブサービス・インタフェースと空き領域サービス６２４とを介してコラボレーション・システムからメンバー情報を検索することによって実現できる。
【００６６】
ユーザが新しいエンドポイントを共有空間に勧誘することを許可するために、二つのオプション・ボタン７２８、７３０が設けられている。ボタン７２８は、人との同期化のための、あるいは新しいメンバーをこの共有空間に勧誘するためのオプションを提供するモーダル・ダイアログ・ボックス（図７には図示せず）を開く。ボタン７２８は、コンボ・ボックス７２２内で現在選択されている共有空間に新しいメンバーを勧誘する。第２のボタン７３０（Ｓｙｎｃｈｒｏｎｉｚｅ  ｗｉｔｈ  ｃｏｍｐｕｔｅｒ：コンピュータとの同期化）は、現在のアイデンティティ（識別情報）に関する他の装置を選択されている共有空間に勧誘するためのオプションを提供するもう一つのモーダル・ダイアログ・ボックス（図７には図示せず）を開く。この後者のボタンはまた、コンボ・ボックス７２２内で現在選択されている共有空間に装置を勧誘する。
【００６７】
本発明の原理によれば、勧誘は、通常の勧誘がコラボレーション・システムで生成されて送られるのと同じ仕方で生成されてＯＳファイル・システム・ユーザインタフェースから送ることができる。勧誘が前述のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システムにおいて送受信される仕方に関しては、２０００年５月１２日に出願された、Ｗａｌｔｅｒ  Ｅ．ＴｕｖｅｌｌとＮｉｍｉｓｈａ  ＡｓｔｈａｇｉｒｉとによるＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＭＡＮＡＧＩＮＧ  ＳＥＣＵＲＥ  ＣＯＬＬＡＢＯＲＡＴＩＶＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ（安全なコラボレーション・トランザクションを管理するための方法と装置）と題する特許文献４を参照のこと。この内容は、参照によりここに組み入れられている。特にＷｉｎｄｏｗｓシェル拡張３０６は、ウェブサービス・インタフェースを介してトランシーバサービスを使用して通常のコラボレーション・システムの仕方で勧誘を発行する。この動作は、勧誘がコラボレーション・システムのプロセスの中で通常のプロトコルのすべてに従うことを可能にする。
【００６８】
後者のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅシステムでは勧誘が発行された後に、被勧誘者は、共有空間に参加するためにはその勧誘を受け入れなくてはならない。勧誘が送られた後に、被勧誘者はメンバーリスト内に現れる。被勧誘者が未だその勧誘を受け入れていないことを示すために、あるメカニズムを使用することができる。例えばユーザインタフェースは、被勧誘者名の後の括弧内に「Ｐｅｎｄｉｎｇ（保留中）」という言葉を表示できるであろう。
【００６９】
前述のＧｒｏｏｖｅ  Ｗｏｒｋｓｐａｃｅコラボレーション・システム・プロトコルによれば、被勧誘者は一般にＥメール通知を介して勧誘の通知を受け取る。勧誘の受け入れ時に発生するプロセスは、図８に図解されたフローチャートに示される。このプロセスは、工程８００で始まり、被勧誘者が一般に勧誘の受入れボタンをクリックすることによってその勧誘を受け入れる工程８０２に進む。工程８０４で述べるように被勧誘者はそれから、この被勧誘者を勧誘したメンバーによって転送されたリンクを用いて初めて、あるいはコラボレーション・システム・ユーザインタフェースを用いてその空間にナビゲートする（航行する）。もしコラボレーション・システムがこの時点において被勧誘者システム上で動作していなければ、このシステムは、この時に始動される。
【００７０】
次に工程８０６でコラボレーション・システムは、作業領域のタイプを調べ、登録テーブル内を探索して、コラボレーション・システム内の作業領域を見るために起動すべきアプリケーションのタイプを決定する。典型的にはこの後者のアプリケーションは、コラボレーション・システム内の省略時作業領域ビューアであろう。それからこのコラボレーション・システムは、この作業領域を吟味し、同期化すべき被勧誘者のコンピュータ上のフォルダーのためのＷｉｎｄｏｗｓシェル・ファイル・システム経路に関してチェックする。この空間は新しいので経路は未だ設定されておらず、コラボレーション・システムは、新しい同期化されたフォルダーが被勧誘者のコンピュータにおいてＯＳファイル・システムに記憶できる場所を指定するように被勧誘者をプロンプトするために、図９に示すものに似たダイアログ・ボックスを表示する。このダイアログ・ボックスは、被勧誘者がフォルダー／作業領域のための新しい場所を生成すること、または新しいフォルダー／作業領域を既存のフォルダーに併合することを可能にする。
【００７１】
図９に示すようにダイアログ・ボックス９００は、被勧誘者が新しい作業領域を併合する既存の場所を選択することを可能にするディレクトリ・リスト９０２を表示する。新フォルダーコマンドボタン９０４を使用することによって新しい作業領域のために新しいフォルダーを作成することもできる。フォルダーが選択されるか、新しいフォルダーが作成されると、被勧誘者は「ＯＫ」コマンドボタン９０６によってその動作を受け入れるか、「Ｃａｎｃｅｌ」コマンドボタン９０８によってその選択を放棄することができる。いったん場所が選択されると、ディレクトリは初期化され、コラボレーション・システムはＷｉｎｄｏｗｓシェル・ファイル・システムを起動して指定されたフォルダーにナビゲートする。
【００７２】
別の場合には、もし新しい共有空間があるフォルダーと既に関連付けられていた場合には、ファイル共有システム３０３は単に、プログラムｅｘｐｌｏｒｅｒ．ｅｘｅを実行することによってＷｉｎｄｏｗｓシェル・ファイル・システムを動作させてそのフォルダーにナビゲートする。
【００７３】
それからコラボレーション・システムは、工程８０８でファイル・シンクロナイザ３０８に指定されたフォルダーを同期化するように命令する。ファイル・シンクロナイザ３０８は、ドキュメント共有エンジンで新しい作業領域内をチェックし、同期化されたフォルダー「Ｐｒｏｊｅｃｔ  Ｘ」内に「Ｄｅｔａｉｌ  ｏｆ  Ｋｅｖｌａｒ  Ｂｌａｄｅｓ」、「Ｉｎｎｅｒ  Ｍｅｃｈａｎｉｓｍ」、「Ｗｅｅｄ  Ｂａｓｋｅｔ  Ｄｅｓｉｇｎ」と題する３個のファイルが存在することと、指定されたフォルダーがこれらのファイルを持っていないことと、これらのファイルに関するスナップショットが存在しないこととを決定する。従ってこれらのファイルは、作成されなくてはならない。
【００７４】
すべてのファイルがサーバ上に保存されているサーバベースのコラボレーション・システムでは、同期化すべきファイルは既に、ユーザに利用可能であろう。しかしながら、ローカル・データコピーを使用するサーバベースのコラボレーション・システムと前述のように非対称ファイルサービスを提供する分散型コラボレーション・システムでは、ファイルはローカル・データストア上に存在せず、適当な情報源からローカル・データストアにダウンロードしなくてはならない。サーバベース・システムの場合にはこの情報源は、他のコラボレータのローカル・データストアであろう。
【００７５】
本発明の一態様によれば、ファイルはこの時点でダウンロードできるが、他の時間に、あるいはユーザが要求に従ってダウンロードすることもできる。図７に戻って「Ｓｅｔｔｉｎｇｓ  ａｎｄ  Ｏｐｔｉｏｎｓ」リンク７３２は、Ｓｙｎｃｈｒｏｎｉｚｅペイン７２０を図１０のタスク・ペイン１０４０に類似であり得る新しいタスク・ペインに置き換えることによってユーザが選択されたオプションを設定することを可能にする。タスク・ペイン１０４０ではＤｏｗｎｒｏａｄ  Ｓｅｔｔｉｎｇｓラジオ・ボタン制御１０４２は、いつ同期化が発生するか、及び同期化が発生すると何が同期化されるかを制御する。一般に同期化は、ほぼ同期化ファイルのどれかに変更が行われたときに発生する。一実施態様では同期化は非同期であって、同期化があまり頻繁に発生しないことを保証する小さな抑制タイマーが存在する可能性がある。
【００７６】
特にファイルデータのダウンロードは、ラジオ・ボタン１０４２によって選択できるダウンロード・セッティングによって制御される。ダウンロード・セッティングは、（１）常に新しいファイルをダウンロードする、（２）ファイル・サイズがある選択されたキロバイト数より小さければ（その選択されたキロバイト数がテキスト・ボックス９４４に入れ得る場合）新しいファイルをダウンロードする、及び（３）ユーザによって指定されたように手動で新しいファイルをダウンロードする、の三つのケースがあり得る。一実施態様ではダウンロード・セッティングは、そのフォルダー全体に適用される。省略指定によりラジオ・ボタン１０４２の設定は、「Ｄｏｗｎｒｏａｄ  ｎｅｗ  ｆｉｌｅｓ  ｍａｎｕａｌｌｙ（新しいファイルを手動でダウンロードする）」であり得る。
【００７７】
もしダウンロード・セッティングがファイルのダウンロードが後刻に延期されるといったことであれば、そのファイルはＯＳファイル・システムでは、目標ファイルを見つけるために必要な情報を含む小さなファイルを有する目標ファイルを表すという点で、Ｗｉｎｄｏｗｓショートカット（．ｌｎｋ  ｆｉｌｅ）に極めて類似した「スタブ（ｓｔｕｂ）」ファイルとして表される。スタブ・ファイルは、ユーザインタフェースでは目標ファイルと同じアイコンによって表されるが、図１に示すハンド・オーバレイに似た仕方でスタブ・ファイルであることを示すある種のオーバレイを持つことができる。
【００７８】
新しい同期化フォルダーが初期化されるときにはファイルはダウンロードされないであろうと仮定すると、工程８１０でファイル・シンクロナイザ３０８は、同期化空間で３個のファイルを表すために３個のスタブ・ファイルを生成する。これらのスタブ・ファイルの各々は、ファイルが開かれるときにＷｉｎｄｏｗｓシェル拡張３０６が実行されるように、Ｗｉｎｄｏｗｓシェル拡張３０６に結び付けられている。工程８１２でファイル・シンクロナイザ３０８は、新しいディレクトリ内にこれら３個のスタブ・ファイルの３個のスナップショットを作成する。
【００７９】
最後に工程８１４でＷｉｎｄｏｗｓシェル・ファイル・システム３０２は、被勧誘者が新しい作業領域とその被勧誘者を勧誘したメンバーの詳細を示すＳｙｎｃｈｏｎｉｚｅペインと一緒に新しいスタブ・ファイルを見るように、Ｗｉｎｄｏｗｓシェル拡張３０６によって更新される。それからこのプロセスは、工程８１６で終了する。
【００８０】
一実施態様ではユーザは、スタブ・ファイル・アイコンをダブルクリックすることによってそのスタブ・ファイルに関連する目標ファイルをダウンロードできる。そうすると適当な行為を有するメニューが現れるであろう。このメニューは、「Ｄｏｗｎｌｏａｄ」（省略時の行為）及び「Ｄｏｗｎｌｏａｄ  Ｆｒｏｍ」といった行為を含むかもしれない。「Ｄｏｗｎｌｏａｄ  Ｆｒｏｍ」オプションは、分散型コラボレーション・システムで使用され、目標ファイルが取り出され得るエンドポイントをリストアップするポップアップメニューを表示する。またあるスタブ・ファイルが選択されると、Ｓｙｎｃｈｒｏｎｉｚｅペインは、ユーザにダウンロードを開始させる領域を示すことができる。
【００８１】
図１０で「Ｃｈａｎｇｅ  ｓｅｃｕｒｉｔｙ  ｓｅｔｔｉｎｇｓ（安全設定の変更）」リンク１０４６は、ユーザに作業領域に関する役割と許可とを設定させるダイアログ・ボックス（図１０には図示せず）を開く。「Ｃｈａｎｇｅ  ｎｏｔｉｆｉｃａｔｉｏｎ  ｓｅｔｔｉｎｇｓ(通知設定変更)」リンク１０４８は、ユーザに通知レベル（高い、中間、低いなど）を設定させるダイアログ・ボックス（図１０には図示せず）を開く。「Ｎｅｗ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｇｒｏｕｐ（新同期化グループ）」リンク１０５０は、ユーザに現在の同期化作業領域内の同じフォルダーまたは任意のフォルダー内に新しい作業領域を作成させるダイアログ・ボックス（図１０には図示せず）を開く。最後に「Ｅｎｄ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ（同期化終了）」リンク１０５２は、同期化を終了させる。リンク１０５２を選択すると、ユーザがその空間から退去する（勧誘されなくなる）こと、現在の装置からその空間を取り除くこと、またはすべての人についてその空間をシャットダウンすることを可能にする二次的ダイアログ・ボックスを開く。選択されたオプションは、適当なコマンドボタン１０５４または１０５６を選択することによって適用されるか、または放棄される。ボタン１０５４または１０５６のどちらを選択しても、オプション・ペイン１０４０を閉じて、Ｓｙｎｃｈｒｏｎｉｚｅ（同期化）ペイン７２０を復元する（図７）。
【００８２】
Ｓｙｎｃｈｒｏｎｉｚｅペイン７２０はまた、図１１に示すように拡張できる「チャット」セクション７３４を含む。Ｃｈａｔ（チャット）ペイン１１５０は、ユーザがチャットに携わるオンライン・メンバーを選択することを可能にするコンボ・ボックス１１５２を含む。もう一つの領域１１５４は、ユーザがチャット・メッセージをタイプ入力することを可能にするために設けられている。チャット機能は、コラボレーション・システムのウェブサービス・インタフェースとトランシーバ機能とを順次に使用してチャットサービスを提供するＷｉｎｄｏｗｓシェル拡張３０６によって実現される。
【００８３】
図７に戻って、ファイル・リスト７１２において同期化ファイルが選択されると、そのファイルのために利用可能なタスク専用の新しいセクションがＳｙｎｃｈｒｏｎｉｚｅペイン７２０に追加される。図１２にこの新しいセクションの一例が示されている。図１２に示すタスクは、ファイル選択に依存しており、一般に、同期化に関して意味を成す、ファイルについての操作を含む。
【００８４】
例えばファイルアップロードボタン１２６２とファイルダウンロードボタン１２６３を設けることができる。アップロードボタン１２６２は、ファイル・リスト１２１２から一つ以上の非スタブ・ファイル（内容がローカル・データストアに記憶されているファイル）が選択されたときにだけ動作可能になる。アップロードボタンは、ユーザが同期化された共有空間の一つ以上における指定されたエンドポイント（単数または複数）に、選択されたファイル内容を「プッシュする（押す）」ことを可能にする。このボタンが選択されると、ファイルがプッシュされるエンドポイントをユーザが選択することを可能にするポップアップメニューが現れる。
【００８５】
ダウンロードボタン１２６３は、ファイル・リスト１２１６から一つ以上のスタブ・ファイルが選択されたときにだけ動作可能になる。ダウンロードボタン１２６３は、選択されたスタブ・ファイルの内容に関する取出し要求をトリガーする（誘発する）。この要求は、指定されたファイル・システム・フォルダーに関するすべての同期化空間に亘る各エンドポイントに送付される。
【００８６】
いずれの場合にも、ある時点におけるユーザ／被勧誘者は、ファイルをダブルクリックするか、リスト内のファイルを選択し、それからそのファイルをダウンロードするためにファイルタスク・ペインを使用するか、いずれかによってファイルをダウンロードするであろう。Ｗｉｎｄｏｗｓシェル拡張３０６は、前述のように呼び出されて、ウェブサービス・インタフェースを介してコラボレーション・システムにアクセスする。これは、共有空間でファイル・ツールを使用してファイルを取り出す。ファイルがダウンロードされつつあるとき、図１３に示したようなＤｏｗｎｒｏａｄ（ダウンロード）ペイン１３７０がＳｙｎｃｈｒｏｎｉｚｅペイン１３２０内に現れる。Ｄｏｗｎｒｏａｄ（ダウンロード）ペイン１３７０は、例えばプログレス（進行）バー１３７２その他の手段を用いてダウンロードの状態を表示する。「Ｃａｎｃｅｌ（取消し）」ボタン１３７４は、ユーザがダウンロードを取り消すことを可能にする。ダウンロード・ペイン１３７０は常に、選択されたファイルに適用される。もし選択が存在しなくて幾つかのファイルがダウンロード中であれば、一実施態様ではダウンロード・ペインは、プログレスバー１３７２の代わりに「Ｄｏｗｎｒｏａｄｉｎｇ  ３  ｆｉｌｅｓ（３個のファイルをダウンロード中）」といった文を表示することもある。もし多数のファイルが選択されていてこれらすべてのファイルがダウンロードされるスタブ・ファイルであれば、同様の文が表示され得る。このペイン内の情報は、共有空間でファイル・ツールを順次に使用して（ウェブサービス・インタフェースを介して）必要とされる情報を取得するＷｉｎｄｏｗｓシェル拡張によって与えられる。
【００８７】
ファイルが到着すると、実際のファイルを表すスタブ・ファイルは、その実際のファイルに置き換えられ、ファイル・システム・スナップショットは、更新されてそのファイル内容が変更になったことを示す。
【００８８】
図１２に戻ると、ある幾つかの追加タスクと動作が実行可能である。「Ｃｏｍｍｅｎｔｓ  ｆｏｒ  ｔｈｉｓ  ｆｉｌｅ（このファイルに関するコメント）」リンク１２６４は、コメント・ペイン（図１２には図示せず）を開く。このリンク１２６４に続くカッコ内の数は、選択されたファイルに関するコメントの数を示す。この機能はまた、ウェブサービス・インタフェースを介してコラボレーション・システムの諸サービスを使用することによりＷｉｎｄｏｗｓシェル拡張によって実現される。「Ｗｈｏ  ｈａｓ  ｔｈｉｓ  ｆｉｌｅ？(誰がこのファイルを持っているか？)」リンク１２６６は、選択されたファイルのコピーを所定のメンバーが持っているか否かを指定するコラムと一緒にその空間のすべてのメンバーのリストを示すダイアログ・ボックス（図１２には図示せず）を開く。もしあるメンバーがコピーを持っていなければ、前述のアップロードボタンは、ユーザにファイルをそのメンバーに「プッシュ」させる。他の一実施態様では、ユーザがかつてその選択されたファイルを開いた（すなわち読んだ）ことがあるか否かを示す指示が後者のダイアログ・ボックスに追加され得る。この機能は、ウェブサービス・インタフェースを介してドキュメント共有エンジン３１２にアクセスするＷｉｎｄｏｗｓシェル拡張３０６によって実現される。
【００８９】
いったんあるフォルダーが同期化されると、そのファイルを表すＯＳファイル・システム・ユーザインタフェース表示内に表示されたフォルダー・アイコンには、そのフォルダーがコラボレーション・システムを介して同期化されていることを示すアイコン・オーバレイが与えられる。このアイコン・オーバレイは、フォルダーがネットワーク上で共有されるときにＷｉｎｄｏｗｓ  ＸＰ  Ｐｒｏファイル・システムによって表示される「ハンド」オーバレイ１１４（図１）に類似であり得る。同期化フォルダー・アイコン・オーバレイは、Ｗｉｎｄｏｗｓ２０００またはそれ以降のバージョンでだけ利用可能であるアイコン・オーバレイ・シェル拡張によって与えられる。アイコン・オーバレイ・シェル拡張の詳細に関しては下記を参照のこと：
http://msdn.microsoft.com/msdnmag/issues/0300/w2kui/default.aspx
【００９０】
Ｗｉｎｄｏｗｓ  Ｅｘｐｌｏｒｅｒの「Ｄｅｔａｉｌｓ（詳細）」ビューは、ファイル・システム内の各ファイルに関する情報のコラムを表示する。一実施態様では同期化フォルダーは、各ファイルに関する拡張されたコラム情報（ダウンロード状態、ダウンロードの進行など）を表示する。コラム拡張は、Ｗｉｎｄｏｗｓ２０００またはそれ以降のバージョンでだけ利用可能であるコラム・ハンドラー・シェル拡張によって与えられる。コラム・ハンドラー・シェル拡張の詳細に関しては下記を参照のこと：
http://msdn.microsoft.com/msdnmag/issues/0300/w2kui/default.aspx
【００９１】
同期化フォルダーの内容に関する「infotips」内に拡張された情報を表示することも可能である。この拡張情報は、同期化ファイルに関するダウンロードの状態と進行とを含むことができる。このinfotip拡張は、Ｗｉｎｄｏｗｓ２０００またはそれ以降のバージョンでだけ利用可能であるinfotipシェル拡張によって与えられる。コラム・ハンドラー・シェル拡張の詳細に関しては下記を参照のこと：
http://msdn.microsoft.com/msdnmag/issues/0300/w2kui/default.aspx
【００９２】
他の一実施態様ではスタブ・ファイルに関するコンテキスト（文脈）メニューは、関連するファイル内容をダウンロードするためのオプションを提供できる。ファイル内容がダウンロードされるとスタブ・ファイルは、必要なタイプのファイルにアップグレードされる。コンテキスト・メニュー・オプションは、コンテキスト・メニュー・シェル拡張によって与えられる。コンテキスト・メニュー・シェル拡張の詳細に関しては下記を参照のこと：
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/shellcc/platform/shell/programmersguide/shell int/shell
int extending/extensionhandlers/contextmenuhandlers.asp
【００９３】
更に他の一実施態様では同期化フォルダーに関するプロパティ・ダイアログ・ボックスは、コラボレーション・システムに関する追加情報を含む追加タブを含むことができる。この情報は例えば、同期化された共有空間に関するフォルダー許可と同期化された共有空間に関する共有情報（メンバー・リスト、装置リストなど）を含むことができる。各タブは、許可及び共有情報を表示するために使用される同期化共有空間を選択するためのコンボ・ボックスを持っている。プロパティ・シート・シェル拡張ハンドラーは、同期化フォルダーに関するＰｒｏｐｅｒｔｙダイアログ・ボックス内に拡張タブを与える。上記の情報は、ユーザがコラボレーション・システムにローカルにログオンされたときだけ利用可能になる。そうでなければログオフされたときこれらのタブは、ユーザが情報を取得するためにコラボレーション・システムにログオンすることが必要であることを示すプレースフォルダーー（位置設定子）テキストを有する。プロパティ・シート・ハンドラーの詳細に関しては下記を参照のこと：
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/shellcc/platform/shell/programmersguide/shell int/shell 
int extending/extensionhandlers/propsheethandlers.asp
【００９４】
図３に戻ると、前述のようにドキュメント共有エンジン３１２、３１６、３２０、３２４は、共有空間３１０、３１４、３１８、３２２に関連付けられている。各ドキュメント共有エンジンは、共有ファイル情報とファイル内容とを記憶する。省略指定によってこの情報は、コラボレーション・システム記憶部に格納される。各ドキュメント共有エンジン、例えばドキュメント共有エンジン３１２は、同期化フォルダー内のファイルを管理するためにファイル・シンクロナイザ３０８と交信する。ドキュメント共有エンジン３１２は、以下詳細に論じられるであろうが、すべてのドキュメント共有エンジンは、実質的に同じ仕方で機能することは理解すべきである。フォルダー同期化をサポートするためにドキュメント共有エンジン３１２は、下記の情報：すなわち１エンドポイントごとのフォルダー・ダウンロード・セッティングと、１エンドポイントごとのファイル・ダウンロード・セッティングと、同期化モード・プロパティと、２進差分流布サポート（下記に論じられる）に関する特別バージョン処理とを記憶する。
【００９５】
ドキュメント共有エンジン３１２は、ファイルがダウンロードされるかどうか、またいつダウンロードされるかを指定するグローバル・フォルダー／ファイル・ダウンロード・セッティングを介して非対称ファイルサービスを提供する。これらのセッティングは、「Ｓｅｔｔｉｎｇｓ  ａｎｄ  ｏｐｔｉｏｎｓ  ｌｉｎｋ」に関して上記に論じられている。初めに同期化ファイルの内容は、前述のダウンロード・セッティングに従って、また上記のようにコラボレーション・システムを備えたファイル転送サービスを介して手動で、または自動的に送付され得る。それからファイル内容は、データ変更要求を介して共有空間内のすべてのエンドポイントに送付される。
【００９６】
いったん最初のダウンロードが完了すると、ダウンロードされた内容を有するファイルは常に、自動ダウンロードモードになるであろう。この条件下ではダウンロードされたファイルは、決して時期遅れにならない。従って目標ファイル内容のダウンロードがスタブ・ファイル上で終了した後、結果として得られたファイルは、フォルダー・ダウンロード・セッティングがダウンロードは手動であることを指定できるとしても将来の更新のために自動ダウンロードモードを利用する。更に自動ダウンロードモードのファイルは、フォルダー・ダウンロード・セッティングが後に「手動ダウンロード」に変更されても、初期ダウンロードの後で自動ダウンロードモードのままに保たれる。これらの制約のために、ファイル・ダウンロード・セッティングは、各エンドポイントのために維持されなくてはならず、また一貫性のためにフォルダー・ダウンロード・セッティングも各エンドポイントのために維持される。新しく作成されたファイルとフォルダーは如何なる親フォルダーのダウンロード・セッティングも継承する。
【００９７】
エンドポイント・ダウンロード・セッティングは、データ変更要求を介してすべての共有空間メンバーに流布される。これらのメンバーは、流布されたダウンロード・セッティングを使用して自動ダウンロードモードにあるこれらのメンバーに新しいファイル内容更新を自動的に差し向ける。特にある特定のファイルに関してすべてのエンドポイントの流布されたダウンロード・セッティングは、ファイル記述子情報で、手動モードにあるこれらのエンドポイントを目標とするために、またファイル記述子とファイル内容で、自動モードにあるこれらエンドポイントを目標とするために検査される。
【００９８】
ドキュメント共有エンジン３１２は、そのエンジンにだけ関係するファイル・システム同期化モード・プロパティを維持して持続させる。このファイル同期化モード・プロパティは、ファイル・システム同期化動作可能とファイル・システム同期化動作不能という二つの値を有する。省略指定によりファイル・システム同期化は動作不能にされて、フォルダー内容はコラボレーション・システム記憶部に格納される。ファイル内容変更に応答してドキュメント共有エンジン３１２は、ファイル・システム同期化モードに基づいて、ＯＳファイル・システム（ファイル・シンクロナイザ３０８を介して）、あるいはコラボレーション・システム記憶部のいずれかにデータ変更要求を目標設定する。特にファイル・システム同期化があるフォルダーについて動作可能になっているときは、このエンジンはファイル・シンクロナイザ３０８を使用してフォルダー内容を指定されたＯＳファイル・システム・フォルダーに移出する。ファイル・システム同期化が動作不能になっているときはこのエンジンは、ファイル・シンクロナイザ３０８を使用してフォルダー内容をコラボレーション・システム記憶部にダウンロードする。上述のように分散型コラボレーション・システムでは、コラボレータにダウンロードしなくてはならないファイル内容は、同期化された共有空間に亘る如何なるエンドポイントにも存在し得る。このようにして各ドキュメント共有エンジンは、ファイル・シンクロナイザ３０８によって起動されたファイル・ダウンロード要求からファイル内容の受信を処理するように準備しなくてはならない。ドキュメント共有エンジン３１２は、そのエンジン内でフォルダー同期化を動作可能にする方針を備えている。この方針は、共有空間マネージャがメンバーたちに彼ら自身のファイル・システム内のファイルを同期化しないように勧告することを可能にする。
【００９９】
一実施態様ではドキュメント共有エンジン３１２は、２進差分を使用するファイル内容変更の流布のサポートを与える。このサポートは、ファイル変更の流布のために２進差分を生成するための、また到来する２進差分からファイル内容バージョンを復元するための基本バージョンとしてファイル内容の旧バージョンをドキュメント共有エンジンが存続させることを必要とする。
【０１００】
同期化ファイルに関する２進差分流布サポートは、コラボレーション・システム記憶部内でのバージョンのミラーリング（鏡像変換）を必要とする。このミラーリングは追加のディスク空間を消費するので、ドキュメント共有エンジン３１２は、ファイル・バージョン・ミラーリングの程度を最小にするための手法を使用する。これらの手法は、ファイル内容の初期更新まで同期化されたファイル・システム・ファイル・バージョンのミラーリングを遅らせることを含む。ファイルに対する初期更新は、新しいファイル内容がＯＳファイル・システムばかりでなくコラボレーション・システムにも格納されるようにする。それからこれに続くすべての更新に関するファイル内容は、コラボレーション・システム記憶部に格納されるが、最新のファイル内容だけはＯＳファイル・システム内で表現される。各ファイルに関する最初の更新は、前のファイル内容バージョンがその時点ではコラボレーション・システム記憶部内で利用可能になっていないので、２進差分として流布できない。しかしながら、これに続くファイル変更は２進差分として流布される。コラボレーション・システム記憶部は、ファイル内容が通常のパージ・イベントを介してパージされるまで、ファイル内容の履歴を保持している。
【０１０１】
２進差分サポートは、フォルダー及びファイル上のローカル専用セッティングを介して動作不能にできる。２進差分サポートが動作不能にされると、ドキュメント共有エンジン３１２は、コラボレーション・システム記憶部に古いファイル・バージョンを格納しない。
【０１０２】
ファイル・シンクロナイザ３０８は、共有空間におけるＯＳファイル・システムとコラボレーション・システムの同期化された「サイト」との間のファイル・システム同期化を維持することに責任を負っている。同期化プロセスは、（１）ファイル・システム・フォルダーとコラボレーション・システム同期化「サイト」（ドキュメント共有エンジン）とに亘る矛盾する変更と、（２）同じファイル・システム・フォルダーに同期したコラボレーション・システム「サイト」間の許可の不一致と、（３）コラボレーション・システム同期化「サイト」に亘るスタブ・ファイルの処理と、（４）多数のコラボレーション・システム同期化「サイト」とを含む数通りのシナリオを処理する。
【０１０３】
特にＯＳファイル・システム・フォルダーは、各々がそれ自身の１セットのメンバーを有する多数のコラボレーション・システム「サイト」と同期化できる。例えば、単一のフォルダーは、二つの異なるグループの人々と同時に同期化できる。ファイル・シンクロナイザ３０８は、ＯＳファイル・システム・フォルダーと、同期化されたコラボレーション・システム「サイト」に関する一意のアドレスとの間のマッピングを維持することによって、ＯＳファイル・システム・フォルダーを同期化されたコラボレーション・システム「サイト」に関連付ける。ファイル・シンクロナイザの設計は、同期化（一致の処理を含む）の結果が多数の「サイト」に亘って一貫性があり決定論的であるようにすることである。この一貫性がなければ、一つの「サイト」内の一致ファイルの生成が関連「サイト」内に追加の一致を生み出す同期化ループを防止することは不可能であろう。
【０１０４】
ファイル・シンクロナイザ３０８は、同期化ファイル・システム・フォルダーとコラボレーション・システム「サイト」との間の変更の自動及び手動同期化をサポートする。自動同期化モードでは、ファイルに対する変更は、変更が起こったときに同期化されることを要求する。手動同期化モードは、ファイル同期化がユーザによって要求されたときに種々の同期化場所（ＯＳファイル・システムとコラボレーション・システム「サイト」）に亘って累積してきた変更を調和させることを必要とする。
【０１０５】
動作時にファイル・シンクロナイザは先ず、コラボレーション・システム・サイトとＯＳファイル・システムとにおいて行われたファイル・システム更新を検出する。これは、コラボレーション・システム・サイトの現在状態とＯＳファイル・システムの現在状態とをドキュメント共有エンジン３１２内に維持されているファイル・システム・スナップショットと比較することによって行われる。それから複数のファイル・システムの一致動作間の如何なる一致も解決されなくてはならない。典型的には解決手順は、あるアルゴリズムによって行われる。残りの如何なる一致もユーザ入力を必要とすることがあり得る。一致を解決するための通常の同期化手法とアルゴリズムは、
http://www.cs.indiana.edu/pub/techreports/TR507.htmlにある１９９８年４月２２日付けのインディアナ大学ＣＳＣＩ  Ｔｅｃｈｎｉｃａｌ  ｒｅｐｏｒｔ＃５０７のＳ．ＢａｌａｓｕｂｒａｍａｎｉａｍとＢ．Ｃ．Ｐｉｅｒｃｅとによる「Ｗｈａｔ  ｉｓ  ａ  Ｆｉｌｅ  ｓｙｎｃｈｒｏｎｉｚｅｒ？（ファイル・シンクロナイザとは何か？）」と題する論文と、
http://www.eecs.harvard.edu/~nr/pubs/sync.pdfにある２００１年のＦｏｕｎｄａｔｉｏｎｓ  ｏｆ  Ｓｏｆｔｗａｒｅ  ＥｎｇｉｎｅｅｒｉｎｇのＮ．ＲａｍｓｅｙとＥ．Ｃｓｉｒｍａｚとによる「Ａｎ  Ａｌｇｅｂｒａｉｃ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｆｉｌｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ（ファイル同期化への代数的アプローチ）」と題する論文とに詳細に論じられている。これらの論文は、参照によりその全体が組み入れられている。
【０１０６】
いったんファイル・シンクロナイザ３０８がファイル・システムは変更されたと決定すると、このファイル・シンクロナイザ３０８は、そのときその変更を流布する共有作業領域内のドキュメント共有エンジンにその変更を渡す。もしファイルが編集されていれば、ドキュメント共有エンジンは、更新されたファイル内容全体を流布することができ、あるいは現在のファイル内容をそれが維持している内容のコピーと比較することによってそのファイルになされた変更を決定してその差異だけを流布することもできる。
【０１０７】
共有空間１（図３の３１０）といった共有空間に発生したフォルダー変更を処理する際に関係する工程は、図１４Ａに示す。このプロセスは、工程１４００で始まり、共有空間１（３１０）において同期化フォルダーまたはその内容に変更が行われる工程１４０２に進む。この変更は、ファイル編集、ファイルの追加またはファイルの削除であるかも知れず、またユーザまたはサーバといった他のコンピュータによって行われるかもしれない。この変更は、工程１４０４で述べられるようにコラボレーション・システムの通常のメカニズムを介して共有空間のすべてのメンバーのコンピュータに流布される。工程１４０６では共有空間１（３１０）の１メンバーのコンピュータのドキュメント共有エンジン３１２が変更を受け取ると、このドキュメント共有エンジン３１２は、矢印３２６によって示されるようにファイル・シンクロナイザ３０８と交信する。それから工程１４０８でファイル・シンクロナイザ３０８は、矢印３３８によって示されるように、その変更を行うようにＷｉｎｄｏｗｓシェル・ファイル・システム３０２を制御する。このようにして共有空間１（３１０）内で行われた変更は、今度はＷｉｎｄｏｗｓシェル・ファイル・システムに自動的に反映される。それからこのプロセスは、工程１４１０で終了する。
【０１０８】
図１４Ｂは、ユーザがＯＳファイル・システムのファイルを修正する同様のプロセスを示す。このプロセスは、工程１４１２で始まり、ファイル・システムＲＡＭＰ３０４がその変更を検出してファイル・シンクロナイザ３０８と交信する工程１４１４に進む。それからファイル・シンクロナイザ３０８は工程１４１６で、そのスナップショットを使用してどのファイルが同期化を必要としているかを決定する。いったんファイル・シンクロナイザがどの変更を行う必要があるかを決定すると、それは同期化フォルダーに関連する共有空間のドキュメント共有エンジン（例えばドキュメント共有エンジン３１２）と交信して工程１４１８で述べるようにこの変更を流布する。いったん共有空間１（３１０）が変更を受け取ると、それは工程１４２０でコラボレーション・システムの通常のメカニズムを使用してその変更を流布するであろう。こうして共有空間のすべてのメンバーは、その変更を受け取るであろう。それからこのプロセスは、工程１４２２で終了する。
【０１０９】
前述のように、内容を持たないファイルはスタブ・ファイルと呼ばれ、発信元のコラボレーション・システム「サイト」とＯＳファイル・システム・フォルダーとの間で維持されて同期化されるだけである。スタブ・ファイルは、非発信元のコラボレーション・システム「サイト」とは同期化されない。スタブ・ファイルは、ファイル内容をダウンロードすることによって内容ファイルにアップグレードでき、またアップグレード時にファイル・シンクロナイザ３０８は、その新しい内容ファイルを非発信元コラボレーション・システム「サイト」に転送する。こうしてファイル・シンクロナイザ３０８は、非発信元コラボレーション・システム「サイト」からなされた取出し要求を発信元コラボレーション・システム「サイト」に転送することを必要とされない。
【０１１０】
別の場合には、内容ファイルは、スタブ・ファイルにダウングレード（ｄｏｗｎｇｒａｄｅ）できる。ダウングレードの後ではファイルに対する将来の内容変更は、そのフォルダーに同期化されたすべての共有空間／ツールに亘ってもはや同期化されない。同期化された空間／ツールの各々において編集が処理されるので、そのファイルの内容は、これらの同期化空間／ツールの間で発散する。従って、このダウングレードは、その親フォルダーに同期化された各共有空間／ツールごとに別のスタブ・ファイルの作成を必要とする可能性がある。このようにして各スタブ・ファイルは、非発信元コラボレーション・システム「サイト」との同期化を避けることができる。
【０１１１】
ファイル・シンクロナイザ３０８はまた、同期化されたＯＳファイル・システム・フォルダーとコラボレーション・システム「サイト」との間の一致を処理する。特にファイル・シンクロナイザ３０８は、一意のバージョン識別子と最後に修正された時刻とを同期化ファイルになされた各変更に関連付ける。それからファイル・シンクロナイザ３０８は、各同期化場所のファイルに関して現存しているバージョン識別子／最新修正時刻を追跡する。ファイルに対する変更が特定の同期化場所から到着すると、ファイル・シンクロナイザ３０８は、そのファイルに関する基本バージョン識別子／最新修正時刻情報を調べて、それがすべての同期化場所に亘る最新の既知のバージョン識別子／最新修正時刻に対して時期遅れであるかどうかを決定することによって一致条件を決定することができる。下記は、幾つかの共通的な一致シナリオである：
ファイル編集（置換）／ファイル編集（置換）一致
ファイル編集／ファイル削除一致
ファイル追加／親フォルダー削除一致
フォルダー追加／親フォルダー削除一致
【０１１２】
ファイル・シンクロナイザ３０８は、同じフォルダーに同期する他の共有空間に関する内密情報を明らかにしない一致ファイル／フォルダーに関する命名規約を使用できる。
【０１１３】
更に、同じＯＳファイル・システム・フォルダーに同期したコラボレーション・システム「サイト」に亘って、許可不一致シナリオが起こり得る。同期化ファイル・システム・フォルダー許可があまりに制限的でコラボレーション・システム「サイト」許可をサポートできないときには、ファイル・シンクロナイザ３０８は、ＯＳファイル・システム・フォルダーをもはや同期化できない。この場合ユーザは、適当な同期化を継続するためにはファイル・システム・フォルダー許可がより制限的でなくなる必要があると警告される。
【０１１４】
下記は、同じファイル・システム・フォルダーに同期したコラボレーション・システム「サイト」間の幾つかの許可不一致とこれらのシナリオに対する例示的ファイル・シンクロナイザ解決法である。
【０１１５】
編集許可／編集不許可衝突は、下記の仕方で編集許可／編集不許可不一致によって発生し得る：
コラボレーション・システム「サイト」Ａは編集許可を持っている
コラボレーション・システム「サイト」Ｂは編集許可を持っていない
編集は、コラボレーション・システム「サイト」Ａまたは同期化ＯＳファイル・システム・フォルダーのいずれかで行われる
遠隔編集はコラボレーション・システム「サイト」Ｂに到達するが、これらの編集は許可がないためにコラボレーション・システム「サイト」Ｂを介して同期化できない
【０１１６】
この場合ファイル・シンクロナイザ３０８は、コラボレーション・システム「サイト」Ｂの基本バージョン識別子／最新修正時刻と、このファイルに関する最新同期化バージョン識別子／最新修正時刻との間の不一致を検出したときに衝突を生成する。
【０１１７】
もう一つの衝突は、下記の仕方でファイル（フォルダー）追加許可／ファイル（フォルダー）追加不許可不一致によって発生し得る：
コラボレーション・システム「サイト」Ａはファイル（フォルダー）追加許可を持っている
コラボレーション・システム「サイト」Ｂはファイル（フォルダー）追加許可を持たない
ファイル（フォルダー）はコラボレーション・システム「サイト」Ａまたは同期化ファイル・システム・フォルダーのどちらかに追加される
前の工程で追加されたファイル（フォルダー）はコラボレーション・システム「サイト」Ｂと介して同期化されることはできない
コラボレーション・システム「サイト」Ｂはファイル追加許可を受け取る
【０１１８】
この場合ファイル・シンクロナイザ３０８は、コラボレーション・システム「サイト」Ｂを新しく追加されたファイル（フォルダー）に同期させる必要がある。
【０１１９】
下記の仕方でファイル（フォルダー）削除許可／ファイル削除不許可不一致によって更なる衝突が発生し得る：
コラボレーション・システム「サイト」Ａはファイル（フォルダー）削除許可を持っている
コラボレーション・システム「サイト」Ｂはファイル（フォルダー）削除許可を持たない
ファイル（フォルダー）はコラボレーション・システム「サイト」Ａまたは同期化ファイル・システムのどちらによっても削除される
【０１２０】
この場合、削除されたファイルに関してファイル・シンクロナイザは、コラボレーション・システム「サイト」Ｂ許可を満足させるために削除されたファイルの代わりにスタブ・ファイルを置く。それからこの削除されたファイルに関してファイル・シンクロナイザ３０８は、コラボレーション・システム「サイト」Ｂを満足させるためにファイル・システム・フォルダーとコラボレーション・システム「サイト」Ａにこのフォルダーを追加し戻す。
【０１２１】
上述の実施態様のソフトウエア実施態様は、コンピュータ可読媒体、例えばディスケット、ＣＤ−ＲＯＭ、ＲＯＭメモリまたは固定ディスクといった有形媒体上に固定された一連のコンピュータ命令、あるいはモデムまたは媒体上の他のインタフェース装置を介してコンピュータシステムに伝送可能な一連のコンピュータ命令含むことができる。この媒体は、光またはアナログ通信回線を含むがこれらに限定されない有形の媒体であることもでき、またマイクロ波、赤外線その他の伝送手法を含むがこれらに限定されない無線手法によって実現することもできる。それはまた、インターネットでもよい。この一連のコンピュータ命令は、本発明に関してここで前述した機能のすべてまたは一部を具体化する。当業者は、このようなコンピュータ命令が多くのコンピュータ・アーキテクチャ用またはオペレーション・システム用の多数のプログラム言語で書くことができることを認めるであろう。更にこのような命令は、半導体、磁気、光、その他のメモリ装置を含むがこれらに限定されない現在または将来の何らかのメモリ技術を使用して記憶することができ、あるいは光、赤外線、マイクロ波、その他の伝送技術を含むがこれらに限定されない現在または将来の何らかの通信技術を使用して伝送することができる。このようなコンピュータプログラム製品は、付属の印刷文書または電子文書、例えばシュリンクラップのソフトウエアを有する取外し可能媒体として配布可能であり、あるいは例えばシステムＲＯＭまたは固定ディスク上でコンピュータシステムにより事前ロードでき、あるいはネットワーク上で、例えばインターネットまたはワールドワイドウェブ上でサーバまたは電子掲示板から配布することもできる。
【０１２２】
本発明の例示的実施態様が開示されたが、本発明の精神と範囲から逸脱せずに本発明の利点の幾つかを達成する種々の変更と修正とが行われ得ることは、本技術に精通する人々にとって明らかであろう。例えば他の実施態様ではここに示されたものとは異なるプロトコルと変換処理が実行可能であることは、本技術に適度に通じた人々にとって明らかであろう。特定の処理の流れと図示の工程の順序といった他の態様並びに本発明の考えに対する他の修正は、付属の請求項によってカバーされることが意図されている。
【図面の簡単な説明】
【０１２３】
本発明の前述の及び更なる利点は、下記の付属図面と関連して上記の説明を参照することによって更によく理解できる。
【０１２４】
【図１】図１は、従来のオペレーション・システム・ファイル・システムから取られた画面表示の画面写真である。
【図２】図２は、ユーザが従来のファイル・システムで共有パラメータを設定することを可能にするダイアログ・ボックスの画面写真である。
【図３】図３は、コラボレーション・システムに接続され、本発明の原理によって拡張された従来のファイル・システムの全体的アーキテクチャを示す概略ブロック図である。
【図４】図４Ａは、一緒に配置されると、オペレーティング・フォルダー式ファイル・システムのファイルを有する例示的コラボレーション・システムにおけるファイルの同期化のための例示的プロセスの諸工程を示すフローチャートを形成する図。  図４Ｂは、一緒に配置されると、オペレーティング・フォルダー式ファイル・システムのファイルを有する例示的コラボレーション・システムにおけるファイルの同期化のための例示的プロセスの諸工程を示すフローチャートを形成する図。
【図５】図５Ａは、ファイル同期化ボタンを追加するように本発明の原理に従って修正された従来のオペレーション・システム・ファイル・システムから取られた画面表示の画面写真である。  図５Ｂは、ファイル同期化オプションを含むエクスプローラ・バンドを追加するように本発明の原理に従って修正された従来のオペレーション・システム・ファイル・システムから取られた画面表示の画面写真である。
【図６】図６は、例示的コラボレーション・クライアント上のＳＯＡＰエンジンの内部構造を示す概略ブロック図である。
【図７】図７は、コラボレータ勧誘オプションを含むＳｙｎｃｈｒｏｎｉｚｅ（同期化）ペインを同期化エクスプローラ・バンドに追加するように本発明の原理に従って修正された従来のオペレーション・システム・ファイル・システムから取られた画面表示の画面写真である。
【図８】図８は、被勧誘者が勧誘を受け入れるときにファイルが同期化される例示的プロセスにおける諸工程を示すフローチャートである。
【図９】図９は、被勧誘者が勧誘されたフォルダー作業領域のための場所をその被勧誘者が選択することを可能にするダイアログ・ボックスの画面表示の画面写真である。
【図１０】図１０は、ユーザが図７に示す「Ｓｅｔｔｉｎｇｓ  ａｎｄ  Ｏｐｔｉｏｎｓ」リンク７３２を選択するときに表示されるセッティング・アンド・オプション・ペインの画面写真である。
【図１１】図１１は、ユーザが図７に示すＣｈａｔ（チャット）選択７３４を選択するときに表示されるチャット・ペインの画面写真である。
【図１２】図１２は、ユーザが図７に示すファイル・リスト７１２内のファイルまたはフォルダーを選択するときに表示されるＦｉｌｅ  Ｔａｓｋｓ（ファイル・タスク）ペインの画面写真である。
【図１３】図１３は、ユーザが図１２に示すファイル・ダウンロード選択１２６２を選択するときに表示されるファイル・ダウンロード・ペインの画面写真である。
【図１４】図１４Ａは、コラボレーション・システム内で行われた変更をＯＳファイル・システムに同期させるための例示的プロセスにおける諸工程を示すフローチャートである。  図１４Ｂは、ＯＳファイル・システム内で行われた変更をコラボレーション・システムのファイルに同期させるための例示的プロセスにおける諸工程を示すフローチャートである。
【図１】
2005129018.tif 000003
【図２】
2005129018.tif 000004
【図３】
2005129018.tif 000005
【図４】
2005129018.tif 000006
【図５】
2005129018.tif 000007
【図６】
2005129018.tif 000008
【図７】
2005129018.tif 000009
【図８】
2005129018.tif 000010
【図９】
2005129018.tif 000011
【図１０】
2005129018.tif 000012
【図１１】
2005129018.tif 000013
【図１２】
2005129018.tif 000014
【図１３】
2005129018.tif 000015
【図１４】
2005129018.tif 000016
【外国語明細書】
2005129018.tif 000017
2005129018.tif 000018
2005129018.tif 000019
2005129018.tif 000020
2005129018.tif 000021
2005129018.tif 000022
2005129018.tif 000023
2005129018.tif 000024
2005129018.tif 000025
2005129018.tif 000026
2005129018.tif 000027
2005129018.tif 000028
2005129018.tif 000029
2005129018.tif 000030
2005129018.tif 000031
2005129018.tif 000032
2005129018.tif 000033
2005129018.tif 000034
2005129018.tif 000035
2005129018.tif 000036
2005129018.tif 000037
2005129018.tif 000038
2005129018.tif 000039
2005129018.tif 000040
2005129018.tif 000041
2005129018.tif 000042
2005129018.tif 000043
2005129018.tif 000044
2005129018.tif 000045
2005129018.tif 000046
2005129018.tif 000047
2005129018.tif 000048
2005129018.tif 000049
2005129018.tif 000050
2005129018.tif 000051
2005129018.tif 000052
2005129018.tif 000053
2005129018.tif 000054
2005129018.tif 000055
2005129018.tif 000056
2005129018.tif 000057
2005129018.tif 000058
2005129018.tif 000059
2005129018.tif 000060
2005129018.tif 000061
2005129018.tif 000062
2005129018.tif 000063
2005129018.tif 000064
2005129018.tif 000065
2005129018.tif 000066
2005129018.tif 000067
2005129018.tif 000068
2005129018.tif 000069
2005129018.tif 000070
2005129018.tif 000071
2005129018.tif 000072
2005129018.tif 000073
2005129018.tif 000074
2005129018.tif 000075
2005129018.tif 000076
2005129018.tif 000077
2005129018.tif 000078
2005129018.tif 000079