(57)【要約】  共有可能ピンボードコレクションを作成するファシリティについて説明される。様々な実施形態において、ファシリティは、検索対象の検索語を定義するクエリの指示を受け取り、検索プロバイダを使用して基準と一致する情報アイテムの検索を実行し、検索プロバイダからクエリに対応する結果の指示を受け取り、共有可能ピンボードコレクションを作成し、単一アクションを介して結果を共有可能ピンボードコレクションに追加する指示を受け取り、共有可能ピンボードコレクションを受信者と共有する。【特許請求の範囲】
【請求項１】
共有可能ピンボードコレクションを作成するためのコンピューティングデバイスにより実行される方法であって、
検索対象の語を定義するクエリの指示を受け取ることと、
検索プロバイダを使用して、前記クエリに基づく検索の条件と一致する情報アイテムの前記検索を実行することと、
前記検索を実行し、前記情報アイテムを識別しながら、前記クエリに対応する、前記検索プロバイダにより生成される結果の指示を前記検索プロバイダから受け取ることと、
情報アイテムの指示を格納するための共有可能なピンボードコレクションを作成することと、
単一のアクションを介して、前記結果を前記許容可能なピンボードコレクションに追加する指示を受け取ることと、
前記共有可能なピンボードコレクションを受信者と共有することであって、前記共有することは前記作成された許容可能なピンボードコレクションの指示を前記受信者に送信することとを含むことを特徴とする方法。
【請求項２】
複数の検索プロバイダを使用して前記クエリに基づき情報アイテムの検索を実行することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記結果を内部形式に変換することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記内部形式は、ＲＳＳであることを特徴とする請求項３に記載の方法。
【請求項５】
前記変換は、前記結果の抜粋を作成することを含むことを特徴とする請求項３に記載の方法。
【請求項６】
前記共有することは、前記受信者を指示することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記共有することは、アクセス特権を指示することを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記アクセス特権は、前記共有可能なピンボードコレクションに関係することを特徴とする請求項７に記載の方法。
【請求項９】
複数の結果を受け取り、前記受け取った複数の結果の少なくとも部分集合を前記作成された共有可能なピンボードコレクションに追加することを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
複数の抜粋が作成されることを特徴とする請求項９に記載の方法。
【請求項１１】
情報アイテムに関連付けられている注釈を追加することを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記共有することで、アクセス制御許可が前記ピンボードコレクションの情報アイテムに対し設定されことを特徴とする請求項１に記載の方法。
【請求項１３】
コラボレーションを使用可能にするためにコンピューティングデバイスにより実行される方法であって、
情報アイテムの指示を含むコレクションを作成することと、
コレクションおよび情報アイテムが共有される相手となるユーザの指示を受け取ることと、
前記コレクションおよび情報アイテムを前記ユーザと共有することとを含み、前記共有することは、前記ユーザが十分なアクセス制御許可を持つことを保証することを特徴とする方法。
【請求項１４】
前記共有することは、前記情報アイテムを前記ユーザに関連付けられているサーバにレプリケートすることを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記共有することは、前記情報アイテムに対しアクセス制御許可を設定することを含むことを特徴とする請求項１３に記載の方法。
【請求項１６】
前記アクセス制御許可は、前記コレクションに対する前記アクセス制御許可により指示されることを特徴とする請求項１３に記載の方法。
【請求項１７】
さらに、検索の結果を前記コレクションに追加することを含むことを特徴とする請求項１３に記載の方法。
【請求項１８】
前記追加は、単一アクションを介して実行されることを特徴とする請求項１３に記載の方法。
【請求項１９】
前記単一アクションは、ピン止めであることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記単一アクションは、メニューコマンドを選択することであることを特徴とする請求項１８に記載の方法。
【請求項２１】
前記単一アクションは、ツールバーボタンを選択することであることを特徴とする請求項１８に記載の方法。
【請求項２２】
前記共有コレクションは、前記コレクションに対するロケーションを指示することなく取り出せることを特徴とする請求項１３に記載の方法。
【請求項２３】
前記保証することは、前記ユーザが前記情報アイテムにアクセスできるかどうかを決定することを含むことを特徴とする請求項１３に記載の方法。
【請求項２４】
前記ユーザは、前記情報アイテムが前記ユーザのコンピューティングデバイスを介してアクセスすることができないため前記情報アイテムにアクセスできない場合に、前記保証することは、前記情報アイテムを前記ユーザに関連付けられているサーバにレプリケートすることを含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
さらに、前記ユーザが、十分なアクセス制御特権を持っていないため前記情報アイテムにアクセスできない場合アクセス制御特権を前記コレクションから前記情報アイテムに伝播することを含むことを特徴とする請求項２３に記載の方法。
【請求項２６】
前記ユーザのクライアントコンピューティングデバイスは、前記コレクションおよびその情報アイテムを人が読める形式に変換することを特徴とする請求項１３に記載の方法。
【請求項２７】
前記コレクションは、検索を実行した後に作成されることを特徴とする請求項１３に記載の方法。
【請求項２８】
前記検索は、クライアントコンピューティングデバイスの記憶装置を検索することを含むことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記検索は、ネットワークに接続されているコンピューティングデバイスを検索することを含むことを特徴とする請求項２７に記載の方法。
【請求項３０】
前記ネットワークは、インターネットであることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記ネットワークは、イントラネットであることを特徴とする請求項２９に記載の方法。
【請求項３２】
さらに、前記情報アイテムをクライアントコンピューティングデバイスにレプリケートすることを含むことを特徴とする請求項１３に記載の方法。
【請求項３３】
前記情報アイテムは、前記クライアントコンピューティングデバイスがネットワークから切断されたときに前記ユーザに利用可能であることを特徴とする請求項３２に記載の方法。
【請求項３４】
さらに、リモートコンピューティングデバイスを介して前記情報アイテムを前記ユーザに供給することを含むことを特徴とする請求項１３に記載の方法。
【請求項３５】
前記コレクションは、共有された後に更新できることを特徴とする請求項１３に記載の方法。
【請求項３６】
前記ユーザは、第１のユーザであり、第２のユーザは、前記コレクションを前記第１のユーザと共有した後に指示されることができ、それにより、前記第１および第２のユーザが前記コレクションおよび情報アイテムにアクセスすることを特徴とする請求項１３に記載の方法。
【請求項３７】
情報を共有する方法を実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記方法は、
情報アイテムを含むコレクションを受け取ることと、
前記コレクションを共有する単一アクションを介してなされた指示を受け取ることと、
前記コレクションを共有することとを含み、前記共有することは、前記コレクションおよびその情報アイテムに関係するアクセス制御許可を操作することにより前記コレクションおよびその情報アイテムにアクセスできるようにすることを含むことを特徴とするコンピュータ可読媒体。
【請求項３８】
前記共有することは、前記コレクションの共有相手である受信者を選択することを含むことを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項３９】
さらに、前記受信者に対するアクセス制御許可を指示することを含むことを特徴とする請求項３８に記載のコンピュータ可読媒体。
【請求項４０】
前記受信者は、前記アクセス制御許可で共有することを許可したときに前記コレクションを共有することができることを特徴とする請求項３９に記載のコンピュータ可読媒体。
【請求項４１】
前記受信者は、前記コレクションを作成した作成者に注釈を提供することにより応答することができることを特徴とする請求項４０に記載のコンピュータ可読媒体。
【請求項４２】
前記コレクションを作成した作成者は、前記コレクションを複数のユーザと共有し、前記受信者は、前記コレクションまたは前記コレクションの情報アイテムに関係する注釈を前記作成者および前記複数のユーザに提供することにより応答することができることを特徴とする請求項４０に記載のコンピュータ可読媒体。
【請求項４３】
前記コレクションは、前記共有コレクションの受信者により操作することができることを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項４４】
前記操作は、情報アイテムを追加することであることを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４５】
前記操作は、情報アイテムを削除することであることを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４６】
前記操作は、受信者を追加することであることを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４７】
前記コレクションを共有した作成者は、前記操作を受け入れるか、または拒絶することができることを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４８】
前記受理または拒絶は、自動的であることを特徴とする請求項４７に記載のコンピュータ可読媒体。
【請求項４９】
前記コレクションは、第１のコレクションであり、前記第１のコレクションは、前記第１のコレクションにピン止めされている第２のコレクションの指示を含むことを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項５０】
前記第１のコレクションの前記アクセス制御特権は、前記第２のコレクションに適用されることを特徴とする請求項４９に記載のコンピュータ可読媒体。
【請求項５１】
前記第１のコレクションの前記アクセス制御特権は、前記第２のコレクションにピン止めされた情報アイテムに適用されることを特徴とする請求項５０に記載のコンピュータ可読媒体。
【請求項５２】
前記アクセス制御関係は、ｐｒｏｐａｇａｔｅ（伝播）であることを特徴とする請求項５０に記載のコンピュータ可読媒体。
【請求項５３】
前記アクセス制御関係は、ｉｎｈｅｒｉｔ（継承）であり、前記第２のコレクションのアクセス制御特権は、前記第１のコレクションに適用されることを特徴とする請求項４９に記載のコンピュータ可読媒体。
【請求項５４】
前記コレクションは、検索を完了した後に受け取られ、前記検索は、検索プロバイダにより実行されることを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項５５】
前記検索は、動的に追加された検索プロバイダにより実行されることを特徴とする請求項５４に記載のコンピュータ可読媒体。
【請求項５６】
前記複数の検索プロバイダの部分集合は、前記検索を実行することに関して選択できることを特徴とする請求項５４に記載のコンピュータ可読媒体。
【請求項５７】
検索プロバイダは、検索のために使用すべき追加の検索プロバイダを指示することができることを特徴とする請求項５４に記載のコンピュータ可読媒体。
【請求項５８】
検索プロバイダは、前記検索に使用されるクエリに基づいて検索することに関して自動的に選択できることを特徴とする請求項５４に記載のコンピュータ可読媒体。
【請求項５９】
検索プロバイダは、ユーザと共有されうることを特徴とする請求項５４に記載のコンピュータ可読媒体。
【請求項６０】
前記複数の検索プロバイダからの結果は、統一ビュー内に表示されることを特徴とする請求項５４に記載のコンピュータ可読媒体。
【請求項６１】
前記統一ビューは、異なる種類の情報アイテムを含み、それぞれの種類の情報アイテムに対応するコンポーネントは、前記情報アイテムのビューを生成するために使用されることを特徴とする請求項６０に記載のコンピュータ可読媒体。
【請求項６２】
前記コレクションは、クエリ語の集合を含むクエリに基づいて検索を完了した後に受け取られ、前記受け取ることは、クエリ語の部分集合の指示を受け取ることを含むことを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項６３】
前記検索により特定された情報アイテムは、クエリ語の前記指示された部分集合と一致する場合のみ与えられることを特徴とする請求項６２に記載のコンピュータ可読媒体。
【請求項６４】
更新されたコレクションを表示することを含み、前記更新されたコレクションは前記複数の情報アイテムのうちの１つに関係する前記共有コレクションおよびレスポンスを含むことを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項６５】
前記共有コレクションは、共有ボックスに追加されることを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項６６】
前記複数の情報アイテムが表示されることを特徴とする請求項６５に記載のコンピュータ可読媒体。
【請求項６７】
前記共有ボックスは、前記コレクションに関連付けられている属性に基づいて表示される情報を編成することを特徴とする請求項６５に記載のコンピュータ可読媒体。
【請求項６８】
さらに、前記共有コレクションを共有ボックス内に配置することと、前記コレクションに対し実行されるアクションの指示を受け取ることとを含むことを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項６９】
情報を共有する方法を実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記方法は、
情報アイテムを含むコレクションを受け取ることと、
前記コレクションを他のユーザと共有するという指示を受け取ることと、
前記コレクションを共有することとを含み、前記共有することは、前記コレクションおよびその情報アイテムへのアクセスを可能にすることを含むことを特徴とするコンピュータ可読媒体。
【請求項７０】
さらに、前記情報アイテムに関係する注釈を受け取ることを含むことを特徴とする請求項６９に記載のコンピュータ可読媒体。
【請求項７１】
前記共有することは、前記他のユーザから検索クエリを受け取ることを含み、さらに前記検索クエリは、前記注釈に関連付けられている検索語を含むことを特徴とする請求項７０に記載のコンピュータ可読媒体。
【請求項７２】
ドキュメントに適用する許可を計算するためコンピューティングデバイスにより実行される方法であって、
コレクションおよび前記コレクションに追加すべきドキュメントの指示を受け取り、前記コレクションは、ドキュメントおよび他のコレクションの指示を含むことと、
前記コレクションに関係する許可を持つ前記ドキュメントについて明示的に定義されている許可を組み合わせることにより前記ドキュメントに適用すべき許可を計算することとを含むことを特徴とする方法。
【請求項７３】
前記コレクションと前記ドキュメントとの間の関係は、許可を伝播することを示すことを特徴とする請求項７２に記載の方法。
【請求項７４】
前記許可は、クエリに基づいて伝播されることを特徴とする請求項７３に記載の方法。
【請求項７５】
前記コレクションは、伝播された許可に基づいて動的に計算されることを特徴とする請求項７４に記載の方法。
【請求項７６】
前記クエリは、検索語を含むドキュメントを定義することを特徴とする請求項７４に記載の方法。
【請求項７７】
前記コレクションに関係する前記許可は、前記コレクションがｉｎｈｅｒｉｔ（継承）関係を持つアイテムに関係する許可に基づいており、前記アイテムはコレクションおよびドキュメントを含むことを特徴とする請求項７２に記載の方法。
【請求項７８】
前記ドキュメントは、前記ドキュメントコレクションにピン止めされる前に明示的許可を持たず、前記ピン止めは前記ドキュメントと前記ドキュメントコレクションとの間の関係を指示することを特徴とする請求項７２に記載の方法。
【請求項７９】
前記コレクションに含まれるドキュメントは、他のコレクションであることを特徴とする請求項７２に記載の方法。
【請求項８０】
前記コレクションは、ピンボードコレクションであり、前記コレクションに含まれる前記ドキュメントは、情報アイテムであることを特徴とする請求項７２に記載の方法。
【請求項８１】
さらに、前記コレクションが最上位コレクションであるかどうかを判定することと、コレクションは、他のコレクションに含まれない場合に最上位であることを特徴とする請求項７２に記載の方法。
【請求項８２】
前記コレクションの一態様が変更された場合にコレクションに対する許可を計算することを含むことを特徴とする請求項７２に記載の方法。
【請求項８３】
前記態様は、前記コレクションにピン止めされたアイテムの追加であることを特徴とする請求項８２に記載の方法。
【請求項８４】
さらに、前記コレクションへの変更を監視することと、前記コレクションに関係する許可が変更された場合に、前記コレクションに関連付けられているドキュメントに適用する許可を計算することとを含むことを特徴とする請求項７２に記載の方法。
【請求項８５】
前記コレクションに関係する前記許可が変更された場合に前記コレクションに関係する許可への変更をレプリケートすることを含むことを特徴とする請求項８４に記載の方法。
【請求項８６】
許可は、前記コレクションから前記ドキュメントへ、または前記ドキュメントから前記コレクションへのいずれかの方向に流れうることを特徴とする請求項７２に記載の方法。
【請求項８７】
さらに、許可フローグラフを作成すること含むことを特徴とする請求項８６に記載の方法。
【請求項８８】
さらに、前記コレクションをユーザと共有することを含むことを特徴とする請求項７２に記載の方法。
【請求項８９】
許可は、前記ユーザに関して前記共有コレクションに適用されることを特徴とする請求項８８に記載の方法。
【請求項９０】
前記ユーザに関して前記共有コレクションに適用される前記許可は、前記コレクションを共有したユーザに利用可能な許可と異なることを特徴とする請求項８９に記載の方法。
【請求項９１】
さらに、前記コレクションを共有する相手であるユーザの指示を受け取ることと、前記計算された許可を前記ドキュメントに適用することとを含むことを特徴とする請求項７２に記載の方法。
【請求項９２】
アクセス制御許可を適用する方法を実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記方法は、
アクセス制御許可を修正すべきアイテムの指示を受け取ることと、
前記指示されたアイテムに関係するアイテムの集合を決定することと、
前記指示されたアイテムと前記決定されたアイテムの集合との間の関係の集合をキャッシュすることと、
前記指示されたアイテムに対するアクセス制御許可を計算することと、
前記計算されたアクセス制御許可が前記指示されたアイテムに実際に適用された前記アクセス制御許可と異なる場合に前記計算されたアクセス制御許可を前記指示されたアイテムに適用することとを含むことを特徴とするコンピュータ可読媒体。
【請求項９３】
前記指示されたアイテムは、ピンボードコレクションであることを特徴とする請求項９２に記載のコンピュータ可読媒体。
【請求項９４】
前記指示されたアイテムは、情報アイテムであることを特徴とする請求項９２に記載のコンピュータ可読媒体。
【請求項９５】
前記関係は、データベース内にキャッシュされることを特徴とする請求項９２に記載のコンピュータ可読媒体。
【請求項９６】
前記計算することは、
前記指示されたアイテムについて明示的に定義されたアクセス制御許可を取り出すことと、
アクセス制御許可を前記指示されたアイテムに伝播するアイテムの集合を決定することと、
前記指示されたアイテムがアクセス制御許可を継承する継承元のアイテムの集合を決定することと、
前記指示されたアイテムについて明示的に定義されている前記アクセス制御許可、アクセス制御許可を前記指示されたアイテムに伝播するアイテムの前記集合のそれぞれのアクセス制御許可、および前記指示されたアイテムがアクセス制御許可を継承する継承元のアイテムの前記集合のそれぞれのアクセス制御許可の間で論理「ＯＲ」演算を実行することとを含むことを特徴とする請求項９２に記載のコンピュータ可読媒体。
【請求項９７】
さらに、前記指示されたアイテムがアクセス制御許可を伝播する先のアイテムの前記決定された集合の１つに対するアクセス制御許可を再計算することを含むことを特徴とする請求項９６に記載の方法。
【請求項９８】
前記計算することは、データベースから一組のアクセス制御許可を取り出すことを含むことを特徴とする請求項９２に記載のコンピュータ可読媒体。
【請求項９９】
前記指示されたアイテムは、ピンボードコレクションであり、アイテムの前記決定された集合の１つのアイテムは、情報アイテムであることを特徴とする請求項９２に記載のコンピュータ可読媒体。
【請求項１００】
前記指示されたアイテムは、マルチメディアファイルの指示を含むプレイリストであることを特徴とする請求項９２に記載のコンピュータ可読媒体。
【請求項１０１】
前記指示されたアイテムは、インストレーションファイルであり、アイテムの前記決定された集合の１つのアイテムは、インストールすべきファイルであることを特徴とする請求項９２に記載のコンピュータ可読媒体。
【請求項１０２】
許可を伝播するためのシステムであって、
許可、ユーザ、およびオブジェクトの間の関連付けを格納するデータベースと、
オブジェクトに関係する許可が変更されたことを検出し、許可が変更されたオブジェクトに関連付けられている他のオブジェクトに対する許可を計算し、前記計算された許可に基づいて前記他のオブジェクトに関係する許可をリセットする許可コンポーネントと、
オブジェクトを前記オブジェクトが共有される相手であるユーザに関連付けられているサーバにレプリケートするレプリケーションコンポーネントとを備えることを特徴とするシステム。
【請求項１０３】
許可が変更された前記オブジェクトは、ピンボードコレクションにピン止めされている情報アイテムであり、許可がリセットされた前記他のオブジェクトは、前記ピンボードコレクションにピン止めされている情報アイテムであることを特徴とする請求項１０２に記載のシステム。
【請求項１０４】
前記オブジェクトは、ファイルシステム内のファイルであることを特徴とする請求項１０２に記載のシステム。
【請求項１０５】
前記オブジェクトは、電子メールメッセージであることを特徴とする請求項１０２に記載のシステム。
【請求項１０６】
前記オブジェクトは、データベースに格納されることを特徴とする請求項１０２に記載のシステム。
【請求項１０７】
アクセス制御制限を、前記オブジェクトに課すことができることを特徴とする請求項１０２に記載のシステム。
【請求項１０８】
前記データベースは、ピンボードコレクションおよび情報アイテムに関係する情報を格納するデータベースに関連付けられることを特徴とする請求項１０２に記載のシステム。
【請求項１０９】
前記レプリケーションコンポーネントは、前記オブジェクトに関係する許可が変更されたときにレプリケーションの対象となるオブジェクトを選択することを特徴とする請求項１０２に記載のシステム。
【請求項１１０】
前記許可コンポーネントは、さらに、オブジェクトがコンテナオブジェクトからピン止め解除されたことを検出し、前記オブジェクトに対する許可を再計算することを特徴とする請求項１０２に記載のシステム。
【請求項１１１】
２つのオブジェクトは、互いに関係を有しており、一方のオブジェクトに対する許可変更は、自動的に他方のオブジェクトに適用されることを特徴とする請求項１０２に記載のシステム。
【請求項１１２】
オブジェクトは両方とも、互いから許可を継承することを特徴とする請求項１０２に記載のシステム。
【請求項１１３】
前記許可コンポーネントがオブジェクトに対する許可を変更したときに、ワークフローコンポーネントがワークフロー関係アクションを実行することを特徴とする請求項１０２に記載のシステム。
【請求項１１４】
前記レプリケーションコンポーネントは、前記オブジェクトを格納するサーバにファイヤウォールを介して接続されているサーバにオブジェクトをレプリケートすることを特徴とする請求項１０２に記載のシステム。
【請求項１１５】
オブジェクトがサーバにレプリケートされたときに、そのオブジェクトに関係する許可も前記サーバにレプリケートされることを特徴とする請求項１０２に記載のシステム。
【請求項１１６】
属性をプロパゲート（伝播）する方法を実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記方法は、
属性を修正すべきピンボードコレクションの指示を受け取ることと、
前記指示されたピンボードコレクションに関係する情報アイテムをおよびピンボードコレクションの集合を決定することと、
前記指示されたピンボードコレクションと情報アイテムおよびピンボードコレクションの前記決定された集合との間の関係の集合をキャッシュすることと、
前記属性を前記集合内の前記情報アイテムに適用することと、
前記集合内のそれぞれのピンボードコレクションについて再帰的に実行することとを含むことを特徴とするコンピュータ可読媒体。
【請求項１１７】
前記属性は、バージョンロック属性であることを特徴とする請求項１１６に記載のコンピュータ可読媒体。
【請求項１１８】
ユーザ間のコラボレーションを使用可能にするためにコンピューティングデバイスにより実行される方法であって、
第１のユーザから、第２のユーザと共有される、ピンボードコレクションに関連付けられている情報アイテムの指示を受け取ることと、
前記第１のユーザから、前記第２のユーザの指示を受け取ることと、
前記第２のユーザに関連付けられているサーバコンピューティングデバイスを決定することと、
前記第２のユーザに関連付けられている前記サーバコンピューティングデバイスが前記第１のユーザにも関連付けられているわけではない場合に、前記指示された情報アイテムを前記決定されたサーバコンピューティングデバイスにレプリケートすることとを含むことを特徴とする方法。
【請求項１１９】
前記情報の前記指示は、単一アクションを使用して与えられることを特徴とする請求項１１８に記載の方法。
【請求項１２０】
前記単一アクションは、前記情報アイテムを前記ピンボードコレクションにピン止めすることであることを特徴とする請求項１１９に記載の方法。
【請求項１２１】
前記第２のユーザの前記指示は、単一アクションを使用して与えられることを特徴とする請求項１１８に記載の方法。
【請求項１２２】
前記単一アクションは、前記情報アイテムがピン止めされるピンボードコレクションを共有することを指示することであることを特徴とする請求項１２１に記載の方法。
【請求項１２３】
前記情報アイテムは、共有される場合にホステッドポータルに関連付けられることを特徴とする請求項１１８に記載の方法。
【請求項１２４】
前記第１のユーザにより与えられた検索語に対応する情報アイテムを検索することを含むことを特徴とする請求項１１８に記載の方法。
【請求項１２５】
前記検索は、複数の検索プロバイダを使用することを含むことを特徴とする請求項１２４に記載の方法。
【請求項１２６】
前記検索プロバイダは、少なくとも１つのクライアントコンピューティングデバイス検索プロバイダを含むことを特徴とする請求項１２５に記載の方法。
【請求項１２７】
ユーザは、情報アイテムを特定するために前記クライアントコンピューティングデバイス検索プロバイダを使用することにより個人用ポータルを作成することができることを特徴とする請求項１２６に記載の方法。
【請求項１２８】
ユーザは、他のクライアントコンピューティングデバイスを使用した場合でもクライアントコンピューティングデバイス上に格納されている情報アイテムを特定することができることを特徴とする請求項１２６に記載の方法。
【請求項１２９】
前記クライアントコンピューティングデバイスは、情報アイテムがファイヤウォールを通して格納される前記クライアントコンピューティングデバイスに接続することを特徴とする請求項１２８に記載の方法。
【請求項１３０】
前記指示された情報アイテムをクライアントコンピューティングデバイスにレプリケートすることを含むことを特徴とする請求項１１８に記載の方法。
【請求項１３１】
ユーザは、双方向のやり取りで前記指示された情報アイテムをオンラインで操作することができることを特徴とする請求項１３０に記載の方法。
【請求項１３２】
前記双方向のやり取りは、前記ユーザが双方向のやり取りでサーバコンピューティングデバイス上に格納されている前記情報アイテムを操作することができる方法に類似していることを特徴とする請求項１３１に記載の方法。
【請求項１３３】
前記情報アイテムは、会話スレッドに関連付けられることを特徴とする請求項１１８に記載の方法。
【請求項１３４】
前記情報アイテムに関連付けられている注釈が、前記情報アイテムが前記第２のユーザと共有された後にユーザによって更新されたときに、前記レプリケートすることは、前記注釈をレプリケートすることを含むことを特徴とする請求項１１８に記載の方法。
【請求項１３５】
前記共有情報アイテムは、他の情報アイテムを含むピンボードコレクションに関連付けられ、前記共有情報アイテムに関連付けられている注釈および他の情報アイテムは一緒に会話スレッドを定義することを特徴とする請求項１１８に記載の方法。
【請求項１３６】
前記共有情報アイテムは、複数のピンボードコレクション内に現れることを特徴とする請求項１３５に記載の方法。
【請求項１３７】
前記情報アイテムは、第３のユーザと共有され、前記第３のユーザは、双方向のやり取りで前記情報アイテムを操作することができることを特徴とする請求項１３６に記載の方法。
【請求項１３８】
複数の情報アイテムが共有され、前記第３のユーザは、双方向のやり取りですべての情報アイテムを操作することができることを特徴とする請求項１３７に記載の方法。
【請求項１３９】
前記複数の情報アイテムは、会話スレッドを形成し、前記第３のユーザは、会話スレッド全体に対しアクションを実行することができることを特徴とする請求項１３８に記載の方法。
【請求項１４０】
複数のデータソースからのデータを統合する方法を実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記方法は、
データソースから情報アイテムを取り出すことと、
前記情報アイテムからデータを収集することと、
前記データを内部形式に変換することと、
前記変換されたデータをデータベースに格納することとを含むことを特徴とするコンピュータ可読媒体。
【請求項１４１】
さらに、前記情報アイテムに対するアクセス制御許可を指定することを含むことを特徴とする請求項１４０に記載のコンピュータ可読媒体。
【請求項１４２】
さらに、前記データソースに格納されている情報アイテムを検索することを含むことを特徴とする請求項１４０に記載のコンピュータ可読媒体。
【請求項１４３】
前記データは、前記情報アイテムの属性を含むことを特徴とする請求項１４０に記載のコンピュータ可読媒体。
【請求項１４４】
前記情報アイテムは、電子メールメッセージであり、前記属性は、前記電子メールメッセージに含まれるヘッダ情報を含むことを特徴とする請求項１４３に記載のコンピュータ可読媒体。
【請求項１４５】
前記情報アイテムは、ドキュメントであり、前記属性は、ドキュメントのタイトルを含むことを特徴とする請求項１４０に記載のコンピュータ可読媒体。
【請求項１４６】
さらに、前記変換されたデータに対するリレーショナルインデックスを構築することを含むことを特徴とする請求項１４０に記載のコンピュータ可読媒体。
【請求項１４７】
前記リレーショナルインデックスは、戻るリンクを作成するために前記データソースにより構築されたフルテキストインデックスとともに使用することができ、前記戻るリンクは、情報アイテムをピンボードコレクションに関係付けることを特徴とする請求項１４６に記載のコンピュータ可読媒体。
【請求項１４８】
前記リレーショナルインデックスは、関係する情報アイテムへのリンクを作成するために前記データソースにより構築されたフルテキストインデックスとともに使用することができることを特徴とする請求項１４７に記載のコンピュータ可読媒体。
【請求項１４９】
個人情報ネットワークを作成するシステムであって、
検索語に一致する情報アイテムを検索するユーザからの要求に応じて情報アイテムを見つける検索コンポーネントと、
コレクションに追加すべき見つかった情報アイテムの指示をユーザから受け取り、前記指示された情報アイテムをコレクションに追加するコレクションコンポーネントと、
前記情報アイテムが前記コレクションに追加されるときに情報アイテムに適用するアクセス制御許可を計算する許可コンポーネントとを備えることを特徴とするシステム。
【請求項１５０】
共有可能ピンボードコレクションを作成するためのコンピューティングデバイスにより実行される方法であって、
ユーザから、１つまたは複数の検索プロバイダの選択を受け取り、前記検索プロバイダのそれぞれは情報源を検索することと、
前記選択された１つまたは複数の検索プロバイダを使用して、前記ユーザによって指定された条件と一致する情報アイテムの検索を実行することと、
前記選択された１つまたは複数の検索プロバイダによって特定された情報アイテムの指示を受け取り、それぞれの特定された情報アイテムは結果を示すこととを含むことを特徴とする方法。
【請求項１５１】
複数の検索プロバイダを使用して前記クエリに基づき情報アイテムの検索を同時実行することを含むことを特徴とする請求項１５０に記載の方法。
【請求項１５２】
前記結果を内部形式に変換することを含むことを特徴とする請求項１５０に記載の方法。
【請求項１５３】
前記内部形式は、ＲＳＳであることを特徴とする請求項１５２に記載の方法。
【請求項１５４】
前記変換は、前記結果の抜粋を作成することを含むことを特徴とする請求項１５２に記載の方法。
【請求項１５５】
前記受け取ることは、ユーザによって実行される単一アクションの指示を受け取ることを含むことを特徴とする請求項１５０に記載の方法。
【請求項１５６】
前記使用することは、前記検索プロバイダを使用する方法に関係する前記選択された１つまたは複数の検索プロバイダから情報を取り出すことを含むことを特徴とする請求項１５０に記載の方法。
【請求項１５７】
前記情報は、アプリケーションプログラムインターフェースを含むことを特徴とする請求項１５０に記載の方法。
【請求項１５８】
前記検索プロバイダのうちの１つは、共有可能ピンボードコレクション内に指示されるサードパーティ製検索プロバイダであることを特徴とする請求項１５０に記載の方法。
【請求項１５９】
さらに、少なくとも前記指示された情報アイテムを含む前記ピンボードコレクションを作成することを含むことを特徴とする請求項１５０に記載の方法。
【請求項１６０】
前記ピンボードコレクションは、前記ピンボードコレクションと前記指示された情報アイテムとの間のリンクを指示することを特徴とする請求項１５９に記載の方法。
【請求項１６１】
さらに、前記指示された情報アイテムを前記ピンボードコレクションに関連付けるリンクを格納すること含むことを特徴とする請求項１６０に記載の方法。
【請求項１６２】
さらに、前記指示された情報アイテムが関連付けられている他のピンボードコレクションを取り出すことを含むことを特徴とする請求項１６１に記載の方法。
【請求項１６３】
さらに、前記ユーザによって選択されうる検索プロバイダを動的に追加することを含むことを特徴とする請求項１５０に記載の方法。
【請求項１６４】
さらに、前記情報アイテムをフィルタ処理すること含むことを特徴とする請求項１５０に記載の方法。
【請求項１６５】
共有可能ピンボードコレクションを作成する方法を実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記方法は、
複数の検索プロバイダを使用して、ユーザによって指定された条件と一致する情報アイテムの検索を実行することと、
前記検索プロバイダによって与えられた結果を内部形式にマージすることと、
前記マージされた結果の指示をユーザに与えることとを含むことを特徴とするコンピュータ可読媒体。
【請求項１６６】
前記マージされた結果の前記指示をユーザに与える前に前記マージされた結果を変換することを含むことを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１６７】
前記変換することは、ＨＴＭＬドキュメントの作成することを含むことを特徴とする請求項１６６に記載のコンピュータ可読媒体。
【請求項１６８】
前記マージされた結果の一部をピン止めする指示を受け取ることを含むことを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１６９】
前記内部形式は、ＲＳＳであることを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１７０】
検索プロバイダにより指示されたプロバイダ記述を使用することを含むことを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１７１】
前記プロバイダ記述は、アプリケーションプログラムインターフェースであることを特徴とする請求項１７０に記載のコンピュータ可読媒体。
【請求項１７２】
マージされた結果は、戻るリンクを含み、前記戻るリンクは、前記結果のうちの１つをさらに含むすでに格納されているピンボードコレクションの指示であることを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１７３】
前記マージすることは、結果をオーバーレイすることを含み、前記オーバーレイすることは、複数の検索プロバイダからの結果を組み合わせることと、重複する属性を削除して、前記複数の検索プロバイダのうちの一部からの一意的な属性を有する単一の結果を与えることを含むことを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１７４】
結果は、検索プロバイダを指示することを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１７５】
さらに、前記検索プロバイダを動的に登録することと、前記検索プロバイダを使用して前記検索を実行することとを含むことを特徴とする請求項１７４に記載のコンピュータ可読媒体。
【請求項１７６】
少なくとも２つの検索プロバイダが、異なる種類の結果を出力し、それぞれの種類の結果は異なる表示コンポーネントを使用して表示可能であることを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１７７】
前記マージされた結果は、第２の検索からの結果とオーバーレイされることを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１７８】
さらに、内部形式の結果をユーザに提示する形式に変換することを含むことを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１７９】
情報アイテムに対するロケーションが指定され、前記ロケーションは、前記情報アイテム内の１つの点を識別することを特徴とする請求項１６５に記載のコンピュータ可読媒体。
【請求項１８０】
前記ロケーションは、ブックマークアンカータグを使用して指定されることを特徴とする請求項１７９に記載のコンピュータ可読媒体。
【請求項１８１】
前記情報アイテムは、ピンボードコレクションにピン止めされることを特徴とする請求項１７９に記載のコンピュータ可読媒体。
【請求項１８２】
前記ピンボードコレクションは、前記ピン止めされた情報アイテムに関連付けられている注釈を備えることを特徴とする請求項１８１に記載のコンピュータ可読媒体。
【請求項１８３】
他のピンボードコレクションは、前記ピン止めされた情報アイテムに関係する注釈を備えることを特徴とする請求項１８１に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照により両方とも本明細書に組み込まれている、２００５年５月１９日に出願した米国仮特許出願第６０／６８３，２８２号および２００５年８月２５日に出願した米国仮特許出願第６０／７１１，５８０号の利益を主張するものである。本出願は、本出願と同時に出願され、参照により全体が本明細書に組み込まれている、以下の米国一般特許出願に関する。
【０００２】
【表１】
2008541296.tif 000002
【背景技術】
【０００３】
コンピューティングデバイスのユーザは、そのコンピューティングデバイスを使用して、様々な方法により情報を他のユーザに伝達することができる。多くの企業組織によくある情報を伝達する２つの手段は、「メッセージング」または「ホステッド」モデルとして分類することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
メッセージングモデルでは、ユーザは、情報を他のユーザに送信するためにメッセージングインフラストラクチャを使用する。メッセージングインフラストラクチャは、電子メール（「ｅ−ｍａｉｌ」）、インスタントメッセージングなどを含む。ユーザは、一般に、使いやすいメッセージングモデルを求めているが、このモデルには、様々な欠点があり、そのうちのいくつかについてここに明記する。欠点の１つは、ユーザは一般に情報の「スナップショット」を他のユーザに送信するという点である。その結果、異なるユーザは、その情報の異なるバージョンを受け取る可能性がある。例えば、ユーザが、電子メールの添付を介して情報をユーザのグループに送信し、グループ内の他のユーザがその情報を修正し、修正された情報をそのグループに転送する場合、そのグループの他のユーザは、その情報の２つのバージョンを受信する可能性がある。複数のユーザが情報を修正し、修正された情報をそのグループに送信すると、ユーザは、どの修正が最新であるかについて混乱しうる。この欠点は、電子メールに添付ドキュメントが含まれる場合に、バージョンの検出問題が生じて、さらに悪化する可能性がある。メッセージングモデルの第２の欠点は、一般的にはアクセスを制御できないという点である。特に、情報の発信者が、その情報にどのユーザがアクセスするかを制御することは非常に困難である。例えば、情報の発信者は、許可された受信者集合を選択することができるが、受信者がその情報をどう処理するかを制御することはできない。そのため、受信者は、情報を無許可ユーザに転送することができる。電子メールには、さらに、複雑なルールまたはプログラミングを使わずに電子メールの受信トレイを整理することが困難な場合がある、電子メールメッセージのコピーは、一般的に、１つのフォルダにしか置けない、電子メールによるスレッドで構成された議論をプロジェクトにかかわる人と共有することが困難な場合がある、新しいユーザを複数の分岐を有するスレッドで構成される議論に追加してゆくので、新しいユーザがスレッドの全体像を捕らえられない、電子メールメッセージは埋め込み添付を持たせることができる、添付に関係するインラインコンテキストコメントを付けることは、問題になるなどの他の欠点もある。
【０００５】
ホステッドモデルでは、ユーザは、情報を共通に参照されるロケーションに置く。例えば、ホステッドモデルは、ファイルサーバ、Ｗｅｂサーバ、電子掲示板、コンテンツ管理ソリューション、ワークスペースなどを含む。ホステッドモデルの他の実施例は、企業組織が情報を公開するためにときどき構築する「ポータル」である。ポータルは、一般的に、企業組織が情報をユーザにパブリッシュできるようにするアプリケーションサービスの共通集合上に構築されるＷｅｂサイトである。ユーザは、一般的に、インターネットブラウザ、またはポータルに収められている情報を表示することができる他のアプリケーションを使用することによりポータルに収められている情報を表示する。ホステッドモデルの利点は、ユーザが最新のホステッド情報を見て、その情報が通常は整理されることである。しかし、ホステッドモデルにはいくつかの欠点があり、そのいくつかについてここで明らかにする。欠点の１つは、ホステッドモデルは、一般的に、情報を更新したり、または情報を整理したりするために何らか中央集中型管理を必要とするという点である。第２の欠点は、ポータルドキュメントロケーションへのアクセス権をユーザではなくアドミニストレータが一般的に制御するので、ユーザは他のどのユーザに情報に対するアクセスを許すかを容易には制御できないという点である。ポータルの具体的欠点としては、一般的に複雑であり、作成および保守が大きな労力を要するという点である。ポータルには、さらに、他の欠点として、ポータルは、一般的に、情報がリロードされ更新されない限り、「陳腐化」する、一般的に、大半の情報は、オーサリングツール（ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤなど）を使用してオーサリングされ、承認プロセス（例えば、電子メール）を介して承認され、次いでポータルにアップロードされる、承認ワークフローがなくても、オーサリングおよびその後のアップロードの個別活動は、多くの場合、ポータルに関する情報を陳腐化する、ポータルは、多くの場合、構造を定義するために直接的な整理および分類決定を必要とし、構造がいったん作成されてしまうと容易に変更できない、ポータルにまたがる情報の発見は、ユーザが１つずつナビゲートしなければならない検索結果を単に提示するだけの、「横断」または他の検索を通じて行われる、ポータルは、ユーザ側でロケーション（例えば、イントラネットまたはインターネットＵＲＬ）を識別することを必要とするという点が挙げられる。
【課題を解決するための手段】
【０００６】
欠点を解消し、両方のモデルの利点を活かす試みとして、ホステッドモデルをメッセージングモデルと併用するが、この場合、情報が格納されているロケーションへのポインタまたはリンクなどのホステッド情報の指示を含む電子メールがユーザに送信される。このアプローチでは、ユーザは、整理された情報の最新バージョンを見ることができるが、多数の欠点も有し、その一部についてここで明らかにする。欠点の１つは、アクセス制御が調整されないという点である。ユーザはそれらのリンクを含む電子メールを受信する他のユーザを指定できるが、リンクの受信者が情報を表示できるかどうか、または受信者がそれらのリンクを他のユーザに転送できるかどうかなどのアクセス制御属性を指定するのは簡単でない。第２の欠点は、電子メールにはリンクしか表示されないため、ユーザは、受信ボックスの情報を簡単に検索することができないという点である。
【発明を実施するための最良の形態】
【０００７】
パーソナル化可能情報ネットワーク（ｐｅｒｓｏｎａｌｉｚａｂｌｅ  ｉｎｆｏｒｍａｔｉｏｎ  ｎｅｔｗｏｒｋ）用のソフトウェアファシリティ（「ファシリティ」）について説明する。パーソナル化可能情報ネットワーク（「ＰＩＮ」）は、１つまたは複数のコレクションを含む。コレクションは、情報アイテムが格納されている場所を必ずしも知っていなくても情報アイテムをユーザ側で特定し、取り出せるように様々なネットワーク接続ロケーションから集められた参照（例えば、ドキュメントへのリンク）または情報アイテムを含む。情報アイテムは、統一リソースロケータ（ＵＲＬ）を使用するなどして、一意的に識別されうるドキュメント、Ｗｅｂページ、電子メールメッセージ、データベース中の行またはフィールドなどの情報源である。情報アイテムは、サーバ、電子メールシステム、ファイルフォルダ、データベース、クライアントまたはサーバコンピューティングデバイスに関連付けられているリポジトリなどの、ファシリティによりアクセス可能な任意の場所にデジタル形式で格納することができる。情報アイテムを識別するＵＲＬにより、ドキュメントまたはＷｅｂページ内の一部分またはロケーションを識別することができる。様々な実施形態において、ファシリティは、最新バージョンの情報アイテムを整理された形でユーザに提供する。このファシリティを使用することで、ユーザ（「作成者」）は、異種の記憶媒体から情報を集め、集められた情報の分配のため他のユーザ（「受信者」）を識別し、集められた情報を受信者と共有することができる。記憶媒体は、例えば、電子メール記憶装置、ファイルシステム、インターネット、インスタントメッセージング、データベースなどのサーバまたはクライアントコンピューティングデバイスを含むネットワーク接続デバイスを含むことができる。作成者は、情報および受信者が情報に入れることができるアクションへのアクセスを制御することができる。情報は、作成者、受信者、または他のユーザにより整理または再編成されることができる。作成者は、情報を複数の受信者と共有し、情報を配布すべき受信者のリストを指定し、共有された情報または受信者のいずれかに関連付けられているアクセス制御属性（例えば、許可または特権）を設定することができる。作成者が、受信者に対し十分な許可を与えている場合、受信者は、集められた情報に関係する他のアクションを表示するか、または付加するか、または修正するか、または取り出すことができる。こうしてファシリティは情報のパーソナル化可能ネットワークを形成する。
【０００８】
このファシリティを使用することで、ユーザは、情報アイテムの潜在的集合を識別し、ユーザが共有することを望んでいる情報アイテムのコレクションを構成するための検索条件を指定することができる。コレクションは、検索により識別されなかった追加の情報アイテムを含むことができる。ユーザから検索条件の指示を受け取った後、ファシリティは、検索プロバイダを利用して、複数のデータソースから検索条件に一致する情報アイテムを特定する。ファシリティは、複数の「検索プロバイダ」にまたがって「メタ検索」を実行する。メタ検索は、様々な情報リポジトリおよび情報源にまたがって実行されうる検索であり、その後、見つかった情報は、共通フォーマットで一緒に提供されうる。検索プロバイダは、１つまたは複数の情報リポジトリを使用して検索を実行するサービスである。例えば、ファシリティは、ＧＯＯＧＬＥ  ＳＥＡＲＣＨ、ＭＩＣＲＯＳＯＦＴ  ＳＥＡＲＣＨ、または検索技術の任意のプロバイダまたはそれらの組合せを使用することが可能である。他の実施例では、ユーザは、ＧＯＯＧＬＥ  Ｉｎｔｅｒｎｅｔ検索およびＭＩＣＲＯＳＯＦＴデスクトップ検索を使用するようにファシリティを構成することができる。他の実施例では、ファシリティは、インターネット（または他の）ニュースフィード、Ｗｅｂログ（「ブログ」）、データベース、コンピュータファイルシステム、ドキュメント管理システムなど、様々なデータソース内の情報を特定する検索プロバイダを使用することができる。情報アイテムは、インターネット、イントラネット、または電子メールサーバ、クライアントコンピューティングデバイスなど、検索プロバイダがアクセスできる任意のロケーションに接続されているコンピューティングデバイスまたは記憶装置デバイス内に配置することができる。このファシリティは、さらに、様々なデータ型を検索する検索プロバイダも使用することができる。検索プロバイダは、ファシリティまたは他のアプリケーションが複数の結果フォーマットで機能する必要のないように「統一された」ビューに結果を表示することができる。検索プロバイダは、コンピューティングデバイスに関連して任意の場所に配置することができ、例えば、実行可能ファイルとして記憶装置内に置くか、または添付として電子メールメッセージ内に入れるか、またはインターネットに置くことができる。ファシリティは、自動的に、またはユーザの指令の下で、検索プロバイダを特定し、使用することができる。いくつかの実施形態では、検索プロバイダは、ＵＲＬにより識別される。例えば、ファシリティは、ＵＲＬにより識別された検索プロバイダを利用して、ＵＲＬを伴うクエリに基づいて情報を取り出すことができる。
【０００９】
ファシリティにより関連する情報アイテムが特定された後、ファシリティは処理エンジンを使用して特定された情報アイテムを処理する。処理エンジンは、特定された情報アイテムの「抜粋」を作成する。抜粋は、情報アイテムの一部である。例えば、抜粋は、情報アイテムのタイトル、説明、および電子メール送信者、受信時刻、連絡先電話番号などのスキーマ特有のプロパティを含むことができる。抜粋は、様々な種類の情報アイテムに適切なスキーマを使用して格納される。例えば、処理エンジンは、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤドキュメント内に格納されている情報のドキュメントスキーマ内に抜粋を作成することができるが、データベースに格納されている情報についてはデータベーススキーマ内に抜粋を作成することができる。このファシリティは、様々な種類のドキュメントに類似のスキーマを使用することができる。抜粋は、リッチサイトサマリーまたはリアリーシンプルンジケーション（一般に「ＲＳＳ」と呼ばれる）などの標準ドキュメント定義形式またはＡＴＯＭまたはアウトラインプロセッサマークアップ言語などのＲＳＳの一般的に認められている代替えを参照しつつ定義することができる。様々な実施形態において、スキーマは、拡張マークアップ言語（「ＸＭＬ」）で指定される。例えば、ファシリティは、ＲＳＳを使用してドキュメント抜粋を定義し、異なるＸＭＬスキーマを使用してデータベース抜粋を定義することができる。抜粋は、関連すると識別されている情報アイテムから取り出した属性を与える。例えば、電子メール情報アイテムの抜粋スキーマは、送信者の名前、受信者の名前、および件名属性が関連していることを示しうる。他の実施例では、連絡先抜粋スキーマは、名前、電話番号、および電子メール属性が関連していることを示しうる。ファシリティは、抜粋を使用して、情報アイテムからの情報を表示するときに、関連情報を表示することができる。そのため、抜粋を使用することにより、ファシリティは、一意的な情報アイテム型に基づいてリッチユーザインターフェースを生成することができる。
【００１０】
ファシリティが情報アイテムに関係する情報を表示結果ページに表示する場合には必ず、情報アイテムからの情報を利用することができる。ユーザが、リンクを選択するなどして情報アイテムをロードすると、ファシリティは、元のロケーションまたはキャッシュ記憶装置のいずれかから情報アイテムをロードする。ファシリティは、情報アイテムを組み合わせて、ピンボードコレクションを作成する。ピンボードコレクションは、情報アイテムを含み、ＵＲＬを介してアクセスできる。ＵＲＬを介してピンボードコレクションがアクセスされる場合、ファシリティは、ビュー記述を使用するピンボードコレクションを表示結果ページに変換する。ビュー記述は、ピンボードコレクションを、人が読める表示結果ページに変換する方法に関する命令を与えるものである。例えば、ビュー記述は、拡張スタイルシート言語（「ＸＳＬ」）、アクティブスクリプトページ（「ＡＳＰ」）などを使用して指定することができる。表示結果ページでは、それぞれの情報アイテムに関するデータを情報アイテムに関連するある種のデータとともに識別する。例えば、表示結果ページには、リンク、ドキュメントのタイトル、ドキュメントに含まれるテキストの最初の数行、ドキュメントが作成された日付などを用意することができる。表示結果ページには、さらに、作成者または受信者により追加される、ドキュメントに関係する注釈も用意することができる。注釈は、ユーザが情報アイテムに関連付ける情報である。注釈の実施例は、テキストコメント、ハイライト表示、および音声（またはビデオ）コメントなどのテキスト、書式設定、およびマルチメディアを含む。注釈は、短くても（例えば、いくつかの単語または語句）、長くてもよい（例えば、センテンス、パラグラフ、ドキュメント全体、または他の情報アイテムの識別子）。ファシリティは、表示結果ページに含まれる情報を共有または他の何らかの形で利用するときに、ＲＳＳまたは他のフォーマットで格納することができる、基礎となるピンボードコレクションを使用または操作することができる。
【００１１】
表示結果ページを作成した後、次いで、作成者は、クエリに対する応答として検索プロバイダにより指示された情報アイテムの部分集合を識別することができる。例えば、ファシリティが、複数の情報アイテムを識別する場合、作成者は、本当に関連性がある情報アイテムの部分集合を識別し、無関係と思われる残りの情報アイテムを削除する（または他の何らかの方法で識別する）ことができる。作成者は、さらに、表示結果ページを再編成し、それにより、ファシリティは、表示される情報の順序を変更するなど、基礎となるピンボードコレクションを再編成し、重要な情報アイテムが重要度の劣る情報アイテムの前に表示されるようにできる。作成者は、複数の検索を実行し、情報アイテムをピンボードコレクションに追加する作業を継続することができる。
【００１２】
作成者は、次いで、作成者が作成された表示結果ページの共有相手にしたい受信者を識別することができる。作成者は、電子メールの受信者を選択するのと類似の方法で受信者を識別することができる。例えば、作成者は、アドレス帳に載っている受信者または受信者のグループを識別すること、受信者の名前または識別子の一部を入力すること、例えば、受信者の識別を完成させることにより受信者の名前または識別子をファシリティに「解決」するよう要求することなどを行うことができる。
【００１３】
作成者は、さらに、ピンボードコレクションの様々な属性を追加または修正することもできる。例えば、作成者は、全体として個別の情報アイテムまたはピンボードコレクションに関係する、メッセージなどの注釈を追加することができる。他の実施例として、作成者は、情報アイテムをハイライト表示すること、または何らかの尺度に基づいて情報アイテムを格付けすること、または「親指を立てる」メタファーを使用することなどにより、特に注目している情報アイテムを指示することができる。他の実施例として、作成者は、今後の変更が共有されないように共有されている特定のバージョンの情報アイテムを「ロック」することができる、作成者は、アイテムに対する様々なアクセス方法を指示することができる、例えば、他のユーザとそれ以上共有することができない、今後は自由に共有することができる、元の情報アイテムを修正することができる、などが考えられる。
【００１４】
作成者が、表示結果ページのユーザインターフェース上の「ｓｈａｒｅ」ボタンを選択するなどして、ピンボードコレクションを受信者と共有した後、受信者は、受信者のアクセス権に応じてピンボードコレクションで識別されている情報アイテムを表示することができる。アクセス権により、ｖｉｅｗ、ｅｄｉｔ、ｄｅｌｅｔｅ、ｓｈａｒｅなどの、情報アイテムまたはピンボードコレクションに関して受信者が実行できるアクションを指定する。ファシリティは、以下でさらに詳しく説明されるように、適切なアクセス権を受信者に付与する。
【００１５】
受信者は、受信されたピンボードコレクションに応答し、そのレスポンスを作成者または他の受信者と共有することができる。受信者は、レスポンスを共有する前に受信されたピンボードコレクションの様々な属性を追加または修正することができる。例えば、受信者は注釈を追加することができる。作成者が、十分なアクセス権を与える場合、受信者は、受信されたピンボードコレクションを共有することができる。受信者は、さらに、検索を実行し、見つかった情報アイテムをピンボードコレクションに追加することもできる。作成者は、受信者により行われた追加、削除、または修正を自動または手動のいずれかにより受理または拒絶することができる。
【００１６】
作成者または受信者がピンボードコレクションを修正した場合、ユーザは、最新の修正バージョンを見ることができる。これは、表示結果ページが、表示のため閲覧者（例えば、受信者）が表示結果ページをロードしたときに生成されるため可能である。ピンボードコレクションに含まれる参照および他の情報は、作成者および受信者により修正されうる（受信者が十分なアクセス権を有している場合）。ユーザが表示結果ページをロードすると、ファシリティは、表示結果ページの最新バージョンを提供する。そのため、ユーザは、それらがドキュメントの最新バージョンを共有しているか、または表示しているかを知る必要がない。
【００１７】
ユーザは、ピンボードコレクションまたは１つまたは複数の情報アイテムを「ロック」することができる。アイテム（例えば、ピンボードコレクションまたは情報アイテム）がロックされた場合、ロックされたアイテムを表示するユーザには、ロックの後に行われた更新が見えない。これを遂行するために、ファシリティは、情報アイテムの格納バージョンを使用する。ユーザは、アイテムをロックした場合、アイテムの更新を続けることができる。次いで、ユーザがアイテムのロックを解除すると、ユーザの更新は、他のすべてのユーザから見えるようになる。ファシリティは、ロックおよび更新の監査証跡を作成することができる。
【００１８】
作成者または受信者は、検索語を繰り返し追加することにより検索を精密化することができる。その結果得られるピンボードコレクションは、複数のデータソースまたはデータ型からの情報を表す情報アイテムを１つの場所に収める。
【００１９】
ピンボードコレクションおよび情報アイテムを参照しつつファシリティが本明細書で説明されているが、ファシリティは、様々な環境およびアプリケーションに容易に適応できるプラットフォームを備え、その一部について本明細書では説明する。
【００２０】
次に、ファシリティの特徴について、さらに詳しく説明する。
【００２１】
パーソナル化可能情報ネットワークの作成および使用
様々な実施形態において、ファシリティが備えるユーザインターフェースは、テキストボックスおよび「ｓｅａｒｃｈ」ボタンを含む。ユーザは、文字列を入力するなどによりテキストボックスにクエリを入れ、そのクエリと一致する情報アイテム（例えば、ドキュメント）の検索をファシリティに開始させるｓｅａｒｃｈボタンを選択する。
【００２２】
様々な実施形態において、ファシリティは、同期的に、または非同期的に、複数の検索プロバイダを同時にまたは同時実行的に使用し、情報アイテムを特定することができる。例えば、ファシリティは、ＧＯＯＧＬＥインターネット検索、ＭＩＣＲＯＳＯＦＴデスクトップ検索、ポータル検索ファシリティ、ＷＩＮＤＯＷＳ（登録商標）デスクトップ検索ファシリティ、ネットワーク検索ファシリティ、データベース検索ファシリティ、横断検索ファシリティ、インターネット検索ファシリティなどを使用して検索することができる。様々な実施形態において、ファシリティは、サードパーティ製検索プロバイダをユーザが追加することを可能にする拡張性機構を有する。検索プロバイダの追加を可能にすることで、ファシリティは任意の形態および任意のロケーションに格納されている情報アイテムを検索することができる。呼び出された検索プロバイダはそれぞれ、検索の結果をファシリティに返す。
【００２３】
作成者は、検索プロバイダの一部または全部をアクティブ化するなどして、複数の検索プロバイダのうちどれを使用するかを指定することができる。ファシリティは、検索する際に、非アクティブ状態の検索プロバイダを呼び出すことはできない。作成者は、ある１つのピンボードコレクションについては検索プロバイダをアクティブ化し、他のピンボードコレクションについては、その検索プロバイダを非アクティブ化することができる。これ以降、ファシリティは、ピンボードコレクションのそれぞれに対しアクティブな検索プロバイダのみを使用することができる。作成者は、さらに、検索プロバイダの既定のリストを（例えば、検索プロバイダを「ピン止め」することにより）ピンボードコレクションに関連付けることもできる。作成者は、さらに、そのピンボードコレクションに関する新規クエリについてピンボードコレクションから他の検索プロバイダを発見し、有効にすることもできる。適宜、使用される検索プロバイダは、ピンボードコレクションにピン止めすることにより集合として格納することができる。検索プロバイダは、さらに、特定のクエリについて無効にすることもできる。
【００２４】
ファシリティは、最初に、既定のレイアウトに従って表示結果ページ内の検索の結果を整理する。レイアウトは、フォント、色、ロケーション、背景などのプレゼンテーション属性を示す。ユーザは、既定のレイアウトを修正することができる。様々な実施形態において、既定のレイアウトは、ＸＭＬで指定される。
【００２５】
次に図を参照すると、図１は、様々な実施形態におけるファシリティにより提供される表示結果ページを例示する表示画面である。ファシリティは、ピンボードコレクションを作成するために作成者が使用できる表示結果ページ１００を備えている。表示結果ページは、ロゴなどの画像用の領域１０２、および結果として得られるピンボードコレクションのタイトルを示すための領域１０４を含む。表示結果ページは、作成者が検索クエリを入力することができるテキスト領域１０６を含む。次いで、作成者は、ｓｅａｒｃｈボタン１０８を選択して検索を開始することができる。それとは別に、ｃｌｅａｒボタン１１０を選択して、検索プロバイダにより表示結果ページに追加されたすべての情報を消去することができる。
【００２６】
例示されているディスプレイ画面は、作成者が「Ｓａｌｅｓ  ｐｉｔｃｈ」をクエリとしてテキスト領域１０６に入力したことを示している。ｓｅａｒｃｈボタン１０８がクリックされた後、ファシリティは、クエリ「Ｓａｌｅｓ  ｐｉｔｃｈ」と一致する情報アイテムを特定し、検索ページの様々な結果領域を検索の結果で埋める。例示されている表示結果ページは、ピンボードコレクション結果領域１１２、ｒｅｌａｔｅｄ  ｐｉｎｂｏａｒｄｓ結果領域１１３、ｅ−ｍａｉｌ結果領域１１４、ａｐｐｏｉｎｔｍｅｎｔｓ結果領域１１６、およびｄｏｃｕｍｅｎｔｓ結果領域１１８を示している。
【００２７】
ピンボードコレクション結果領域１１２には、クエリと一致するピンボードコレクションのリストが表示される。例示では、クエリと一致するピンボードコレクションはなく、したがって、リストにされているピンボードコレクションもない。ピンボードコレクションは、表示結果ページのクエリにより他のピンボードコレクションにピン止めされている情報アイテムが得られるときにクエリと一致しうる。さらに、ファシリティは、結果領域の１つに示されている情報アイテムのピン止め先とすることができる他のピンボードコレクションのリストを表示することができる。これにより、ユーザは、情報アイテムのコンテンツおよび関連性を素早く決定することができる。
【００２８】
ｒｅｌａｔｅｄ  ｐｉｎｂｏａｒｄｓ結果領域１１３には、表示されているピンボードコレクションに関係するピンボードコレクションのリストが表示される。２つのピンボードは、例えば、一方が他方に応じて作成されたか、または両方とも同じ情報アイテムを参照しているか、または関係しているとユーザにより指示されているか、またはピンボードコレクションの一方が他方にピン止めされているために関係していることがある。
【００２９】
ｅ−ｍａｉｌ結果領域１１４には、クエリと一致する電子メールメッセージのリストが表示される。電子メールメッセージは、その電子メールメッセージがクエリと一致するテキストまたは他の属性を含んでいる場合にクエリと一致するとしてよい。ｅ−ｍａｉｌ結果領域には、送信者、件名、および送信日または時刻などの、クエリと一致する電子メールメッセージに関係する様々な属性を表示することができる。
【００３０】
ａｐｐｏｉｎｔｍｅｎｔｓ結果領域１１６には、クエリと一致するアポイントメントのリストが表示される。ｄｏｃｕｍｅｎｔｓ結果領域１１８には、クエリと一致するドキュメントのリストが表示される。様々な実施形態において、ファシリティは、例示されている結果領域の代わりに、またはそれに加えて他の結果領域を表示することができる。
【００３１】
結果領域内にリスト表示されるそれぞれの情報アイテムは、チェックボックス１２０などの選択インジケータを伴う。作成者は、結果領域内にリスト表示されている情報アイテムの部分集合を選択し、作成者がピンボードコレクション内に保持することを望んでいるそれぞれの情報アイテムに関連付けられているチェックボックスを選択することなどにより、ピンボードコレクションに加えることができる。このアクションは、「ピン止め」と一般に呼ぶことができる。そのため、ファシリティを使用することで、ユーザは、チェックボックスを選択することなどにより、単一アクションを使用して検索結果をドキュメントに追加することができる。チェックボックスは、ユーザがオーサリングモードに入っていない場合には表示できない。
【００３２】
結果領域内にリスト表示されるそれぞれの情報アイテムは、テキスト領域１２２などのテキスト領域を伴うこともできる。作成者は、情報アイテムに関係する注釈をテキスト領域内に追加することができる。例えば、作成者は、図中の締め切り済み取引に関係する電子メールに関連付けられている注釈「Ｇｏｏｄ  ｅｘａｍｐｌｅ」をテキスト領域に追加している。
【００３３】
様々な実施形態において、ファシリティは、抜粋（例えば、抜粋のスキーマに含まれるデータ）を使用して、結果領域に書き込む。例えば、ファシリティは、電子メールの抜粋を使用して、電子メール結果領域に書き込むことができる。
【００３４】
アプリケーションの表示結果ページまたは他のユーザインターフェース要素は、さらに、そのクエリで見つからなかった追加情報アイテムを作成者が追加するオプションを備えることができる。例えば、検索ページに、ａｄｄボタン１２４を備えることができる。ａｄｄボタンを選択することにより、作成者は、添付を電子メールメッセージに追加するのと類似の方法で追加の情報アイテムを指定することができる。ファシリティは、さらに、アプリケーションにより識別された情報アイテムをピンボードコレクションにピン止めするためのアプリケーションプログラムインターフェース（ＡＰＩ）も備える。このＡＰＩを使用することで、他のアプリケーション（例えば、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ）は、ネイティブドキュメントをピンボードコレクションに直にピン止めするためのユーザインターフェースを実装することができる。例えば、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤのツールバーに、「Ｐｉｎ」ボタンとドキュメントをピン止めできる許可をユーザが修正したピンボードコレクションのリストを表示するドロップダウンリストを持たせることが可能である。このボタンを選択すると、アクティブなＭＩＣＲＯＳＯＦＴ  ＷＯＲＤドキュメントは、選択されたピンボードにピン止めされる。他の実施例では、ユーザは、情報アイテムを選択して、その情報アイテムを他のピンボードコレクションにピン止めすることができる。
【００３５】
様々な実施形態において、ファシリティは、ピンボードコレクション用のオーサリングモードを備える。表示結果ページが編集モードになっている場合、ユーザは、注釈を追加する、検索アイテムをピン止めするといったことを実行することができる。ファシリティが、ピンボードコレクションを作成者が共有したときなどに編集モードを終了すると、ユーザは、もはや、情報アイテムの注釈を作成したり、ピン止めしたりすることができなくなる。様々な実施形態において、いくつかの編集機能は、オーサリングモードを終了した後に利用可能にすることができる。
【００３６】
様々な実施形態において、ファシリティを使用することで、受信者は、他の検索プロバイダを使用することに加えて、ピンボードコレクションに関連付けられている情報アイテム内で検索を実行することができる。例えば、受信者がクエリ「ｓａｌｅｓ  ｐｉｔｃｈ」でピンボードコレクションを受け取ると仮定する。次いで、受信者は、そのピンボードコレクション内の情報アイテム内で「Ｊａｎｅ」を検索して、「Ｊａｎｅ」に関連付けられている情報アイテムを特定することができる。この追加の検索の結果として見つかった情報アイテムは、グループにまとめることができるが、ピンボードコレクション内に現れる他の情報アイテムは、別にグループ化することができる。
【００３７】
図２は、様々な実施形態におけるファシリティにより提供される表示結果ページを例示する表示画面である。例示されている表示結果ページ２００は、図１に例示されている表示結果ページ１００に類似しているが、図１とは異なり、アドレスルックアップボタン２０２、アドレステキスト領域２０４、ｓｈａｒｅボタン２０６、およびｓａｖｅボタン２０８をさらに備えている。
【００３８】
アドレスルックアップボタン２０２は、作成者によって選択され、これにより、作成されたピンボードコレクションに対する受信者のリストを選択することができる。例えば、ファシリティでは、ＭＩＣＲＯＳＯＦＴ  ＡＣＴＩＶＥ  ＤＩＲＥＣＴＯＲＹ、電子メールサーバに対応するグローバルアドレスリスト、個人連絡先リスト、または受信者のディレクトリを使用することができる。様々な実施形態において、ファシリティは、受信者に関係するアクセス権を示す機能を含む、受信者を選択するためのユーザインターフェースを備えることができる。アクセス権について、以下でさらに詳しく説明する。
【００３９】
ファシリティは、アドレステキスト領域２０４に選択された受信者のリストを表示することができる。ファシリティは、アドレステキスト領域を使用してユーザから受信者のリストを受け取ることもできる。図では、Ｂｒｉａｎ  Ｂｅａｎが受信者として選択されている。
【００４０】
作成者は、ｓｈａｒｅボタン２０６を選択して、作成されたピンボードコレクションを指示された受信者と共有することができる。作成者は、ｓａｖｅボタン２０８を選択して、ピンボードコレクションを、受信者と共有するのではなく保存することができる。
【００４１】
様々な実施形態において、ファシリティは、チェックボックス１２０を選択することなどにより、作成者がいくつかの情報アイテムを選択したときに図２に関して上で述べたユーザインターフェース要素を追加することができる。他の実施形態では、ファシリティは、検索ページ１００を表示するときにこれらのユーザインターフェース要素を備えることができる。さらに他の実施形態では、ファシリティは、アクションがメニュー内に現れることに応答するなどして、作成者により要求されたときにこれらのユーザインターフェース要素を備えることができる。
【００４２】
図３は、様々な実施形態におけるファシリティにより提供される表示結果ページを例示する表示画面である。このディスプレイ画面の図は、作成者により共有され、作成者（例えば、Ｂｒｉａｎ  Ｂｅａｎ）によって選択された受信者が受け取った表示結果ページ３００を例示している。例示されている表示結果ページは、表示結果ページ２００に現れる結果の一部を欠いており、さらにピンボードコレクション結果３０２、ピンインジケータ３０４、および二次ピンボードコレクションインジケータ３０６を示すことを除き、図２に例示されている表示結果ページ２００に類似している。例示されている表示結果ページは、チェックボックスなど、オーサリング機能がないことにより示されるように、オーサリングモードになっていない。様々な実施形態において、他の機能を追加または削除することができる。例えば、様々な実施形態において、「Ｔｏ．．．」ボタン、「Ｓｈａｒｅ．．．」ボタン、および「Ｓａｖｅ．．．」ボタンを削除することができる。
【００４３】
チェックボックスを選択すると、例示されている表示結果ページは、作成者がピン止めしていなかった情報アイテムを表示しない。例えば、Ｊｉｍ  Ｊｏｎｅｓからの電子メールは、作成者によって選択されていないため、表示結果ページに現れない。同様に、「Ｌｕｎｃｈ  ｗｉｔｈ  Ｊｏｈｎ」アポイントメントおよび「Ｏｂｊｅｃｔｉｖｅｓ」ドキュメントは、表示結果ページに表示されない。
【００４４】
例示されているピンボードコレクション結果領域１１２には、ピンボードコレクション結果３０２が入る。様々な実施形態において、すでに格納されている、または受け取ったピンボードコレクションにリストされている情報アイテムも表示されている表示結果ページに関連付けられているピンボードコレクションのクエリに適しているとファシリティが判断した場合に、追加のピンボードコレクション結果のリストが表示される。さらに、図１に関して上ですでに述べているように、表示結果ページは、ピンボードコレクションのリストをそれらのピンボードコレクションがクエリに関連している場合に表示することが可能であり、これらのピンボードコレクションは、さらに、作成者により選択された場合にピンボードコレクション結果内にも表示される。そのため、ファシリティは、ピンボードコレクションを組み合わせる、つまり「入れ子にする」ことができる。
【００４５】
ピンインジケータ３０４は、ピンボードコレクションを作成するときに作成者により選択された（例えば、「ピン止め」された）情報アイテムの指示を受信者に与える。ピンボードコレクションは、動的に作成されるため、追加の情報アイテムは、表示結果ページ内に表示できるが、これらは関連するピンインジケータを持たない。したがって、受信者または作成者は、ピン止めされた情報アイテムをファシリティにより動的に追加された他の情報アイテムからたちどころに区別することができ、これにより、ユーザは、どの情報アイテムがより高い関連性を有するか、またはどの情報アイテムが「新しい」かをすぐに判定することができる。様々な実施形態において、ファシリティは、ピン止めされた情報アイテムをグループにまとめ、他の情報アイテムを他のグループにまとめる。そのため、単一のピンボードコレクションを使用して、フィルタ処理された情報アイテム集合をピンボードコレクションのクエリに一致する追加の情報アイテムと組み合わせることができる。さらに、複数の検索プロバイダ（元のピンボードコレクション自体を含む）は、アイテム検索に関係する情報を提供することができる。この情報は、重複情報を含まずにピンボードコレクションに表示するために単一情報に圧縮することができる。例えば、一方の検索プロバイダは、アイテムのタイトルおよび説明を提供するが、他方の検索プロバイダは、特定のユーザの注釈を供給することができる。表示される情報アイテムは、タイトル、説明、および注釈を示す。そのため、ファシリティは、情報アイテムが複数のソースからの情報を含む機能を備える。ファシリティは、情報アイテムのクエリを実行し、一意的な属性を保存し、重複する属性を削除することにより「オーバーレイ」を作成することができる。
【００４６】
二次ピンボードコレクションインジケータ３０６は、ピンボードコレクション結果領域にリスト表示されているピンボードコレクションに関連付けられている情報アイテムを示す。ユーザがピンボードコレクション結果を選択すると、ファシリティは、対応するピンボードコレクションインジケータを切り換える。いくつかの実施形態では、ユーザがピンボードコレクション結果を選択したときに、ファシリティは、選択されたピンボードコレクション結果に関連付けられている情報アイテムを結果領域に表示させる。例えば、「Ｄｅａｌｓ」ピンボードコレクション結果は、例示されている実施形態において示されているピンボードコレクション結果領域内に表示される。Ｄｅａｌｓピンボードコレクション結果の左にある記号（この実施形態では丸で囲まれたマイナス記号）は、ピンボードコレクション結果に関連付けられている情報アイテムが二次ピンボードコレクションインジケータとともに示されることを意味する。例えば、Ｊａｎｅ  Ａｄａｍｓからの電子メールは、二次ピンボードコレクションインジケータに関連付けられている。ユーザがこのピンボードコレクション結果を選択した場合、異なる記号がピンボードコレクション結果の左に表示されうる。例えば、例示されている実施形態では、プラス記号が表示されうる。ピンボードコレクション結果が切り換えられたときに、ファシリティは、二次ピンボードコレクションインジケータを削除することができる。例えば、ファシリティは、Ｊａｎｅ  Ａｄａｍｓからの電子メールに関連付けられている二次ピンボードコレクションインジケータを削除することができる。様々な実施形態において、テキスト領域１０６およびｓｅａｒｃｈボタン１０８は、ドキュメントのキャンパス内に表示される（例えば、検索結果と同じウィンドウペイン内）。
【００４７】
様々な実施形態において、ピンボードコレクションは、さらに、他の情報アイテムを表示することができる。例えば、ピンボードコレクションは、作成者または他の受信者により追加されたアイテムを表示することができる。ユーザは、一領域を「折り畳む」などによりそのようなアイテムを表示から一時的に削除することができる。ユーザは、例えば、最小化または非表示ボタン（図に示されていない）を選択することにより、領域を折り畳むことができる。
【００４８】
したがって、検索結果は、「文脈で」表示されるが、これは、ユーザがピンボードコレクションなどのドキュメントに検索エントリを追加するために他のアプリケーションまたはウィンドウを開く必要がないことを意味する。
【００４９】
作成者がピンボードコレクションを受信者と共有する場合、受信者は、ピンボードコレクションの通知を受け取ることができる。例えば、受信者は、電子メールを介して共有ピンボードコレクションの指示を受け取ることができる。電子メールは、ピンボードコレクションに対応するリンクまたはＵＲＬを含むことができる。受信者がリンクを選択すると、ファシリティは、インターネットブラウザなどに、ピンボードコレクションに対応する共有表示結果ページを表示する。表示される表示結果ページは、作成者がピン止めしたすべての情報アイテムを含む。表示される表示結果ページは、さらに、作成者がピンボードコレクションを共有した相手であるすべての受信者の指示も与えることができる。
【００５０】
表示結果ページは、関連付けられたピンボードコレクションを使用することにより表示されたときに動的に値を埋められる。そのため、作成者がピンボードコレクションを作成した後でも、ピンボードコレクションの作成者（または受信者）の更新は、常に受信者から利用可能である。その結果、作成者は、受信者と共有されたピンボードコレクションに関連付けられている情報アイテムを追加、削除、または修正することができる。
【００５１】
受信者は、受信されたピンボードコレクションを他の受信者と共有することができる。受信者が表示結果ページを他の受信者と共有できるかどうかは、以下でさらに詳しく説明されるように、作成者により制御される。受信者がピンボードコレクションを他の受信者と共有する場合、ファシリティは、従来の電子メールシステムと異なり、他のユーザに対する表示結果ページまたはそのコンテンツを複製しない。その代わりに、表示結果ページは、下流の受信者が表示結果ページを開いたときに動的に再作成される。
【００５２】
受信者が、表示結果ページに現れる情報アイテムに関連付けられているリンクを選択すると、選択された情報アイテムに関連付けられているソフトウェアアプリケーションが呼び出される。次いで、ソフトウェアアプリケーションは、対応する情報アイテムをロードして表示する。例えば、表計算ソフトウェアがピンボードコレクションにリンクされている場合、表計算ソフトウェアアプリケーションは、リンクされている表計算ソフトウェアを開く。
【００５３】
アクセスの制御
受信者がピンボードコレクションに表示される情報アイテムへのアクセス権を有するかどうかは、多数の要因により決まる。第１に、ピンボードコレクションへのアクセスは、ピンボードコレクションの作成者により制御されうる。すでに述べたように、ピンボードコレクションの作成者は、ピンボードコレクションに関連付けられている特権を指定することができる。例えば、作成者は、ピンボードコレクションの受信者がピンボードコレクションを他のユーザと共有できることを示すことができる。それとは別に、作成者は、受信者がピンボードコレクションを他の受信者と共有できないことを示すことができる。ピンボードコレクションの作成者が、ピンボードコレクションを受信者が共有することを許可している場合、他の受信者からピンボードコレクションを受け取る受信者（「下流の受信者」）は、アクセス権が与えられた情報アイテムを表示することのみできる。
【００５４】
第２に、受信者は、ファイルシステム、データベース、またはファシリティに関連付けられている他のデータソースを介して受信者がアクセス権を有している情報アイテムを表示することしかできない。例えば、ピンボードコレクションに２つの情報アイテムへのリンクが含まれ、ネットワーク管理者が他の情報アイテムへのアクセス権を明示的に与えていないため受信者が情報アイテムのうちの１つにしかアクセスできない場合、受信者は、受信者がアクセス権を有している情報アイテムのみを表示できる。しかし、一般的には、ファシリティは、アクセス制御許可を管理する。
【００５５】
第３に、作成者は、ピンボードコレクション内に現れる情報アイテムに関連付けられている特権を指定することもできる。例えば、作成者は、ピンボードコレクション内に現れるいくつかの情報アイテムが他の受信者と共有されないことを指示することができる。次いで、受信者がピンボードコレクションを他の受信者と共有しようとした場合も、ファシリティは、そのように指示された情報アイテムを共有させない。
【００５６】
ピンボードコレクション内に（例えば、ピン止めを介して）リスト表示されているピンボードコレクションは、ピンボードコレクションが共有されたときにこれらの様々な特権を継承または伝播することができる。したがって、作成者は、アクセスに対しきめの細かい制御を行うことができる。
【００５７】
様々な実施形態において、このファシリティを利用することで、受信者は、（１）レスポンスを作成者と共有すること（「プライベートレスポンス」）、または（２）作成者を含む、作成者がピンボードコレクションを共有したすべての受信者とレスポンスを共有すること（「パブリックレスポンス」）のいずれかより受け取ったピンボードコレクションに応答することができる。受信者がパブリックレスポンスを送信した場合、この応答は、受信者が応答するピンボードコレクションから特権を受け取る。その結果、作成者が受信者を元のピンボードコレクションに追加した場合に、追加された受信者は、元のピンボードコレクションにアクセスできるだけでなく、すべてのパブリックレスポンスにもアクセスできる。この継承は、ピンボードコレクションが受信者により共有されないという作成者の指示により制限されうる。
【００５８】
これらのパブリックレスポンスおよびプライベートレスポンスは、それ自体がピンボードコレクションである。これらは、応答対象のピンボードコレクションからアクセス権を「継承」させる属性により区別される。ユーザは、領域１１３に表示されているような関係するピンボード結果を表示することにより、ピンボードコレクションへのすべてのレスポンスを表示することができる。ユーザは、上述の「オーバーレイ」機能を使用して元のピンボードコレクションとともにメッセージレスポンスのピンボードコレクション内に含まれる情報アイテムを表示することができる。
【００５９】
作成者または受信者は、ピンボードコレクションを明示的に関係付けるか、または元のピンボードコレクションに応答することによりピンボードコレクションを関係付けることができる。ピンボードコレクションを明示的に関係付けることにより、ファシリティは、会話スレッド表示機能を使用可能にするが、これについては以下でさらに詳しく説明する。表示結果ページを取り出すときに、ファシリティは、関係するピンボードコレクションまたはレスポンスのリストを表示することができる。ファシリティは、さらに、例えば、重複していない情報をオーバーレイすることにより、関係するピンボードコレクションまたはレスポンスを処理することもできる。
【００６０】
十分なアクセス制御許可を持つ作成者または受信者であれば、受信者をスレッドに追加するなどのために、共有されているピンボードコレクションを修正することができる。追加された受信者がスレッドを表示した場合、追加された受信者は、関連するすべての情報アイテムおよび注釈を見ることができる。そのため、例えば、追加受信者を、スレッド上で素早く、簡単に最新状態にすることができる。追加受信者は、管理者によるさらなる介入なしで関連するすべてのドキュメントへのアクセス権を受け取る。例えば、プロジェクトチームの新規メンバーに、安全で、直接な方法によりプロジェクトのドキュメントおよびディスカッション内容のすべてに対しアクセス権を素早く与えることができる。ピンボードコレクションを新規追加された受信者と共有する人は、プロジェクトのドキュメントを検索すること、管理者にアクセス制御許可の変更を要求することなどを行う必要がなくなる。単一のアクション（例えば、ｓｈａｒｅボタンを選択すること）を介してピンボードコレクションを単に共有するだけで、共有ユーザは、新規に追加された受信者を最新状態にすることができる。
【００６１】
ファシリティは、ファイルシステム、データベース、または他の場所に格納されているオブジェクトに関係するアクセス制御許可を用いて機能しうる。例えば、情報アイテムがデータベースから取り出されると、ファシリティは、データベースからアクセス制御許可を取り出す。この情報アイテムが共有されたときに、ファシリティは、データベース中のアクセス制御許可を更新することができる。したがって、ファシリティは、様々な実施形態において低レベルデータベースアクセス制御許可制御を行う。
【００６２】
会話スレッド表示
ファシリティで利用できる会話スレッド表示のモデルは、従来システムよりも優れている。会話スレッド表示は、情報アイテムを他の情報アイテムに関連付ける一手段である。電子メール環境または電子掲示板などの従来システムでは、メッセージは、一般的に、１つの会話（例えば、スレッド）のみに属する。さらに、例えば、複数の人々が特定のレスポンスに応じることができ、これらのレスポンスがすべて、単一メッセージ中にまとめて表示されるわけではないため、会話スレッド全体をユーザに転送することができない。その結果、ユーザは、会話全体を表示するために、それぞれのレスポンスを一度に１つずつ開く必要がある場合がある。
【００６３】
ファシリティは、それぞれのピンボードコレクションが適宜複数の会話スレッドを含むことを可能にする。それぞれのそのような会話スレッドでは、ピンボードコレクションを使って複数の情報源を意味のある形でマージすることができる。例えば、ピンボードコレクションは、それぞれのアイテムが異なる情報源に由来する複数の情報アイテムを含むことができる。それぞれの情報アイテムは、その情報アイテムに関係する注釈を備えることができる。いくつかの実施形態では、ユーザは、情報アイテムがどのピンボードコレクション上に現れるかに応じ情報アイテムに対し異なる注釈を与えることができる。ピンボードコレクションが受信者と共有されると、受信者は、受信者の許可に基づいてすべての情報アイテムをおよび注釈の指示を受け取る。ファシリティは、指示を通知として（例えば、メッセージ類似の製品、電子メールなどを介して）、または受信者が見るピンボードコレクション内のアイテムとして指示を与える。そのため、受信者は、共有されるピンボードコレクションに関連付けられているすべての会話スレッドを表示することができる。ファシリティは、複雑な会話スレッド表示を行えるように、アクセス制御許可のオーバーレイおよび計算および適用などの様々な機能を使用する。
【００６４】
ピンボードコレクションおよび１つまたは複数のオーバーレイされたもしくは関係するピンボードコレクションから取り出された情報アイテムおよび注釈は、スレッド表示会話を形成する。さらに、アクセスはファシリティにより制御されるため、受信者は、受信者がアクセスできる会話の一部分しか見られない。ファシリティは、一意的な識別子を持つ行すべてにクエリを実行するので、重複する属性エントリを削除し、一意的なエントリを「オーバーレイ」することができる。
【００６５】
会話スレッド表示機能の他の態様において、情報アイテムおよびそれに加えられた注釈は、受信者と選択的に共有される。例えば、ユーザＷがピンボードコレクションを作成し、いくつかの情報アイテムに注釈を入れ、その後、作成されたピンボードコレクションをユーザＸおよびＹと共有すると仮定する。次に、ユーザＸが、ピンボードコレクションにさらなる注釈を追加し、更新されたピンボードコレクションをユーザＷとプライベートレスポンスで共有する。また、ユーザＹは、第３の注釈を情報アイテムに追加し、このレスポンスをユーザＸおよびＷと共有すると仮定する。ユーザＷが、ピンボードコレクションを第４のユーザと共有する場合、第４のユーザは、ユーザＷの元のピンボードコレクション、およびＸのプライベートレスポンスではなくＹのパブリックレスポンスを見ることができる。これは、ファシリティが、ユーザによって示されたアクセス制御許可を強制し、ピンボードコレクションを表示するときに、上述の「オーバーレイ」機能を使用することによりデータをマージし、重複データを削除するために起こる。
【００６６】
情報アイテムおよびその注釈は、複数のスレッドで表示することができる。さらに、情報アイテムに関係する注釈は、スレッド特有のものとすることができる。例えば、特定のスレッドを見るのに不十分なアクセス制御許可を持つユーザだと、そのスレッドの注釈を見ることができない。
【００６７】
情報アイテムの収集
ファシリティを使用すると、情報アイテムを様々な方法でピンボードコレクション内に収集することができる。ユーザは、手動で、情報アイテムをピンボードコレクションに追加することができる。例えば、ユーザは、検索を実行した後、アプリケーション内で情報アイテムを表示したり編集したりしている間、情報アイテムコレクションを表示している間などに、１つの情報アイテムを１つのコレクションにピン止めすることができる。次に、具体的な実施例として、ユーザは、例えば、メニューコマンドまたはツールバーボタンを選択し、その後既存のピンボードコレクションを選択するか、または新しいピンボードコレクションを指示することにより、ユーザがオフィス生産性アプリケーションにおいて表示または修正するドキュメントをピンボードコレクションに追加することができる、ユーザは、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）  ＥＸＰＬＯＲＥＲツールを使用するなどの、ファイルフォルダ階層をナビゲートするときに、ファイルまたはフォルダをピンボードコレクションに追加することができる、ユーザは、「プレイリスト」内のすべてのメディア、フォルダ内のすべてのファイル、または電子メールもしくは電子掲示板会話内のすべてのメッセージが、ピンボードコレクション内に入れるべき情報アイテムであることを指示することができる、といったことが挙げられる。いくつかの実施形態では、ユーザは、ＧＯＯＧＬＥ  ＳＥＡＲＣＨまたはＭＩＣＲＯＳＯＦＴ  ＳＥＡＲＣＨなどの、ファシリティの一部ではない検索プロバイダにより提供された検索結果から１つまたは複数の検索結果リンクを追加することができる。例えば、ユーザは、リンクをコピー＆ペーストする、リンクをドラッグ＆ドロップするなどの方法でそれらのリンクを追加することができる。ユーザは、さらに、同様の方法で、Ｗｅｂサイトアドレスなどの他のＵＲＬを追加することもできる。ユーザは、次いで、ファシリティの外部の何らかの場所から追加されたそれらのリンクのどれかに注釈を付けることができる。
【００６８】
ファシリティにより、情報アイテムをピンボードコレクションに自動的に追加することができる。例えば、ファシリティは、ＲＳＳサイトまたはＲＳＳサイトのグループからＲＳＳフィードをプログラムにより追加するためのＡＰＩを備えている。様々な実施形態において、ファシリティのＡＰＩを使用することにより、アプリケーションでＲＳＳサイト、ＲＳＳフィード、またはＲＳＳサイト、ＲＳＳフィード、またはＲＳＳアイテムの１つまたは複数の属性を指定し、例えば、これらのうちのどれをピンボードコレクションに追加すべきかについてフィルタ処理を行うことができる。さらに他の実施例では、ファシリティは、情報アイテムの実質的にどのようなグループ（例えば、様々な基準を満たす電子メールスレッド）であってもピンボードコレクションおよび関連する情報アイテムに変換するＡＰＩを備える。
【００６９】
図４は、情報アイテムを収集するため様々な実施形態におけるファシリティにより使用されるｃｏｌｌｅｃｔ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｉｔｅｍｓルーチンを例示する流れ図である。このルーチンは、クエリの指示をパラメータとして受け取るブロック４０２から始まる。例えば、このルーチンは、作成者がクエリテキスト領域内にクエリとして入力したテキストの指示を受け取ることができる。
【００７０】
ブロック４０４で、ルーチンは、検索プロバイダと連携するようにファシリティが構成されている検索プロバイダを識別する。例えば、ルーチンは、レジストリから検索プロバイダのリストを決定することができる。上述のように、ファシリティは、インターネット検索エンジン、デスクトップ検索エンジンなどの様々な検索プロバイダと連携する。プロバイダは、さらに、例えば、ファシリティに関連付けられている一次検索ページ、一次検索ページによって指示された検索プロバイダ、および追加のピンボードコレクションなどのクエリで指定された追加の検索プロバイダを含むことができる。
【００７１】
ブロック４０６と４１８との間で、ルーチンは、受け取ったクエリを使用して検索し、結果をデータベースに格納するように識別された検索プロバイダに要求する。ブロック４０６で、ルーチンは、検索プロバイダを選択する。
【００７２】
ブロック４０８で、ルーチンは、受け取ったクエリを使用して選択された検索プロバイダに検索を要求する。検索プロバイダは、検索プロバイダに検索を実行するよう要求するためにソフトウェアアプリケーションが使用することができる異なるアプリケーションプログラムインターフェースを備えることができる。これにより、ファシリティは、様々なアプリケーションプログラムインターフェースとともに機能する。様々な実施形態において、ファシリティは、ファシリティのアプリケーションプログラムインターフェースと検索プロバイダのアプリケーションプログラムインターフェースとの間に抽出層を備えることができる。これが備えられると、ソフトウェア開発者は、ファシリティと検索プロバイダとの間の通信を簡単に行えるようにするユーティリティプログラムまたはソフトウェアモジュールを容易に書くことができる。
【００７３】
検索プロバイダは、生成される結果の種類に応じて分類されることができる。例えば、検索プロバイダは、固定された結果、フィルタ処理された結果、または計算された結果を出力することができる。固定された結果を出力する検索プロバイダは、一般的に常に、クエリに関連付けられている情報アイテムの同じ集合を返す。フィルタ処理された結果を出力する検索プロバイダは、一般的に、情報アイテムの集合を様々な基準に応じてフィルタ処理された情報アイテムのより大きな集合から取り出して提供する。計算された結果を出力する検索プロバイダは、一般的に、他の検索プロバイダにより提供される情報アイテムに基づくなど、計算に基づく結果を提供する。
【００７４】
検索プロバイダは、様々なプロトコルまたは言語を使用して、情報アイテムを取り出すことができる。例えば、検索プロバイダは、ハイパーテキスト転送プロトコル、構造化照会言語、シンプルオブジェクトアクセスプロトコルなどを使用することができる。検索プロバイダは、これらのプロトコルまたは他のプロトコルを使用して、検索結果を出力することができる。多くの場合、検索プロバイダは、ＸＭＬで結果を出力する。
【００７５】
ブロック４１０で、ルーチンは、重複する情報アイテムを削除する。様々な実施形態において、このルーチンは、ＵＲＬなどのコンテンツまたは識別子をチェックすることにより情報アイテムが重複であるかどうかを判定する。ファシリティは、複数の検索プロバイダから受け取った重複するアイテムを削除するか、またはマージすることができる。検索プロバイダは、検索プロバイダにより特定された情報アイテムを識別するためのＵＲＬを提供することができる。複数のプロバイダがＵＲＬに関係する情報を提供する場合、ファシリティは、検索プロバイダが重複する情報を提供したかどうかを判定する。そうであれば、ファシリティは、重複する情報を削除する。それとは別に、複数の検索プロバイダが、ＵＲＬに関係する異なる情報を提供する場合、ファシリティは、異なる情報を組み合わせて、異なる情報を含む「オーバーレイ」結果を出力する。例えば、一方の検索プロバイダがタイトルおよび説明属性を提供し、他方の検索プロバイダが注釈およびタイトル属性を提供する場合、オーバーレイ機能は、タイトル、説明、および注釈属性を提供する。様々な実施形態において、ファシリティは、すべての検索プロバイダが結果を出力した後、重複する情報を削除するか、または異なる情報をマージすることができる。このような場合、ブロック４１０のロジックは、ブロック４０６〜４１８のループの外で実行することができる。
【００７６】
ブロック４１２で、ルーチンは、検索プロバイダにより返された情報アイテムからデータを取り出し、取り出されたデータを、ファシリティが取り出されたデータを「正規化する」ために使用する内部形式に変換する。例えば、ルーチンは、情報アイテムに関係する抜粋を形成するのに十分な情報を取り出すことができる。様々な実施形態において、ファシリティは、ＲＳＳを情報アイテムに関係するデータを格納するための内部形式として使用する。
【００７７】
クロック４１４で、ルーチンは、変換された情報をデータベースに格納する。様々な実施形態において、データベースは、情報アイテムに関連付けられているＵＲＬに基づいてソートされる。データベースエントリをＵＲＬでソートすることにより、複数のプロバイダからの情報アイテムを、必要に応じて、グループにまとめるか、排除することができる。
【００７８】
ブロック４１６で、ルーチンは、取り出された情報アイテムに対する優先度を計算し、それらの優先度をデータベース内に格納する。例えば、ルーチンは、クエリ内の語が情報アイテム内に見つかった回数に基づいて優先度を計算することができる。ファシリティは、当業で知られている優先度または関連性を計算する様々な方法のどれかを使用することができる。様々な実施形態において、ファシリティは、優先度を動的に計算する。例えば、ファシリティは、すべての検索プロバイダにより返された情報アイテムを組み合わせた後に優先度を計算することができる。
【００７９】
ブロック４１８で、ルーチンは、他のプロバイダを選択する。ファシリティが動作するように構成されるプロバイダがそれ以上ない場合、ルーチンは、ブロック４２０のところから続き、そこでルーチンが戻る。そうでない場合、ルーチンはブロック４０６から続く。
【００８０】
様々な実施形態において、ファシリティを使用することで、ユーザは検索プロバイダの集合の部分集合を選択することができる。例えば、作成者または受信者は、情報アイテムを検索するためにどの検索プロバイダを使用すべきかを識別することができる。ファシリティは、さらに、追加の検索プロバイダを「発見」することもできる。例えば、検索の結果から、他の検索プロバイダを登録し、使用するための命令を含むドキュメントを形成することができる。ファシリティは、これらの検索プロバイダを動的にインストールし、アクティブ化することができる。それとは別に、ユーザは、インストールし使用すべき検索プロバイダを指示することができる。検索プロバイダは、さらに、検索時に使用すべき他の検索プロバイダを指示することもできる。
【００８１】
様々な実施形態において、ファシリティは、検索クエリに基づきいくつかの検索プロバイダを自動的に選択することができる。例えば、検索クエリが「ｍｏｖｉｅ」を含む場合、ファシリティは、オンライン映画レンタル一式により与えられる検索プロバイダを自動的に選択することができる。
【００８２】
様々な実施形態において、情報アイテムの場合とまったく同様に、検索プロバイダを他のユーザと共有することができる。受信者が検索プロバイダを受け取ると。ファシリティは、受信者の使用に関して検索プロバイダを登録またはアクティブ化することができる。
【００８３】
図５は、ピンボードコレクション（ｐｉｎｂｏａｒｄ  ｃｏｌｌｅｃｔｉｏｎｓ）を識別する統一リソースロケータを取り扱うため様々な実施形態におけるファシリティにより使用されるｈａｎｄｌｅ＿ＵＲＬ  ｒｏｕｔｉｎｅを例示する流れ図である。このルーチンは、ＵＲＬの指示をパラメータとして受け取るブロック５０２から始まる。
【００８４】
ブロック５０４で、ルーチンは、ＵＲＬがピンボードコレクションに関係しているか、または他の何らかのドキュメントに関係しているかを判定する。ＵＲＬがピンボードコレクションに関係している場合、ルーチンはブロック５０６から続く。そうでない場合、ルーチンはブロック５１２から続く。様々な実施形態において、ファシリティは、ＵＲＬがピンボードコレクションに関係していると判定した後、ｈａｎｄｌｅ＿ＵＲＬルーチンを呼び出す。このような場合、ルーチンは、ブロック５０２から始まった後に、ブロック５０６から続く。
【００８５】
ブロック５０６で、ルーチンは、ｃｒｅａｔｅ＿ｐｉｎｂｏａｒｄ＿ｃｏｌｌｅｃｔｉｏｎサブルーチンを呼び出し、ＵＲＬの受け取った指示をサブルーチンに渡す。ｃｒｅａｔｅ＿ｐｉｎｂｏａｒｄ＿ｃｏｌｌｅｃｔｉｏｎサブルーチンについては、図６に関して以下でさらに詳しく説明する。様々な実施形態において、このルーチンは、サブルーチンを呼び出すときにＵＲＬの一部を渡すことができる。例えば、ルーチンは、ＵＲＬのパラメータ部分を渡すことができる。様々な実施形態において、ＵＲＬのパラメータ部分は、疑問符の後のＵＲＬ文字列の部分である。
【００８６】
ブロック５０８で、ルーチンは、適宜、ブロック５０６で呼び出されたサブルーチンにより返される作成されたピンボードコレクションを変換する。例えば、ルーチンは、受け取ったピンボードコレクションをハイパーテキストマークアップ言語（「ＨＴＭＬ」）に変換することができる。様々な実施形態において、ｃｒｅａｔｅ＿ｐｉｎｂｏａｒｄ＿ｃｏｌｌｅｃｔｉｏｎサブルーチンは、ピンボードコレクションをＸＭＬで返す。このような場合に、受け取ったＸＭＬをＨＴＭＬに変換し、インターネットブラウザなどを使用して、ピンボードコレクションを人が読める形式にしてユーザに提示するようにすると有益である。様々な実施形態において、ＸＳＬまたはＡＳＰは、ＸＭＬをＨＴＭＬに変換するために使用される。様々な実施形態において、ルーチンは、作成されたピンボードコレクションを他の何らかの形式のドキュメントに変換することができる。
【００８７】
ブロック５１０で、ルーチンは、ピンボードコレクションを返す。返されるピンボードコレクションは、ＸＭＬ、ＨＴＭＬ、または他の何らかの形式とすることができる。
【００８８】
ブロック５１２で、ルーチンは、ＵＲＬの通常の取り扱いを実行する。例えば、このルーチンにより、Ｗｅｂサーバはドキュメントを返すことができる。ブロック５１４で、ルーチンは戻る。
【００８９】
図６は、ピンボードコレクションを作成するため様々な実施形態におけるファシリティにより使用されるｃｒｅａｔｅ＿ｐｉｎｂｏａｒｄ＿ｃｏｌｌｅｃｔｉｏｎルーチンを例示する流れ図である。このルーチンは、ＵＲＬの指示をパラメータとして受け取るブロック６０２から始まる。様々な実施形態において、このルーチンは、ＵＲＬのパラメータ部分などのＵＲＬの一部を受け取ることができる。
【００９０】
ブロック６０４で、ルーチンは、ＵＲＬの受け取ったパラメータとＵＲＬにより指示されるピンボードコレクションに基づいてクエリプランを作成し、実行する。クエリプランは、様々な情報源からの結果を結果セットに加えてクエリを形成する一組のオペレーションである。様々な実施形態において、クエリプランは、データベースサーバにより実行され、情報源からの結果がデータベーステーブルに追加される。様々な実施形態において、テーブルのそれぞれの行は、ピンボードコレクションファイル形式のＸＭＬ要素を表すが、これについて以下でさらに説明する。ファシリティは、ピンボードコレクションに対するすべての検索プロバイダを識別し、識別された検索プロバイダに結果を生成させるコマンドを構成することによりクエリプランを作成する。テーブル内に格納される結果セットの一実施例は、図７に関して以下でさらに詳しく説明される。
【００９１】
様々な実施形態において、ピンボードコレクションを記述するドキュメント（例えば、ファイル）は、ファシリティが検索プロバイダから検索結果を取得し、与えられた結果をファシリティ側で使用する形式に変換するために使用することができる、実行可能コードなどのオブジェクトのロケーションに関する情報を含む。例えば、ピンボードコレクションは、これらの機能を実現するダイナミックリンクライブラリのロケーションおよび名前を含むことができる。
【００９２】
様々な実施形態において、ファシリティは、検索結果を格納するために、ＭＩＣＲＯＳＯＦＴ  ＳＱＬ  ＳＥＲＶＥＲまたはＯＲＡＣＬＥデータベースソフトウェアなどのリレーショナルデータベースシステムを使用する。
【００９３】
様々な実施形態において、ピンボードコレクションは、他のピンボードコレクションまたは検索プロバイダの指示をピン止めされた情報アイテムとして含む。これがその場合であれば、ファシリティは、これらの他のピンボードコレクションおよびピン止め情報アイテムにより参照される情報アイテムをさらに検索するか、または取り出すことができる。ピンボードコレクションが検索プロバイダを参照する場合、ファシリティは、検索プロバイダの指示から関連する情報をダウンロードする。例えば、検索プロバイダは、リンクにより示すことができる。ファシリティは、検索プロバイダにクエリを実行するときにこのダウンロードされた情報を使用して、その結果を、ファシリティが内部で使用する形式に変換する。
【００９４】
様々な実施形態において、情報アイテムまたはピンボードコレクションは、ピンボードコレクション内で「アクティブ」として示すことができる。例えば、検索で、潜在的検索プロバイダが特定された場合、ユーザは、見つかった検索プロバイダをアクティブ化することができる。これがその場合であれば、ファシリティは、アクティブな検索プロバイダを使用して、ピンボードコレクションに関係するさらなる検索を実行することができる。
【００９５】
ブロック６０６で、結果集合がソートされる。例えば、結果セットが、データベーステーブル内でソートされる場合、データベースの行は、テーブルの列のうちの１つの中の値に応じてソートすることができる。
【００９６】
様々な実施形態において、ファシリティは、図７に関して以下で詳しく説明される形式を持つデータベーステーブルを使用する。そのような実施形態では、ファシリティは、以下のようにデータベーステーブルをソートすることができる。データベーステーブルは、最初に、セクションの列でソートされる。それぞれのセクションは、次いで、行に含まれる表示結果ページデータがどこに表示されるかに応じてソートされる。次いで、それぞれのセクション内の行は、高い優先度を持つ情報アイテムほど低い優先度を持つ情報アイテムよりも前に表示されるように優先度でソートされる。それぞれのセクション内の行は、次に、特定のＵＲＬからの情報アイテムがグループにまとめられるようにＵＲＬでソートされる。様々な実施形態において、行は、さらに、行の型、値、およびｉｎｔＶａｌｕｅ列などでソートすることができる。これらの列については、図７に関して以下でさらに詳しく説明する。
【００９７】
ブロック６０８で、ルーチンは、結果セットの行からＸＭＬドキュメントを作成する。様々な実施形態において、ファシリティは、必要と思われる欠損行に対する既定値を挿入する。例えば、ＲＳＳは、フィードおよびエントリを定義するときに様々なＸＭＬ要素を使用することができる。しかし、これらの要素は、検索プロバイダからは与えることができない。そのような場合、ルーチンは、それらの要素に対する既定値を追加することができる。様々な実施形態において、ファシリティは、重複する行を削除することができる。例えば、複数の検索プロバイダは、与えられた情報アイテムについて類似のまたは同一のＸＭＬ要素を提供することができる。スキーマが許すのであれば、ファシリティは、いくつかの重複値を削除することができない。様々な実施形態において、ファシリティは、ＸＭＬノードまたは要素を追加することができる。例えば、ファシリティは、ＸＭＬノードを追加し、ピンボードスキーマを完成させることができる。様々な実施形態において、ファシリティは、ブロック６０８のロジックを実行するときに図４に関して上で説明されているｃｏｌｌｅｃｔ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｉｔｅｍｓルーチンを実行する。
【００９８】
ブロック６１０で、ルーチンは、ＸＭＬドキュメントを返す。
【００９９】
様々な実施形態において、ピンボードコレクションファイル形式は、ＲＳＳに基づく。例えば、ピンボードコレクションファイル形式は、ＲＳＳバージョン２．０に基づくものであってよく、これは、インターネットサイトｂｌｏｇｓ．ｌａｗ．Ｈａｒｖａｒｄ．ｅｄｕ／ｔｅｃｈ／ＲＳＳにおいて説明されている。ＲＳＳは、フィードおよびエントリを定義する。フィードは、情報アイテムのソースを識別する。エントリは、抜粋などの情報アイテムのいくつかの態様を記述する。
【０１００】
様々な実施形態において、ファシリティは、ＲＳＳを拡張する。例えば、ファシリティは、テキストおよび検索プロバイダ要素をＲＳＳフィードに追加することができる。テキスト要素は、クエリを識別するために使用することができる。例えば、ピンボードコレクションを生成するために使用されるクエリをテキスト要素内に格納することができる。検索プロバイダ要素は、ピンボードコレクションに関係する検索プロバイダを特定するためにファシリティにより使用されうる。
【０１０１】
他の実施例では、ファシリティは、さらに、型、抜粋、修正、メモ、アクセス、およびソース要素を含む、様々な要素をＲＳＳエントリに追加することもできる。型要素は、Ｗｅｂページまたは表計算ソフトウェアなどの情報アイテムの型を示すために使用することができる。抜粋要素は、情報アイテムに関係する抜粋を格納するために使用することができる。修正要素は、ピンボードコレクションの最終修正日時を格納するために使用することができる。メモ要素は、ピンボードコレクションまたは情報アイテムに関係する注釈または他の情報を格納するために使用することができる。アクセス要素は、アクセス制御許可（「ＡＣＰ」または単に「許可」）を情報アイテムに関してどのように伝播または継承されるかの指示を格納するために使用することができる。ソース要素は、どの検索をプロバイダが情報アイテムを出力したかを示す情報を格納するために使用することができる。
【０１０２】
図７は、様々な実施形態においてクエリプランを実行するときにファシリティにより作成される結果セットテーブルを例示するテーブルの図である。結果セットテーブル７００は、クエリＩＤ列７０２、セクション列７０４、ＵＲＬ列７０６、行型列７０８、値列７１０、および整数値列７１２を持つ。テーブルは、ピンボードコレクションからの情報アイテムの「ｓｈｒｅｄｄｅｄ」コレクションを含む。
【０１０３】
クエリＩＤ列７０２は、テーブルの行に対応する結果を生成するために使用されるそれぞれのクエリを一意に識別する。ファシリティは、複数の同時クエリを処理することができるため、この一意的識別子を使用して、クエリと結果セットテーブル内の行との間の対応関係を決定することができる。そのため、結果テーブルに対しクエリを実行する場合、ファシリティは、クエリＩＤでフィルタ処理することができる。
【０１０４】
セクション列７０４は、それぞれの行に対応するセクションを識別する。例えば、セクション列は、行がエントリに対するフィードに関係するかどうかを識別する。すでに説明されているように、ピンボードコレクションを定義するファイルの一部分は、フィードエントリに関係している。
【０１０５】
ＵＲＬ列７０６は、行に関係する情報アイテムが取り出されたＵＲＬを識別する。
【０１０６】
行型列７０８は、行に格納されているＲＳＳ要素の型を識別する。例えば、行に対する行型は、タイトル、発行日、説明などとすることができる。
【０１０７】
値列７１０は、行に関連付けられている要素に対する実際のＸＭＬデータを格納する。
【０１０８】
整数値列７１２は、それぞれの行に対する整数表現を格納する。ファシリティは、この列を使用して、行をソートすることができる。例えば、この列は、関連性またはランク情報を格納することができる。ファシリティが結果をソートする場合、この列を使用して、類似の関連性またはランクを持つ情報アイテムをグループにまとめることができる。
【０１０９】
図８は、様々な実施形態においてファシリティが動作しうる好適な環境を例示するブロック図である。環境は、ネットワーク８０４を介して１つまたは複数のクライアントコンピューティングデバイス８０６に接続することができる１つまたは複数のサーバコンピューティングデバイス８０２を備える。
【０１１０】
サーバコンピューティングデバイスは、Ｗｅｂサーバ、電子メールサーバ、データベースサーバ、ファイルサーバ、情報アイテムのソースなどとすることができる。様々な実施形態において、サーバは、複数のサービスまたはアプリケーションを同時に提供することができる。
【０１１１】
ネットワークは、インターネット、イントラネット、または無線または有線ネットワークを含むデータ通信ネットワークの任意の組合せとすることができる。
【０１１２】
クライアントコンピューティングデバイスは、作成者または受信者などのユーザが、ピンボードコレクションを作成、表示、または操作するために使用することができる。
【０１１３】
様々な実施形態において、ファシリティは、複数のサーバを使用することができ、それぞれのユーザは、複数のサーバのうちの１つに関連付けられうる。しかし、ユーザは、どのサーバに関連付けられるかを意識する必要はない。ファシリティは、アクセス権が与えられているすべての情報にユーザがアクセスできることを保証する。ファシリティは、ピンボードコレクションにピン止めされている情報アイテムが、ユーザが関連付けられているサーバのドメインから使用不可能である場合などに、情報をレプリケートすることができる。レプリケーション機能について、以下でさらに詳しく説明する。ユーザがファシリティに検索を実行するよう要求すると、関連付けられているサーバは、ユーザが検索要求をファシリティの他のサーバに送った場合でも検索を実行することができる。ファシリティにより格納されているピンボードコレクションおよび情報アイテムは、一般的に、関連付けられているサーバに関連付けられている記憶装置デバイスにも格納される。
【０１１４】
図９は、様々な実施形態において図８のサーバのいくつかの態様をさらに詳細に例示するブロック図である。サーバ９００は、データベース９０２に接続することができる。様々な実施形態において、データベースは、サーバ９００に格納することができる。他の実施形態において、データベースは、サーバ９００に接続されている他のサーバに格納することができる。
【０１１５】
サーバ９００は、さらに、インターネットサーバ９０４、ピンボードコレクションサービス９０６、および１つまたは複数の検索プロバイダ９０８などの様々なソフトウェアコンポーネントを備える。
【０１１６】
インターネットサーバは、ＵＲＬを評価し、何らかのロジックを実行し、そのＵＲＬに関係する情報を返すことにより、ＵＲＬを含む要求に応答する従来のサービスである。例えば、ＵＲＬがドキュメントに関係している場合、インターネットサーバは、ドキュメントをロードし、ドキュメントのコンテンツを要求側に送信することにより応答する。ＵＲＬがピンボードコレクションに関係する場合、インターネットサーバは、ピンボードコレクションサービス９０６に、ピンボードコレクションを作成させ、作成されたピンボードコレクションのコンテンツを要求側に返すことにより応答する。
【０１１７】
ピンボードコレクションサービス９０６は、ピンボードコレクションを作成する指示を受け取った後、１つまたは複数の検索プロバイダ９０８を使用して、情報アイテムを検索することができる。ピンボードコレクションサービスは、これらの情報アイテムを上述のようなクエリプランの一部として検索結果にまとめる。次いで、ピンボードコレクションサービスは、検索結果からピンボードコレクションを作成することができる。様々な実施形態において、ピンボードコレクションサービスは、作成された検索結果を、要求側クライアントコンピューティングデバイスがユーザに対し表示することができる形式に変換することができる。例えば、ピンボードコレクションサービスは、作成された検索結果をＸＭＬからＨＴＭＬに変換することができる。
【０１１８】
図１０は、様々な実施形態におけるファシリティにより提供される表示結果ページを例示する表示画面である。例示されているディスプレイ画面の図は、ｐｅｒｍｉｓｓｉｏｎｓボタン１００２および複数の情報アイテム許可ボタン１００４をさらに備えることを除き、図２のディスプレイ画面と似ている。
【０１１９】
ｐｅｒｍｉｓｓｉｏｎｓボタン１００２は、選択された場合、ファシリティに、図１１に関して以下でさらに詳しく説明されるｐｅｒｍｉｓｓｉｏｎｓユーザインターフェースを表示させる。ユーザが、ＯＫまたはａｐｐｌｙボタンなどを選択することにより、ｐｅｒｍｉｓｓｉｏｎｓユーザインターフェースを終了させると、ファシリティは、そのユーザインターフェースに示されている許可をｐｅｒｍｉｓｓｉｏｎｓボタン１００２が選択されたピンボードコレクションに適用する。したがって、作成者または受信者は、ピンボードコレクションに関係する許可をセットまたはリセットすることができる。例えば、作成者は、受信者が作成者によって受信者に送信されるピンボードコレクションをさらに共有する許可を得ていないことを指示することができる。
【０１２０】
情報アイテム許可ボタン１００４は、ピンボードコレクション内に表示されるそれぞれの情報アイテムに関連付けられる。表示結果ページのピンボードコレクション結果領域１１２などに追加のピンボードコレクションを表示する場合、ファシリティは、さらに、追加の表示されるピンボードコレクションに関連付けられている追加の情報アイテム許可ボタン１００４も備えることができる。ユーザが情報アイテム許可ボタン１００４のうちの１つを選択した場合、ファシリティは、図１１に関して以下でさらに詳しく説明される、ｐｅｒｍｉｓｓｉｏｎｓユーザインターフェースを表示する。様々な実施形態において、ファシリティがピンボードコレクションに対し許可を設定するために備えるユーザインターフェース（例えば、ｐｅｒｍｉｓｓｉｏｎｓボタン１００２により呼び出されるユーザインターフェース）は、情報アイテム許可を設定するために呼び出されるユーザインターフェースと異なっていてもよい。ユーザが、ＯＫまたはａｐｐｌｙボタンなどを選択することにより、ｐｅｒｍｉｓｓｉｏｎｓユーザインターフェースを終了させると、ファシリティは、そのユーザインターフェースに示されている許可を、ユーザによって選択された情報アイテム許可ボタン１００４に対応する情報アイテムまたは追加のピンボードコレクションに適用する。したがって、作成者または受信者は、ピンボードコレクション内に示されている情報アイテムまたは追加のピンボードコレクションに関係する許可をセットまたはリセットすることができる。例えば、作成者は、特定の受信者が作成者によってピンボードコレクションにピン止めされた情報アイテムの一部を表示する許可を得ていないことを指示することができる。
【０１２１】
図１１は、様々な実施形態におけるファシリティにより使用される許可を示すユーザインターフェースを例示する表示画面である。ユーザインターフェース１１００は、リストボックス１１０２などに受信者のリストを提示することができる。例示されている実施例では、Ｂｒｉａｎ  Ｂｅａｎは受信者として示されている。ユーザインターフェースは、許可１１０４、１１０６、および１１０８などの許可のリストも提示することができる。
【０１２２】
作成者または受信者などのユーザは、受信者リストから一人または複数の受信者を選択し、次いで、ファシリティが選択された受信者に与えるべき許可を指示することによりピンボードコレクションまたは情報アイテムに関係する許可を指定することができる。例示されているユーザインターフェースは、ｖｉｅｗ許可１１０４、ｓｈａｒｅ許可１１０６、およびｆｕｌｌ許可１１０８を示すが、他の許可も可能であり、考えられる。
【０１２３】
ユーザが複数の許可のうちの１つまたは複数を指示した場合、ファシリティは、それらの許可を、ユーザインターフェースが呼び出されたアイテムに適用する。例えば、ファシリティは、ユーザがｐｅｒｍｉｓｓｉｏｎｓボタン１００２を選択したか、または情報アイテム許可ボタン１００４のうちの１つを選択したかに応じて指示された許可を情報アイテムまたはピンボードコレクションに適用することができる。
【０１２４】
受信者が、ｖｉｅｗ許可を有している場合、ファシリティは、その受信者が関連するアイテムを表示できるようにする。ファシリティは、ｖｉｅｗ許可を持っていない受信者が情報アイテムまたはピンボードコレクションを表示することをできないようにする。
【０１２５】
受信者が、ｓｈａｒｅ許可を有している場合、ファシリティは、その受信者が関連するアイテムを他の受信者と共有できるようにする。例えば、ｓｈａｒｅ許可を持つ受信者は、受け取ったピンボードコレクションを他の受信者と共有することができる。受信者がｓｈａｒｅ許可を持ついくつかの情報アイテムおよび受信者がｓｈａｒｅ許可を持たない他の情報アイテムを有する受け取ったピンボードコレクションを受信者が共有する場合、下流の受信者は、共有する受信者がｓｈａｒｅ許可を持つ情報アイテムのみを受け取ることができる。
【０１２６】
受信者が、アイテムに対するｆｕｌｌ許可を有している場合、ファシリティは、その受信者がアイテムを表示するか、アイテムを共有するか、またはアイテムを修正することができるようにする。ファシリティは、さらに、そのような受信者が追加のアイテムを追加できるようにもすることが可能である。
【０１２７】
情報アイテムおよびピンボードコレクションは、ファシリティがアクセス制御許可（「ＡＣＰ」）を決定する際に基づく様々な関係を持つことができる。これらの関係は、例えば、「ｎｏｎｅ（なし）」、「ｐｒｏｐａｇａｔｅ（伝播）」、「ｉｎｈｅｒｉｔ（継承）」、「ｂｏｔｈ（両方）」とすることができる。ファシリティは、さらに、他の関係も定義することができる。ピンボードコレクションまたは情報アイテムが関係を持たない場合、ファシリティは、そのピンボードコレクションまたは情報アイテムに対するＡＣＰを他のピンボードコレクションまたは情報アイテムに基づいて計算する必要はないが、それにもかかわらず、例えば関係するピンボードコレクションとして、ピンボードコレクションを表示することができる。ピンボードコレクションまたは情報アイテムがｐｒｏｐａｇａｔｅ関係を持つ場合、ファシリティは、そのピンボードコレクションまたは情報アイテムに対するＡＣＰを、そのピンボードコレクションまたは情報アイテムがピン止めされているピンボードコレクタについて決定または指示されているＡＣＰに基づいて計算する。ピンボードコレクションまたは情報アイテムがｉｎｈｅｒｉｔ関係を持つ場合、ファシリティは、そのピンボードコレクションまたは情報アイテムがピン止めされているピンボードコレクションに対するＡＣＰを計算する。様々な実施形態において、ファシリティは、情報アイテムまたはピンボードコレクションがピン止めされたときに自動的に関係を指定する。例えば、ファシリティは、既定でｐｒｏｐａｇａｔｅ関係を選択することができる。様々な実施形態において、ファシリティは、既定の関係を構成することができるが、ユーザは、その関係を修正することができる。関係を修正するためのユーザインターフェースは、図１１のユーザインターフェースに関連付けることができる。例えば、図１１のユーザインターフェースを、ユーザが関係のリストから関係を選択することなどにより関係を選択できるように拡張することが可能である。様々な実施形態において、関係を選択するためのユーザインターフェースは、図１０に例示されている表示結果ページなどの表示結果ページまたはピンボードコレクションに表示されるドロップダウンメニューを経由することができる。
【０１２８】
これらの関係は、図１２Ａ〜１２Ｅを参照することによりさらに説明され、これらの図は、様々な実施形態において許可を決定するピンボードコレクションと情報アイテムとの間の関係を例示するブロック図である。これらの図は、正方形がピンボードコレクションを表し、円形が情報アイテムを表している有向グラフを示す。ピンボードコレクションと情報アイテムをつなぐ辺は、ピンボードコレクションまたは情報アイテムが。辺を共有するピンボードコレクションにピン止めされることを示している。矢印は、ＡＣＰが流れる方向を示している。例えば、図１２Ａによれば、ＡＣＰは、ピンボードコレクションから情報アイテムに伝播する。辺を共有するピンボードコレクションの下に表示される情報アイテムまたはピンボードコレクションは、その上のピンボードコレクションにピン止めされる。例示されているノードは、さらに、例示されていない他の関係も持つことができる。
【０１２９】
図１２Ａによれば、ピンボードコレクションＡ  １２０２とピンボードコレクションＢ  １２０４の２つのピンボードコレクションがある。ピンボードコレクションＡは、それに、情報アイテム１  １２０６、２  １２０８、および３  １２１０をピン止めしている。ピンボードコレクションＢは、それに、情報アイテム５  １２１４をピン止めしている。情報アイテム４  １２１２は、いずれかのピンボードコレクションにピン止めされているとは示されていない。
【０１３０】
ユーザＸ、Ｙ、およびＺは、ピンボードコレクションＡに対しｆｕｌｌ許可を有するが、これらのユーザはいずれも、情報アイテム４に対する許可を持たない。ともかくユーザＸ、Ｙ、またはＺが情報アイテム４を特定した場合、その情報アイテムを表示することはできないが、それは、例えば、オペレーティングシステムのファイルシステムが、それらのユーザが必要なＡＣＰを持たないことを示しているからである。さらに、ユーザＷがピンボードコレクションＡに対しｆｕｌｌ特権を有し、情報アイテム４に対しｒｅａｄ特権を有すると仮定する。したがって、ユーザＷは、図１２Ｂに示されているように、情報アイテム４をＡにピン止めすることができる。
【０１３１】
ユーザが新しいアイテムをピン止めすることなどによりピンボードコレクションを修正する場合、ファシリティは、ピンボードコレクションにピン止めされたすべての情報アイテムおよびピンボードコレクションについてＡＣＰを再計算することができる。ＡＣＰを計算または設定するルーチンについて、図１３Ａ〜Ｃに関して以下でさらに詳しく説明する。
【０１３２】
情報アイテム４は、ピンボードコレクションから情報アイテム４への有向辺により示されているような「ｐｒｏｐａｇａｔｅ」関係を持つ。その結果、情報アイテム４がピンボードコレクションＡにピン止めされた後、情報アイテム４のＡＣＰは、ピンボードコレクションＡに対するＡＣＰと情報アイテム４について明示されているＡＣＰとの和（ｕｎｉｏｎ）となるように計算される。この実施例では、情報アイテム４に対する許可を以前には持っていなかったユーザＸ、Ｙ、およびＺは、このアイテムがピンボードコレクションＡにピン止めされた後、情報アイテム４に対しｆｕｌｌ許可を持つことになる。これは、これらのユーザが、情報アイテム４との伝播関係を持つ、ピンボードコレクションＡに対するｆｕｌｌ許可を持っていたからである。
【０１３３】
ユーザＺは、ピンボードコレクションＡおよびＢならびに情報アイテム５に対しｓｈａｒｅ許可を持ち、ユーザＷは、情報アイテム５に対し許可を持たないが、ピンボードコレクションＡに対してはｆｕｌｌ許可を持つと仮定する。さらに、ユーザＺは、図１２Ｃに示されているように、情報アイテム５をピンボードコレクションＡにピン止めすると仮定する。次いで、ファシリティは、情報アイテム５に対するＡＣＰをピンボードコレクションＡおよびＢに関する許可の和（ｕｎｉｏｎ）として再計算する。再計算の後、ユーザＷは、情報アイテム５に対しｆｕｌｌ許可を持つことになるが、それは、ピンボードコレクションＡおよびＢのＡＣＰが、情報アイテム５に伝播され、したがって、ピンボードコレクションＡに対するユーザＷの許可が情報アイテム５に伝播するからである。
【０１３４】
図１２Ｄは、ｉｎｈｅｒｉｔ関係を例示している。図１２Ｄによれば、ピンボードコレクションＡは、ｉｎｈｅｒｉｔ関係を示す矢印を持つ、辺１２３０で示されているように、ピンボードコレクションＣ  １２２８からＡＣＰを継承する。そのため、ピンボードコレクションＣがピンボードコレクションＡにピン止めされたとしても、ピンボードコレクションＣからＡＣＰを継承するのはピンボードコレクションＡである。様々なイベントが発生した後、ファシリティは、ピンボードコレクションＣのＡＣＰに基づいてピンボードコレクションＡのＡＣＰを再計算する。情報アイテム１〜５との伝播関係に基づき、これらのＡＣＰは、さらに、これらの情報アイテムに流れうる。例えば、ユーザＶがピンボードコレクションＣに対するｖｉｅｗ許可を有している場合、そのユーザは、さらに、情報アイテム１〜５に対するｖｉｅｗ許可も受け取る。
【０１３５】
図１２Ｅは、両方向に流れるピンボードコレクションＡとＣとの間の関係を例示している（例えば、この関係は、ｉｎｈｅｒｉｔとｐｒｏｐａｇａｔｅの両方である）。この場合、ＡＣＰがピンボードコレクションＣからピンボードコレクションＡに、ピンボードコレクションＡからピンボードコレクションＣに流れる。関係が２つのノードの間で両方向に流れる場合、ファシリティは、両方のノードのＡＣＰの同期をとる。ファシリティは、これが発生したときに無限ループを検出し、無限ループに陥るのを防ぐことができる。
【０１３６】
様々な実施形態において、ファシリティは、様々なイベントが発生するときにＡＣＰを再計算する。これらのイベントは、例えば、情報アイテムがピンボードコレクションにピン止めされるか、またはピンボードコレクションもはやピン止めされなくなったとき、ＡＣＰが情報アイテムについて修正されたとき（例えば、手動で、または他のピンボードコレクションにピン止めされた結果として）、またはときどき（例えば、周期的に、またはランダムに）である。
【０１３７】
上述のように、ファシリティは、有向グラフとして表すことができるピンボードコレクションと情報アイテムとの間の関係とともに機能しうる。これは、従来からツリーにより表されている大半のアクセス制御スキームとは対照的である。ＡＣＰ継承は、有向グラフとして表されるため、ＡＣＰの継承および伝播に対して複雑な関係は定義されうる。有向グラフのそれぞれのノードは、情報アイテムまたはピンボードコレクションを表し、それぞれの有向辺は、ＡＣＰがどのように流れるかを定義する関係を示す。与えられたノードに対する計算されたＡＣＰは、そのノードについて明示的設定されているＡＣＰと有向辺が示される他のすべてのノードのＡＣＰとの和（ｕｎｉｏｎ）である。図１２Ｅの有向グラフを例にとり、情報アイテム５、ピンボードコレクションＡ、およびピンボードコレクションＢに対するＡＣＰは、それぞれ、Ｋ、Ｌ、およびＭであると仮定する。情報アイテム５について計算されたＡＣＰは、（Ｋ∪Ｌ∪Ｍ）となる。当業で知られているように、複数のソース集合に対し和演算（ｕｎｉｏｎ  ｏｐｅｒａｔｉｏｎ）を実行すると、２つの集合内のすべての要素の最小の組合せである結果セットが得られる。
【０１３８】
ファシリティでは、関係を定義するグラフが循環を含むときなどに、ＡＣＰの再計算がエンドレスループにならないようにするために様々な技術を使用することができる。例えば、ファシリティは、すでにピンボードコレクションまたは情報アイテムに適用されているＡＣＰがピンボードコレクションまたは情報アイテムについてファシリティにより計算されたＡＣＰと一致する場合にリンクの再計算を停止することができる。
【０１３９】
様々な実施形態において、ファシリティは、オペレーティングシステムと双方向にやり取りし、ＡＣＰを取り出すか、または設定する。例えば、情報アイテムからピンボードコレクションへのｉｎｈｅｒｉｔ関係における許可を計算する場合、ファシリティは、オペレーティングシステムにクエリを発行し、その情報アイテムに対しどのようなＡＣＰを明示的に設定するかを決定することができる。他の実施例では情報アイテムについてＡＣＰを計算してから、ファシリティは、オペレーティングシステムに、情報アイテムに対するＡＣＰを設定するよう要求することができる。様々な実施形態において、ファシリティは、性能を改善すること、またはＡＣＰを強化することなどのために、ＡＣＰをデータベース内にキャッシュする。
【０１４０】
いくつかの実施形態では、ＡＣＰは、ファイルシステム、データベースなど、ファシリティにより使用される他のオブジェクト（例えば、情報アイテムを格納するオブジェクト）により使用される他のアクセス制御機構に加えて、またはそれがあるにもかかわらず、ファシリティにより管理される。いくつかの実施形態では、ファシリティは、情報アイテムではなくクエリを通じて、または情報アイテムに加えて、ＡＣＰを伝播させる。例えば、ＡＣＰは、指定された検索語を含む情報アイテム（例えば、ピンボードコレクション内の）に伝播しうる。このような実施形態では、ピンボードコレクションは、動的に格納または計算することができる。
【０１４１】
図１３Ａ〜１３Ｃは、ＡＣＰを修正するため様々な実施形態におけるファシリティにより使用されるルーチンを例示する流れ図である。これらのルーチンは、ピンボードコレクションが変わったことをファシリティが検出したときなど、様々な時期にファシリティにより使用されうる。ファシリティは、ユーザコンテキストにおいてこれらのルーチンの一部を、そしてシステムコンテキストにおいて他の部分を実行することができる。ルーチンのロジックが、ユーザコンテキストにおいて実行される場合、オペレーティングシステムによりユーザが実行できるアクションのみが、実際に実行可能である。対照的に、ルーチンのロジックが、システムコンテキストにおいて実行される場合、オペレーティングシステムが実行できるすべてのアクションが、実際に実行可能である。
【０１４２】
図１３Ａは、アクセス制御（例えば、許可または特権）を修正するため様々な実施形態におけるファシリティにより使用されるｍｏｄｉｆｙ＿ａｃｃｅｓｓ＿ｃｏｎｔｒｏｌルーチンを例示する流れ図である。このルーチンは、アイテムの指示をパラメータとして受け取るブロック１３０２から始まる。指示されたアイテムは、例えば、ピンボードコレクションまたは情報アイテムとすることができる。
【０１４３】
ブロック１３０４で、ルーチンは、関係するアイテムの集合を決定する。関係するアイテムは、ＡＣＰを指示されたアイテムに伝播する、または指示されたアイテムがＡＣＰを継承する他のピンボードコレクションまたは情報アイテムである。
【０１４４】
ファシリティは、適宜、ブロック１３０６に示されているように、データベース内にこれらの関係をキャッシュすることができる。例えば、ファシリティは、それぞれの情報アイテムまたはピンボードコレクションビューおよびファシリティがテーブルに追加した他の情報アイテムおよびピンボードコレクションとの関係を示す行を持つ１つまたは複数のデータベーステーブルを作成することができる。それぞれの情報アイテムまたはピンボードコレクションは、テーブル内で一意的に識別することができる。テーブルのそれぞれの行は、アイテムに対する一意的な識別子、アイテムのロケーション、およびアイテムに対するＡＣＰを格納することができる。他のテーブルは、アイテムの一意的な識別子、アクセス制御関係（例えばｉｎｈｅｒｉｔ、ｐｒｏｐａｇａｔｅ、ｂｏｔｈ、またはｎｏｎｅ）、およびその行に関連付けられているアイテムが関係するアイテムの一意的な識別子を含む行を持つことができる。
【０１４５】
ブロック１３０８で、ルーチンは、ｃｏｍｐｕｔｅ＿ａｃｃｅｓｓ＿ｃｏｎｔｒｏｌ＿ｐｅｒｍｉｓｓｉｏｎｓサブルーチンを呼び出して、指示されたアイテムに対するＡＣＰを計算することができる。このルーチンは、図１３Ｂに関して以下でさらに説明される。
【０１４６】
ブロック１３１０で、ルーチンは、計算されたＡＣＰが、アイテムが置かれているオペレーティングシステムにクエリを実行することなどにより、アイテムに対し実際に指示されているＡＣＰと異なるかどうかを判定する。計算されたＡＣＰが実際のＡＣＰと異なる場合、ルーチンはブロック１３１２から続く。そうでない場合、ルーチンはブロック１３１４から続く。
【０１４７】
ブロック１３１２で、ルーチンは、アイテムに対する実際のＡＣＰを計算されたＡＣＰに設定する。例えば、ルーチンは、アイテムが置かれているオペレーティングシステムのアプリケーションプログラムインターフェースを呼び出してアイテムのＡＣＰを設定することができる。それとは別に、またはそれに加えて、ルーチンは、アイテムのＡＣＰを格納するデータベースまたは他のアプリケーションのアイテムのＡＣＰを変更することができる。例えば、ファシリティは、電子メールサーバにより提供されるアプリケーションプログラムインターフェースを呼び出して電子メールアイテムのＡＣＰを設定することができる。
【０１４８】
ブロック１３１４で、ルーチンは、指示されたアイテムに対するＡＣＰが変更されたときにそのＡＣＰリセットを必要とする場合もあるアイテムの集合を決定する。例えば、ピンボードコレクションにピン止めされた情報アイテムおよびピンボードコレクションは、ＡＣＰリセットを必要とする可能性がある。他の実施例では、指示されたアイテムとのｉｎｈｅｒｉｔ関係を持つ他のアイテムは、そのＡＣＰリセットを必要とすることがある。
【０１４９】
ブロック１３１６および１３２０のループの間で、ルーチンは、決定されたアイテムの集合のそれぞれのアイテムに対するＡＣＰをリセットする。ブロック１３１６で、ルーチンは、その集合からアイテムを選択する。
【０１５０】
ブロック１３１８で、ルーチンは、ｓｅｔ＿ｐｅｒｍｉｓｓｉｏｎｓサブルーチンを呼び出すことによりアイテムに対するＡＣＰを設定するが、これについては図１３Ｃに関して以下で説明する。ルーチンは、選択されたアイテムの指示をパラメータとしてｓｅｔ＿ｐｅｒｍｉｓｓｉｏｎｓルーチンに渡すことができる。
【０１５１】
ブロック１３２０で、ルーチンは、その集合から他のアイテムを選択する。集合のすべのアイテムが、すでに、ループによって処理された場合、ルーチンはブロック１３２２から続き、そこで戻る。そうでない場合、ルーチンはブロック１３１８から続く。
【０１５２】
図１３Ｂは、ＡＣＰを計算するため様々な実施形態におけるファシリティにより使用されるｃｏｍｐｕｔｅ＿ａｃｃｅｓｓ＿ｃｏｎｔｒｏｌ＿ｐｅｒｍｉｓｓｉｏｎｓルーチンを例示する流れ図である。このルーチンは、アイテムの指示をパラメータとして受け取るブロック１３４０から始まる。アイテムは、例えば、情報アイテムまたはピンボードコレクションとすることができる。
【０１５３】
ブロック１３４２で、ルーチンは、指示されたアイテムについて明示的に定義されているＡＣＰの集合を決定する。例えば、ルーチンは、アイテムが置かれているオペレーティングシステムにクエリを実行するか、またはデータベース内の明示的ＡＣＰを調べることにより明示的ＡＣＰを決定することができる。ルーチンは、ＡＣＰを含むように変数（「Ｐ」と示されている）を設定する。
【０１５４】
ブロック１３４４で、ルーチンは、ＡＣＰを指示されたアイテムに伝播する、または指示されたアイテムがＡＣＰを継承するアイテムの集合を決定する。例えば、ルーチンは、ブロック１３０６に関して上で説明されているデータベースにクエリを実行することによりこの情報を決定することができる。
【０１５５】
ブロック１３４６および１３５０のループの間で、ルーチンは、決定されたアイテムの集合のすべてのアイテムのＡＣＰに対し和演算（ｕｎｉｏｎ  ｏｐｅｒａｔｉｏｎ）を実行することにより指示されたアイテムに対するＡＣＰを計算する。ルーチンは、ブロック１３４６でその集合からアイテムを選択する。
【０１５６】
ブロック１３４８で、ルーチンは、ブロック１３４２で設定された変数（例えば、「Ｐ」）に含まれるＡＣＰと選択されたアイテムのＡＣＰとの間で和演算を実行する。この和（ｕｎｉｏｎ）の結果は、変数に格納され、ループのその後の反復のときに再利用される。
【０１５７】
ブロック１３５０で、ルーチンは、リストから他のアイテムを選択する。すべてのアイテムが処理されたら、ルーチンは、ブロック１３５２から続き、そこで、現在変数に格納されている、計算されたＡＣＰを返す。そうでない場合、ルーチンはブロック１３４８から続く。
【０１５８】
図１３Ｃは、ＡＣＰを設定するため様々な実施形態におけるファシリティにより使用されるｓｅｔ＿ｐｅｒｍｉｓｓｉｏｎｓルーチンを例示する流れ図である。このルーチンは、アイテムの指示をパラメータとして受け取るブロック１３６０から始まる。アイテムは、例えば、情報アイテムまたはピンボードコレクションとすることができる。
【０１５９】
ブロック１３６２で、ルーチンは、図１３Ｂに関して上で説明されているｃｏｍｐｕｔｅ＿ａｃｃｅｓｓ＿ｃｏｎｔｒｏｌ＿ｐｅｒｍｉｓｓｉｏｎｓサブルーチンを呼び出して、指示されたアイテムに対するＡＣＰを計算する。
【０１６０】
ブロック１３６４で、ルーチンは、計算されたＡＣＰが、アイテムが置かれているオペレーティングシステムにクエリを実行することなどにより、アイテムに対し実際に指示されているＡＣＰと異なるかどうかを判定する。計算されたＡＣＰが実際のＡＣＰと異なる場合、ルーチンはブロック１３６６から続く。そうでない場合、ルーチンはブロック１３７８から続く。
【０１６１】
ブロック１３６６で、ルーチンは、アイテムに対する実際のＡＣＰを計算されたＡＣＰに設定する。例えば、ルーチンは、アイテムが置かれているオペレーティングシステムのアプリケーションプログラムインターフェースを呼び出してアイテムのＡＣＰを設定することができる。それとは別に、またはそれに加えて、ルーチンは、アイテムのＡＣＰを格納するデータベース中のアイテムのＡＣＰを変更することができる。
【０１６２】
ブロック１３６８で、ルーチンは、そのアイテムがピンボードコレクションであるかどうかを判定する。ルーチンがこの判定を行うのは、ピンボードコレクションに関連付けられているアイテムがＡＣＰリセットを必要とすることがあるからである。アイテムがピンボードコレクションである場合、ルーチンはブロック１３７０から続く。そうでない場合、ルーチンはブロック１３７８から続く。
【０１６３】
ブロック１３７０で、ルーチンは、許可リセットを必要とする可能性のあるピンボードコレクションに関連付けられているアイテムの集合を決定する。例えば、ルーチンは、ブロック１３０６に関して上で説明されているデータベースにクエリを実行することによりこの情報を決定することができる。
【０１６４】
ブロック１３７２および１３７６のループの間で、ルーチンは、決定された集合内のアイテムに対するＡＣＰを設定する。ルーチンは、ブロック１３７２でその集合からアイテムを選択する。
【０１６５】
ブロック１３７４で、ルーチンは、ｓｅｔ＿ｐｅｒｍｉｓｓｉｏｎｓルーチンを再帰的に呼び出して、ルーチンが指示として与える、選択されたアイテムに対しＡＣＰを設定する。
【０１６６】
ブロック１３７６で、ルーチンは、他のアイテムを選択する。すべてのアイテムが処理されたら、ルーチンはブロック１３７８から続く。そうでない場合、ルーチンはブロック１３７４から続く。
【０１６７】
ブロック１３７８で、ルーチンは戻る。
【０１６８】
様々な実施形態において、ファシリティを使用することで、ユーザは、ピンボードコレクションがピンボードコレクションにピン止めされていない許可を継承すべき継承元の情報アイテムを指定することができる。
【０１６９】
様々な実施形態において、ファシリティを使用することで、管理者、作成者、受信者、または他のユーザなどのユーザは、許可を修正するときに適用される「マスク」を指定することができる。ファシリティがマスクを適用しても、すべての許可を適用するとは限らない。マスクの実施例としては、ノーマルとカスタムがある。マスクがノーマルである場合、ファシリティは、上述のように許可を計算することができる。ユーザは、最大のノーマルマスクを指定することができる。例えば、ユーザは、「ｓｈａｒｅ」の最大マスクを指定することができる。これがその場合であれば、ファシリティは、ｖｉｅｗおよびｓｈａｒｅ許可を適用できるが、ｆｕｌｌ許可はｓｈａｒｅ許可以下であるためｆｕｌｌ許可を適用できない。マスクがカスタムである場合、ファシリティは、ユーザによって指定されたカスタムマスクを適用することができる。
【０１７０】
様々な実施形態において、ファシリティは、情報アイテムを含むファイルなどのファイルに対し指示されたオペレーティングシステム許可を修正する。例えば、ファシリティは、ファイルに対するオペレーティングシステム許可を、そのファイルに対応する情報アイテムを含むピンボードコレクションがそのファイルに対する読み取り特権を持たない受信者と共有される場合に修正することができる。
【０１７１】
様々な実施形態において、ファシリティは、許可を「インバンド」で変更することができるか、または他のアプリケーション、またはユーザによる手動などの方法により許可は「アウトオブバンド」に変更できる。「インバンド」変更の実施例では、ピンボードコレクション、情報アイテム、またはファイルに対する許可は、ピンボードコレクションが受信者と共有される場合に変更できる。「アウトオブバンド」変更の実施例では、ユーザは、オペレーティングシステムコンポーネントまたはコマンドを使用して情報アイテムに対する許可を変更することができる。いずれかが発生した場合、ファシリティは、ピンボードコレクションまたは情報アイテムについて許可を再計算することができる。
【０１７２】
様々な実施形態において、ファシリティは、すでにＡＣＰが再計算されているアイテムを追跡することができる。次いで、ループまたは再帰演算によりファシリティがアイテムを再訪したときに、ファシリティは、再訪されたアイテムに対しＡＣＰを再計算する必要はない。
【０１７３】
図１４は、情報アイテムへの変更を監視するため様々な実施形態におけるファシリティにより使用されるｍｏｎｉｔｏｒ＿ｃｈａｎｇｅｓルーチンを例示する流れ図である。様々な実施形態において、ファシリティは、ｍｏｎｉｔｏｒ＿ｃｈａｎｇｅｓルーチンを使用して、コンテンツ変更または許可変更などの情報アイテムの変更を検出する。ルーチンはブロック１４０２から始まる。
【０１７４】
ブロック１４０４で、ルーチンは、ルーチンの最後の呼び出し以降に情報アイテムが変更されたかどうかを判定する。ルーチンは、コンテンツ変更、許可変更、または他の変更追跡することができる。そのような場合、ルーチンはブロック１４０６から続く。そうでない場合、ルーチンはブロック１４０８から続き、そこで戻る。
【０１７５】
ブロック１４０６で、ルーチンは、情報アイテムへの変更をログに記録する。例えば、ルーチンは、変更のデータベースに変更を記録することができる。様々な実施形態において、ルーチンは、情報アイテムが変更されたが、実際の変更ではないことを示す指示をログに記録することができる。
【０１７６】
ブロック１４０８で、ルーチンが戻る。
【０１７７】
様々な実施形態において、ｍｏｎｉｔｏｒ＿ｃｈａｎｇｅｓルーチンは、ソースコンピューティングデバイスにより実行される。ソースコンピューティングデバイスは、変更を他のコンピューティングデバイスに伝播するデバイスである。例えば、ソースコンピューティングデバイスは、変更を他のコンピューティングデバイスにレプリケートする。
【０１７８】
様々な実施形態において、コンテンツへの変更または情報アイテムの許可に基づき追加のプロセスを実行できる。例えば、ユーザＸが情報アイテムを見られるように情報アイテムに対する許可が変更されたときにユーザＸがドキュメントをレビューすべきであることを示すタスクを作成するワークフローアプリケーションを開発することが可能である。そこで、ファシリティでは、許可変更などの変更の監視に基づくアプリケーションを構築する一般的アーキテクチャを記述する。
【０１７９】
様々な実施形態において、情報アイテムの属性は、ＡＣＰと同様にして伝播することができる。例えば、バージョンロック情報属性は、伝播（または継承）できるので、ユーザがピンボードコレクションを「ロック」すると、そのロックは、ロックされているピンボードコレクションおよびそれが含む他のピンボードコレクションに含まれるすべての情報アイテムに適用することが可能である。ロックがピンボードコレクションに適用された場合、ファシリティは、ＵＲＬを選択すると例えばピンボードコレクションがロックされていたときに利用可能であったバージョンに対応する情報アイテムの一バージョンをロードすることになるように情報アイテムを識別するＵＲＬ（または他のリンク）を置き換えることができる。このような場合、ファシリティは、「ロックバージョン」を作成し、ＵＲＬに渡すことができる。このロック機能は、ロックされているピンボードコレクションに含まれるピンボードコレクションにおけるすべての情報アイテムに再帰的に実行できる。
【０１８０】
図１５は、変更をレプリケートするため様々な実施形態におけるファシリティにより使用されるｒｅｐｌｉｃａｔｅルーチンを例示する流れ図である。ファシリティは、ときどきこのルーチンを実行して、ソースコンピューティングデバイスからサーバまたはクライアントなどの他のコンピューティングデバイスに変更をレプリケートすることができる。ルーチンはブロック１５０２から始まる。
【０１８１】
ブロック１５０４と１５１０との間で、ルーチンは、情報アイテムをレプリケートする。ブロック１５０４で、ルーチンは、変更された情報アイテムを選択する。例えば、ルーチンは、図１４のｍｏｎｉｔｏｒ＿ｃｈａｎｇｅｓルーチンにより作成されたログから情報アイテムを選択することができる。
【０１８２】
ブロック１５０６で、ルーチンは、変更された情報アイテムの更新のみをレプリケートすることが可能かどうかを判定する。例えば、いくつかのドキュメントでは、ドキュメントに加えられた改訂または更新を格納することができる。これがその場合であれば、ドキュメント全体をレプリケートするよりも更新のみをレプリケートするほうが効率的であると思われる。更新のみをレプリケートすることが可能な場合、ルーチンはブロック１５０８から続く。そうでない場合、ルーチンはブロック１５１４から続く。
【０１８３】
ブロック１５０８で、ルーチンは更新をレプリケートとする。例えば、ルーチンは、更新をコンピューティングデバイスに与えることができる。
【０１８４】
ブロック１５１０で、ルーチンは、他の情報アイテムを選択する。すべての情報アイテムが処理されたら、ルーチンはブロック１５１２から続き、そこで戻る。そうでない場合、ルーチンはブロック１５０６から続く。
【０１８５】
ブロック１５１４で、ルーチンは、情報アイテムをレプリケートする。例えば、ルーチンは、情報アイテムを他のコンピューティングデバイスに渡すことができる。
【０１８６】
様々な実施形態において、情報アイテムまたは更新のレプリケート先のコンピューティングデバイスは、更新をバッチ処理することができる。例えば、コンピューティングデバイスは、ローカルコピーを更新する前に多数の更新または情報アイテムを受け取る可能性がある。様々な実施形態において、更新または情報アイテムを受け取るコンピューティングデバイスは、更新または情報アイテムを他のコンピューティングデバイスに転送することができる。例えば、情報アイテムが特定のユーザと共有されていることが検出されると、コンピューティングデバイスは、その情報アイテムをそのユーザに対応するサーバに転送することができる。
【０１８７】
コンピューティングデバイスは、更新をＸＭＬアップデートグラムとして共有することができる。ＸＭＬアップデートグラムは、ＸＭＬメッセージ内の更新の指示を与えるものである。
【０１８８】
ファシリティは、例えば、様々なプロトコルを使用して、アップデートグラムを送信することによりレプリケーションを実行することができる。例えば、ファシリティは、分散オーサリングおよびバージョニング（「ＤＡＶ」）プロトコルの一変更形態を含むＨＴＴＰプロトコルを使用してレプリケーションを使用可能にすることができる。ファシリティは、コンピューティングデバイスのネットワーク接続をチェックすることにより、ユーザがファイヤウォールの「内側」にいるのか、「外側」にいるのかを検出する。コンピューティングデバイスがファイヤウォールの内側にあるか、または外側にあるのかに基づいて、コンピューティングデバイスは使用すべきＵＲＬを決定する。例えば、コンピューティングデバイスがファイヤウォールの内側にある場合、ＵＲＬで、ｈｔｔｐ：／／ｉｎｔｅｒｎａｌｓｅｒｖｅｒ／ｓｈａｒｅなどのローカルサーバ名を参照することができる。コンピューティングデバイスがファイヤウォールの外側にある場合、ＵＲＬで、ｈｔｔｐ：／／ｗｗｗ．ｃｏｍｐａｎｙｎａｍｅ．ｃｏｍ／ｓｈａｒｅなどのローカルサーバ名を参照することができる。
【０１８９】
図１６は、ファシリティで複数の検索プロバイダを使用するためのコンポーネントおよび複数の態様を例示するブロック図である。様々な実施形態において、ファシリティは、オペレーティングシステムの変更ジャーナル１６０２を使用する。例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを使用するように構成されているシステム一実施形態では、「ＮＴ変更ジャーナル」を使用することができる。オペレーティングシステムの変更ジャーナルは、ファイル、およびオペレーティングシステムの他のオブジェクトへの変更を記録するものである。変更ジャーナルを使用することにより、ファシリティは、ファイル、ピンボードコレクション、情報アイテムなどへの変更を検出することができる。
【０１９０】
次いで、ファシリティは、様々なインデックスに変更の指示を伝播する。例えば、ファシリティは、ドキュメントへの変更をテキストインデックス１６０４に伝播し、ファシリティにより使用されるスキーマへの変更をメタデータインデックス１６０６に伝播し、ドキュメントのロケーションの変更をピンボードコレクションインデックス１６０８に伝播し（例えば、ドキュメントが起動されたときにリンクを修復するため）、ＡＣＰへの変更をアクセス制御インデックス１６１０に伝播し、ファイルのロケーションに関係する変更をＵＲＬ解決インデックス１６１２に伝播することができる。様々な実施形態において、レプリケーションエンジン（図に示されていない）は、変更ジャーナルから変更をネットワーク１６１４上の、サーバなどのコンピューティングデバイスにレプリケートすることができ、これにより、ネットワーク間で情報を最新状態に保つことができる。
【０１９１】
インデックスからの情報が必要である限り、または様々な他の時点において、ファシリティは、インデックスに含まれる、またはインデックスより指示される情報をマージして、結果１６１６を生成する。この情報を検索プロバイダにより与えられた情報と組み合わせることにより、ファシリティは、検索結果を作成する。例えば、ファシリティは、インデックスに含まれるか、またはインデックスにより示される情報を、ＲＳＳ検索プロバイダ１６１８、Ｗｅｂ検索プロバイダ１６２０、または１つまたは複数のサードパーティの検索プロバイダ１６２２により提供される情報とマージすることができる。ファシリティは、様々な通信プロトコルを使用して、ＲＳＳ、Ｗｅｂ、または他の検索プロバイダと通信することができる。
【０１９２】
ファシリティは、検索結果を、内部形式またＲＳＳなどの正規化された形式で格納することができる。
【０１９３】
様々な実施形態において、ファシリティは、変換１６２４を適用することにより検索結果を変換する。変換は、ＨＴＭＬドキュメント１６２６などの様々な種類のドキュメントのどれかを生成することができる。
【０１９４】
図１７は、ファシリティにより使用されている様々なコンポーネントを例示するブロック図である。様々な実施形態において、これらのコンポーネントを単独でまたは一緒に使用して、ファシリティのいくつかの機能を利用することができる。ファシリティは、さらに、例示されても、本明細書で説明されてもいない追加のコンポーネントをも使用することができる。
【０１９５】
このファシリティを使用するアプリケーションが広範にわたる情報をロードまたは操作できるように、統一データアクセスコンポーネント１７０２は、異種データソースに格納され、異なるデータ型を有するデータで機能する。統一データアクセスコンポーネントは、データ追加のソースおよび型を使用して機能するような形で拡張可能である。
【０１９６】
クエリ集約コンポーネント１７０４は、異なるソースからのクエリ結果を組み合わせて、統一された結果を生成する。クエリ集約コンポーネントは、複数のクエリプロトコルおよび同期または非同期のレスポンスとともに機能し、それらの結果に基づき内部形式で抜粋を提示することができる。
【０１９７】
リレーショナルインデックスコンポーネント１７０６は、情報アイテムに基づいてリレーショナルインデックスを構築する。これらのインデックスを使用することにより、アプリケーションまたはユーザは、インデックス付けされたデータに対しフルテキストクエリを実行することができ、これにより、戻るリンクと関連リンクを使用することができるようになる。戻るリンクは、アイテムがピン止めされたピンボードコレクションを識別するリンクである。
【０１９８】
アクセス制御エンジン１７０８は、データベース（例えば、ピンボードコレクションおよび情報アイテムに対するＡＣＰを格納するデータベース）に基づいてアクセス制御フローグラフを作成し、その作成されたアクセス制御フローグラフに基づいてＡＣＰを追跡し、更新する。このコンポーネントを使用すると、ファシリティは、適切なユーザが情報を表示し、修正し、共有できるようにピンボードコレクションおよび情報アイテムに対する許可の設定またはリセットを行うことによりリッチコラボレイティブユーザモデル（ｒｉｃｈ  ｃｏｌｌａｂｏｒａｔｉｖｅ  ｕｓｅｒ  ｍｏｄｅｌ）を形成することができる。
【０１９９】
表示およびオーサリングフレームワーク１７１０では、検索結果からユーザインターフェースを生成し、編集を可能にする。例えば、表示およびオーサリングフレームワークは、ＸＳＬを使用して組み合わせた抜粋を変換することによりユーザインターフェースを作成することができる。ユーザインターフェースは、注釈を受け取るためのテキスト領域を備えることができる。
【０２００】
レプリケーションコンポーネント１７１２を使用することで、ファシリティは、継ぎ目のないオンラインおよびオンライン機能を実現できる。これにより、サーバ間のレプリケーション、およびクライアントとサーバとの間のレプリケーションが可能になる。例えば、異なるドメインのユーザが情報にアクセスできるようにサーバ間でピンボードコレクションおよび情報アイテムをレプリケートすることができる。レプリケーションコンポーネントは、サーバとクライアントとの間でピンボードコレクションおよび情報アイテムをレプリケートし、これによりクライアントがサーバから切断されたときにユーザが情報を継ぎ目なく表示することができる。例えば、ユーザは、様々なピンボードコレクションをオフラインで利用可能にするように指示することができる。これが実行されると、ピン止めされた情報アイテムおよびピンボードコレクション（およびそれらのピンボードコレクションにピン止めされた情報アイテム）も、オフラインで利用可能であってよい。データベース検索、電子メール、または他の情報アイテムの結果も、静的な方法でオフラインで使用可能にできる。レプリケーションを実行するときに、レプリケーションコンポーネントは、ＡＣＰが適切に強制されることを保証する。クライアントがサーバに再接続された場合、レプリケーションコンポーネントは、オフラインの間に作られた注釈などのオフライン更新をサーバとの間で同期させることができる。
【０２０１】
容易に理解できるように、ファシリティは、電子メールのアクセスのしやすさとインターネットブラウザのナビゲーションのしやすさおよび検索の簡素さを併せ持ち、情報交換を行わせることができる。ファシリティを使用することで、ユーザは、更新可能で、検索可能な、情報アイテムへのリンクを含むピンボードコレクションを含む個人情報ネットワークを作成することができる。これらのピンボードコレクションおよび情報アイテムは、注釈を付け、安全な方法で共有することができる。
【０２０２】
様々な実施形態において、ファシリティは、特定の情報アイテムを見つけるために複数の検索を可能にすることを含む、様々なデータ型（例えば、電子メール、データベース、ファイルシステムなど）およびデータソース（インターネット、イントラネット、パーソナルコンピューティングデバイスなど）にまたがって検索を実行することを可能にする。
【０２０３】
さらに、ファシリティを使用することにより、特定のロケーションを参照することなく情報アイテムおよびピンボードコレクション（例えば、ドキュメント）を容易に特定することができる。ユーザは、ＵＲＬ、名前、説明、コンテンツなど、探している情報に関係する何らかの情報を提供することができ、ファシリティは、ユーザが情報を表示する十分な許可を得ている場合に、情報を素早く特定し、取り出す。また、ファシリティを使用すると、ユーザは、情報を共有する十分な許可を得ている場合に、情報を他のユーザと共有することができる。
【０２０４】
様々な実施形態において、ファシリティは、ピンボードコレクション内の戻るおよび進むリンクを決定する機能を備える。例えば、ファシリティは、特定の情報アイテムがどのピンボードコレクションにピン止めされているかを判定することができる。ファシリティは、ピンボードコレクションおよび情報アイテムを追跡するためにファシリティが使用するデータベースに基づきこれらの関係を決定することができる。
【０２０５】
様々な実施形態において、バックグラウンドエージェントは、ピンボードコレクションを作成するために使用されるクエリと一致する情報アイテムが修正または追加されていることをピンボードコレクションの作成者または受信者に通知する。次いで、作成者または受信者は、適宜、修正された、または追加された情報アイテムを含むようにピンボードコレクションを修正することができる。これらの本実施形態では、バックグラウンドエージェントは、格納されているクエリを間欠的に実行することができる。それとは別に、バックグラウンドエージェントは、情報アイテムへの変更に関係するイベントを受け取ることができる。次いで、バックグラウンドエージェントは、電子メールメッセージを送信することなどにより、作成者、受信者、またはその両方に通知することができる。
【０２０６】
様々な実施形態において、ファシリティは、情報アイテムまたは情報アイテムもしくはピンボードコレクションに関係するＡＣＰが変更されたことを検出した場合に様々なアクションを呼び出す。例えば、ピンボードコレクションがユーザの特定のグループに属しているユーザと共有されていることを検出すると、ファシリティは、管理ユーザが共有を承認することを必要とするワークフローアプリケーションを呼び出す。ファシリティは、様々な手段を使用してコンテンツおよびＡＣＰへの変更を検出することができる。例えば、ファシリティは、変更通知を受け取るようにオペレーティングシステムに登録することができるか、またはオペレーティングシステムの変更ログをポーリングすることができる。変更が検出されると、ファシリティは、ファシリティに登録されているワークフローコンポーネントを呼び出す。
【０２０７】
様々な実施形態において、ファシリティは、情報アイテム、ピンボードコレクション、および許可の１つまたは複数のインデックスを構築する。インデックスを使用することで、ファシリティは、指定された一組の許可を持つ情報アイテムを見つけることができる。例えば、インデックスを使用すると、ファシリティは、所定のユーザと共有されているすべての情報アイテムを見つけることができる。
【０２０８】
様々な実施形態において、ファシリティは、検索とドキュメントオーサリングキャンバスとを統合することができる。これらの実施形態では、オーサリングアプリケーションのユーザは、アプリケーションのコンテキストの外部の検索プロバイダを使用して検索を実行し、検索の結果を素早く、簡単に、アプリケーションでオーサリングされているドキュメント内に埋め込むことができる。したがって、例えば、ワープロドキュメントまたはスプレッドシートのユーザは、１回のアクションで検索を実行し、検索の結果をユーザがオーサリングしているドキュメントまたはスプレッドシートに追加することができる。
【０２０９】
様々な実施形態において、ファシリティは、レプリケーションを使用して拡張されうる。例えば、ファシリティは、ピンボードコレクションおよびその基礎となるデータを、複数のインターネットドメイン内に置かれているサーバなど、複数のサーバにレプリケートすることができる。ピンボードコレクションおよびその基礎となるデータがレプリケートされるときに、一方のドメインのユーザは、ピンボードコレクションを共有または受け取るために他方のドメインのサーバにアクセスする必要はない。
【０２１０】
様々な実施形態において、ファシリティは、作成者または受信者により与えられた検索条件を使用して検索するときに検索プロバイダを自動的に発見し、適宜、検索プロバイダを自動的にインストールする。その検索条件を使用して特定された情報では、検索プロバイダのインストール場所とインストール方法を識別する。
【０２１１】
様々な実施形態において、ファシリティは、「コンテナ」と考えることができる様々な種類のドキュメントとともに機能する。コンテナは、他のドキュメントまたは他のドキュメントへの参照を含むドキュメントである。コンテナの実施例としては、例えば、メディアプレイリスト、他のファイルおよびコンピューティングシステム上に他のファイルをインストールするための命令を含むインストレーションファイルなどがある。コンテナは、ピンボードコレクションに類似しているため、ファシリティは、任意の種類のコンテナとともに動作する。ユーザは、コンテナに対する許可を操作することによりコンテナ内のファイルへのアクセスを制御することができる。例えば、受信者はコンテナへの表示アクセス権を持たなければならないとユーザが指示した場合、ファシリティは、さらに、コンテナに含まれる、またはコンテナにより指示されるすべてのファイルへの表示アクセス権を与える。さらに、コンテナに他のコンテナが含まれる場合、ファシリティは、許可を含まれるコンテナにより指示されるファイルに再帰的に適用することができる。さらに、ファシリティを使用することで、サードパーティはコンテナに含まれる情報アイテムにより指示されるロジックを備えることでファシリティを拡張することができるため、ファシリティは、コンテナに含まれるファイルの追加のファイル形式を自動的に認識することができる。様々な実施形態において、ファシリティを使用することで、ユーザは、ピンボードコレクション（例えば、コンテナ）が許可を継承すべき継承元の特定の情報アイテムを指示することができる。
【０２１２】
様々な実施形態において、ファシリティを使用することで、ユーザは、ユーザから利用できる情報アイテムおよびピンボードコレクションに基づいて「個人用ポータル」を作成することができる。例えば、ユーザは、ピンボードコレクションをリモートで利用できるように指示することができる。ピンボードコレクションがリモートで使用できるように有効にされた場合、ユーザは、ＭＩＣＲＯＳＯＦＴ  ＯＵＴＬＯＯＫ  ＷＥＢ  ＡＣＣＥＳＳを使用してＭＩＣＲＯＳＯＦＴ  ＥＸＣＨＡＮＧＥ  ＳＥＲＶＥＲに格納されている電子メールにリモートアクセスするのと同様の方法でリモートコンピューティングデバイスから個人用ポータルにアクセスすることができる。
【０２１３】
様々な実施形態において、ファシリティは、ドキュメントに基づきリレーショナルインデックスを生成するための汎用モデルを形成する。リレーショナルインデックスを、検索プロバイダにより構築されたフルテキストインデックスとともに使用することで、ファシリティは、類似の情報を表す様々なスキーマから抽出されたデータを生成し、維持することができる。例えば、ファシリティは、ダッシュボード、プレイリスト、ｈｔｍｌファイル、配備ファイルなど、リンクの集まりである任意の種類のドキュメントから導かれる情報を使用してリンクインデックスを構築する。ファシリティは、このリンクインデックスを使用して、ドキュメントの関係を決定することなどにより、上述の戻るリンクおよび関係リンクを作成することができる。この汎用モデルは、さらに、連絡先情報テーブルまたはアプリケーションセットアップテーブルなどの、他のカスタムインデックスを生成するためにも使用することができる。連絡先情報テーブルは、例えば、ライトウェイトディレクトリアクセスプロトコルサーバに初期値を入れるために、または共有ドキュメントに基づいて連絡先のリストを作成するために使用することができる。アプリケーションセットアップテーブルは、例えば、ソフトウェアプログラムの追加または削除を行うためにオペレーティングシステム機能において使用できるアプリケーションセットアップリポジトリを作成するために使用できる。
【０２１４】
様々な実施形態において、ファシリティは、電子メールのアクセスのしやすさ、インターネットブラウザのナビゲーションのしやすさ、および検索の簡素さを併せ持ち、これによりコラボレーションのため共有、更新、および利用されうる情報のコレクションを作成することができる。コラボレーションは、情報アイテムに関係するアクセス制御許可を定義することにより開始され、また制御されるようにできる。
【０２１５】
上で述べた説明から明らかなように、ファシリティを使用することで、作成者は検索を一次ナビゲーションメタファーとするピンボードコレクション（例えば、ポータル）を構築することができる。従来のホステッドシステムとは異なり、このファシリティを使用することで、ポータルはエントリポイントなしで存在することができる。つまり、受信者は、ポータルのロケーションを必要とすることも、さらには、特定のポータルがそのロケーションを見ることができるように存在していることを意識する必要もない。ファシリティは、ポータルに含まれる情報アイテムおよびピンボードコレクションの追加、削除、または修正を容易に行えるという点で、ポータルを組織的に作成し、管理する。ここでもまた、従来のホステッドシステムとは異なり、管理者は、どのユーザがアクセス権を持つべきであり、どのユーザが持つべきでないかを指示する必要はない。
【０２１６】
このファシリティにより、さらに、「共有ボックス」と呼ばれる概念を使用できるようになる。共有ボックスは、１つまたは複数のピンボードコレクションを格納し、これにより、そのユーザはピンボードコレクションのどのようなデータを表示し、整理し、操作するかを制御することができる。ユーザは、いくつかのピンボードコレクションが情報アイテムを表示すべきであり、他のピンボードコレクションは「折り畳まれた」状態でのみリストされるべきであることを指示することができる。ユーザは、後で、折り畳まれたピンボードコレクションを展開して、そのコンテンツを表示するようにできる。ユーザは、指定された属性を持つピンボードコレクションまたは情報アイテムを含む領域を指示することにより共有ボックスを編成することができる。例えば、共有ボックスは、指定された時間枠内で共有されるすべてのピンボードコレクションを表示する領域、特定のユーザと共有されているピンボードコレクションを表示する他の領域などを有することができる。いくつかの実施形態では、ファシリティは、共有ボックスとともに「ＡＪＡＸ」ユーザインターフェース設計を使用することができる。ＡＪＡＸは、サーバと通信し、ユーザインターフェースを動的に更新するＡＪＡＸエンジンを使用することによりユーザインターフェースを定義するアーキテクチャを定義するものである。ユーザは、共有ボックス内に表示されるピンボードコレクションに対し様々なアクションを実行することができる。例えば、ユーザは、共有ピンボードコレクションに応答する、受け取った、または作成されたピンボードコレクションを他のユーザと共有する、ピンボードコレクションを削除する、ピンボードコレクションに対する許可を指示するなどを行うことができる。
【０２１７】
当業者であれば、上述のファシリティは、様々な方法で拡張できることを容易に理解できる。例えば、ファシリティは、連絡先情報などの情報アイテムに含まれる様々な種類の情報に対しインデックスを作成し、アプリケーションまたはサービス（例えば、共有連絡先アプリケーションまたはライトウェイトディレクトリアクセスプロトコルサーバ）を介してデータにアクセスするためのＡＰＩまたはユーザインターフェースを備えることができる。いくつかの実施形態では、ファシリティは、そのようなアプリケーション用のユーザインターフェースを実現するように適合させることができる。
【０２１８】
様々な実施形態において、ファシリティは、ファイルシステムを使用して、情報アイテムおよび他のオブジェクトを格納する。これらの実施形態では、基礎となるオペレーティングシステムは、これらの情報アイテムまたはオブジェクトが変更されたとき（例えば、修正、作成、削除などが行われたとき）にそのことをファシリティに通知する。ファシリティは、情報アイテムおよびオブジェクトに関連付けられているインデックスを作成し、管理し、オペレーティングシステムからその通知を受け取ったときに、インデックスをそれに応じて修正する。他のアプリケーションをおよびサービスは、インデックスおよび基礎となる情報アイテムまたはオブジェクトを使用することができる。例えば、メッセージングクライアントプログラム（例えば、ＭＩＣＲＯＳＯＦＴ  ＯＵＴＬＯＯＫ）は、電子メールの作成またはレビューのためファイルシステム内に置かれているファイルを使用できるとよい。電子メールメッセージ（または一般に、情報アイテムおよびオブジェクト）をファイルに格納することにより、ファシリティは、オフライン使用を可能にする。
【０２１９】
様々な実施形態において、ファシリティは、ユーザと「共有」されるすべての情報に対しクエリを実行するために単一の場所を形成する。これにより、ファシリティプログラムは、同じ共有データについて新しいインデックスを構築し、データを意味のある形で取り出すためのアプリケーションインターフェースを公開することができる。
【０２２０】
ファシリティは、さらに、企業向けに他のアプリケーション特有の「サーバ」を作成するように容易に拡張することができる。例えば、ファシリティは、ソフトウェアリポジトリサーバ、ディレクトリプロバイダなどを作成することができる。ソフトウェアリポジトリサーバは、様々なソフトウェアアプリケーション、その更新などを格納する。ユーザがオペレーティングシステムコンポーネントを使用してプログラムの追加またはインストールを行う場合、ファシリティは、ユーザがプログラムまたは更新をインストールするための十分なＡＣＰを有しているかどうかを簡単に判定し、次いで、プログラムまたは更新をインストールするためオペレーティングシステムコンポーネントに供給することが可能である。管理者（または十分な特権を有する他のユーザ）は、アプリケーションまたは更新を必要とするユーザとアプリケーションを共有することができる。ディレクトリプロバイダは、例えば、プリンタに関係する情報を格納することができる。管理者またはユーザは、プリンタをプリンタへのアクセスを必要とするユーザと共有することができる。ユーザがオペレーティングシステムのコンポーネントを使用してプリンタを追加する場合、ファシリティは、共有プリンタの指示を与えることができる。
【０２２１】
特定の一実施例では、ファシリティは、企業またはビジネスソフトウェアの「段階的」配備で使用することができる。コンテナは、ユーザのコンピューティングデバイス上にインストールされるファイルの指示を含む。このコンテナは、いくつかのクラスのユーザ（例えば、初期の採用者、後期の採用者など）と共有され、ソフトウェアをそれらのユーザクラスに段階的に配備することができる。
【０２２２】
パーソナル化可能情報ネットワークは、それとは別に、個人情報ネットワークまたはパーソナル化情報ネットワークと呼ぶことができる。
【０２２３】
様々な実施形態が上述の環境に関して説明されているが、当業者であれば、ファシリティは単一のモノリシックコンピュータシステムだけでなく、様々な方法で接続されているコンピュータシステムまたはデバイスの様々な他の組合せを含む様々な他の環境において実装することができることを理解するであろう。
【０２２４】
当業者であれば、流れ図が例示している、明細書で説明されている記述に関係するロジックは、様々な方法で変更できることを理解するであろう。例えば、ブロックの順序を変更することができる、ロジックを並列実行することができる、いくつかのロジックを省略することができる、または他のロジックを追加することができるといったことが考えられる。
【０２２５】
いくつかの図およびその説明は、人が理解しやすいように意図されているが、当業者であれば、情報を格納するためにファシリティにより使用される実際のデータ構造は、例えば、異なる方法で編成することができるという点で示されているテーブルと異なることがある、含まれる情報は図に示されているのよりも多い場合も少ない場合もある、圧縮および／または暗号化されうるといったことを理解するであろう。
【０２２６】
ユーザインターフェースは、いくつかのユーザインターフェース要素とともに例示されているが、当業者であれば、ユーザインターフェースを再配列することができる、追加のユーザインターフェース要素を追加できる。またはユーザインターフェース要素を取り除くことができるということを理解するであろう。当業者であれば、さらに、様々なユーザインターフェース要素は、実質的にファシリティの機能性に影響を及ぼすことなく次々に置き換えることができることも理解するであろう。
【０２２７】
当業者であれば、上述のファシリティは、様々な方法で直接的に適合させるか、または拡張することができることを容易に理解するであろう。例えば、ファシリティは、様々なインデックス機能または検索プロバイダを使用することができる。これらのインデックス機能または検索プロバイダは、ユーザのデスクトップコンピュータまたはサーバなどのリモートコンピューティングデバイス上で動作しうる。ファシリティは、ドキュメント、Ｗｅｂログ（「ブログ」）、Ｗｅｂページ、様々なソースからのデータ、画像、マルチメディアなどの様々な情報タイプで動作することが可能である。前記の説明では、特定の実施形態を参照しているが、本発明の範囲は、請求項および引用されている要素のみにより定義される。
【図面の簡単な説明】
【０２２８】
【図１】様々な実施形態におけるファシリティにより提供される表示結果ページを例示する表示画面である。
【図２】様々な実施形態におけるファシリティにより提供される表示結果ページを例示する表示画面である。
【図３】様々な実施形態におけるファシリティにより提供される表示結果ページを例示する表示画面である。
【図４】情報アイテムを収集するため様々な実施形態におけるファシリティにより使用されるｃｏｌｌｅｃｔ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｉｔｅｍｓルーチンを例示する流れ図である。
【図５】ピンボードコレクション（ｐｉｎｂｏａｒｄ  ｃｏｌｌｅｃｔｉｏｎｓ）を識別する統一リソースロケータを取り扱うため様々な実施形態におけるファシリティにより使用されるｈａｎｄｌｅ＿ＵＲＬ  ｒｏｕｔｉｎｅを例示する流れ図である。
【図６】ピンボードコレクションを作成するため様々な実施形態におけるファシリティにより使用されるｃｒｅａｔｅ＿ｐｉｎｂｏａｒｄ＿ｃｏｌｌｅｃｔｉｏｎルーチンを例示する流れ図である。
【図７】様々な実施形態においてクエリプランを実行するときにファシリティにより作成される結果セットテーブルを例示するテーブルの図である。
【図８】様々な実施形態においてファシリティが動作しうる好適な環境を例示するブロック図である。
【図９】様々な実施形態において図８のサーバのいくつかの態様をさらに詳細に例示するブロック図である。
【図１０】様々な実施形態におけるファシリティにより提供される表示結果ページを例示する表示画面である。
【図１１】様々な実施形態におけるファシリティにより使用される許可を示すユーザインターフェースを例示する表示画面である。
【図１２Ａ】様々な実施形態において許可を決定するピンボードコレクションと情報アイテムとの間の関係を例示するブロック図である。
【図１２Ｂ】様々な実施形態において許可を決定するピンボードコレクションと情報アイテムとの間の関係を例示するブロック図である。
【図１２Ｃ】様々な実施形態において許可を決定するピンボードコレクションと情報アイテムとの間の関係を例示するブロック図である。
【図１２Ｄ】様々な実施形態において許可を決定するピンボードコレクションと情報アイテムとの間の関係を例示するブロック図である。
【図１２Ｅ】様々な実施形態において許可を決定するピンボードコレクションと情報アイテムとの間の関係を例示するブロック図である。
【図１３Ａ】アクセス制御許可を修正するため様々な実施形態におけるファシリティにより使用されるルーチンを例示する流れ図である。
【図１３Ｂ】アクセス制御許可を修正するため様々な実施形態におけるファシリティにより使用されるルーチンを例示する流れ図である。
【図１３Ｃ】アクセス制御許可を修正するため様々な実施形態におけるファシリティにより使用されるルーチンを例示する流れ図である。
【図１４】情報アイテムへの変更を監視するため様々な実施形態におけるファシリティにより使用されるｍｏｎｉｔｏｒ＿ｃｈａｎｇｅｓルーチンを例示する流れ図である。
【図１５】変更をレプリケートするため様々な実施形態におけるファシリティにより使用されるｒｅｐｌｉｃａｔｅルーチンを例示する流れ図である。
【図１６】ファシリティで複数の検索プロバイダを使用するためのコンポーネントおよび複数の態様を例示するブロック図である。
【図１７】ファシリティにより使用されている様々なコンポーネントを例示するブロック図である。
【図１】
2008541296.tif 000003
【図２】
2008541296.tif 000004
【図３】
2008541296.tif 000005
【図４】
2008541296.tif 000006
【図５】
2008541296.tif 000007
【図６】
2008541296.tif 000008
【図７】
2008541296.tif 000009
【図８】
2008541296.tif 000010
【図９】
2008541296.tif 000011
【図１０】
2008541296.tif 000012
【図１１】
2008541296.tif 000013
【図１２Ａ】
2008541296.tif 000014
【図１２Ｂ】
2008541296.tif 000015
【図１２Ｃ】
2008541296.tif 000016
【図１２Ｄ】
2008541296.tif 000017
【図１２Ｅ】
2008541296.tif 000018
【図１３Ａ】
2008541296.tif 000019
【図１３Ｂ】
2008541296.tif 000020
【図１３Ｃ】
2008541296.tif 000021
【図１４】
2008541296.tif 000022
【図１５】
2008541296.tif 000023
【図１６】
2008541296.tif 000024
【図１７】
2008541296.tif 000025