(57)【要約】  コンピュータのネットワーク、例えばインターネットなどにおいて、各コンピュータがこれのアクセスする情報源を記録し、これらのレコードを使って、各ユーザがアクセスするソースによって示される、共通の興味を持つユーザのコンピュータが識別される。ユーザが類似の興味を持っていると識別されているコンピュータをリンクする仮想ネットワークが作成され、各ユーザによってどのようなソースがアクセスされているかに関するデータが、仮想ネットワークによって定義される近隣のコンピュータと共用される。また、コンピュータは、ある近隣のコンピュータから受け取られる、アクセスしたソースに関する情報を、他の近隣のコンピュータに渡すこともできる。
2008535073.tif 000002
【特許請求の範囲】
【請求項１】
情報源にアクセスする複数のコンピュータを備えるネットワークであって、
各コンピュータによってアクセスされるソースを検出する手段と、
前記ソースへの類似の興味を示すコンピュータを識別する手段と、
前記ソースへの類似の興味を示すと識別されるコンピュータ間にリンクを作成する手段と、
アクセスされるソース上のデータを、各コンピュータによって前記リンクを介して他のコンピュータに伝搬する手段と、
を備えるネットワーク。
【請求項２】
前記データはメッセージの形で伝搬され、各コンピュータは、受信メッセージを転送すべきか、それとも廃棄すべきか決定するフィルタ手段を備える、請求項１に記載のネットワーク。
【請求項３】
前記フィルタ手段は、統計的規則に従ってメッセージを廃棄するように構成されている、請求項２に記載のネットワーク。
【請求項４】
コンピュータによって実施される前記統計的規則は、該コンピュータへのリンク数による影響を受ける、請求項３に記載のネットワーク。
【請求項５】
前記情報源はウェブページを備える、請求項１乃至請求項４のいずれか１項に記載のネットワーク。
【請求項６】
前記情報源はニュースフィードを備える、請求項１乃至請求項５のいずれか１項に記載のネットワーク。
【請求項７】
前記ソースへの類似の興味を示すと識別される前記コンピュータは、１つまたは複数の特定の情報源からの情報にアクセスするコンピュータを備える、請求項１乃至請求項６のいずれか１項に記載のネットワーク。
【請求項８】
前記ソースへの類似の興味を示すと識別される前記コンピュータは、１つまたは複数の特定の情報源から情報をダウンロードするコンピュータを備える、請求項１乃至請求項７のいずれか１項に記載のネットワーク。
【請求項９】
前記ソースへの類似の興味を示すと識別される前記コンピュータは、１つまたは複数の特定の情報源から情報を読み取るコンピュータを備える、請求項１乃至請求項８のいずれか１項に記載のネットワーク。
【請求項１０】
前記ソースへの類似の興味を示すと識別される前記コンピュータは、特定の閾値を上回る類似性の尺度を共有する情報源にアクセスするコンピュータを備える、請求項１乃至請求項９のいずれか１項に記載のネットワーク。
【請求項１１】
ダウンロードされる情報が前記コンピュータによって読み取られたかどうか判断する手段を備える、請求項１乃至請求項１０のいずれか１項に記載のネットワーク。
【請求項１２】
前記情報源は、ウェブサイトとニュースフィードの少なくとも１つを備える、請求項１乃至請求項１１のいずれか１項に記載のネットワーク。
【請求項１３】
複数のコンピュータを備えるネットワークにおいてデータを共用する方法であって、各コンピュータによってアクセスされる情報源に関するデータを記録するステップと、前記情報源への類似の興味を示すコンピュータを識別するステップと、前記ネットワーク内に類似の興味を示すコンピュータ間のリンクを作成するステップと、アクセスされるソースに関する前記データを、各コンピュータによって前記リンクを介して他のコンピュータに伝搬するステップを含む方法。
【請求項１４】
前記データをメッセージの形で伝搬することを含み、各コンピュータは、受信メッセージを転送すべきか、それとも廃棄すべきか決定する、請求項１３に記載の方法。
【請求項１５】
統計的規則に従ってメッセージを廃棄することを含む、請求項１４に記載の方法。
【請求項１６】
コンピュータによって実施される前記統計的規則は、該コンピュータへのリンク数による影響を受ける、請求項１５に記載の方法。
【請求項１７】
前記ソースへの類似の興味を示すコンピュータを、１つまたは複数の特定のウェブページからの情報にアクセスするコンピュータとして識別することを含む、請求項１３乃至請求項１６のいずれか１項に記載の方法。
【請求項１８】
前記ソースへの類似の興味を示すコンピュータを、１つまたは複数の特定のニュースフィードからの情報にアクセスするコンピュータとして識別することを含む、請求項１３乃至請求項１７のいずれか１項に記載の方法。
【請求項１９】
前記ソースへの類似の興味を示すコンピュータを、１つまたは複数の特定のニュースフィードに登録するコンピュータとして識別することを含む、請求項１３乃至請求項１８のいずれか１項に記載の方法。
【請求項２０】
前記ソースへの類似の興味を示すコンピュータを、類似の情報をダウンロードするコンピュータとして識別することを含む、請求項１３乃至請求項１９のいずれかに１項に記載の方法。
【請求項２１】
前記ソースへの類似の興味を示すコンピュータを、特定の閾値を上回る類似性の尺度を共有する情報源にアクセスするコンピュータとして識別することを含む、請求項１３乃至請求項２０のいずれか１項に記載の方法。
【請求項２２】
情報にアクセスすることは前記情報を読み取ることを含む、請求項１３乃至請求項２１のいずれか１項に記載の方法。
【請求項２３】
コンピュータにダウンロードされる情報が、該コンピュータによって読み取られたかどうか判断することを含む、請求項１３乃至請求項２２のいずれか１項に記載の方法。
【請求項２４】
コンピュータ上で実行されると、前記コンピュータを、請求項１３乃至請求項２３のいずれか１項に記載の方法ステップに従って動作させる命令を備えるコンピュータプログラム。
【請求項２５】
請求項２４に記載のコンピュータプログラムを記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークと、データを共用する方法に関する。
【背景技術】
【０００２】
通信技術とデータ記憶容量の改善の結果として、比較的安価で情報へのアクセスが提供される状況が生み出されてきた。コンピュータ速度とアクセス帯域幅が非常に増大するにつれて、例えば、単純な問い合わせが何万件もの「ヒット」をもたらすときなどに、短期間にアクセス可能なデータ量が、急速に管理できなくなる状況も増える。結果として、ネットワークユーザは、ますます、自分と同じ興味を持つことが分かっており、理想的には、完全に一致するようにカスタマイズすることのできる情報源の選択に頼るようになっている。しかしながら、利用可能な情報の純然たる量を考えれば、ユーザが、興味の対象となり得るあらゆるソースについて知ることは、実際には不可能である。
【発明の開示】
【０００３】
本発明は、ネットワーク内のあるコンピュータユーザが、ネットワーク内の他のユーザには知られているが、このユーザは知らなかった、関連する情報源に容易にアクセスできるようにする方法および手段を提供しようとするものである。
【０００４】
本発明は、請求項１で定義されるネットワークを提供する。また、本発明は、請求項１３で定義される方法も提供する。
【０００５】
次に、本発明の実施形態を、例として図面を参照して説明する。
【発明を実施するための最良の形態】
【０００６】
図１に、本発明の実施形態の動作環境を提供する分散コンピューティング環境の一部を形成する汎用コンピュータシステムを示す。後段で、本発明の実施形態の動作を、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明する。かかるプログラムモジュールには、タスクを実行し、または特定のアブストラクトデータ型を実施する、プロセス、プログラム、オブジェクト、コンポーネント、データ構造、データ変数などが含まれ得る。さらに、対象とする読者には、本発明が、図１に示すコンピュータシステム以外のコンピュータシステム、具体的には、ハンドヘルド機器、ノート型コンピュータ、メインフレームコンピュータ、ミニコンピュータ、マルチプロセッサシステムなどを備える分散コンピューティング環境内で実施されてもよいことが理解されるはずである。分散コンピューティング環境内では、複数のコンピュータシステムが通信ネットワークに接続されており、本発明の個々のプログラムモジュールは、各コンピュータシステムの間に分散されていてもよい。
【０００７】
図１を具体的に参照すると、本発明の一実施形態の動作環境の一部を形成し、当分野で一般に知られている、汎用コンピュータシステム１（以下、コンピュータという）は、内部に、コンピュータ電源装置、マザーボード、１つまたは複数のハードディスクドライブ、システムメモリ、グラフィックスカードおよびサウンドカード、ならびに様々な入力および出力インターフェースが含まれる、デスクトップシャーシベースユニット１００を備える。さらに、このシャーシは、ＣＤ、ＣＤＲ、ＣＤＲＷ、ＤＶＤなどの取り外し可能光ディスクとの間で読取りおよび／または書込みを行うことのできる光ディスクドライブ１１０のハウジングも提供する。さらに、シャーシユニット１００は、磁気フロッピー（登録商標）ディスクを受け入れ、磁気フロッピーディスクとの間で読取りおよび／または書込みを行うことのできる磁気フロッピーディスクドライブ１１２も収容する。また、ベースシャーシユニット１００は、その背面に、ユーザに視覚表示を提供するのに使用されるモニタ１０２や、コンピュータ出力の紙コピーを提供するのに使用され得るプリンタ１０８や、オーディオ出力を生成するスピーカ１１４といった周辺機器のための多数の入力および出力ポートも備える。ユーザは、キーボード１０４、またはマウス１０６などのポインティング装置を介して、コンピュータシステムにデータおよびコマンドを入力し得る。
【０００８】
図１には、例示的実施形態が示されているにすぎず、本発明と共に使用され得る他のコンピュータの構成も可能であることが理解されるであろう。特に、ベースベースシャーシユニット１００は、タワー型構成とすることもでき、代替として、コンピュータ１は、ラップトップまたはノート型構成として実施されるという点で、携帯型とすることもできる。また、他の構成として、パーソナルディジタルアシスタント携帯情報端末や、移動電話機でさえも可能である。
【０００９】
図２に、コンピュータ１のシステム構成要素のシステムブロック図を示す。点線内に位置するシステム構成要素は、シャーシユニット１００内に通常見られる構成要素である。
【００１０】
図２を参照すると、コンピュータ１の内部構成要素には、それ自体ランダムアクセスメモリ１２０と読取り専用メモリ１３０を備えるシステムメモリ１１８が搭載されているマザーボードが含まれる。加えて、システムメモリ１１８を含む様々なシステム構成要素を処理装置１５２と結合するシステムバス１４０が設けられている。また、システムバス１４０には、モニタ１０２にビデオ出力を提供するグラフィックスカード１５０と、システムに入出力インターフェースを提供し、本実施形態では、プリンタ１０８に制御出力を提供するパラレルポートインターフェース１５４と、フロッピーディスクドライブ１１２を、そこに挿入される任意のフロッピーディスクからデータを読み取り、またはフロッピーディスクにデータを書き込むように制御するフロッピーディスクドライブインターフェース１５６も結合されている。加えて、システムバス１４０には、スピーカ１１４にオーディオ出力信号を提供するサウンドカード１５８と、そこに挿入される取り外し可能な光ディスクとの間でデータ読取りとデータ書込みを行うように光ディスクドライブ１１０を制御する光ドライブインターフェース１６０と、パラレルポートインターフェース１５４と同様に、システムとの間の入出力インターフェースを提供するシリアルポートインターフェース１６４も結合されている。この場合、シリアルポートインターフェースは、キーボード１０４と、トラックボールやマウスなどとすることのできるポインティング装置１０６の入力ポートを提供する。
【００１１】
加えて、システムバス１４０には、コンピュータ１を、ネットワーク１９０を介して他のコンピュータとやりとりさせるように構成されている、ネットワークカードなどの形態のネットワークインターフェース１６２も結合されている。実際には、複数のネットワークインターフェースが設けられ得る。ネットワーク１９０は、ローカルエリアネットワークでも、広域ネットワークでも、ローカル無線ネットワークでも、公衆交換電話網（ＰＳＴＮ）などでもよい。特に、ＩＥＥＥ８０２．１１無線ＬＡＮネットワークは、コンピュータの移動性を可能にするのに特に役立つ。ネットワークインターフェース１６２は、コンピュータ１が、プログラムまたはデータの交換のために、サーバ、ルータ、ピアレベルコンピュータなどの他のコンピュータとの、ネットワーク１９０を介した論理接続を形成することを可能にする。
【００１２】
加えて、システムバス１４０に結合されており、ハードディスクドライブ１６８との間での、データまたはプログラムの読取りまたは書込みを制御する、ハードディスクドライブインターフェース１６６も設けられている。ハードディスクドライブ１６８、光ドライブ１１０と共に使用される光ディスク、またはフロッピーディスク１１２と共に使用されるフロッピーディスクは、すべて、コンピュータシステム１のコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶を提供する。本明細書では、これら３つの特定の種類のコンピュータ可読記憶媒体を説明しているが、データを記憶し得る他の種類のコンピュータ可読媒体、具体的には、磁気カセット、フラッシュメモリカード、テープ記憶ドライブ、デジタル多用途ディスクなども使用され得ることが、対象とする読者には理解されるであろう。
【００１３】
ハードディスクドライブ１６８や、任意のフロッピーディスクや光ディスクなどのコンピュータ可読記憶媒体は、それぞれ、様々なプログラム、プログラムモジュールまたはデータを格納し得る。具体的には、本実施形態のハードディスクドライブ１６８は、特に、多くのアプリケーションプログラム１７５、アプリケーションプログラムデータ１７４、コンピュータシステム１またはユーザによって必要とされる他のプログラム１７３、マイクロソフト（Microsoft）（登録商標）ウィンドウズ（登録商標）（Windows（登録商標））、リナックス（登録商標）（Linux（登録商標））、ユニックス（登録商標）（Unix（登録商標））などのコンピュータシステムオペレーティングシステム１７２、ならびにファイル、データ構造、または他のデータの形のユーザデータ１７１を記憶する。ハードディスクドライブ１６８は、前述のプログラムおよびデータが電源なしで永久に記憶され得るように、これらのプログラムおよびデータの不揮発性記憶を提供する。他のプログラム１７３には、本発明の、または本発明に関連する方法を実施する１つまたは複数のプログラムが含まれる。一変形では、アプリケーションプログラム１７５が、本発明の方法を実施する１つまたは複数のプログラムを含む。
【００１４】
コンピュータ１が、ハードディスクドライブ１６８または他のコンピュータ可読記憶媒体に記憶されたアプリケーションプログラムまたはデータを利用するために、システムメモリ１１８は、コンピュータ１が必要とするときに、アプリケーションプログラム、プログラムデータ、他のプログラム、オペレーティングシステム、およびユーザデータのメモリ記憶を提供する、ランダムアクセスメモリ１２０を提供する。これらのプログラムおよびデータがランダムアクセスメモリ１２０にロードされると、メモリ１２５のある特定の部分がアプリケーションプログラムを保持し、別の部分１２４がプログラムデータを保持し、第３の部分１２３がこの他のプログラムを、第４の部分１２２がオペレーティングシステムを、第５の部分１２１がユーザデータを保持し得る。必要に応じて、コンピュータにより、様々なプログラムおよびデータが、ランダムアクセスメモリ１２０の内外に移動され得ることが、対象とする読者には理解されるであろう。より具体的には、プログラムまたはデータがコンピュータによって使用されていない場合、このプログラムまたはデータは、ランダムアクセスメモリ１２０に記憶されず、ハードディスク１６８上の不揮発性記憶に戻される可能性が高い。
【００１５】
システムメモリ１１８は、基本情報と、コンピュータ１内のシステム要素間で情報を転送するためのコマンドとを含む基本入出力システム（ＢＩＯＳ）のためのメモリ記憶を提供する読取り専用メモリ１３０も提供する。ＢＩＯＳは、システム始動時に、様々なシステム要素がどのようにして相互にやりとりし、システムを起動させるかに関する基本情報を提供するのに不可欠である。
【００１６】
図２には、本発明の分散コンピューティング環境のコンピュータの一実施形態が示されているが、コンピュータには、例えば、マイクロホン、ジョイスティック、ゲームパッド、スキャナなど、他の周辺機器が接続されていてもよいことが、当業者には理解されるであろう。加えて、ネットワークインターフェース１６２に関しては、これが無線ＬＡＮネットワークカードであることがどのように好ましいか前述したが、同様に、コンピュータ１は、シリアルポートインターフェース１６４またはパラレルポートインターフェース１５４のいずれかに接続されており、公衆交換電話網（ＰＳＴＮ）を介してコンピュータ１から他のコンピュータまでの論理接続を形成するように構成されているモデムを備えていてもよいことも理解すべきである。
【００１７】
好ましい実施形態は、欧州特許出願第０２８０１３９８．５号（同公開第１４３６９５７号）明細書に詳細に記載されており、以下で述べるように変更される、スモールワールド適応ネットワーク（Small World Adaptive Network）（ＳＷＡＮ）型のネットワークである相互接続されたコンピュータ１のネットワークにおいて実行される。
【００１８】
図３を参照すると、ＳＷＡＮネットワークは、各ノード２００が存するコンピュータ１を、ローカルアクセスネットワークおよびインターネットと共に備える通信インフラストラクチャ２１５（ネットワーク１９０など）によって接続されたノード２００の組を備える。
【００１９】
コンピュータ１は、処理、記憶および通信機能を有するコンピューティングノードを構成すると共に、各コンピュータ１間でメッセージを送信し合うための通信インフラストラクチャ２１５内のノードも構成するものであることを、当業者は理解するであろう。
【００２０】
各ノード２００は、２つの部分からなるデータレコード２０２を備えるものと考えることができ、一方の部分２０２ａはこのノードの識別情報（ＩＤ）２１０を構成し、他方の部分２０２ｂは、ポート番号とサービスＩＤを含むインターネットプロトコル（ＩＰ）アドレスの形で、インフラストラクチャにおけるアドレス２０５を構成する。ノード２００のデータレコード２０２は、公開された一意の識別情報（ＵＩＤ）の対、ＵＩＤｐ：ＵＩＤａを構成し、識別情報（ＩＤ）２１０は、公開の一意のＩＤ（ＵＩＤｐ）を構成し、アドレス２０５は、関連付けられた一意のＩＤ（ＵＩＤａ）を構成する。後述する例から理解されるように、ＵＩＤａは、一般に、コンピュータ１上の検索可能データ項目のネットワークアドレスの形であるが、これに限定されるものではなく、多くの他の形のいずれかとすることもできる。
【００２１】
各ノード２００は、これのホストコンピュータ１との関連によって、処理、記憶および通信機能にアクセスすることができ、インフラストラクチャ２１５を介して任意の他のかかるノード２００と、目標ノードのインフラストラクチャ２１５におけるアドレス２０５を指定することにより、メッセージ型の組を送受信するように構成されている。各コンピュータ１には、何千もの常駐ノード２００が存在し得る。
【００２２】
後で詳述するように、ノード識別情報２１０は、ＵＲＬやポストコード(postcodes)などの実際的なＵＩＤにハッシュ化アルゴリズムを適用することによって生成される固定長ビットストリングであり、特に、ノードがそこに存し、ネットワークの他のコンピュータによる検索に利用できるコンピュータによって、ホスティングされるデータ項目と関連付けられている。データ項目という用語は、本明細書では、限定された意味ではなく広い意味で使用され、サービスを提供することのできるソフトウェアを含み、この場合の検索という用語は、ホスティングされるサービスが、ネットワークのリモートコンピュータでユーザに利用可能にされることを意味する。他の関連については後述する。
【００２３】
図４に示すように、各ノード識別情報２１０は、ネットワークアドレスおよび物理的場所とは無関係な、以下ＩＤ空間２５０という座標空間における座標を表す。
【００２４】
ＩＤ空間２５０で表されるノードは、２つの特性を有する。第１に、各ノード２００は、少数の短距離リンクと少数の長距離リンクを含むリストを維持し、この場合、リンクとは別のノード２００のネットワークアドレスの代替名であり、必ずしもそうとは限らないが、好都合には、この別のノード２００のレコード２０２の形を取る。第２に、あらゆるノードのＩＤ２１０とこれのＩＤ空間２５０における座標の間には、予測可能な関係（ハッシュ化アルゴリズム）がある。
【００２５】
ノード（照会側ノード）が、（例えば、未処理の、すなわち、ハッシュ化されていないＵＩＤの形でユーザによって供給される）識別情報はあるが、アドレスがないノード（目標ノード）とやりとりする必要がある場合、照会側ノードは、ハッシュ化アルゴリズムを使って、この目標ノードのＩＤ２１０をＩＤ空間２５０内の座標に変換し、次いで、これのリスト内のノードのうちの目標ノードに最も近いＩＤ空間に位置しているノード（「最近(nearest)ノード」という）を探索するための計算を行う。これらの計算は、まず、ＩＤ空間内におけるこのノード自体の目標ノードからの距離を求め、次いで、これのリスト内の各ノードごとのそれぞれの距離を求めることを備える。照会側ノードがこれのノードリストの１つが最近ノードであると判定したと仮定すると、照会側ノードは、インフラストラクチャを介してこの最近ノードへ、目標ノードのＩＤ２１０（の固定長ビットストリームのハッシュ化された形）と、照会側ノードのＩＤおよびネットワークアドレスを含む「ＦＩＮＤ」要求の送信を開始する。
【００２６】
ノード（この場合は、照会側ノードのリストの「最近ノード」であり、これから受信側ノードと呼ばれる）は、ＦＩＮＤ要求を受け取ると、ＦＩＮＤ要求から目標ノードのＩＤ２１０を取り出し、まず、このノード自体のＩＤと目標ノードのＩＤの間にマッチがあるかどうかチェックする。マッチがない場合、このノードは、続いて、このノードの「最近ノード」を探索して、照会側ノードについて前述したような計算を行う。こうして、ＦＩＮＤメッセージは、同様のやり方で、常に、送り手の受信側ノードよりもＩＤ空間内の目標ノードのＩＤの場所に近いＩＤ空間内の場所を表すＩＤ座標を有する受信側ノードへと先送りされる。
【００２７】
ある時点において、ＦＩＮＤ要求の伝搬は、（１）目標ノードのＩＤとマッチするＩＤを有するか、または（２）ノードのリストに「最近ノード」をみつけることができないかのいずれかであるノード（最終ノードという）において終了する。ＦＩＮＤ要求は、照会側ノードのＩＤとネットワークアドレスを含むため、最終ノードは、インフラストラクチャ２１５を介して照会側ノードに、このノード自体のＩＤ、およびネットワークアドレス、すなわちこのノードのデータレコード部分２０２ｂと、目標ノードのＩＤとを含む「ＦＯＵＮＤ」メッセージを返すことができる。照会側ノードは、これで、この最終ノードが、所望の目標ノードであるかどうか判定することができ、そうである場合には、引き続き、インフラストラクチャ２１５の経路指定機構を使って、直接通信が行われ得る。
【００２８】
メッセージ型の組は、識別情報ネットワークを改善するために各ノードによって周期的に開始される、ＰＵＳＨおよびＰＵＬＬ更新メッセージを含む。ＳＷＡＮネットワークの更新は本発明には関連せず、更新メッセージについてはこれ以上説明しない。
【００２９】
前述のＳＷＡＮネットワークの基本構造は、コンピュータ１でのユーザ（照会側ユーザ）が、ネットワークが、このユーザにとって興味の対象であるＩＤを有するノード（目標ノード）を含むかどうか確かめ、そうである場合、このＩＤに関連する、このユーザがメッセージの宛先アドレスとして用いることのできるネットワークアドレスを獲得することを可能にする。ユーザは、このＩＤを、サーチインターフェースを介して、自分のコンピュータ１に存するＳＷＡＮネットワークノードに提示してもよく、この場合、このノードは、前述の照会側ノードとして機能することになる。変形の実施形態では、ユーザのコンピュータ１は、ハッシュ化ＩＤを生成し、インフラストラクチャ２１５を介してＦＩＮＤメッセージを送るように構成されている。この場合、ＦＩＮＤメッセージの「フロム（From)」フィールドは、ノードＩＤを含む代わりに、コンピュータのネットワークアドレスを含む。
【００３０】
ネットワーカの参照
本発明の１つの特徴が、共通の興味を持つユーザが互いに近くに位置するネットワークの構築である。これを達成するためには、各ユーザの興味を確立し、共通の興味を持つユーザをリンクする（仮想）ネットワークを構築する必要がある。これを達成する１つの方法は、本発明の一実施形態によれば、ネットワーカプログラムの使用によるものである。ＤＩＥＴは、分散化ネットワークにおいて非常に多数の対話型サービスをホスティングする設備である。このため、ＤＩＥＴは、人々の間で、人々が共通して読む物事に従ってリンクを定義するのに役立つ、ネットワーカを展開する手段である。この機能は、相互に対話する各マシン上でホスティングされるサービスによって達成される。ＤＩＥＴは、分散化情報エコシステム技術（Decentralised Information Ecosystem Technologies）の略語である。ＤＩＥＴは、欧州連合のユニバーサル情報エコシステム（Universal Information Ecosystems）構想［ＦＥＴ１９９９］の下で確立された欧州共同研究プロジェクトである。ＤＩＥＴの詳細は、http://diet-agents.sourceforge.netに記載されている。
【００３１】
基本的には、ネットワーカは、ユーザの読取り行動がどのようなものであるか、読み取られる記事に対して一意の識別子を定義する枠組み、および同じ記事を読んだ他のユーザを探索する分散化ルックアップシステムを決定するための、ユーザのコンピューティング環境におけるデータのインポートまたはプローブを可能にする。
【００３２】
ネットワーカプログラムは、特に、公開プロセス、サーチプロセス、ページ検索プロセス、呼び出し(call maker)プロセスを含む、データ処理プロセスの組を備える。
【００３３】
インストール時に、ネットワーカプログラムは、ユーザのコンピュータ１上に、１組の事前定義ソフトウェアプローブをインストールする。各事前定義ソフトウェアプローブは、例えば、（人と場所の両方の）正しい名前、電子メールアドレス、ポストコード（すなわち、後で詳細に説明する、特定の英数字の形式）、郵便番号、電話番号、タイムスタンプ、ＧＰＳ座標、カレンダ方式およびユニフォームリソースロケータ（ＵＲＬ）などのそれぞれの事前定義の検出基準（テンプレートともいう）に従って動作する。本発明によれば、かかる各テンプレートは、事実上、プローブが、コンピューティング環境内のイベントおよび文書（まとめてデータ項目という）の間でサーチするそれぞれのＵＩＤの組を構成する。言い換えると、テンプレートにマッチする任意の文字シーケンスが、ＵＩＤであるとみなされる。例えば、英国電話番号計画（UK National Telephone Numbering Plan）と一致する数字のシーケンスは、英国電話ＵＩＤであるとみなされ、http、https、ftpなどの最初の文字に「://」が続き、この後にホスト名（www.apa.orgや、「ドット付き１０進数」の形で表されるものなど）が続くものとして知られているプロトコルを備える文字シーケンスは、ＵＲＬ  ＵＩＤであるとみなされる。
【００３４】
ネットワーカプログラムのプロファイル設定機能は、グラフィカルユーザインターフェース（ＧＵＩ）を生成する。これは、プロファイルタブとサーチタブを有する。
【００３５】
プロファイルタブは、ユーザが自分のプロファイルの構成を設定することを可能にする。プロファイルタブをクリックすると、プロファイルパネルが開き、プロファイルパネルは、ユーザが、一般のデスクトップ環境と互換性を有し、文書、および、Ｏｕｔｌｏｏｋなどの個人情報マネージャによって管理される、電子メールメッセージ、カレンダエントリ、コンタクトレコード、ブックマークなどを含む情報のカテゴリを用いる、多くの事前設定構成からデフォルトの構成を選択できるようにすると共に、ユーザが、後述するように、ネットワーカプログラムによって構築されるべき階層レコードツリーのルートレコードに保持される、ユーザの名前、記述および電子メールアドレスを入力することも可能にする。
【００３６】
プロファイルパネルは、人々、場所、イベント、旅行、売り物(On Offer)、ファイル、サーチ、メモ(Note)、ブックマーク、および追跡を含む表題を有する複数のプロファイルグループパネルを表示する。最初、プロファイルグループパネルは、閉じた状態にあるが、プロファイルグループパネルの開閉ボックスをクリックすると、このプロファイルグループが開いて、１つまたは複数のプロファイルグループ行(Rows)が表示される。各プロファイルグループ行は、このプロファイルグループ行に関連するデータ項目が誰か他の人と共用されるべきか否か定義する共用チェックボックスと、共用の範囲を、全員(Everyone)、職場(Work)、家庭(Home)、作業チーム(Work Team)から選択する他のチェックボックスを有する許可パネルを含む。
【００３７】
サーチタブは、ユーザが、サーチ領域と、ユーザ定義のソフトウェアプローブに関する基準、例えば、サーチ領域の範囲、私用とみなされるべきデータ項目、事前定義ソフトウェアプローブの選択など、を設定し、ユーザ指定のサーチパラメータに従ってカスタマイズされた汎用ソフトウェアプローブの生成を要求することを可能にする。
【００３８】
１つの事前設定構成は、
使用されるべき事前定義ソフトウェアプローブ、コンピュータ環境内のサーチ領域の範囲、すなわち、すべての記憶データ（文書、電子メールメッセージ、カレンダエントリ、コンタクトレコード、ブックマーク）およびコンピューティング環境のすべての一時的特徴（ウェブブラウジング、すなわちウェブページ閲覧記録）、ならびにサーチのタイプ（コンピュータ環境の自動的継続的監視）、を含むサーチ規則セットと、
ブックマーク、ブラウジングおよび文書を含む、共用区分と私用区分を設定する公開規則セット（一変形では、共用区分だけがあり、共用区分で指定されないものはすべて私用であるとみなされる）と、
ユーザの公開データ項目へのアクセスが許可される他のユーザの識別情報、これら他のユーザが、パスワードによって認証されるべきかどうか、およびかかる許可されたユーザによってデータ項目がアクセスされるときにユーザに警告が表示されるかどうかを指定する開示規則セットと、
サーチ規則セットによって探索されるデータ項目と同じＵＩＤを含むネットワークの他のコンピュータ上の公開データ項目を探索する検索規則セットと、
を定義する。
【００３９】
ネットワーカの一例において、ネットワークのコンピュータ１でユーザが、ブラウザを使って、インターネットを介してページをダウンロードするものと仮定する。知られているやり方で、ユーザによって閲覧される各ウェブページごとに、本発明のデータ項目を構成する、それぞれのウェブページ閲覧レコードが、ユーザのコンピュータ１に記憶される。このウェブページ閲覧レコードは、知られているやり方で、特に、ユーザのＩＤ、ページのＵＲＬおよび閲覧の開始と終了時刻を含む。ユーザは、自分のウェブページ閲覧レコードを「共用」状態に指定しているものとする。
【００４０】
「ＵＲＬ」ソフトウェアプローブは、ユーザのコンピュータ１に記憶されているすべてのデータ項目をスキャンするように動作し、プローブがウェブページ閲覧レコードをスキャンするときに、ＵＲＬを探索し、ユーザのコンピュータ１上のこのウェブページ閲覧レコードのＵＲＬとアドレスの両方を取り込む。このデータはネットワーカプログラムに渡され、次いで、ネットワーカプログラムは、公開ＵＩＤ（ＵＩＤｐ）を構成するＵＲＬを、関連ＵＩＤ（ＵＩＤａ）を構成するアドレスと関連付けて備えるツリーレコードを構築し、この新規に作成されるツリーレコードを、階層ツリーのブラウジングコンテナに加える。
【００４１】
ブラウジングコンテナは、レコードをネットワークに公開させる許可を含む規則セットと関連付けられている。このため、ネットワーカプログラムは、次いで、ＳＷＡＮ更新プロセスによって修正されたＳＷＡＮネットワーク内で、このＵＲＬ（及びこのウェブページ閲覧レコードのネットワークアドレス）を有する新規ノードを作成する公開プロセスを呼び出し、このＵＲＬをＩＤとして有する任意の既存ノードの共通ＩＤリストが更新される。
【００４２】
好ましい実施形態によれば、近隣を定義する１次ネットワークは、特に、読取りイベントの伝搬を目的として構築されるグラフである。このネットワークは、ユーザと記事の間のリンクによって構成される２部(bipartite)グラフであり、基礎をなす物理ネットワークのトポロジに限定されない。
【００４３】
２ユーザともがアクセスする文書の組が与えられた場合に、２ユーザの興味の類似性を測るのに用いられ得る多くの知られている技法がある。１つのよく知られている手法が、ダイス係数(Dice coefficient)を使用するものである。各ユーザ対ごとに、ダイス係数が計算され、ユーザの興味がどれほど類似しているかの０から１までの間の尺度が与えられる。２ユーザＵｉとＵｊについて、ダイス係数は、次式によって与えられる。
【数１】
2008535073.tif 000003
【００４４】
ここで、｜Ｘ｜は、Ｘが読み取った文書の数であり、Ｘ□Ｙは、ＸとＹの両方が読み取った文書の組である。代替の手法が、ジャッカード（Jaccard）係数、  
【数２】
2008535073.tif 000004
【００４５】
または、余弦係数、  
【数３】
2008535073.tif 000005
【００４６】
である。
【００４７】
特定の文書へのユーザの興味のよりきめ細かい尺度（所与の文書が読み取られた回数など）が利用できる場合、以下のように、ダイス係数をより洗練させることができる。
【数４】
2008535073.tif 000006
【００４８】
ここで、Ｗｘｙは、ユーザｙが文書ｘを読み取った回数である。これ以外の係数も同様に修正され得る。
【００４９】
システムは、情報のソースが、例えば、ＳＷＡＮによって構築されたソーシャルウェブ内などの、最も近いの近隣者であるユーザによってアクセスされない、すなわち、ユーザの「地平(horizon)」内にないために、ユーザが通常はピックアップしないであろう、関連する、または潜在的に興味を引く情報についてユーザに知らせることによって、ネットワークを改良する。最も近い近隣者とは、共用コンテキストネットワークにおいて直接接続されているユーザとして定義される。
【００５０】
システムは、各ユーザによってアクセスされる記事に関する情報を記録し、メッセージを介して他のユーザとこの情報を共用する手段を組み込んでいる。記事には、ニュースフィードおよびウェブページを含めて、ネットワークを介してアクセス可能なほぼすべての電子情報源で見られるような情報が含まれ得る。各ユーザによってサポートされる補完機能が、アクセスされたソースに関する情報を含むメッセージを他のユーザに転送する。この転送は、ソーシャルウェブ内の最も近いピア間で行われる。
【００５１】
「ピア(peer)」という用語は、「ピアツーピア」ネットワークの分野に由来するものである。ピアツーピアネットワークは、任意のノード（またはピア）が、任意のサポートされるトランザクションを、任意の他のノードと開始し、または完了することができるという目的で設計されたネットワークであるが、実際には、ノードが関与できるかどうかは、ノードが有するリソース（ＣＰＵ、記憶装置、メモリ、ネットワーク帯域幅）や、ノードのネットワーク可視性など、多くの事情に左右される。ピアツーピアネットワークの目標は、すべてのクライアントのリソースが使用され得ることである。
【００５２】
これらのメッセージの転送は、確率論的であり、各コンピュータがある割合の受信メッセージを転送せずに廃棄することによって調整され、またはフィルタにかけられる。廃棄されるメッセージは、無作為に選択されてもよく、廃棄されるメッセージの割合が、例えば、ユーザにいくつのピアがあるかといったネットワークトポロジなどの要因に依存して決まってもよい。
【００５３】
ユーザが、非常に多数のピアを有する（例えば、ユーザが非常に人気の高いニュースフィードを好む場合になどに生じ得る）場合、ユーザがこれらの非常に多くのユーザとやりとりすることに伴う処理負荷をサポートすることのできる可能性は低いはずであり、同様に、ネットワークがかかる広範囲にわたる通信が生じるトラフィックの量を処理することのできる可能性も低いはずである。したがって、かかるユーザは、潜在的なピアのうちの、通常は無作為に選択されるわずか部分を除いてほとんどリンクを維持できる見込みがないはずである。
【００５４】
フィルタリングは、当然ながら、共用コンテキストネットワーク内のより遠いユーザからの情報を抑制する傾向にある。これは、共用コンテキストネットワーク内の距離は、興味の相違に等しいため、望ましいことである。この傾向は、あるソースへのアクセスを報告するユーザが多いほど、このソースに関連するメッセージが、このソースにアクセスしたユーザからより大きい距離に位置するユーザに届く可能性が高くなるという点において、ソースの人気によって平衡が取られる。
【００５５】
図６に、ユーザとパーソナルコンピュータ１２とサーバの物理ネットワークのトポロジを示す。これが物理ネットワークと呼ばれるのは、図示された接続が、コンピュータとルータと他のネットワーク機器の物理的相互接続を表しているという点においてである。サーバは、パーソナルコンピュータを使って、ユーザによってアクセスされる記事を保持し、公開するのに使用される。図には、４つの別々の地理的場所にいるユーザが示されており、メッセージが、雲様の相互接続ネットワークを介して、異なる場所に送られる。物理ネットワークは、ルータ、ファイアウォール、および他のネットワーク機器（図示せず）を使って構築されている。
【００５６】
図７に、ピアツーピアネットワークのトポロジを示す。図７のネットワークには、図６のものと同じコンピュータの組が示されているが、トポロジは異なっている。というのは、このネットワークにおける近接性が、純粋に、地理的要因に関して定義されるものではないからである。すなわち、あるピアの別のピアへの近接性は、近隣のピアを探索するのに使用されるアルゴリズムによって定義される。このトポロジは、ピアがネットワークに接続し、またはネットワークから切断するにつれて変化する。
【００５７】
図８に、ユーザがアクセスすることのできるネットワーク内の様々なサーバ上に位置する情報源を示す。サーバ２０は情報源５、６、７をサポートするのに使用され、サーバ３０は情報源９をサポートするのに使用され、サーバ４０は情報源１、２、３、４をサポートするのに使用される。この図では、情報源８をサポートするのに使用される第４の情報サーバ５０を導入している。これらの情報源は、個々のウェブページおよびＲＳＳニュースフィードを含む様々な種類のものとすることができる。情報源の決定的に重大な側面は、情報源が一意の名前を有し、この一意の名前により、この情報源が、ネットワーク内のどのユーザからも識別され得ることである。
【００５８】
以下に、図８のネットワークにおけるアクセスパターンを示す。
【００５９】
ユーザＡは、情報源１、２、３、４、９にアクセスする。  
ユーザＢは、情報源２、３、４、７、８にアクセスする。  
ユーザＣは、情報源４、５、６、７にアクセスする。  
ユーザＤは、情報源５、６にアクセスする。  
ユーザＥは、情報源６、８にアクセスする。  
ユーザＦは、情報源８だけにアクセスする。
【００６０】
ここで、情報源とは、例えば、特定のニュースフィーズまたはウェブサイトとすることができる。代替として、このパターンは、ニュースフィードまたはウェブサイトの特定のページ内の個々の記事など、個々の情報へのアクセスに基づくものとすることもできる。
【００６１】
前述のような、分散ハッシュ表を生成するピアツーピア技術を使用すると、図９に示すようなネットワークトポロジーを自動的に生成することが可能である。分散ハッシュ表は、ＳＷＡＮ、ＤＩＥＴ、Ｃｈｏｒｄなど多くのピアツーピアシステムの基礎を形成する。「Ｃｈｏｒｄ：インターネットアプリケーションのためのスケーラブルなピアツーピアルックアップサービス（Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications）」、Ｓｔｏｉｃａ、Ｍｏｒｒｉｓ、Ｋａｒｇｅｒ、Ｋａａｓｈｏｅｋ、Ｂａｌａｋｒｉｓｈｎａｎ、ＳＩＧＣＯＭＭ’０１、２００１年８月２７〜３１日、米国カリフォルニア州サンディエゴ、http://www.pdos.lcs.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdfを参照されたい。
【００６２】
前述のように、ネットワークの基礎は、記事または情報源が一意の名前（http://www.bt.com/index.htmlやhttp://www.knowledgeboard.com/include/xml_rss2_syndicated1.xmlなど）を有することである。
【００６３】
図９のネットワークは、頂点と辺として定義され、頂点はコンピュータを表し、辺は、コンピュータと関連付けられたユーザの１人または複数によってアクセスされた記事または情報源を表す。
【００６４】
図１０に、メッセージを伝搬するのに使用されるネットワークのトポロジを示す。図１０のネットワークでは、各ユーザは、このユーザがアクセスした記事または情報源にアクセスした各他のユーザと相互に直接接続されている。図１０において、ユーザＡは、ユーザＢおよびＣへの直接リンクを有し、ユーザＢはユーザＡおよびＣへの直接リンクを有し、ユーザＣは、ユーザＢ、ＤおよびＥへの直接リンクを有し、ユーザＤは、ユーザＣおよびＥへの直接リンクを有し、ユーザＥは、ユーザＣ、ＤおよびＦへの直接リンクを有し、ユーザＦは、ユーザＥとリモートユーザへの直接リンクを有する。図１０のネットワークは、ユーザが、ユーザ自身を（例えば、ユーザのコンピューティング環境において実行されるアクセスなどを通じて）組み込んでいるコンテキストであり、ユーザが、このコンテキストを共用する他のユーザとのリンクを作成し、維持することのできるコンテキストをシステムが検出する、共用コンテキストのネットワークである。このネットワークは、ユーザに代わり、ソフトウェアによって自動的に生成される。共用コンテキストネットワークは、アクセスされる情報の意味に関する判断または表現を必要としない。
【００６５】
どのユーザも、新しい記事または情報源を利用することができる。これにより、ネットワークへの変更がもたらされ、次いで、このソースの利用可能性に関する情報の、潜在的には、すべての登録ユーザへの伝搬が開始される。
【００６６】
前述のように、該ネットワーカ発明を参照して、システムは、各ユーザがアクセスした記事または情報源（ニュースフィード、ウェブページなど）に関する情報を記録し、この情報を、メッセージを介して他のユーザと共用する手段を組み込む。各コンピュータによってサポートされる補完機能が、アクセスされたソースに関する情報を含むメッセージを他のユーザに転送する。この転送は、図１０の共用コンテキストネットワークのピア間、すなわち、リンクを介して直接接続されたユーザ間で行われる。
【００６７】
好ましい実施形態によれば、これらのメッセージの転送は、確率論的であり、各ノードが、ある割合の受信メッセージを転送せずに廃棄することによって調整され、フィルタにかけられる。
【００６８】
さらに、図１０のネットワークは、各メンバの読取り行動に基づいて発展する。例えば、コンピュータは、記事または情報源が読み取られた有限な期間にわたってのみ記録を行う。この期間の長さは、ネットワークがセットアップされるコンテキストに応じて異なるが、通常は、１ヶ月程度とすることができる。この記録されるイベントの有限な持続性は、ネットワークが、完全な履歴概要を表すのではなく、現在の読取りパターンを反映するように発展することを保証する。
【００６９】
ソフトウェアによって維持されるリンク数の、人気項目の読者への低減。
【００７０】
ユーザは、共通の興味を持つ他のすべてのユーザへのリンクを設定しないこともある。設定される可能なリンクの割合は、例えばユーザが有するピアの数といったネットワークトポロジーなどの要因に依存する。ユーザが、非常に多数のピア（例えば、ユーザが非常に人気の高いニュースフィードを好んだ場合などに生じ得る）を有する場合、ネットワークがあふれるのを回避するために、高い割合のメッセージを廃棄する可能性が高くなるはずである。この説明では、しばしば、様々な処置を講じるユーザに言及しているが、ユーザのためにこれらのタスクを実行しているのは、ユーザのコンピュータ上で動作するソフトウェアであることが、当分野の読者には明らかであろう。
【００７１】
フィルタリング関数は、（記事または情報源の）読者数や、ネットワークサイズなど、様々なネットワークパラメータを取る。この関数は、０から１までの間の数を返す。別個に、０から１までの間の乱数が生成され、この数が、関数によって返される数より小さい場合、メッセージは、近隣のピアに伝搬され、そうでない場合、メッセージは転送されない。
【００７２】
本発明は、有利なことには、ユーザに、ユーザが通常は気付かないはずの、関連する、または潜在的に興味を引く記事または情報源に関する情報を提供する。本発明は、これを、余分なネットワークトラフィックを生成しない効率的なやり方で実現し、一旦必要なソフトウェアがインストールされると、ユーザ側のいかなる介入も必要とせずに、バックグラウンドで動作する。結果として、ユーザには、ユーザが、そこから、どれにアクセスするべきか選ぶだけでよい、興味または関連の対象となり得るソースのリストが提供される。
【００７３】
例えば、ＢＢＣウェブサイト上の記事を読む他のすべてのユーザとのリンクを維持することは、実際上不可能である。したがって、すべてのＢＢＣユーザにリンクする代わりに、これらのＢＢＣ読者のサンプルにだけリンクし、受け取るイベントを、すべてのＢＢＣ読者の代表サンプルであるものとして処理することができる。例えば、ＢＢＣ記事の１００万人の読者がいたとすると、ユーザは、かかるユーザの１００人にだけリンクし得るが、これら１００人のユーザの１人から受け取られるイベントが、あたかも、この記事のすべての読者のうちの１００分の１が、このユーザに、このイベントを通知したかのように処理される。
【００７４】
使用される確率関数に応じて、ＢＢＣ記事がネットワーク内で人気の高いノードであったという事実が、これらの読者から受け取られるイベントのユーザによる伝搬に対する予断を与え、または伝搬を助長し得る。「Ｎ面のサイコロを振る」という基本的な統計技法が、伝搬関数として適するであろう。これは、ピアが、人気の高い記事から識別されたか、それともまれにしか読まれない記事から識別されたか区別しないはずである。
【００７５】
記事または情報源の順序付けは、本質的に、前述のネットワークによって提供される。前述のイベント伝搬ネットワークの動作を通じて、各コンピュータは、一連の「読取り通知」メッセージを受け取る。しばしば、単一の記事または情報源が、この記事にアクセスするユーザが多数であるために、多数のかかる通知の主題になることがある。任意の１つの記事について受け取られる読取り通知の数は、関連性と人気の両方の指標である。記事または情報源について受け取られるメッセージの数は、共用コンテキストネットワーク／読取りグラフ空間内の距離にわたるメッセージの減衰によって、関連性の指標である。記事または情報源について受け取られるメッセージの数は、これが、メッセージ生成の頻度を反映する点において、人気の指標である。すべての通知される記事の単純なランク付けが、受け取られる通知の数に従って行われ得る。例えば、１００件の読取り通知が受け取られる記事は最上位となり、３０件の読取り通知が受け取られる記事は、これよりも下位になり、以下同様である。
【００７６】
この情報は、有利なことには、３つの「ペイン(panes)」またはウィンドウとして提示され得る。第１のペインは、ユーザが利用した（したがって、すでに知っている）項目を含むであろう。第２のペインは、ユーザの１次近隣が読み取った項目を含むであろう。第３のペインは、共用コンテキストネットワーク／読取りグラフ空間を通じてユーザに転送された項目を含むであろう。いずれの場合も、通知は、頻度に従った関連性によって順序付けされるであろう。
【００７７】
重み付け方式は、アルゴリズムの一例を使って、どのようにして、ローカルの記事または情報源がランク付けされ、これらの記事または情報源が「３ペイン」インターフェースに表示され得るかを示すものである。重み付け方式は、特に、ピアツーピアのニュースリーダ内で使用するためのものである。
【００７８】
共用コンテキストネットワーク内のピアを識別するためには、ユーザの行動に基づいてユーザを格付けする必要がある。ローカルユーザの格付けアルゴリズムの一例を以下に示す。
【００７９】
ａ）（ローカルユーザを含む）各ユーザの「重要度」を１に設定する  
ｂ）他の各ユーザごとに、該ユーザが、ローカルユーザと同じ少なくとも１つの記事を読み取る場合、該ユーザの「重要度」を１増やす  
ｃ）所定水準を上回るスコアを有するユーザについて、該ユーザを、ローカルユーザのピアとして識別する
図９のネットワークから、１つの計算例は、以下のように進むであろう。
【００８０】
人Ａがニュースフィード１、２、３、４、５、９を読み取り、人Ｂが２、３、４、７、８を読み取り、人Ｃが、３、４、６、７を読み取り、人Ｄが５、６、を読み取る。各ノードの重要度が１に設定される。ＢがＡと共通の２つの記事、（ニュースフィード２と３からの）記事Ａ１とＡ２を読み取り、このため、Ｂの重要度が３（＝１＋２）として計算される。ＡもＣも記事Ａ３を読み取っており、このため、Ｃの重要度が２に設定される。Ｄは、Ａと同じ文書のいずれも読み取っていないので、例えＡもＤもニュースフィード５を利用しているとしても、Ｄの重要度は１である。
【００８１】
このアルゴリズムは、単に、類似の読取り行動を有するノードを識別し、この類似性に対してある重要度の尺度を与えることを可能にするだけである。
【００８２】
フィルタリングは、当然ながら、ソーシャルウェブ内でより遠いユーザからからの情報を抑制する傾向にある。というのは、これらのメッセージは、より近くのユーザからのメッセージよりも多くのフィルタリングイベントに耐えなければならなくなることが必要になるからである。これは望ましい結果である。というのは、図１０のネットワーク内の距離は興味の相違に等しく、より遠いユーザからのメッセージに示されるソースは、近隣者からのソースより関連性の低いソースに関連する傾向があるはずだからである。関連性の低いソースを除外しようとするこの傾向は、特定のソースへのアクセスを報告するユーザが多いほど、該ソースに関連するメッセージが、たとえ該ソースにアクセスしたユーザからより遠い距離に位置するユーザであったとしても、ユーザに届く可能性がより高くなるという点において、ソースの人気によって平衡が取られる。
【００８３】
別の実施形態では、本発明は、読み取られた記事を分類し、ユーザが興味を持ち得るより幅広い話題に関する推論を行う。推論は、ＲＳＳフィード内に含まれるテーマに関して行われる。
【００８４】
また、ユーザのシステムとの対話は、ユーザのプロファイルを作成するのにも役立つ。すなわち、アクセスされ、読み取られた記事により、共用コンテキストネットワーク内に、新しいリンク、したがって、新しい近接性が作成されることになる。ピアのいずれか１つが新しい情報源を利用する場合、このネットワークへの追加により、このソースの利用可能性の、潜在的にはすべての登録ピアへの伝搬が開始される。
【００８５】
別の実施形態によれば、本発明は、サーバに基づく集中型構成において実施され得る。これは、プローブ、識別情報、および、分散型ルックアップシステムがないことを除いて、ネットワーカ手法と共通の共用コンテキストネットワークの定義を有する。サーバを用いれば、すべてのユーザによって読み取られる項目のすべてのレコードを１台のマシン上に記憶することができ、ルックアップが、同じマシン上に記憶された指標内で行われる。ネットワーク上のマシン間でメッセージを渡すことによって確率論的伝搬（フィルタリング）が実行される必要はなく、代わりに、すべてのユーザのすべての読取りイベントの「有意性」、およびこれのランク付けが、サーバによって、あたかも、イベントが分散化ネットワークにおいて減衰したかのように計算され得る。フィルタリングは、やはり、コンテキスト依存ネットワークを介したユーザ間の距離に基づくものとなるはずである。
【００８６】
ピアツーピア実施形態では、各ユーザが、個々のユーザの読取り行動を記録するソフトウェアを実施する。また、ローカルユーザは、ピアに読取り履歴がないか規則的にポーリングするルーチンも実施する。ローカルピアは、情報源からコンテンツを取り出し、この情報をユーザに提示する。
【００８７】
代替の実装形態では、（ピアが、イベントがないかポーリングするのではなく）イベントが、ユーザによって、イベントが受け取られるときに転送される。この手法は、イベントの頻度と、アプリケーションの所望の応答性とに応じて、効率が良くも悪くもなる。例えば、イベントがリアルタイムで転送される場合、これは、速報（例えば、自然災害など）を目的とするシステムを向上させ得るが、イベントがポーリング時にのみ渡される場合、これは、（通常は、何ヶ月も前に報じられる）新しいインテル（Intel）チップの発売など、あまり時間に敏感ではないアナウンスでのシステム効率を向上させ得る。どちらの場合も、メッセージ形式は、前述のものと同一とすることができる。代替として、リアルタイム転送の方の最良ネットワーク効率を利用するために、情報源の識別子のハッシュ化された符号化を含むＵＤＰパケットを送ることもできる。送られる各パケットは、単一の読取り行為を示すはずである。これには、（通常、ＸＭＬ文書などのバイトストリームを送るのに必要とされる）ソケットセットアップによって示唆されるリンク折衝を回避するという利点があり、ネットワークのあちこちで、より少ないネットワークトラフィックを用いて、より多くの情報を送信させることができる。ＵＤＰパケットは、セッションを折衝し、またはポートをペア間の通信専用にする（例えば、単一のポートを使って、すべての近隣者とやりとりすることができるなど）ことなく、撃ちっ放し（fire and forget）方式で送信される、極めて効率のよい固定サイズのバイトの「フレーム」である。ＵＤＰパケットは、これらが搬送する情報を表現するのに絶対に必要なバイト以外の余計な情報を含まない（ＸＭＬほど非効率的ではない）。
【００８８】
サーバの実施形態では、サーバは、類似の一連の計算に従うが、すべての読取り履歴が集中型データベースに記憶される。この集中型手法は、代替的に、人々が情報サービスを読み取り、またはこれに登録することができるのみならず、新しいソースを提出することもできる集中型ニュースサービスによっても実施され得る。
【００８９】
情報源のアクセスは、このウェブページのコンテキスト内のユーザへのリンクを検索し、提示する基礎とみなされる。本発明の目的に対して、収集される必要のある情報は、ユーザが、特定の情報を読み取っており、かつ／または特定の情報源を利用しているという事実だけである。しかしながら、ページとユーザの関連性は、ページを見るのに費やされる時間、対象となるウィンドウであるかどうか、マウスが動くかどうかなどの特徴の収集によって、さらに推論され得る。
【００９０】
また、本発明は、ニュースアグリゲータ(agregators)をサポートするネットワークにも適用できる。ニュースアグリゲータとは、ユーザに代わって１組のニュースソースを周期的に読み取り、最後に閲覧してから書き込まれた新着または更新情報がないか探索し、ユーザが閲覧するために探索した記事を表示する、ソフトウェア、または、リモートでホスティングされるサービスである。ニュースアグリゲータは、ＲＳＳ対応のウェブページをチェックすることができる。ＲＳＳは、ウェブページのコンテンツの短い記述を、コンテンツの完全版へのリンクと共に提供するのに使用される形式である。ニュースアグリゲータは、ニュース項目を、http://en.wikipedia.org/wiki/RSS_（プロトコル）で定義されているＲＳＳ形式に揃えて提示することができ、よって、ユーザは、新しいコンテンツをチェックするためにウェブサイトを繰り返し閲覧しなくてもよい。本発明のニュース項目とＲＳＳフィードへの一適用例では、変更されたニュースアグリゲータを使って、ユーザアクティビティに関する必要な情報を収集する。
【００９１】
本発明のウェブブラウジングへの適用では、ユーザが特定の情報を読み取っており、かつ／または特定の情報源に登録しているという情報が、（ユーザのコンピュータで動作している、またはサーバベースのプロキシである）ウェブプロキシ、または「プロファイル−解析および挙動（Profiles - analysis and behaviour）」、Ｃｒｏｓｓｌｅｙ  Ｍ、Ｋｉｎｇｓ  ＮＪ、Ｓｃｏｔｔ  ＪＲ、ＢＴテクノロジージャーナル（BT Technology Journal）、第２１巻、第１号、２００３年１月に記載されているＰｅｒｕｓｅなどのより洗練されたクライアントによって収集され得る。
【００９２】
収集した情報を伝達するのに適した機構の一例が、構造化されたＸＭＬメッセージで通知を送信するものである。匿名性の問題は、ユーザからシステムを使用することへの同意を得るのに重要である。ネットワーカで記述されるコンテキストを使って、この情報が、固定長ＵＤＰパケットで送信され、受信者によって容易に確認され得ると同時に、誰が何を読み取るかが漏洩するというセキュリティの危殆化を回避するように、この情報を符号化し、匿名化することができる。ＭＤ５などの暗号化ハッシュ関数を使って、電子メールやウェブアドレスなどのネットワーク識別子がハッシュ化され得る。さらに、個人によって、ある一定数を超える通知が、無関係な相手から受け取らない限り、個人にＵＲＩを再構築させないようにするために、前方誤りコーディング(forward error coding)（ＦＥＣ）が利用されてもよい。
【００９３】
例えば、ユーザＡが、Ｂ、ＣおよびＤに、Ｂ、ＣおよびＤが読み取った情報源に関して尋ねる。Ｂ、ＣおよびＤは、それぞれ、メッセージで、利用するニュースフィードのリストを返す。この同じメッセージの一部として、ピアは、「一時的な」（リモート）ニュースグループに関する情報、すなわち、より遠いピアによってアクセスされた記事または情報源に関してユーザに最も近いピアによって受け取られた情報も返す。前述のように、ユーザＡは、記事または情報源の存在については知っているが、誰が実際にこのソースから読み取ったか突き止めることはできない。
【００９４】
図５に示すように、ＭＤ５ハッシュを使ってネットワークを符号化すれば、エンドユーザが、他のユーザが何を読み取ったかを判断することは極めて困難になるはずである。しかしながら、ユーザは、多くの他のユーザが、同じ情報源を読み取ったことは分かる。
【００９５】
例えば、あるピアがhttp://cefn.com/?inventorを読み取る場合、ＭＤ５ハッシュコードを、１２３４５６７８９０とすることができる。このピアは、やはり１２３４５７８９０を読み取ったこれの近隣のピアに照会する。これらのピアは、それぞれが、以下の形のＸＭＬメッセージを返す。
【数５】
2008535073.tif 000007
【００９６】
ある時点において、いずれかのピアが、元の情報源にアクセスすることができる。
【００９７】
以上、例えば、ネットワーカプログラムによって提案される共用コンテキストネットワークにおいて、どのようにして、ネットワーク中に「読取り」イベントを伝搬し、該イベントを、適宜、確率論的にフィルタリングし、受信頻度に従って該イベントをランク付けすることによって、推奨システムを作成することができるかについて述べてきた。ＳＷＡＮの使用は、分散ハッシュ表を実施する技術の例によって示すものである。これは、共通の記事または情報源へのアクセスによる、ピアの自動計算および検出を可能にする。
【００９８】
識別情報空間を導出するネットワーク、共用コンテキストネットワークおよびピアネットワークをサポートする物理ネットワークは、それぞれ、異なるトポロジを有し得る。
【００９９】
一旦ピアネットワークに接続されると、本発明は、ユーザが以前に見たことのない新規の、または有用なＲＳＳフィード（または他の情報源）を識別し、これらの新しいフィードを、ユーザが現在利用しているフィードに関連付けようと試みる。次いで、これらの提示された新しいフィードは、ユーザの利用情報源の組に組み込まれ得る。
【０１００】
ネットワーク構造の解析により、本発明は、ローカルエリア内の記事または情報源の重要度に関する推論を行う。システムとの対話により、ひいてはメッセージが辿り得る経路を変更することになる追加リンクを構築することによって、共用コンテキストネットワークへの追加が行われる。
【０１０１】
本発明は、有利には、ユーザに、ユーザが通常は気付かないはずの、関連性を有し、または潜在的に興味を引く記事に関する情報を提供する。本発明は、これを、余分なネットワークトラフィックを生成せずに効率よく達成し、ユーザ側のいかなる介入も必要とせずに、バックグラウンドで動作する。結果として、ユーザに、ユーザが、そこからどれにアクセスすべきか選ぶだけでよい、興味または関連の対象となり得るソースのリストが提供される。
【図面の簡単な説明】
【０１０２】
【図１】従来のコンピュータシステムを示す図である。
【図２】従来のコンピュータシステムを示す図である。
【図３】従来のネットワークを示す図である。
【図４】図３のネットワークの座標空間表現を示す図である。
【図５】図３のネットワークのノード識別を示す図である。
【図６】本発明を実施するのに適した物理ネットワークを示す図である。
【図７】本発明によるネットワークの態様を示す図である。
【図８】本発明によるネットワークの態様を示す図である。
【図９】本発明によるネットワークの態様を示す図である。
【図１０】本発明によるネットワークの態様を示す図である。
【図１】
2008535073.tif 000008
【図２】
2008535073.tif 000009
【図３】
2008535073.tif 000010
【図４】
2008535073.tif 000011
【図５】
2008535073.tif 000012
【図６】
2008535073.tif 000013
【図７】
2008535073.tif 000014
【図８】
2008535073.tif 000015
【図９】
2008535073.tif 000016
【図１０】
2008535073.tif 000017
【国際調査報告】
2008535073.tif 000018
2008535073.tif 000019
2008535073.tif 000020
2008535073.tif 000021