(57)【要約】【課題】ネットワークに接続された複数の端末が情報の更新通知及びデータ取得を分散処理することにより、サーバーを必要としない情報通知ネットワークシステムを構成する。【解決手段】通信手段を介してメッセージ及びデータの送受信を行う一つまたは複数の端末が構成するネットワークシステムにおいて、ユーザーが当該端末上の情報を更新した際には他の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能し、かつ他のユーザーが別の端末上で情報を更新した際には当該情報提供者端末からの更新通知メッセージと更新データとを受信及び転送する情報受信者端末として機能する端末からなる。【選択図】　　　図１
2004021502.tif 000002
【特許請求の範囲】
【請求項１】
通信手段を介してメッセージ及びデータの送受信を行う一つまたは複数の端末で構成されたネットワークシステムであって、
前記各端末は、
当該端末上の情報を更新したときに、当該ネットワークシステムに属する別の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能する手段と、
当該ネットワークシステムに属する別の端末上で情報が更新されたときに、この別の端末である情報提供者端末から送信された更新通知メッセージと更新データを受信及び転送する情報受信者端末として機能する手段とを、
それぞれ備えたことを特徴とするネットワークシステム。
【請求項２】
前記各端末は、
当該ネットワークシステムに属さない外部端末が送信するネットワーク参加メッセージを受信して前記外部端末を新たに当該ネットワークシステムの構成に追加する管理者端末として機能する手段を
それぞれ備えたことを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
当該ネットワークシステムを生成した端末によって発行された固有の識別子を、当該ネットワークシステムを構成する全ての端末が共有し、
当該ネットワークシステムに流通する全てのメッセージ及びデータは、前記ネットワーク参加メッセージを除いて前記識別子が共通に付与され同識別子を有する端末間でのみ送受信されることを特徴とする請求項１または２に記載のネットワークシステム。
【請求項４】
前記情報提供者端末として機能する端末は、前記ネットワークシステムを構成する端末のうち一つまたは複数を通知先端末として登録して、この通知先端末と通信を行う端末であって、通知対象として登録された端末上のデータの更新を検知する手段と、前記データの更新が検知された場合に、前記通知対象の更新通知メッセージを前記通知先端末に向けて送信する手段とを備えたことを特徴とする請求項１乃至３に記載のネットワークシステム。
【請求項５】
前記通知対象の更新通知メッセージには、少なくとも前記情報提供者端末が属するネットワークシステムの識別子と、当該ネットワークシステムにおいて前記メッセージを一意に定めるメッセージ識別子と、前記情報提供者端末のアドレスと、前記更新されたデータを前記情報提供者端末上で一意に定める識別子と、前記情報提供者端末から前記通知先端末までに当該メッセージが転送された回数を示すホップ数とが記されたことを特徴とする請求項４に記載のネットワークシステム。
【請求項６】
前記情報受信者端末として機能する端末は、当該ネットワークシステムを構成する端末のうち一つまたは複数を接続先端末として登録して、この接続先端末と通信を行う端末であって、
前記情報提供者端末の送信した更新通知メッセージを前記接続先端末または情報提供者端末のいずれかより受信した場合、前記更新通知メッセージに記載されている情報提供者端末のアドレスとホップ数と前記更新通知メッセージの送信元アドレスとを組で記録し、前記更新通知メッセージの受信時点で当該情報提供者端末へのホップ数が最も小さい接続先端末に向けて前記更新通知メッセージに記載されている更新データの取得を要求するメッセージを送信して更新データを取得するとともに、前記受信した更新通知メッセージを前記接続先端末のうちメッセージの送信元端末以外の端末に向けて転送することを特徴とする請求項１乃至３に記載のネットワークシステム。
【請求項７】
前記情報提供者端末として機能する端末は、前記情報受信者端末からの更新データ取得要求メッセージを受信したとき、前記更新されたデータを、更新データ取得要求メッセージの送信元である情報受信者端末に向けて送信し、同時に更新データ取得要求メッセージの送信元が前記通知先端末として登録されていない場合には、前記送信元を前記通知先端末に登録することを特徴とする請求項４に記載のネットワークシステム。
【請求項８】
前記情報受信者端末として機能する端末は、前記接続先端末から前記更新データ取得要求メッセージを受信したときに、前記情報提供者端末または前記接続先端末の内の一つより既に更新データを受信していればそれを当該更新データ取得要求メッセージの送信元端末に向けて転送し、受信していなければ交信を維持するメッセージを当該更新データ取得要求メッセージの送信元端末に向けて送信することを特徴とする請求項６に記載のネットワークシステム。
【請求項９】
前記管理者端末として機能する端末は、当該ネットワークシステムに属さない外部端末からのネットワーク参加メッセージを受信したときに、前記管理者端末が有する一つまたは複数の前記ネットワークシステムの識別子を前記外部端末に提示し、前記外部端末は提示されたネットワーク識別子の中に参加を希望するネットワークシステムに該当する識別子が存在すれば前記管理者端末を前記接続先端末として登録するとともに、前記識別子を前記管理者端末に通知することをもって、前記外部端末を新たにネットワークシステムの構成に追加することを特徴とする請求項２または３に記載のネットワークシステム。
【請求項１０】
通信手段を介してメッセージ及びデータの送受信を行うネットワークシステムを構成する情報通知端末であって、
当該端末上の情報を更新したときに、前記ネットワークシステムに属する別の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能する手段と、
前記ネットワークシステムに属する別の端末上で情報が更新されたときに、この別の端末である情報提供者端末から送信された更新通知メッセージと更新データを受信及び転送する情報受信者端末として機能する手段とを備えたことを特徴とする情報通知端末。
【請求項１１】
前記ネットワークシステムに属さない外部端末が送信するネットワーク参加メッセージを受信して当該外部端末を新たにネットワークシステムの構成に追加する管理者端末として機能する手段を備えたことを特徴とする請求項１０記載の情報通知端末。
【請求項１２】
前記ネットワークシステムを生成する手段と、
生成したネットワークシステムに固有の識別子を発行して割り当てる手段と、前記ネットワークシステムに属する別の端末が生成しかつ自身が属するネットワークシステムの識別子を保有する手段と、
前記ネットワークシステムへ送出する全てのメッセージ及びデータに前記ネットワークシステムに固有の識別子を付与する手段とを
備えたことを特徴とする請求項１０または１１に記載の情報通知端末。
【請求項１３】
前記情報提供者端末として機能する手段は、
前記ネットワークシステムを構成する端末のうち一つまたは複数を通知先端末として登録する手段と、
当該端末上のデータを通知対象として登録する手段と、
前記通知対象として登録されたデータの更新を検知する手段と、
前記通知対象の更新通知メッセージを前記通知先端末に向けて送信する手段と、
前記情報受信者端末からの更新データ取得要求メッセージを受信する手段と、前記更新データを、更新データ取得要求メッセージの送信元である情報受信者端末に向けて送信する手段と、
前記通知対象に登録されていない情報受信者端末を前記通知対象に登録する手段とを
備えたことを特徴とする請求項１０乃至１２に記載の情報通知端末。
【請求項１４】
前記情報受信者端末として機能する手段は、
前記ネットワークシステムを構成する端末のうち一つまたは複数を接続先端末として登録する手段と、
前記情報提供者端末の送信した更新通知メッセージを、情報提供者端末または前記接続先端末を経由して受信する手段と、
前記受信した更新通知メッセージに記されているホップ数を基に前記更新通知メッセージ受信時点で当該情報提供者端末へのホップ数が最も少ない接続先端末を検出する手段と、
前記受信した更新通知メッセージに記載される更新データの取得を要求するメッセージを前記ホップ数が最も少ない接続先端末に対して送信し更新データを取得する手段と、
前記情報提供者端末または前記接続先端末の内の一つより受信した更新データを前記接続先端末に向けて転送する手段と、
前記受信した更新通知メッセージを前記接続先端末のうちメッセージの送信元端末以外の端末に向けて転送する手段とを
備えたことを特徴とする請求項１０乃至１２に記載の情報通知端末。
【請求項１５】
前記情報受信者端末として機能する手段は、
前記情報提供者端末が提供する通知対象の中から特定の通知対象を外部操作により選択させる手段と、
前記外部操作で選択された通知対象を前記情報提供者端末上で一意に定める識別子を前記更新通知メッセージより抽出して保存する手段と、
前記保存した識別子と一致する識別子を持つ更新通知メッセージのみを通知する手段とを
備えたことを特徴とする請求項１４に記載の情報通知端末。
【請求項１６】
前記管理者端末として機能する手段は、
前記ネットワークシステムに属さない外部端末からのネットワーク参加メッセージを受信する手段と、
前記管理者端末が有する一つまたは複数の前記ネットワークシステムの識別子を前記外部端末に提示する手段と、
前記提示されたネットワーク識別子より前記外部端末が選択したネットワークシステムに前記管理者端末を追加する手段とを
備えたことを特徴とする請求項１１または１２に記載の情報通知端末。
【請求項１７】
通信手段を介してメッセージ及びデータの送受信を行うネットワークシステムを構成する情報通知端末の制御方法であって、
当該端末上の情報を更新したときに、前記ネットワークシステムに属する別の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能する行程と、
前記ネットワークシステムに属する別の端末上で情報が更新されたときに、この別の端末である情報提供者端末から送信された更新通知メッセージと更新データを受信及び転送する情報受信者端末として機能する行程とを有することを特徴とする情報通知端末の制御方法。
【請求項１８】
通信手段を介してメッセージ及びデータの送受信を行うネットワークシステムを構成する情報通知端末の制御方法を実行するための制御プログラムであって、
当該端末上の情報を更新したときに、前記ネットワークシステムに属する別の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能するステップと、
前記ネットワークシステムに属する別の端末上で情報が更新されたときに、この別の端末である情報提供者端末から送信された更新通知メッセージと更新データを受信及び転送する情報受信者端末として機能するステップとを有することを特徴とする制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを通じてデータの更新通知を行うネットワークシステム等に関する。
【０００２】
【従来の技術】
近年、ＷＷＷ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）を利用した情報の提供が急速な普及を見せている。ユーザーはＷＷＷで提供される様々な情報にアクセスし、必要な情報を選択して利用している。
【０００３】
ＷＷＷでは、情報提供者が非同期にかつ不定期に情報を更新する。そのためユーザーは、常に最新の情報を手にするためにいくつものＷｅｂサーバーに能動的にアクセスして、新たな情報が追加されていないか、以前提供された情報が変更されていないかなど、自ら確認する必要がある。
【０００４】
ここで、例えば新種のウィルスやセキュリティーホールの発見に関する情報や、あるいはオークションサイトに登録される新商品の情報など、ユーザーにとって緊急性を要する情報を入手するためには、その緊急度に応じた頻度でＷｅｂサーバーにアクセスする必要があり、ユーザーにとって負担となっていた。
【０００５】
この負担を軽減するために、Ｗｅｂサイトの情報の更新を検知してユーザーに通知するシステムが従来より存在している。例えば特開平１０−１７１７００号公報で提案されているシステムは、ＷＷＷサーバー自体がサーバー上のファイルの更新を検知してそれをユーザーに通知するものである。また、特開２００１−６７２８３号公報で提案されているようにユーザーの登録した文書が更新されたときにメールで通知するものなどが存在する。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来のシステムは、いずれも更新検知や通知を行うシステムが一つのサーバー上で運用されているため、ユーザー数の増加に伴い膨大な処理が一極集中するサーバーに対して過度の負荷が発生するという問題があった。さらに、システムを運用するサーバーが停止した場合には一切のサービスが停止してしまうという脆弱さに問題があった。
【０００７】
これに対して、ＵＳＰ５９７８８４２に提案されるシステムには、更新検知の処理は当該文書の更新通知を受ける個々のクライアントに行わせて、サーバーでは更新検知結果の集計と通知のみを行う手法が開示されている。この方法によれば、サーバーにかかる負荷を軽減するという目的においては効果を発揮することが期待できる。しかし、通知に関する処理は依然としてサーバーに集中しており、先に述べた脆弱性に対する改善は図られていない。
【０００８】
本発明は上記従来の問題点に鑑み、ネットワークを通じて情報更新の通知を行うネットワークシステムにおいて、サーバーを必要としない分散型ネットワークを構築し、全てのユーザーが更新された情報を即座に入手することができるネットワークシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明のネットワークシステムでは、通信手段を介してメッセージ及びデータの送受信を行う一つまたは複数の端末で構成されたネットワークシステムであって、前記各端末は、当該端末上の情報を更新したときに、当該ネットワークシステムに属する別の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能する手段と、当該ネットワークシステムに属する別の端末上で情報が更新されたときに、この別の端末である情報提供者端末から送信された更新通知メッセージと更新データを受信及び転送する情報受信者端末として機能する手段とを、それぞれ備えたことを特徴とする。
【００１０】
本発明の情報通知端末では、通信手段を介してメッセージ及びデータの送受信を行うネットワークシステムを構成する情報通知端末であって、当該端末上の情報を更新したときに、前記ネットワークシステムに属する別の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能する手段と、前記ネットワークシステムに属する別の端末上で情報が更新されたときに、この別の端末である情報提供者端末から送信された更新通知メッセージと更新データを受信及び転送する情報受信者端末として機能する手段とを備えたことを特徴とする。
【００１１】
本発明の情報通知端末の制御方法では、通信手段を介してメッセージ及びデータの送受信を行うネットワークシステムを構成する情報通知端末の制御方法であって、当該端末上の情報を更新したときに、前記ネットワークシステムに属する別の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能する行程と、前記ネットワークシステムに属する別の端末上で情報が更新されたときに、この別の端末である情報提供者端末から送信された更新通知メッセージと更新データを受信及び転送する情報受信者端末として機能する行程とを有することを特徴とする。
【００１２】
本発明の制御プログラムでは、通信手段を介してメッセージ及びデータの送受信を行うネットワークシステムを構成する情報通知端末の制御方法を実行するための制御プログラムであって、当該端末上の情報を更新したときに、前記ネットワークシステムに属する別の端末に向けて更新通知メッセージと更新データを送信する情報提供者端末として機能するステップと、前記ネットワークシステムに属する別の端末上で情報が更新されたときに、この別の端末である情報提供者端末から送信された更新通知メッセージと更新データを受信及び転送する情報受信者端末として機能するステップとを有することを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１４】
［第一実施形態］
＜ネットワークシステムの構成＞
図１は、本発明の第一実施形態に係るネットワークシステムの全体構成を示す図である。
【００１５】
このネットワークシステムは情報通知端末１〜５で構成されている。端末１〜端末５はいずれもネットワークに接続されていて、各々の端末上のデータＤ１〜Ｄ５の更新を別の端末に対して通知すると同時に、他の端末からの通知を受信する機能を有している。各端末１〜５は互いのアドレスを登録しており直接通信を行う。
【００１６】
初めにこのシステムの動作を、端末１が通知を行う場合を例に簡単に説明する。端末１はデータＤ１の更新を端末２及び端末３に対して通知する。端末１より通知を受けた端末２及び端末３は、端末１に対して更新されたデータの取得を要求し、端末２は端末３、４へ、端末３は端末２、４へそれぞれ端末１からの通知を転送する。端末２及び端末３から通知を受信した端末４は、端末２または３に対して更新されたデータの取得を要求し、また端末５へ通知を転送する。
【００１７】
端末４からデータ取得の要求を受けた端末２または３は、端末１より取得した更新データを端末４に転送する。端末４より通知を受けた端末５は端末４に対して更新されたデータの取得を要求する。端末４は端末２または３より取得した更新データを端末５に転送する。以上により、端末１での更新通知を他の全ての端末が取得することで本システムは機能する。
【００１８】
本実施形態では、これら端末群が構成する仮想ネットワーク（ネットワークシステム）のことを通知グループと呼び、通知グループを形成する端末（及び端末の利用者）のことを参加者と呼ぶこととする。一つの通知グループは参加者間で共有される一つのグループ管理番号を有し、複数の通知グループに参加する参加者はグループ管理番号によっていずれのグループに向けられた通知であるかを識別する。グループ管理番号の詳細については後述する。
【００１９】
＜情報通知端末の構成＞
図２は、図１に示した通知グループを形成する情報通知端末の構成図であり、端末１を例にとって説明するが、他の端末２〜５も同様の構成である。
【００２０】
２０２が本システムを利用するユーザーであり、端末１を介して更新通知の情報を参加者２１７に発信すると同時に、参加者２１７からの更新通知情報を受信する。２０３の通知対象はユーザーが更新を通知しようとしているデータの集合であり、端末１上の記憶装置２０４に記録されている。通知対象２０３はユーザーが通知対象登録部２０５によって登録する。更新検知部２０６は、通知対象２０３に登録されているデータを監視して更新を検知する。
【００２１】
通知先アドレス記憶部２０７には更新の通知先である参加者２１７のアドレスが記録されている。広告送信部２０８は更新が行われたことを参加者２１７に通知する広告を作成し、ネットワークインターフェイス２１２を通じてこれを送信する。広告受信部２０９は参加者２１７からの広告を受信する。
【００２２】
更新データ送信部２１０は、参加者２１７に対して実際の更新データをネットワークインターフェイス２１２を通じて送信する。更新データ受信部２１１は参加者２１７から更新データを受信する。ルート探索部２１４は参加者２１７より受信した広告や更新データを別の参加者に転送する際の転送先や更新データの取得先を決定する。広告保存部２１５は受信した広告を一定期間保存する。通知部２１６は参加者２１７から受けた更新通知をユーザーに通知する。
【００２３】
＜通知グループへの参加＞
初めに、通知グループへの参加について図３のシーケンス図を参照して説明する。
【００２４】
まず、通知を行いたいユーザーの端末上で通知グループを一つ作成する（３０１）。ここでは端末１とするが、どの端末であっても構わない。通知グループにはユニークなＩＤ（例えば端末１のグローバルＩＰアドレスとグループ作成日時の組み合わせ等）が割り振られる。グループの作成が終わった端末１では他端末からの接続を受け付け可能な状態となる。
【００２５】
続いて、通知を受けたいユーザーの端末２が端末１に対してＩｎｑｕｉｒｅ広告を送信する（３０２）。図４にＩｎｑｕｉｒｅ広告を示す。同図において、広告タイプ（４０１）はこの広告の種類で、Ｉｎｑｕｉｒｅが記されている。送信元アドレス（４０２）はこの広告の送信元アドレス（ここでは端末２）である。
【００２６】
Ｉｎｑｕｉｒｅ広告を受信した端末１は端末２に対してＰｒｏｐｏｓａｌ広告を送信して端末１で提供している通知グループのＩＤを通知する（３０３）。図５にＰｒｏｐｏｓａｌ広告を示す。同図において、広告タイプ（５０１）はこの広告の種類で、Ｐｒｏｐｏｓａｌが記されている。送信元アドレス（５０２）はこの広告の送信元アドレス（ここでは端末１）である。グループＩＤリスト（５０３）は端末１で提供している通知グループの識別子である。
【００２７】
端末２のユーザーは参加するグループＩＤリストから参加したいグループを選択し、端末１に対してＪｏｉｎ広告を送信する（３０４）。図６にＪｏｉｎ広告を示す。図６において、広告タイプ（６０１）はこの広告の種類で、Ｊｏｉｎが記されている。送信元アドレス（６０２）はこの広告の送信元アドレス（ここでは端末２）である。グループＩＤ（６０３）は端末２が参加を希望している通知グループの識別子である。
【００２８】
Ｊｏｉｎ広告を受信した端末１は端末２に対してＡｃｃｅｐｔ広告を送信する（３０５）。図７にＡｃｃｅｐｔ広告を示す。図７において、広告タイプ（７０１）はこの広告の種類で、Ａｃｃｅｐｔが記されている。送信元アドレス（７０２）はこの広告の送信元アドレス（ここでは端末１）である。グループＩＤ（７０３）は端末１が端末２に対して参加を認めた通知グループの識別子である。Ａｃｃｅｐｔ広告の送受信が終わると、端末１、２はそれぞれ相手のアドレスを通知先アドレス記憶部に登録する（３０６、３０７）。これにより端末１、２の間に仮想的な経路が張られ、通知グループへの参加手続きが完了する。
【００２９】
通知グループに参加している各端末は、通知グループを作成した端末と同様に他の端末からの参加を受け付けることができる。この場合の参加の手順も図３に示すものと同様である。また、一つの端末が同じ通知グループに属する複数の端末に対して参加を申し込むことも可能である。例えば端末３が端末２に対して参加を申し込んだ後で端末１に参加を申し込むことがあってもよい。そうすることで端末３からは、端末１及び端末２の両端末への仮想的な経路が張られ、明にその存在を知らしめることができる。
【００３０】
なお、通知グループへの参加に際し、何らかの認証を行うことも可能であるが、それについては本発明の規定するところではない。以上が通知グループへの参加手順の説明である。
【００３１】
＜通知グループからの脱退＞
次に、通知グループからの脱退について図８のシーケンス図を参照して説明する。ここでは図１において端末４が脱退する場合を例に説明する。
【００３２】
まず、端末４は通知先アドレス記憶部に登録されている全ての端末（ここでは端末２、３、５）に対してＤｉｓＪｏｉｎ広告を送信する（８０１）。図９にＤｉｓＪｏｉｎ広告を示す。同図において、広告タイプ（９０１）はこの広告の種類で、ＤｉｓＪｏｉｎが記されている。送信元アドレス（９０２）はこの広告の送信元アドレス（ここでは端末４）である。グループＩＤ（９０３）は端末４が脱退を希望している通知グループの識別子である。
【００３３】
ＤｉｓＪｏｉｎ広告を受信した各端末は、通知先アドレス記憶部に登録されているアドレスからＤｉｓＪｏｉｎ広告の送信元アドレスを削除する（８０２）。ここで、通知先アドレスにＤｉｓＪｏｉｎ広告の送信元アドレスしか登録されておらず、別の通知先アドレスが必要となる端末（例えば図１の端末５のように端末４にしか参加していない場合）は、ＤｉｓＪｏｉｎ広告の送信元に対してＡｌｔ広告を送信して別アドレスを要求する（８０３）。図１０にＡｌｔ広告を示す。同図において、広告タイプ（１００１）はこの広告の種類で、Ａｌｔが記されている。送信元アドレス（１００２）はこの広告の送信元アドレス（ここでは端末５）である。グループＩＤ（１００３）はＤｉｓＪｏｉｎ広告に記されていた通知グループの識別子である。
【００３４】
Ａｌｔ広告を受信した端末は通知先アドレス記憶部に登録しているアドレスの内、Ａｌｔ広告の送信元アドレス以外のアドレスをＡｌｔＡｄｄｒ広告に含めてＡｌｔ広告の送信元（端末５）に送信する（８０４）。図１１にＡｌｔＡｄｄｒ広告を示す。同図において、広告タイプ（１１０１）はこの広告の種類で、ＡｌｔＡｄｄｒが記されている。グループＩＤ（１１０２）はＤｉｓＪｏｉｎ広告に記されていた通知グループの識別子である。アドレスリスト（１１０３）は通知先アドレス記憶部に登録されているアドレスのリストである。
【００３５】
ＤｉｓＪｏｉｎまたはＡｌｔ広告を送信しかつＡｌｔＡｄｄｒ広告を受信した端末は、ＤｉｓＪｏｉｎ広告の送信元に対してＢｙｅ広告を送信する（８０５）。ＤｉｓＪｏｉｎ広告を送信した全ての送信先からＢｙｅ広告を受信した段階で端末５の脱退が完了する（８０６）。以上が脱退の手順についての説明である。
【００３６】
＜通知グループの消滅＞
続いて通知グループの消滅について説明する。
【００３７】
通知グループの消滅は参加者数が２（端末Ａ、Ｂとする）の時に一方の端末（端末Ｂとする）が脱退した場合に生じる。初めに端末Ｂが端末Ａに対してＤｉｓＪｏｉｎ広告を送信する。端末Ａでは通知先アドレスに端末Ｂしか登録されていないので、前記通知グループからの脱退手続きに従って端末ＢにＡｌｔ広告を送信して代替アドレスを要求する。
【００３８】
ここで、端末Ｂにおいても通知先アドレスに端末Ａしか登録されていないのでＡｌｔＡｄｄｒ広告で通知できる代替アドレスが存在しない。この場合に端末ＢはＡｌｔＡｄｄｒ広告をアドレスリストに何も記載せずに送信する。アドレスリストが空のＡｌｔＡｄｄｒ広告を受信した端末Ａは端末Ｂに対してＢｙｅ広告を送信して脱退を許可する。Ｂｙｅ広告を受信した端末Ｂでは脱退手続きを完了する。この時点で通知グループの参加者は端末Ａのみとなり、通知グループを消滅させることが可能となる。
【００３９】
なお、最後の参加者は当該グループを維持してもよい。この方法によれば通知グループ作成者が途中で通知グループを脱退しても、参加者数が１となるまでは残りの参加者によって通知グループを維持することが可能である。
【００４０】
＜データの更新を通知する手順＞
図１及び図２で示したシステムにおいて、端末１上のデータＤ１の更新を他の端末（端末２〜端末５）に対して通知する手順を、図１２のシーケンス図を参照して説明する。
【００４１】
端末１を利用しているユーザーがデータＤ１の更新を通知グループの参加者に通知する場合、まずユーザーは通知対象登録部２０５を通じてデータＤ１を通知対象２０３に登録する（１２０１）。
【００４２】
通知対象登録部２０５はデータＤ１に対してユニークな管理番号を割り当ててこれを管理する。通知対象２０３に割り当てられる管理番号は各端末の内部においてユニークである必要があるが、他の端末とは無関係に設定可能である。端末１では更新検知部２０６は通知対象２０３を監視している（１２０２）。ここでユーザーがデータＤ１を更新すると（１２０３）、更新検知部２０６がこれを検知し（１２０４）、広告送信部２０８にその管理番号を通知する（１２０５）。更新検知部２０６から通知を受けた広告送信部２０８は、通知先アドレス記憶部２０７から端末１に登録されている参加者のアドレスを取得する（１２０６）。図１の例では端末１に登録されている参加者は端末２及び端末３である。
【００４３】
続いて、広告送信部２０８は登録されている各参加者に対してＮｏｔｉｃｅ広告を送信する（１２０７）。Ｎｏｔｉｃｅ広告の内容を図１３に示す。同図において広告タイプ（１３０１）はこの広告の種類でＮｏｔｉｃｅが記されている。グループＩＤ（１３０２）はこの広告を受信する通知グループの識別子、広告番号（１３０３）は通知元がこの通知グループに送信した広告を一意に特定可能な番号、送信元アドレス（１３０４）はこの広告の送信元アドレス（ここでは端末１のアドレス）、通知元アドレス（１３０５）は更新されたデータを所有する端末のアドレス（ここでは端末１のアドレス）、通知対象ＩＤ（１３０６）は端末１において識別可能な通知対象の識別子、ホップ数（１３０７）は通知元から数えてこの広告が何回転送されているか（ここでは０）、広告有効期限（１３０８）はこの広告の有効期限を、それぞれ示すものである。
【００４４】
＜Ｎｏｔｉｃｅ広告受信処理＞
次に、端末２におけるＮｏｔｉｃｅ広告受信処理について図１４のフローチャートを用いて説明する。なお、端末３は端末２と同等であるためここでは端末２について説明する。
【００４５】
本システムにおいて、端末２がデータＤ１の更新に関するＮｏｔｉｃｅ広告を受信する経路には、
（１）端末１から
（２）端末３から
（３）端末４から
の３パターンが存在し、パターン（１）とそれ以外の場合で処理が異なる。
【００４６】
初めに、端末１から広告を受信した場合（パターン（１））について説明する。　広告受信部２０９で広告を受信した端末２は、まず広告タイプを抽出する（ステップＳ１）。広告タイプがＮｏｔｉｃｅであれば（ステップＳ２）、次にグループＩＤを抽出する（ステップＳ３）。自分の所属する通知グループのＩＤと比較し（ステップＳ４）、異なるグループＩＤであればこの広告は誤って送信されたものであるので端末２は直ちにこの広告を破棄して処理を終える（ステップＳ５）。
【００４７】
自分の属する通知グループを示すグループＩＤであった場合は続いて広告有効期限を抽出する（ステップＳ６）。現在時刻が広告有効期限を過ぎていればこの広告を破棄して処理を終える（ステップＳ７，ステップＳ５）。広告が有効期限内であれば広告をルート探索部２１４に引き渡す。
【００４８】
ルート探索部２１４はまず広告番号と通知元アドレスを抽出する（ステップＳ８）。抽出した通知元アドレスと広告番号を広告保存部２１５に保存されているＮｏｔｉｃｅ広告のそれと比較する。保存されているＮｏｔｉｃｅ広告に一致するものが見つかった場合（つまり端末３〜４からのＮｏｔｉｃｅ広告を既に受信している場合）は（ステップＳ９）、保存されているＮｏｔｉｃｅ広告を今回受信した端末１からのＮｏｔｉｃｅ広告（すなわち送信元と通知元が同一な広告）で置き換えた後（ステップＳ１０、ステップＳ１１）、処理を終了する。
【００４９】
いずれのＮｏｔｉｃｅ広告とも一致しなかった場合はこのＮｏｔｉｃｅ広告を新規に広告保存部２１５に保存し（ステップＳ２１）、更新データ取得処理（Ａ）に進む。
【００５０】
更新データ取得処理ではまず、ホップ数を抽出する（ステップＳ２２）。端末１からのＮｏｔｉｃｅ広告ではホップ数が０であるので（ステップＳ２３）、通知元から直接Ｎｏｔｉｃｅ広告を受信したことが分かる。その場合は通知元アドレスを抽出し、通知元アドレスに対して直接更新データ要求メッセージを送信する（ステップＳ２４）。更新データ要求メッセージは図１５に示すように、受信したＮｏｔｉｃｅ広告と同一のグループＩＤ（１４０１）、広告番号（１４０２）、通知対象ＩＤ（１４０３）、及びこのメッセージの送信元アドレス（１４０４）が含まれる。
【００５１】
更新データ要求メッセージを送信したら続いて広告転送処理を行う（ステップＳ２５）。各端末は受信したＮｏｔｉｃｅ広告を通知先アドレス記憶部２０７に記録されている参加者に対して転送する。端末２において記録されている参加者は端末１、３、４であるが、このうち端末１はＮｏｔｉｃｅ広告の送信元であるので、これを除いた端末３、４に対して転送する。転送されるＮｏｔｉｃｅ広告の内容は図１６に示すように、送信元アドレスが端末２のアドレスである点、及びホップ数が１増加されている点を除いて、端末１より受信したＮｏｔｉｃｅ広告と同一である。
【００５２】
次に端末２が端末３、４からＮｏｔｉｃｅ広告を受信した場合（パターン（２），（３））について説明する。
【００５３】
受信から有効期限の判定までの処理（ステップＳ１〜ステップＳ１０）は前記パターン（１）と同様であるので、ここでの説明は省略する。続く広告の保存処理であるが、広告保存部２１５に今回受信した広告と一致するＮｏｔｉｃｅ広告が保存されていた場合は、両者のホップ数を比較し（ステップＳ２６）、今回の広告の方がホップ数が小さければ保存データを置き換える（ステップＳ１１）。この例では端末４からの広告（ホップ数＝２）を受信した後に端末３からの広告（ホップ数＝１）を受信した場合に端末３からの広告を保存することになる。これにより、広告保存部２１５には常に通知元までのホップ数が最少のＮｏｔｉｃｅ広告が保存されていることになる。Ｎｏｔｉｃｅ広告を保存した後は処理を終了する。
【００５４】
一方、一致するＮｏｔｉｃｅ広告が見つからなかった場合は、今回受信したＮｏｔｉｃｅ広告を新規に保存して（ステップＳ２１）、更新データ取得処理（Ａ）に進む。更新データ取得処理では、まずホップ数を取得する（ステップＳ２２）。ここで受信したＮｏｔｉｃｅ広告はいずれかの端末において１回以上転送されているため、ホップ数が１以上になっている（ステップＳ２３）。ホップ数が１以上のＮｏｔｉｃｅ広告を受信した端末は通知元アドレスを抽出し、自分の通知先アドレス記憶部２０７に登録されている参加者のアドレスと比較する（ステップＳ２７）。
【００５５】
抽出した通知元アドレスが参加者アドレスのいずれかに一致がみられた場合（この例で端末２は端末１を登録している）、この端末はいずれ通知元から直接Ｎｏｔｉｃｅ広告が受信されることが期待される。したがって、ホップ数が０のＮｏｔｉｃｅ広告を受信した場合と同一とみなし、通知元アドレスに対して直接更新データ要求メッセージを送信する（ステップＳ２４）。最後に広告の転送処理を行う（ステップＳ２５）。
【００５６】
端末３から広告を受信した場合、端末１が通知元であり、また端末３は広告の送信元であるので、これらを除いた端末４に対してＮｏｔｉｃｅ広告を転送する。端末４から受信した場合も同様に、通知元とＮｏｔｉｃｅ広告の送信元を除いた参加者に対してＮｏｔｉｃｅ広告を転送する。Ｎｏｔｉｃｅ広告の内容は前記パターン１の場合と同一である。
【００５７】
以上はＮｏｔｉｃｅ広告の通知元アドレスが通知先アドレス記憶部２０７に登録されている端末における広告受信処理である。
【００５８】
続いて、通知元アドレスが通知先アドレス記憶部２０７に登録されていない端末（端末４、５）におけるデータＤ１の更新に関するＮｏｔｉｃｅ広告の受信処理を説明する。
【００５９】
受信から広告保存までの処理（ステップＳ１〜ステップＳ２１）は前記パターン（２）と同様であるので説明は省略し、更新データ取得処理（Ａ）の説明から始める。ここで受信したＮｏｔｉｃｅ広告はいずれかの端末において１回以上転送されているため、ホップ数が１以上になっている（ステップＳ２３）。ホップ数が１以上のＮｏｔｉｃｅ広告を受信した端末は通知元アドレスを抽出し、自分の通知先アドレス記憶部２０７に登録されている参加者のアドレスと比較する（ステップＳ２７）。いずれのアドレスとも一致しなかった場合（端末４、５においては端末１は通知先アドレスに登録されていない）、端末４、５は２つの方法を選択することができる（ステップＳ３０）。
【００６０】
一つ目は、通知元アドレスに対して直接更新データ要求メッセージを送り（ステップＳ３１）、同時に通知元アドレスを通知先アドレス記憶部２０７に追加する方法である（ステップＳ３２）。これにより、端末４は端末１との間に仮想的な経路を張ることができ、これ以降、端末１からのＮｏｔｉｃｅ広告を直接受信することができるようになる。
【００６１】
２つ目は、広告保存部２１５に保存されているＮｏｔｉｃｅ広告の送信元端末（端末１への最短ホップを実現する。以下、最適端末と呼ぶ）に対して更新データ要求メッセージを送信する方法である。この方法では、端末４は端末１に対して自身のアドレスを秘匿することが可能である。そのかわり、端末１からの通知を直接受信することはできない。また、受信したＮｏｔｉｃｅ広告の送信元と最適端末とは必ずしも一致しない。
【００６２】
そこで、まず最適端末に対して更新データ要求メッセージを送信し（ステップＳ３２）、応答が得られなかった場合は（ステップＳ３４）、今回受信したＮｏｔｉｃｅ広告の送信元に更新データ要求メッセージを送信する（ステップＳ３５）。いずれかの方法で更新データ要求メッセージを送信したら、最後にＮｏｔｉｃｅ広告の転送処理を行う（ステップＳ２５）。既に述べたように通知先アドレス記憶部２０７に登録されているものから通知元と広告の送信元を除いた参加者に対してＮｏｔｉｃｅ広告を転送する。Ｎｏｔｉｃｅ広告の内容は前記パターン（１）と同様である。
【００６３】
以上がＮｏｔｉｃｅ広告受信処理の説明である。
【００６４】
＜更新データ要求メッセージ受信処理＞
次に、更新データ要求メッセージ受信処理について図１７のフローチャートを参照して説明する。
【００６５】
初めに通知元（端末１）における処理を説明する。端末１では、受信した更新データ要求メッセージ（ステップＳ７１）から、グループＩＤ、広告番号、及び通知対象ＩＤをそれぞれ抽出し（ステップＳ７２）、送信したＮｏｔｉｃｅ広告の内容と相違ないことを確認する（ステップＳ７３、ステップＳ７４）。メッセージの内容に不正がなければメッセージの送信元アドレスに対して更新データを送信する（ステップＳ７５，ステップＳ７６）。
【００６６】
続いて、メッセージの送信元アドレスを通知先アドレス記憶部２０７に登録されている参加者のアドレスと比較し（ステップＳ７７）、未登録であればこれを追加する（ステップＳ７８）。
【００６７】
次に、通知元アドレスが通知先アドレス記憶部２０７に登録されている端末（端末２または３）における処理を説明する。端末２（または３）が端末４から更新データ要求メッセージを受信したら（ステップＳ７１）、メッセージからグループＩＤ、広告番号、及び通知対象ＩＤをそれぞれ抽出し（ステップＳ７２）、広告保存部２１５に内容の一致するＮｏｔｉｃｅ広告が保存されているかを検証する（ステップＳ７３、ステップＳ７９）。
【００６８】
一致するＮｏｔｉｃｅ広告が見つかった場合は要求が正当であるとし、通知元より受信した更新データをメッセージの送信元アドレスに転送する（ステップＳ８０〜ステップＳ８２）。通知元から更新データを受信できていない場合は、更新データを受信するまで端末４に対してＫｅｅｐＡｌｉｖｅ広告を送信する（ステップＳ８３）。ＫｅｅｐＡｌｉｖｅ広告の内容を図１８に示す。
【００６９】
最後に通知元アドレスが通知先アドレス記憶部２０７に登録されていない端末（端末４）における処理を説明する。端末５より更新データ要求メッセージを受信した端末４は、メッセージからグループＩＤ、広告番号、及び通知対象ＩＤをそれぞれ抽出し、広告保存部２１５に内容の一致するＮｏｔｉｃｅ広告が保存されているかを検証する。一致するＮｏｔｉｃｅ広告が見つかった場合は要求が正当であるとし、通知元またはＮｏｔｉｃｅ広告送信元から受信した更新データをメッセージの送信元アドレスに転送する（ステップＳ８０、ステップＳ８４）。通知元から更新データを受信できていない場合は、更新データを受信するまで端末５に対してＫｅｅｐＡｌｉｖｅ広告を送信する（ステップＳ８３）。
【００７０】
以上述べたように本実施形態によれば、ネットワークに接続された複数の端末が情報の更新通知やデータ取得を分散処理する分散型ネットワークを構築することができるので、サーバーを必要としない情報通知ネットワークシステムを構成することが可能になる。これにより、従来のようなサーバーへの負荷の一極集中といった問題を回避することができ、さらには、情報提供者が自ら、情報の更新を通知メッセージで送信して、ネットワークを構成するユーザー間で通知メッセージを転送することにより、全てのユーザーが更新された情報を即座に入手することが可能である。
【００７１】
［第二実施形態］
図１９は、本発明の第二実施形態に係るネットワークシステムの全体構成を示す図であり、図２０は、第二実施形態に係る情報通知端末の構成を示すブロック図である。
【００７２】
このネットワークシステムは情報通知端末１〜３で構成され、端末１〜端末３は順次ネットワークに接続されている。各端末１〜３の構成は、図２０に示すように、通知選択部１８０３、通知対象保存部１８０４、通知部１８０５、及び広告受信部１８０６を備えている。
【００７３】
以上の構成において、端末１のユーザーがデータＤ１を通知対象に指定して、端末２及び端末３に更新の通知を行う場合について説明する。
【００７４】
まず、データＤ１を初めて更新検知した際のＮｏｔｉｃｅ広告の送受信処理は第一実施形態に準じる。Ｎｏｔｉｃｅ広告の受信に続いて更新データ要求メッセージを送信し、更新データを受信した端末２（及び端末３）では、ユーザーが当該データの更新通知の要／不要を判定する。
【００７５】
図２１に通知選択部１８０３のユーザーインターフェイスの例を示す。図中の表示部２００１に今回受信した更新データが表示されている。この内容に応じてユーザーは通知が望まれるデータであれば「通知する」ボタン２００２を、通知が不要であると判断した場合は「通知しない」ボタン２００３を押下する。通知選択部１８０３では、受信したＮｏｔｉｃｅ広告に、通知する／しないを示すフラグを追加して通知対象保存部１８０４に保存する。ここまでが初めての更新通知における処理である。
【００７６】
続いて、端末１において再びデータＤ１が更新された場合の処理について述べる。
【００７７】
＜ケース（１）＞
まず、端末２ではデータＤ１の更新通知が不要であり、端末３では必要な場合を説明する。データＤ１の更新を検知した端末１は端末２に対してＮｏｔｉｃｅ広告を送信する。端末２では、通知対象保存部１８０４に保存されているＮｏｔｉｃｅ広告から今回受信したＮｏｔｉｃｅ広告と同一の通知対象識ＩＤを持つ広告を検索する。端末１では通知しないに設定された広告が保存されているので、ユーザーに対する通知は行わず、Ｎｏｔｉｃｅ広告を端末３に向けて転送する。
【００７８】
また、端末１に対する更新データ要求メッセージは直ちには送信しない。端末３は端末２からのＮｏｔｉｃｅ広告を受信すると、端末２に対して更新データ要求メッセージを送信する。端末３からの更新データ要求メッセージを受信した端末２は、端末３に対してＫｅｅｐＡｌｉｖｅ広告を送信し、ここで初めて端末１に対して更新データ要求メッセージを送信する。そして、端末１から更新データを受信したら、これを端末３に向けて転送する。以上により端末３がデータＤ１の更新通知を受けることができる。
【００７９】
＜ケース（２）＞
端末２、端末３ともにデータＤ１の更新通知が不要な場合の処理について説明する。ここでは、端末２が端末３にＮｏｔｉｃｅ広告を転送するまでの処理はケース（１）と同様である。
【００８０】
端末２からのＮｏｔｉｃｅ広告を受信した端末３では、データＤ１の更新通知は不要であり、かつ端末３に登録されている通知先端末はＮｏｔｉｃｅ広告の送信元である端末２のみであるので、このＮｏｔｉｃｅ広告を破棄する。端末２では、Ｎｏｔｉｃｅ広告に記載されている有効期限を過ぎても、他のどの端末からも更新データ要求メッセージを受信しなかったら、この広告を破棄し、端末１から更新データの取得は行わない。以上の処理により、ユーザーの不要な通知や不必要な更新データをネットワークに送出することを抑制することができる。
【００８１】
＜ケース（３）＞
端末２ではデータＤ１の更新通知が必要であり、端末３では不要な場合である。このケースでは第一実施形態と同様の処理が行われる。すなわち、端末１からＮｏｔｉｃｅ広告を受信した端末２は広告を端末３に転送すると共に、端末１に対して更新データ要求メッセージを送信する。端末３では、この広告の示す通知対象の通知は不要であるので広告を破棄して処理を終了する。端末２ではＮｏｔｉｃｅ広告に記載されている有効期限まで他の端末からの更新データ要求メッセージを待ち受け、有効期限が過ぎた時点でこの広告を破棄する。
【００８２】
このように、本実施形態においても、上記第一実施形態と同様の効果を奏することができる。
【００８３】
なお、上述した図１４及び図１７のフローチャートに従ったプログラムを情報通知端末内の記憶装置に格納し動作することにより、上述の制御方法を実現させることが可能となる。
【００８４】
本発明は、上述した実施形態の装置に限定されず、複数の機器から構成されるシステムに適用しても、一つの機器から成る装置に適用してもよい。前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、完成されることは言うまでもない。
【００８５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭを用いることができる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、次のプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵなどが処理を行って実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
【発明の効果】
以上詳細に説明したように本発明によれば、ネットワークに接続された複数の端末が情報の更新通知及びデータ取得を分散処理する分散型ネットワークが構築されるので、サーバーを必要としない情報通知ネットワークシステムを構成することが可能になる。これにより、従来のようなサーバーへの負荷の一極集中といった問題を回避することができ、全ての端末が更新された情報を即座に入手することが可能である。
【図面の簡単な説明】
【図１】本発明の第一実施形態に係るネットワークシステムの全体構成を示す図である。
【図２】図１に示した通知グループを形成する情報通知端末の構成図である。
【図３】通知グループへの参加手順を示すシーケンス図である。
【図４】Ｉｎｑｕｉｒｅ広告の構成図である。
【図５】Ｐｒｏｐｏｓａｌ広告の構成図である。
【図６】Ｊｏｉｎ広告の構成図である。
【図７】Ａｃｃｅｐｔ広告の構成図である。
【図８】通知グループからの脱退手順を示すシーケンス図である。
【図９】ＤｉｓＪｏｉｎ広告の構成図である。
【図１０】Ａｌｔ広告の構成図である。
【図１１】ＡｌｔＡｄｄｒ広告の構成図である。
【図１２】通知対象の登録からＮｏｔｉｃｅ広告送信までの手順を示すシーケンス図である。
【図１３】Ｎｏｔｉｃｅ広告の構成図である。
【図１４】広告の受信処理手順を示すフローチャートである。
【図１５】更新データ要求メッセージの構成図である。
【図１６】転送されるＮｏｔｉｃｅ広告の構成図である。
【図１７】更新データ要求メッセージと更新データの送受信処理手順を示すフローチャートである。
【図１８】ＫｅｅｐＡｌｉｖｅ広告の構成図である。
【図１９】本発明の第二実施形態に係るネットワークシステムの全体構成を示す図である。
【図２０】第二実施形態に係る情報通知端末の構成を示すブロック図である。
【図２１】通知選択を行うユーザーインターフェイスの例を示す図である。
【符号の説明】
１〜５　端末
２０３　通知対象
２０４　記憶装置
２０５　通知対象登録部
２０６　更新検知部
２０７　通知先アドレス記憶部
２０８　広告送信部
２０９　広告受信部
２１０　更新データ送信部
２１１　更新データ受信部
２１２　ネットワークインターフェイス
２１４　ルート探索部
２１５　広告保存部
２１６　通知部
【図１】
2004021502.tif 000003
【図２】
2004021502.tif 000004
【図３】
2004021502.tif 000005
【図４】
2004021502.tif 000006
【図５】
2004021502.tif 000007
【図６】
2004021502.tif 000008
【図７】
2004021502.tif 000009
【図８】
2004021502.tif 000010
【図９】
2004021502.tif 000011
【図１０】
2004021502.tif 000012
【図１１】
2004021502.tif 000013
【図１２】
2004021502.tif 000014
【図１３】
2004021502.tif 000015
【図１４】
2004021502.tif 000016
【図１５】
2004021502.tif 000017
【図１６】
2004021502.tif 000018
【図１７】
2004021502.tif 000019
【図１８】
2004021502.tif 000020
【図１９】
2004021502.tif 000021
【図２０】
2004021502.tif 000022
【図２１】
2004021502.tif 000023