(57)【要約】【課題】所定のネットワークにおいて特定のサーバを備える必要がなく、かつ、そのネットワークに所定のアドレスを使って参加することを可能とする。【解決手段】ピアツーピアネットワーク１０１に参加している複数のノード装置１０３〜１１０の間で、相手ノード装置のＩＰアドレスを指定することによって該相手ノード装置と接続して、サーバを介さずにデータを直接交換することが可能なネットワークシステムにおいて、ノード装置１０３が初期ノードアドレスを保持する。そしてノード装置１０２がピアツーピアネットワーク１０１に参加する際に、初期ノードアドレスを用いてノード装置１０３に接続する。なお、ノード装置１０３がピアツーピアネットワーク１０１から離脱する場合、初期ノードアドレスをピアツーピアネットワーク１０１に参加している他のノード装置に譲渡する。【選択図】図１
2008262290.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
所定のネットワークに参加していない他の装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している装置と通信するために使用する所定のアドレスを、前記通信装置のアドレスとして保持するアドレス保持手段と、
前記所定のアドレスが前記アドレス保持手段によって保持されているとき、前記所定のアドレス宛のデータを受信する受信手段と、
前記所定のアドレスが前記アドレス保持手段によって保持されているとき、前記通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している他の装置に、前記所定のアドレスを当該他の装置のアドレスとして保持するよう依頼する依頼手段と
を有することを特徴とする通信装置。
【請求項２】
前記受信手段によって受信された、他の装置が前記所定のネットワークに参加するための参加データに基づいて、前記参加データを送信した当該他の装置のアドレスを記憶するアドレス記憶手段を更に有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記受信手段によって受信された、他の装置が前記所定のネットワークから離脱するための離脱データに基づいて、前記離脱データを送信した当該他の装置のアドレスを前記アドレス記憶手段から削除する削除手段を更に有することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記参加データを送信した他の装置が前記所定のネットワークから離脱するまでの残り時間を記憶する残り時間記憶手段と、
前記残り時間記憶手段に記憶されている残り時間のうち最も長い残り時間に対応する装置を選択する選択手段とを更に有し、
前記依頼手段は、前記アドレス記憶手段に記憶されているアドレスのうち前記選択手段によって選択された装置のアドレス宛に、前記所定のアドレスを前記選択手段によって選択された装置のアドレスとして保持するよう依頼する依頼データを送信することを特徴とする請求項２または３に記載の通信装置。
【請求項５】
前記受信手段によって受信された、他の装置が前記所定のネットワークから離脱するまでの残り時間を更新するための更新データに基づいて、前記残り時間記憶手段に記憶されている残り時間を更新する更新手段を更に有することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記通信装置が前記所定のネットワークに参加していないときに、前記所定のアドレスに基づく接続を所定回数だけ試みても前記所定のアドレスに基づく接続ができない場合に、前記アドレス保持手段は、前記所定のアドレスを前記通信装置のアドレスとして保持することを特徴とする請求項１乃至５のいずれかに記載の通信装置。
【請求項７】
ネットワークシステムであって、
所定のネットワークに参加している第１の通信装置に設けられ、前記所定のネットワークに参加していない通信装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している通信装置と通信するために使用する所定のアドレスを、前記第１の通信装置のアドレスとして保持するアドレス保持手段と、
前記所定のネットワークに参加していない第２の通信装置に設けられ、前記第２の通信装置が前記所定のネットワークに参加するに当たって、前記所定のアドレスを用いて前記第１の通信装置と通信する通信手段と、
前記第１の通信装置に設けられ、前記第１の通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している第３の通信装置に、前記所定のアドレスを前記第３の通信装置のアドレスとして保持するよう依頼する依頼手段と
を有することを特徴とするネットワークシステム。
【請求項８】
前記ネットワークシステムは、
前記第１の通信装置に設けられ、前記所定のネットワークに参加している１または複数の通信装置のアドレスを記憶するアドレス記憶手段と、
前記第１の通信装置に設けられ、前記アドレス記憶手段によって記憶されているアドレスに対応する通信装置の状態を表す状態情報を記憶する状態情報記憶手段とを更に有し、
前記依頼手段は、前記第１の通信装置が前記所定のネットワークから離脱する場合に、前記状態情報記憶手段によって記憶されている状態情報に基づいて前記第３の通信装置を選択することを特徴とする請求項７記載のネットワークシステム。
【請求項９】
前記第２の通信装置に設けられ、前記所定のアドレスを用いて前記第１の通信装置に接続する試みを所定回数だけ行っても、前記第１の通信装置に接続することができない場合、前記所定のアドレスを、前記第２の通信装置のアドレスとして保持する第２のアドレス保持手段を更に有することを特徴とする請求項７記載のネットワークシステム。
【請求項１０】
前記所定のアドレスは、ＩＰｖ６アドレスにおいて、通信装置に付与されたＩＰアドレスに加えて設定された２つ目のアドレスであることを特徴とする請求項７記載のネットワークシステム。
【請求項１１】
前記所定のアドレスは、ルータから取得するプレフィックスと、予め決められた値とで構成されることを特徴とする請求項７記載のネットワークシステム。
【請求項１２】
前記所定のアドレスは、ＩＰｖ６アドレスにおけるグローバルアドレスであることを特徴とする請求項７記載のネットワークシステム。
【請求項１３】
前記所定のネットワークは、ピアツーピアネットワークであることを特徴とする請求項７記載のネットワークシステム。
【請求項１４】
通信装置に適用される通信方法であって、
所定のネットワークに参加していない他の装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している装置と通信するために使用する所定のアドレスを、前記通信装置のアドレスとして保持するアドレス保持ステップと、
前記所定のアドレスが前記通信装置のアドレスとして保持されているとき、前記所定のアドレス宛のデータを受信する受信ステップと、
前記所定のアドレスが前記通信装置のアドレスとして保持されているとき、前記通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している他の装置に、前記所定のアドレスを当該他の装置のアドレスとして保持するよう依頼する依頼ステップと
を有することを特徴とする通信方法。
【請求項１５】
ネットワークシステムに適用される通信方法であって、
所定のネットワークに参加している第１の通信装置が、前記所定のネットワークに参加していない通信装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している通信装置と通信するために使用する所定のアドレスを、前記第１の通信装置のアドレスとして保持するアドレス保持ステップと、
前記所定のネットワークに参加していない第２の通信装置が、前記第２の通信装置が前記所定のネットワークに参加するに当たって、前記所定のアドレスを用いて前記第１の通信装置と通信する通信ステップと、
前記第１の通信装置が、前記第１の通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している第３の通信装置に、前記所定のアドレスを前記第３の通信装置のアドレスとして保持するよう依頼する依頼ステップと
を有することを特徴とする通信方法。
【請求項１６】
前記通信方法は、
前記第１の通信装置が、前記所定のネットワークに参加している１または複数の通信装置のアドレスを記憶するアドレス記憶ステップと、
前記第１の通信装置が、前記アドレス記憶ステップにおいて記憶されるアドレスに対応する通信装置の状態を表す状態情報を記憶する状態情報記憶ステップとを更に有し、
前記依頼ステップでは、前記第１の通信装置が前記所定のネットワークから離脱する場合に、前記状態情報記憶ステップにおいて記憶される状態情報に基づいて前記第３の通信装置を選択することを特徴とする請求項１５記載の通信方法。
【請求項１７】
前記第２の通信装置が、前記所定のアドレスを用いて前記第１の通信装置に接続する試みを所定回数だけ行っても、前記第１の通信装置に接続することができない場合、前記所定のアドレスを、前記第２の通信装置のアドレスとして保持する第２のアドレス保持ステップを更に有することを特徴とする請求項１５記載の通信方法。
【請求項１８】
前記所定のアドレスは、ＩＰｖ６アドレスにおいて、通信装置に付与されたＩＰアドレスに加えて設定された２つ目のアドレスであることを特徴とする請求項１５記載の通信方法。
【請求項１９】
前記所定のアドレスは、ルータから取得するプレフィックスと、予め決められた値とで構成されることを特徴とする請求項１８記載の通信方法。
【請求項２０】
前記所定のアドレスは、ＩＰｖ６アドレスにおけるグローバルアドレスであることを特徴とする請求項１５記載の通信方法。
【請求項２１】
前記所定のネットワークは、ピアツーピアネットワークであることを特徴とする請求項１５記載の通信方法。
【請求項２２】
通信装置に適用される通信方法を、コンピュータに実行させるためのプログラムであって、
所定のネットワークに参加していない他の装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している装置と通信するために使用する所定のアドレスを、前記通信装置のアドレスとして保持するアドレス保持ステップと、
前記所定のアドレスが前記通信装置のアドレスとして保持されているとき、前記所定のアドレス宛のデータを受信する受信ステップと、
前記所定のアドレスが前記通信装置のアドレスとして保持されているとき、前記通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している他の装置に、前記所定のアドレスを当該他の装置のアドレスとして保持するよう依頼する依頼ステップと
を有することを特徴とするプログラム。
【請求項２３】
ネットワークシステムに適用される通信方法を、コンピュータに実行させるためのプログラムであって、
所定のネットワークに参加している第１の通信装置が、前記所定のネットワークに参加していない通信装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している通信装置と通信するために使用する所定のアドレスを、前記第１の通信装置のアドレスとして保持するアドレス保持ステップと、
前記所定のネットワークに参加していない第２の通信装置が、前記第２の通信装置が前記所定のネットワークに参加するに当たって、前記所定のアドレスを用いて前記第１の通信装置と通信する通信ステップと、
前記第１の通信装置が、前記第１の通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している第３の通信装置に、前記所定のアドレスを前記第３の通信装置のアドレスとして保持するよう依頼する依頼ステップと
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、ネットワークシステム、ネットワークシステムおよび通信装置に適用される通信方法、及び該通信方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
従来、データを複数のユーザに対して一斉に配布する方式としては、データベース等の情報資源を集中管理するサーバを配置し、該サーバが、クライアントであるユーザに対して、管理する情報資源を配布するサーバ／クライアント型が主流であった。しかし、この方式では、サーバに負荷が集中してしまうことや、サーバの設置にコストがかかることなどの問題点があった。
【０００３】
そこで、こうした問題点を解消するべく考案されたのが、ピアツーピアネットワークである。ピアツーピアネットワークは、ノード装置同士がサーバを介さずに接続することによって構築された仮想ネットワークである。このピアツーピアネットワークでは、不特定多数の相手（ノード装置）と情報交換を行うことが可能である（例えば、特許文献１参照）。
【特許文献１】特開２００６−２２１４２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ピアツーピアネットワーク（仮想ネットワーク）では、ピアツーピアネットワークに参加していないノード装置は、ピアツーピアネットワーク上のノード装置に関するノード情報を一切取得できない。そのため、従来、ピアツーピアネットワークに参加していないノード装置が、ピアツーピアネットワークに参加しているノード装置を如何にして発見するのかがピアツーピアネットワークでの課題となる。
【０００５】
ピアツーピアネットワークに参加しているノード装置を発見するために、ピアツーピアネットワークへの参加時のみ、特定のサーバをアクセスポイントとして利用する方法がある。しかし、この方法では特定のサーバを備える必要があり、そのコストがかかることになる。
【０００６】
また、前回ピアツーピアネットワークに参加したときに接続したノード装置に今回も接続を試みる方法がある。しかし、この方法では、上記ノード装置がピアツーピアネットワークから既に離脱していた場合、ピアツーピアネットワークに参加することができない。
【０００７】
そこで、本発明は、所定のネットワークにおいて特定のサーバを備える必要がなく、かつ、そのネットワークに所定のアドレスを使って参加することを可能とした通信装置、ネットワークシステム、通信方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１記載の発明によれば、通信装置であって、所定のネットワークに参加していない他の装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している装置と通信するために使用する所定のアドレスを、前記通信装置のアドレスとして保持するアドレス保持手段と、前記所定のアドレスが前記アドレス保持手段によって保持されているとき、前記所定のアドレス宛のデータを受信する受信手段と、前記所定のアドレスが前記アドレス保持手段によって保持されているとき、前記通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している他の装置に、前記所定のアドレスを当該他の装置のアドレスとして保持するよう依頼する依頼手段とを有することを特徴とする通信装置が提供される。
【０００９】
また、請求項７記載の発明によれば、ネットワークシステムであって、所定のネットワークに参加している第１の通信装置に設けられ、前記所定のネットワークに参加していない通信装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している通信装置と通信するために使用する所定のアドレスを、前記第１の通信装置のアドレスとして保持するアドレス保持手段と、前記所定のネットワークに参加していない第２の通信装置に設けられ、前記第２の通信装置が前記所定のネットワークに参加するに当たって、前記所定のアドレスを用いて前記第１の通信装置と通信する通信手段と、前記第１の通信装置に設けられ、前記第１の通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している第３の通信装置に、前記所定のアドレスを前記第３の通信装置のアドレスとして保持するよう依頼する依頼手段とを有することを特徴とするネットワークシステムが提供される。
【００１０】
また、請求項１４記載の発明によれば、通信装置に適用される通信方法であって、所定のネットワークに参加していない他の装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している装置と通信するために使用する所定のアドレスを、前記通信装置のアドレスとして保持するアドレス保持ステップと、前記所定のアドレスが前記通信装置のアドレスとして保持されているとき、前記所定のアドレス宛のデータを受信する受信ステップと、前記所定のアドレスが前記通信装置のアドレスとして保持されているとき、前記通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している他の装置に、前記所定のアドレスを当該他の装置のアドレスとして保持するよう依頼する依頼ステップとを有することを特徴とする通信方法が提供される。
【００１１】
また、請求項１５記載の発明によれば、ネットワークシステムに適用される通信方法であって、所定のネットワークに参加している第１の通信装置が、前記所定のネットワークに参加していない通信装置が前記所定のネットワークに参加するに当たって前記所定のネットワークに参加している通信装置と通信するために使用する所定のアドレスを、前記第１の通信装置のアドレスとして保持するアドレス保持ステップと、前記所定のネットワークに参加していない第２の通信装置が、前記第２の通信装置が前記所定のネットワークに参加するに当たって、前記所定のアドレスを用いて前記第１の通信装置と通信する通信ステップと、前記第１の通信装置が、前記第１の通信装置が前記所定のネットワークから離脱する場合に、前記所定のネットワークに参加している第３の通信装置に、前記所定のアドレスを前記第３の通信装置のアドレスとして保持するよう依頼する依頼ステップとを有することを特徴とする通信方法が提供される。
【００１２】
さらに、上記通信方法をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００１３】
本発明によれば、所定のネットワーク（例えばピアツーピアネットワーク）が特定のサーバを備える必要がなく、かつ、所定のネットワークに参加していない装置が所定のネットワークに所定のアドレスを使って参加することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
【００１５】
図１は、本発明の一実施の形態に係るネットワークシステムの全体構成を示すブロック図である。
【００１６】
図１において、複数のノード装置１０２〜１１０（第１の通信装置、第２の通信装置、第３の通信装置）が相互に接続され、ピアツーピアネットワーク（仮想ネットワーク）１０１を構成する。ノード装置１０２は、ピアツーピアネットワーク１０１を構成していないノード装置である。ここでノード装置１０２〜１１０の各々は、通信機能を有するプリンタである。ただし、プリンタに限定する必要はなく、デジタル複合機、デジタル複写機、テレビ、パーソナルコンピュータなどのネットワーク通信を行うことができる通信装置であっても良い。また、ピアツーピアネットワーク１０１を構成しているノード装置は、有線ＬＡＮや無線ＬＡＮを介して相互に通信する。ただし、ノード装置間をつなぐ通信経路は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に限定される必要はない。
【００１７】
図２は、ノード装置１０２〜１１０の各々の内部構成を示すブロック図である。ここでは、ノード装置１０２〜１１０の各々が同一の構成を有するものとし、その１例を説明する。
【００１８】
ノード装置は、ＲＯＭ２０３に格納される制御プログラムを実行するＣＰＵ２０１を備え、システムバス２１１に接続される各デバイスを総括的に制御する。ＣＰＵ２０１が上記制御プログラムを実行することによって、ネットワーク制御部の機能とデバイス（プリンタ）制御部の機能とを実現する。
【００１９】
２０２はＲＡＭであり、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＲＡＭ２０２はまた、カウンタ情報の更新間隔、印刷ジョブ情報やジョブを記憶する。そして、カウンタ情報の更新間隔等のシステム情報を保存するバックアップＲＡＭとしても機能する。なお、印刷ジョブ情報やジョブは、ハードディスク等のその他の記憶装置（図示せず）に保存してもよい。
【００２０】
２０４はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）２０８からの入力される指示情報の入力制御を行う。２０５はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ２０９に対する表示制御を行う。ユーザは、キーボード２０８およびＣＲＴディスプレイ２０９を用いて、アプリケーション情報やタイマ情報の編集を行うことが可能である。なお、液晶パネルのタッチパネル等を用いて仮想キーボードを構成して、これをキーボード（ＫＢ）２０８の代わりとするようにしてもよい。
【００２１】
２０６はデバイスコントローラ（ＤＶＣ）であり、プリンタ（ＤＶ）２１０の動作を制御する。２０７はネットワークインタフェースカード（ＮＩＣ）であり、ＬＡＮ２１２を介して、他のネットワーク機器や他のＰＣ（Personal Computer）と双方向にデータ通信を行う。図１に示す例では、他のネットワーク機器はノード装置１０２〜１１０に相当する。
【００２２】
図１に戻って、各ノード装置１０２〜１１０にはＩＰｖ６アドレスが付与され、各ノード装置１０２〜１１０は自身のＩＰアドレスに加えて、初期ノードアドレスと呼ばれる所定のＩＰアドレスをも自身のＩＰアドレスとして設定することが可能である。初期ノードアドレスを自身のＩＰアドレスとして設定するノード装置は、初期ノードアドレスの保持設定をＯＮ（有効）にし、それ以外のノード装置は初期ノードアドレスの保持設定をＯＦＦ（無効）とする。初期ノードアドレスの保持設定が有効になると、ノード装置は所定の初期ノードアドレスを自身のＩＰアドレスとしてＲＡＭ２０２に保持する（アドレス保持手段）。以下、初期ノードアドレスの保持設定が有効になっていることを、初期ノードアドレスを保持すると言う。初期ノードアドレスを保持するノード装置は、その初期ノードアドレス宛に送信されたデータを受信する。ピアツーピアネットワーク１０１が構成される場合には、ピアツーピアネットワーク１０１上の複数のノード装置１０３〜１１０のうちのいずれか１つが、初期ノードアドレスを保持する。初期ノードアドレスは、ルータから取得されたプレフィックスに所定の値（固定値）を加えたものとする。
【００２３】
また、初期ノードアドレスは、ＩＰｖ６アドレスにおけるグローバルアドレスであってもよい。
【００２４】
ピアツーピアネットワーク１０１を構成するノード装置は、自身の保持するリソースなどを公開し、共有するようにしてもよい。また、ピアツーピアネットワーク１０１を構成するノード装置は、図１に示す台数に限定されない。
【００２５】
初期ノードアドレスを保持するノード装置は、ピアツーピアネットワーク１０１に現在参加している１または複数のノード装置を示す参加ノードリストを管理する。参加ノードリストには、参加している全てのノード装置のＩＰアドレスと、各ノード装置の離脱残余時間（life time）とが記載される。離脱残余時間は、ノード装置がピアツーピアネットワークから離脱するまでに時間を示す状態情報である。図３は、参加ノードリストの一例を示す図である。ノード装置はこの参加ノードリストをＲＡＭ２０２に記憶する（アドレス記憶手段、残り時間記憶手段または状態情報記憶手段）。
【００２６】
ノード装置がピアツーピアネットワークに常時参加していることが望ましくないことがあり、そのため、ノード装置ごとに離脱残余時間を予め設定する。すなわち、離脱残余時間は、ピアツーピアネットワークに参加しているノード装置が、ピアツーピアネットワークから離脱するまでに残された時間である。例えば、省エネモードを備えるノード装置の場合には、上記の離脱残余時間を、該ノード装置がピアツーピアネットワークから離脱して省エネモードへ移行するまでに残された時間にするようにしてもよい。すなわち、ノード装置がピアツーピアネットワークに常時参加することによって、該ノード装置で無駄なエネルギー消費が発生するので、それを回避するべく設定される時間である。また、コンテンツを共有するピアツーピアネットワークの場合には、上記の離脱残余時間を、ノード装置がコンテンツをダウンロードし終えるまでの時間としてもよい。
【００２７】
例えば、ノード装置１０３が初期ノードアドレスを保持するものと仮定する。ここで、ノード装置１０２がピアツーピアネットワーク１０１へ新たに参加しようとする場合、ノード装置１０２が、初期ノードアドレス宛に（例えば、初期ノードアドレスを保持するノード装置１０３に）参加通知（参加データ）を送信する（図１の１１２）。つまり、ノード装置１０２は、初期ノードアドレスを使用してノード装置１０３と通信することにより、ピアツーピアネットワーク１０１に参加する。
【００２８】
また、初期ノードアドレスを保持しているノード装置１０３がピアツーピアネットワーク１０１から離脱する場合、ノード装置１０３は、参加ノードリストを参照して、上記の離脱残余時間が最も長いノード装置を選択する。例えば、ノード装置１０４が選択されたと仮定すると、ノード装置１０３はノード装置１０４へ初期ノードアドレスの保持依頼（依頼データ）を送信する。それに対する受諾通知をノード装置１０４から受信した場合（図１の１１１）、ノード装置１０３はノード装置１０４へ初期ノードアドレスを譲渡する。
【００２９】
ノード装置１０３が初期ノードアドレスの保持設定を無効にし、ノード装置１０４が初期ノードアドレスの保持設定を有効にすることをもって初期ノードアドレスを譲渡するとしても良い。または、参加ノードリストを送受信することをもって初期ノードアドレスを譲渡するとしても良い。または、受諾通知を省略する場合には、初期ノードアドレスの保持依頼を送受信するのをもって初期ノードアドレスを譲渡しても良い。
【００３０】
次に、ノード装置における初期ノードアドレスの保持、参加ノードリストの管理、およびピアツーピアネットワークからの離脱に関する処理について、図４および図５を参照して説明する。
【００３１】
図４および図５は、ノード装置（例えば、図１の１０４）のＣＰＵ２０１によって実行される、初期ノードアドレスの保持、参加ノードリストの管理、およびピアツーピアネットワークからの離脱に関する処理の手順を示すフローチャートである。
【００３２】
ノード装置１０４が、初期ノードアドレスを保持するノード装置１０３から、初期ノードアドレスの保持依頼を受信する（Ｓ４１）。
【００３３】
この保持依頼を受信したノード装置１０４は、それに対する受諾通知をノード装置１０３に送信すると共に、自身において初期ノードアドレスの保持設定を有効にする（Ｓ４２）。
【００３４】
そしてノード装置１０４は、参加ノードリストをノード装置１０３から受信する（Ｓ４３）。
【００３５】
次に、ノード装置１０４は、自身に設定されている離脱残余時間が経過してピアツーピアネットワーク１０１から離脱しなければならない状態になっているか否かを判別する（Ｓ４４）。その結果、離脱残余時間が経過して離脱すべきと判別されたならば、ステップＳ５０へ進み、離脱残余時間がまだ経過していないと判別されたならば、ステップＳ４５へ進む。
【００３６】
ステップＳ４５では、ノード装置１０４が、他のノード装置から送信されたデータを受信すべく待機する。そしてデータを受信すると、ノード装置１０４は受信データが何であるかを判別する（Ｓ４６）。その受信データが、ピアツーピアネットワーク１０１への参加通知ならばステップＳ４７へ進む。また受信データが、ピアツーピアネットワーク１０１からの離脱通知（離脱データ）であるならばステップＳ４８へ進む。また受信データが、離脱残余時間の更新通知（更新データ）であるならばステップＳ４９へ進む。なお、ステップＳ４５において、ノード装置１０４が、他のノード装置から送信されたデータを受信すべく待機する間、ノード装置１０４は、ピアツーピアネットワーク１０１に関連しない画像形成処理などを行っていてもよい。
【００３７】
ステップＳ４７では、ノード装置１０４が、参加通知を送信したノード装置のＩＰアドレスを、自身が管理する参加ノードリストへ追加する。このとき、ノード装置１０４は、参加通知に含まれる離脱残余時間も参加ノードリストへ登録する。
【００３８】
ステップＳ４８では、ノード装置１０４が、離脱通知を送信したノード装置のＩＰアドレスとそれに対応する離脱残余時間を、自身が管理する参加ノードリストから削除する。
【００３９】
ステップＳ４９では、ノード装置１０４が、自身が管理する参加ノードリストにおいて、更新通知を送信したノード装置の離脱残余時間を、更新通知に含まれる新たな離脱残余時間で更新する。
【００４０】
ステップＳ５０では、ノード装置１０４がピアツーピアネットワーク１０１から離脱するために、まず、ノード装置１０４が、自身が管理する参加ノードリストに記載された複数の離脱残余時間の中から、最も長い離脱残余時間を選択する。そして、その選択された離脱残余時間に対応するＩＰアドレスに対して、初期ノードアドレスの保持依頼を送信する。
【００４１】
ノード装置１０４は、この保持依頼を受信したノード装置から返信があった場合、その返信が受諾通知であるか拒否通知であるかを判別する（Ｓ５１）。その返信が受諾通知であればステップＳ５２へ進む。一方、その返信が拒否通知であればステップＳ５０へ戻って、次に長い離脱残余時間を選択して、その選択された離脱残余時間に対応するＩＰアドレスに対して、初期ノードアドレスの保持依頼を送信する。
【００４２】
ステップＳ５２では、ノード装置１０４が、初期ノードアドレスの保持設定を無効にする。またノード装置１０４は、自身のＩＰアドレスを、自身が管理する参加ノードリストから削除するとともに、受諾通知を送信してきたノード装置へ、該参加ノードリストを送信する（Ｓ５３）。
【００４３】
その後、ノード装置１０４は、ピアツーピアネットワーク１０１から離脱する（Ｓ５４）。
【００４４】
つぎに、ノード装置のピアツーピアネットワークへの参加や離脱について、図６を参照して説明する。
【００４５】
図６は、ノード装置（例えば、図１の１０２）のＣＰＵ２０１によって実行される処理の手順を示すフローチャートである。この処理は、ピアツーピアネットワークへの参加、ピアツーピアネットワーク上でのサービス提供・享受、離脱残余時間の更新、およびピアツーピアネットワークからの離脱に関する処理である。
【００４６】
ピアツーピアネットワーク１０１に新たに参加するノード装置１０２は、まず、初期ノードアドレスを保持するノード装置（例えば、図１の１０３）に接続して、初期ノードアドレス宛に参加通知を送信する（Ｓ６１）。このとき、ノード装置１０２は、自身に設定されている離脱残余時間を含む参加通知を送信する。これによって、ノード装置１０２はピアツーピアネットワーク１０１へ参加する。
【００４７】
そしてノード装置１０２は、ピアツーピアネットワーク１０１に参加している他のノード装置に関するノード情報をノード装置１０３から取得し、ピアツーピアネットワーク１０１に参加している他のノード装置との通信を行う（Ｓ６２）。ノード情報は、参加ノードリストに登録されているＩＰアドレスを含む。また、ＩＰアドレス以外に、各ノード装置が保持しているコンテンツデータの名前、サイズ、種類などを示すコンテンツ管理情報が参加ノードリストに登録されている場合には、ノード情報はそのコンテンツ管理情報も含む。
【００４８】
つぎにノード装置１０２は、自身に設定されている離脱残余時間が経過してピアツーピアネットワーク１０１から離脱しなければならない状態になっているか否かを判別する（Ｓ６３）。その結果、離脱残余時間が経過して離脱すべきと判別されたならば、ステップＳ６７へ進み、離脱残余時間がまだ経過していないと判別されたならば、ステップＳ６４へ進む。
【００４９】
ステップＳ６４では、ノード装置１０２が、ピアツーピアネットワーク１０１上のサービスを享受する（Ｓ６４）。
【００５０】
ここでノード装置１０２が、自身に設定されている離脱残余時間を更新する必要があるか否かを判別する（Ｓ６５）。その結果、離脱残余時間を更新する必要がある場合にはステップＳ６６へ進み、必要が無い場合にはステップＳ６３へ戻る。離脱残余時間を時間と共に減らす場合や、離脱残余時間を改めて増やす場合には、ステップＳ６６へ進む。
【００５１】
ステップＳ６６では、ノード装置１０２が、初期ノードアドレスを保持するノード装置１０３に接続して、ノード装置１０２の新たな離脱残余時間を含む更新通知を初期ノードアドレス宛に送信する。これを受けたノード装置１０３は、自身が管理する参加ノードリストにおいて、ノード装置１０２の離脱残余時間を更新通知に含まれる離脱残余時間で更新する。その後、ステップＳ６３へ戻る。
【００５２】
ステップＳ６７では、ノード装置１０２は、ピアツーピアネットワーク１０１から離脱すべく、初期ノードアドレス宛に（初期ノードアドレスを保持するノード装置１０３に対して）離脱通知を送信する。その後、ノード装置１０２は、ピアツーピアネットワーク１０１から離脱する（Ｓ６８）。
【００５３】
ところで、ノード装置（例えば、図１の１０２）が、ピアツーピアネットワーク１０１へ参加すべく、初期ノードアドレスを保持するノード装置（例えば、図１の１０３）に接続しようとする。または、ノード装置（例えば、図１の１１０）が、自身の離脱残余時間を更新すべく、初期ノードアドレスを保持するノード装置（例えば、図１の１０３）に接続しようとする。しかし、こうした接続が成功しなかった場合があり得、こうした場合におけるノード装置１０３またはノード装置１０４の動作を、図７および図８を参照して説明する。
【００５４】
図７および図８は、図６のＳ６１やＳ６６を実行するに当たって初期ノードアドレスを保持するノード装置に接続できなかったノード装置のＣＰＵ２０１によって実行される処理の手順を示すフローチャートである。
【００５５】
ここでは改めて、ノード装置が、初期ノードアドレスに基づいてノード装置への接続を試みる（Ｓ７１）。その際、ノード装置１１０は接続ができたかどうかを判別する（Ｓ７２）。その結果、接続できた場合には（Ｓ７２でＹＥＳ）図６のステップＳ６１またはＳ６６に進み、接続できなかった場合には（Ｓ７２でＮＯ）ステップＳ７３に進む。
【００５６】
ステップＳ７３では、初期ノードアドレスに基づくノード装置への接続試行回数ｉを１だけ加算する。そして、接続試行回数ｉが所定の最大リトライ回数以下であるか否かを判別する（Ｓ７４）。その結果、接続試行回数ｉが所定の最大リトライ回数（所定回数）以下であるならばステップＳ７１へ戻り、接続試行回数ｉが所定の最大リトライ回数を越えたならばステップＳ７５へ進む。これによって、初期ノードアドレスに基づくノード装置への接続試行を所定の最大リトライ回数だけ行うことができる。
【００５７】
ステップＳ７５では、初期ノードアドレスに基づくノード装置が所定の最大リトライ回数だけ接続を試みたが接続できなかったので、ノード装置１１０は、自身において初期ノードアドレスの保持設定を有効にし、初期ノードアドレスを保持するノード装置になる。つまり、初期ノードアドレスを保持していたノード装置が何らかの理由により通信ができない場合、またはそもそも初期ノードアドレスを保持しているノード装置がまだ存在していない場合には、ノード装置１１０が初期ノードアドレスを保持するノード装置になる。そして、ノード装置１１０は、参加ノードリストを新規に作成する（Ｓ７６）。
【００５８】
以下のステップＳ７７〜Ｓ８７は、図４および図５に示すステップＳ４４〜Ｓ５４と基本的にそれぞれ同一の内容となっているので、その説明を省略する。ただし、ステップＳ８２では、ステップＳ４９と同様に、更新通知を受信したノード装置１１０が、自身が管理する参加ノードリストにおいて、更新通知を送信したノード装置の離脱残余時間を更新通知に含まれる離脱残余時間で更新する。一方、更新通知を送信したノード装置が参加ノードリストに記載されていない場合には、該ノード装置のＩＰアドレス及び更新通知に含まれる離脱残余時間を参加ノードリストへ追加するようにする。
【００５９】
以上のように、本実施の形態では、ピアツーピアネットワークに参加する際にアクセスすべきノード装置に、初期ノードアドレスを設定し、該初期ノードアドレスを設定されたノード装置が、ピアツーピアネットワークに必ず参加しているようにする。すなわち、初期ノードアドレスを設定されたノード装置がピアツーピアネットワークから離脱する際には、初期ノードアドレスをピアツーピアネットワーク上の他のノード装置に譲渡するようにする。これによって、ピアツーピアネットワークにおいてサーバを備える必要がなく、かつ、初期ノードアドレスを設定されたノード装置にアクセスするだけで、ピアツーピアネットワークに常時参加することが可能となる。
【００６０】
なお、本実施の形態では、ノード装置１０２〜１１０の各々は、通信機能を有するプリンタであるが、ノード装置１０２〜１１０は、通信機能を有するものであれば、他の装置であってもよい。
【００６１】
〔他の実施の形態〕
また、本発明の目的は、以下の処理を実行することによって達成される。すなわち、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。そして、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【００６２】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６３】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。すなわち例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードを、ネットワークを介してダウンロードしてもよい。
【００６４】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【００６５】
更に、前述した実施の形態の機能が以下の処理によって実現される場合も本発明に含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施の形態に係る仮想ネットワークシステムの全体構成を示すブロック図である。
【図２】ノード装置の内部構成を示すブロック図である。
【図３】参加ノードリストの一例を示す図である。
【図４】ノード装置のＣＰＵによって実行される、初期ノードアドレスの保持、参加ノードリストの管理、およびピアツーピアネットワークからの離脱に関する処理の手順を示すフローチャート（１／２）である。
【図５】ノード装置のＣＰＵによって実行される、初期ノードアドレスの保持、参加ノードリストの管理、およびピアツーピアネットワークからの離脱に関する処理の手順を示すフローチャート（２／２）である。
【図６】ノード装置のＣＰＵによって実行される処理の手順を示すフローチャートである。
【図７】初期ノードアドレスを保持するノード装置や参加ノードリストを管理するノード装置に接続できなかったノード装置のＣＰＵによって実行される処理の手順を示すフローチャート（１／２）である。
【図８】初期ノードアドレスを保持するノード装置や参加ノードリストを管理するノード装置に接続できなかったノード装置のＣＰＵによって実行される処理の手順を示すフローチャート（２／２）である。
【符号の説明】
【００６７】
１０１  ピアツーピアネットワーク（所定のネットワーク）
１０２〜１１０  ノード装置（通信装置）
【図１】
2008262290.tif 000003
【図２】
2008262290.tif 000004
【図３】
2008262290.tif 000005
【図４】
2008262290.tif 000006
【図５】
2008262290.tif 000007
【図６】
2008262290.tif 000008
【図７】
2008262290.tif 000009
【図８】
2008262290.tif 000010