(57)【要約】【課題】      ネットワークにおけるトラフィック量、サーバの処理量を低減すること。【解決手段】  ネットワークデバイスの接続状態を管理する情報処理装置は、一のネットワークデバイスから送信されたアクセス要求に基づき、当該一のネットワークデバイスとアクセスが可能な他のネットワークデバイスに関する接続状態を確認するための状態確認部と、状態確認部により確認された他のネットワークデバイスに関する接続状態を表示するアクセス情報を前記一のネットワークデバイスに通信する通信部とを備える。【選択図】  図２Ａ
2006048169.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークデバイスの接続状態を管理する情報処理装置であって、
一のネットワークデバイスから送信されたアクセス要求に基づき、当該一のネットワークデバイスとアクセスが可能な他のネットワークデバイスに関する接続状態を確認するための状態確認手段と、
前記状態確認手段により確認された他のネットワークデバイスに関する接続状態を表示するアクセス情報を前記一のネットワークデバイスに通信する通信手段と
を備えることを特徴とする情報処理装置。
【請求項２】
複数のネットワークデバイスのうち、相互にアクセスが可能な各ネットワークデバイスの関係を管理するアクセス管理データ格納手段を更に備え、
前記状態確認手段は、一のネットワークデバイスから送信されたアクセス要求に基づき、前記他のネットワークデバイスを、前記アクセス管理データ格納手段で管理されている前記複数のネットワークデバイスから特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数のネットワークデバイスに関し、ネットワークへの接続状態を識別するためのステータス情報と、当該ステータス情報の更新時間に関する情報とを管理する状態管理データ格納手段を更に備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記状態管理データ格納手段で管理される前記ステータス情報及び前記更新時間に関する情報を更新する更新手段を更に備え、
前記更新手段は、前記他のネットワークデバイスの何れかから送信された状態変更要求に応じて、該当するネットワークデバイスのステータス情報及び更新時間に関する情報を更新し、
前記通信手段は、前記更新されたステータス情報及び更新時間に関する情報に基づき、前記アクセス情報に追加するための追加アクセス情報を生成し、前記一のネットワークデバイスに通信することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記更新手段は、前記状態確認手段による状態確認の結果に基づいて、前記ステータス情報及び更新時間に関する情報を更新することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記更新時間に関する情報と、前記アクセス情報を生成する時点の時間情報との時間差を求め、当該時間差が所定時間内の場合、
前記通信手段は、前記状態管理データ格納手段で管理されている前記ステータス情報に従い、前記アクセス情報を生成し、前記一のネットワークデバイスに通信することを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記ステータス情報は、オフラインであることを示すステータス情報と、オンラインであることを示すステータス情報のいずれかを含むことを特徴とする請求項１乃至６のいずれかに記載の情報処理装置。
【請求項８】
前記通信手段は、前記時間差が所定時間を超える場合、状態確認中であることを示すステータス情報を前記アクセス情報に設定し、前記一のネットワークデバイスに通信することを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記状態確認手段は、前記時間差が所定時間を超える場合、前記他のネットワークデバイスに関する接続状態を確認し、
前記通信手段は、前記状態確認の結果に基き更新されたステータス情報により、前記状態確認中であることを示すステータス情報を更新し、前記一のネットワークデバイスに通信することを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
ネットワークデバイスの接続状態を管理する情報処理装置であって、
前記ネットワークデバイスに関し、ネットワークへの接続状態を識別するためのステータス情報を管理する状態管理データ格納手段と、
一のネットワークデバイスから送信されたアクセス要求に基づき、当該一のネットワークデバイスとアクセスが可能な他のネットワークデバイスに関する接続状態を表示するアクセス情報を、前記ステータス情報に基づき生成するアクセス情報生成手段と、
前記アクセス情報を前記一のネットワークデバイスに通信する通信手段と
を備えることを特徴とする情報処理装置。
【請求項１１】
ネットワークデバイスの接続状態を管理する情報処理装置の制御方法であって、
一のネットワークデバイスから送信されたアクセス要求に基づき、当該一のネットワークデバイスとアクセスが可能な他のネットワークデバイスに関する接続状態を確認するための状態確認工程と、
前記状態確認手段にて確認された他のネットワークデバイスに関する接続状態を表示するアクセス情報を前記一のネットワークデバイスに通信する通信工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１２】
ネットワークデバイスの接続状態を管理する情報処理装置の制御方法であって、
前記ネットワークデバイスに関し、ネットワークへの接続状態を識別するためのステータス情報を管理するための状態管理データ管理工程と、
一のネットワークデバイスから送信されたアクセス要求に基づき、当該一のネットワークデバイスとアクセスが可能な他のネットワークデバイスに関する接続状態を表示するアクセス情報を、前記ステータス情報に基づき生成するアクセス情報生成工程と、
前記アクセス情報を前記一のネットワークデバイスに通信する通信工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１３】
請求項１１または１２に記載の情報処理装置の制御方法を、コンピュータに実行させることを特徴とするプログラム。
【請求項１４】
請求項１１または１２に記載の情報処理装置の制御方法を、コンピュータに実行させるプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークトラフィック量、サーバの処理量を低減することが可能な情報処理技術に関する。
【背景技術】
【０００２】
IPv6ネットワーク環境においては、特にモバイル端末機器を含む端末機器が、ネットワークを頻繁に移動し、相互に接続を行うケースが増大することが想定される。この際、端末機器が実際に利用可能であるか否かをサーバに問い合わせることで確認できることが重要になる。例えば、ネットワークに接続する端末機器の接続が有効であることを他の機器が確認できるように、端末機器自身は、比較的時間間隔の短い一定時間毎に接続が「生きている」（alive)ことを通信相手に伝えるための信号としてKeepaliveパケットをネットワークサーバに対して送信する。特許文献１においては、Keepaliveパケットを端末装置が自立的に送信する仕組みを個々の端末機器に実装する構成が開示されている。ここで、Keepaliveパケットには、ネットワーク上における接続が有効であり、端末機器自体が稼働可能であることを他の機器に通知する情報が含まれている。
【０００３】
この特許文献１による方法によれば、ネットワークに接続する他の機器がサーバに問い合せることにより、通信対象となる目的の端末機器が有効にネットワークに接続しているか否かを確認することができ、サーバ起点で一定時間毎に全ての端末機器に対してKeepalive情報の返信要求を投げ、応答を受ける方法に比べ、端末機器から送られる一方向の通信で済むため効率が良いことが知られている。
【特許文献１】特開2000-285048号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の方法でも、ネットワークサーバが管理する端末機器が増大した場合、ネットワークトラフィック量、サーバの処理量は膨大なものとなるため、サーバにおける負担を軽減するためにサーバの増設等の問題が生じる。特に、次世代のＩＰプロトコルであるIPv6ネットワーク環境下では、飛躍的に膨大な端末機器がネットワーク接続し、相互に通信を行うことになるため、特許文献１に示される従来の方式ではネットワークトラフィック量、サーバ処理量において破綻をきたすという問題が生じる。
【０００５】
本発明は以上の問題を鑑みてなされたものであり、限定した通信対象に関する接続状態を確認するようにしてトラフィック量、サーバの処理量を低減することを可能にする情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明にかかる情報処理装置は主として以下の構成を備えることを特徴とする。
【０００７】
すなわち、ネットワークデバイスの接続状態を管理する情報処理装置は、
一のネットワークデバイスから送信されたアクセス要求に基づき、当該一のネットワークデバイスとアクセスが可能な他のネットワークデバイスに関する接続状態を確認するための状態確認手段と、
前記状態確認手段により確認された他のネットワークデバイスに関する接続状態を表示するアクセス情報を前記一のネットワークデバイスに通信する通信手段とを備えることを特徴とする。
【発明の効果】
【０００８】
限定した通信対象に関して接続状態の確認を行い、アクセス要求に応じて通信対象となるネットワークデバイスの接続状態を示すステータス情報をアクセス要求元に通知することで、トラフィック量、サーバの処理量を低減することが可能になる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
【００１０】
図１は第１実施形態におけるネットワーク構成を概略的に説明する図である。図１において100はインターネットであり、IPｖ４または次世代のＩＰ通信プロトコルであるIPv6による通信プロトコルを利用した通信が可能である。101はプリンタであり、プリンタ101はインターネット100と接続して、ＩＰ通信プロトコル（IPv4またはIPv6）を利用した通信が可能である。102はデジタルスチルカメラ（以降、「デジカメ」と略す）であり、デジカメ102はインターネット100と接続し、IP通信プロトコル（IPv4またはIPv6）を利用して通信が可能である。また、103はWebカメラであり、Webカメラ103はインターネット100と接続して、IP通信プロトコルを利用して通信が可能である。
【００１１】
上記の三つのネットワークデバイスは、インターネット100を介して、それぞれがピアツーピア通信を行うことが可能である。
【００１２】
105、106、107はインターネット100に接続するネットワークデバイスを示すが、プリンタ101、デジカメ102、Webカメラ103から見た場合、通信の対象とはならないネットワークデバイスである。
【００１３】
104は情報処理装置（以下、「プレゼンスサーバ」、更には、単に「サーバ」ともいう。）であり、プリンタ101、デジカメ102そしてWebカメラ103の機器の状態管理とアクセス管理を行うサーバである。すなわち、プレゼンスサーバ104は、インターネット100に接続するプリンタ101、デジカメ102そしてWebカメラ103等のネットワークデバイスのステータス（例えば、オンライン、オフライン、フリー、ビジーなど）をネットワークデバイスごとに管理し、また、あるネットワークデバイスがインターネット100を介してアクセス可能なネットワークデバイスの情報と、そのネットワークデバイスにアクセスを行えるネットワークデバイスの情報を管理することができる。
【００１４】
これらの情報より、あるネットワークデバイスからインターネット100を介して他のネットワークデバイスにアクセスする際、プレゼンスサーバ104から、その時点での各ネットワークデバイスのステータス情報が付加されたアクセスリスト（アクセス可能なネットワークデバイスリスト）を取得することができる。このアクセスリストにより、ネットワークデバイス同士のピアツーピア通信において、通信相手のネットワークデバイスをリスト内から選択し、決定することができ、さらに、通信を行う際、相手側のネットワークデバイスのステータスを確認することも可能である。これらの機能は、SIP（Session  initiation  Protocol）を利用したネットワークデバイス同士のピアツーピア通信におけるプレゼンス機能として搭載すると、効果が大きいと考えられる。
【００１５】
図２Ａは本発明の実施形態にかかるプレゼンスサーバ104に格納され、実行可能なプログラムモジュール及びデータベース（ＤＢ）の構成を説明するブロック図である。
【００１６】
201は通信モジュールであり、インターネット100に接続する各ネットワークデバイスとの間でメッセージの送受信を行うためのモジュールである。
【００１７】
202は要求受信処理モジュールであり、各ネットワークデバイスから送られるステータスに関する状態変更要求とアクセスリスト要求との内容を解析する。
【００１８】
203はアクセスリスト作成処理モジュールであり、ネットワークデバイスからのアクセスリスト要求に対して、要求元のネットワークデバイスに返信するアクセスリストを作成する。なお、ここで作成されるアクセスリストに関しては、図７にて詳細を説明する。
【００１９】
204は生存確認処理モジュールであり、プレゼンスサーバ104から各ネットワークデバイスのステータスを確認する状態確認処理を実行する。
【００２０】
205は状態管理データベースであり、生存確認処理モジュール204により確認がされた各ネットワークデバイスのステータス、及びそのステータスに関する情報の最終更新時間に関する情報を格納するデータベースである。
【００２１】
図３は状態管理データベース205の構成例を示す図である。図３において、301はネットワークデバイスに関する機器IDの項目を示しており、各ネットワークデバイスをインターネット100上で一意に決定する機器IDを格納する。ここで、機器IDに関しては、図２Ｂに示すように、ネットワークデバイスと機器IDとが対応するものとする。
【００２２】
302はステータスの項目であり、ネットワークデバイスのステータスとして、「online-free」「online-busy」「offline」の３種類のうち、いずれかを格納する。303は最終更新時間の項目であり、通信の対象となるネットワークデバイスからインターネット100への接続が有効か否かに関する生存確認に関する問い合わせに対する応答を、プレゼンスサーバ104が受信した最新のメッセージ受信時間（最終更新時間）を格納する。
【００２３】
311から313は状態管理データベースにエントリされているデータであり、それぞれ、プリンタ101（BJ）のエントリ311、デジカメ102（DC)のエントリ312、Webカメラ103（WV)のエントリ313を示す。例えば、Webカメラ103（WV)に関するエントリ313に関し、ステータスは「offline」の状態であり、生存確認に関する問い合わせに対する応答を受信した最新のメッセージ受信時間は2003年5月1日、21時3分であることを示している。
【００２４】
CPU801（図８）の全体的な制御の下、プリンタ101（BJ）のエントリ311、デジカメ102（DC)のエントリ312、Webカメラ103（WV)等の複数のネットワークデバイスに関し、ネットワークへの接続状態を識別するためのステータスと、ステータスの更新時間に関する情報は状態管理データベース205に格納され、この内容は、生存確認処理モジュール204による状態確認の結果に基づいて更新される。
【００２５】
206はアクセス管理データベースであり、インターネット100上の一のネットワークデバイスからアクセス可能な他のネットワークデバイス群と、他のネットワークデバイスから一のネットワークデバイスへアクセス可能なネットワークデバイス群の情報とを格納するデータベースである。
【００２６】
図４はアクセス管理データベース206の構成例を示す図である。401はネットワークデバイスに関する機器IDの項目を示しており、各ネットワークデバイスを一意に決定する機器IDを格納する。402は機器IDにより特定される一のネットワークデバイスからアクセス可能な他のネットワークデバイスを格納し、403はインターネット100上の他のネットワークデバイスから一のネットワークデバイスにアクセスが許可されたネットワークデバイス群を格納する。
【００２７】
411から413はアクセス管理データベース206にエントリされているデータであり、それぞれ、プリンタ101（BJ)のエントリ411、デジカメ102（DC)のエントリ412、Webカメラ103（WV)のエントリ413を示す。例えば、412のエントリ内容（DC)に関し、デジカメ102がアクセス可能なネットワークデバイスは、プリンタ101（BJ)とWebカメラ103（WV)であり、デジカメ102（DC)へのアクセスを許可されているネットワークデバイスは、プリンタ101（BJ)であることを示している。
【００２８】
CPU801（図８）の全体的な制御の下、プリンタ101（BJ）のエントリ311、デジカメ102（DC)のエントリ312、Webカメラ103（WV)等の複数のネットワークデバイスのうち、相互にアクセスが可能な各ネットワークデバイスの関係を管理するデータはアクセス管理データベース206に格納される。
【００２９】
尚、状態管理データベース205及びアクセス管理データベース206に格納されるネットワークデバイスは、図３、図４に示すものに限定されるものではなく、生存確認処理モジュール204は、インターネット100に接続するネットワークデバイス群の構成に従い、データベースに登録する内容を決定することができるものとする。また、プレゼンスサーバ104を構成する操作入力部（図８の810）を介して、図４の402に相当する一のネットワークデバイスからアクセス可能な他のネットワークデバイスに関する情報、403に相当する他のネットワークデバイスから一のネットワークデバイスにアクセスが許可されたネットワークデバイス群に関する情報を追加、削除、修正することも可能である。
【００３０】
図８は、本実施形態にかかるプレゼンスサーバ104として機能する情報処理装置の概略的な構成を示すブロック図である。プレゼンスサーバ104は、CPU801と、ROM802と、RAM803と、ハードディスク（HD）807及びフレキシブルディスク（FD）808、ディスクコントローラ（DC）805と、ネットワークインタフェースカード（NIC）806、操作入力部810、表示制御部811とが、システムバス804を介して互いに通信可能に接続された構成としている。そして、システムバス804が、図１に示したインターネット100とネットワークインタフェースカード806を介して接続する。
【００３１】
CPU801は、ROM802あるいはHD807に記憶されたソフトウェア、あるいはFD808より供給されるソフトウェアを実行することで、ステムバス804に接続された各構成部を統括的に制御することができる。すなわちCPU801は、後に詳細に説明する図６の処理フローに従った処理プログラムの実行主体として機能し、ROM802、あるいはHD807、あるいはFD808から供給されるプログラムを実行することで、本発明の実施形態にかかるプレゼンスサーバ104の情報処理を制御する。
【００３２】
RAM803は、CPU801の主メモリあるいはワークエリア等として機能する。DC805は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、状態管理データベース205、アクセス管理データベース206および情報処理プログラム等を記憶するHD807およびFD808へのアクセスを制御する。NIC806は、インターネット100との接続を通じてIPv6およびIPv4通信プロトコルを用いた相互通信を可能にするネットワークインタフェースカードである。
【００３３】
操作入力部811により、先に説明した図４の402に相当する一のネットワークデバイスからアクセス可能な他のネットワークデバイスに関する情報、403に相当する他のネットワークデバイスから一のネットワークデバイスにアクセスが許可されたネットワークデバイス群に関する情報を追加、削除、修正することが可能である。表示制御部811は表示部812を制御して、プレゼンスサーバ104における各種プログラムモジュール（通信モジュール201、要求受信処理モジュール202、アクセスリスト作成処理モジュール203、生存確認処理モジュール204）処理の状況や、操作入力部810における編集操作のための情報を可視化するための制御を行う。
【００３４】
図６はプレゼンスサーバ104における処理の流れを説明するフローチャートである。
【００３５】
ステップS601では、ネットワークデバイスから要求されるメッセージコマンドを受信し、その種別を判別する。ネットワークデバイスからのメッセージコマンドが状態変更要求メッセージの場合、処理をステップS602に進め、アクセスリスト要求メッセージの場合は、処理をステップS610に進める。受信したメッセージの内容は、要求受信処理モジュール202により解析される。
【００３６】
まず、状態変更要求メッセージを受信した場合、ステップS602にて要求メッセージの送信元であるネットワークデバイスの機器IDを取得する。
【００３７】
ステップS603において、CPU801の制御の下、生存確認処理モジュール204は状態管理データベース205を参照し、ステップS602において取得した状態変更要求メッセージの送信元であるネットワークデバイスに関して設定されているステータス302と最終更新時間303の情報を更新する。
【００３８】
次に、ステップS604では、CPU801の制御の下、生存確認処理モジュール204はアクセス管理データベース206を参照し、状態変更要求メッセージの送信元であるネットワークデバイスへのアクセス受け入れが許可されているネットワークデバイスの機器ID（図４の403を参照）を取得する。
【００３９】
ステップS605において、先のステップS604で取得した機器IDに関して、状態管理データベースを参照し、取得した機器IDに関するステータス（図３の302）を参照し、取得した機器IDに対応するステータスの設定が「online-free」または「online-busy」である場合、該当するネットワークデバイスに対して、状態変更要求メッセージの送信元であるネットワークデバイスのステータスに関する状態変更内容をアクセスリストの追加情報として通知する。
【００４０】
ステップS606において、CPU801は状態変更要求メッセージがログイン時の要求であるかを判定し、ログイン時の要求である場合には（S606‐yes）、処理をステップS607に進め、ログイン時の要求でない場合には（S606-no）、処理を終了する。ここで、「ログイン時の要求」とは、ネットワークデバイスがネットワークに接続した際、「offline」から「online-free」へステータスを変更する状態変更要求のことをいう。
【００４１】
ステップS606における判断で、ログイン時の要求であると判断された場合（S606-yes）、ステップS607において、CPU801の制御の下、生存確認処理モジュール204はアクセス管理データベース206を参照し、状態変更要求メッセージの送信元であるネットワークデバイスからアクセス可能なネットワークデバイスの機器IDを取得する。
【００４２】
ステップS608において、CPU801の制御の下、生存確認処理モジュール204はステップS607において取得した機器IDに関して、状態管理データベース205を参照し、取得した機器IDに関するステータス（図３の302）を参照し、取得した機器IDに対応するステータスの設定が「online-free」または「online-busy」である場合、該当するネットワークデバイスに対して、接続が有効か否かの状態確認処理を行う。
【００４３】
ステップS609では、ステップS608の状態確認処理に対する結果を状態管理データベース205の該当する機器IDのエントリに反映し、処理を終了する。
【００４４】
一方、ステップS601においてアクセスリスト要求メッセージを受信した場合、ステップS610にて要求メッセージの送信元である機器IDを取得する。
【００４５】
ステップS611では、CPU801の制御の下、生存確認処理モジュール204は状態管理データベース205を参照し、ステップS610にて取得したアクセスリスト要求メッセージの送信元であるネットワークデバイスに関するエントリを取得し、そのステータス302と最終更新時間303を更新する。
【００４６】
ステップS612では、CPU801の制御の下、生存確認処理モジュール204はアクセス管理データベース206を参照し、アクセスリスト要求メッセージの送信元であるネットワークデバイスからアクセス可能なネットワークデバイスの機器ID（図４の402）を取得する。
【００４７】
ステップS613では、CPU801の制御の下、アクセスリスト作成処理モジュール203は該当するネットワークデバイスに返信するためのアクセスリストを作成し、ステップS612で取得した機器IDをアクセスリストにおける機器IDの項目として登録する。
【００４８】
ステップS614において、CPU801の制御の下、生存確認処理モジュール204はアクセスリストに登録された各ネットワークデバイスに関するステータスを、状態管理データベース205より参照し、「offline」の設定か、「online-free」または「online-busy」の設定（「online-free」、「online-busy」をまとめて「online-*」として示す：図６のステップS614）か否かを判定する。
【００４９】
ステータスの値が「offline」の場合には処理をステップS616に進め、「online-free」または「online-busy」の場合（「online-*」）には処理をステップS615に進める。
【００５０】
ステップS615において、CPU801の制御の下、生存確認処理モジュール204は状態管理データベース205を参照し、該当するネットワークデバイスに関する最終更新時間の値を判定する。最終更新時間の値と現時刻（アクセスリストを作成する時点における時刻）との差が、所定の時間（reachタイム）以内ならば処理をステップS616に進め、所定の時間（以下、「reachタイム」という。）、例えば、時間差として１分を経過している場合には、処理をステップS617に進める。ここで、「reachタイム」とは、ネットワークデバイスの接続の有効性を保障する生存保障時間であり、最後にネットワークデバイスからメッセージを受信した最終更新時間から現時刻の時間差が、このreachタイム以内であれば、そのネットワークデバイスに関する状態の変化はないと判断することができる時間である。このreachタイムとしては１分程度が適当と思われるが、本発明の趣旨はこの時間に限定されるものでないことはいうまでもない。
【００５１】
ステップS614におけるステータスの判定で、該当するネットワークデバイスのステータスが「offline」の設定の場合、または、ステップS615において、該当するネットワークデバイスの最終更新時間の値と現時刻との差がreachタイム以内の場合、ステップS616において、CPU801の制御の下、アクセスリスト作成処理モジュール203は先のステップS613で作成したアクセスリストに、状態管理データベース205に格納されている該当ネットワークデバイスのステータスをそのまま設定する。
【００５２】
一方、ステップS615において、該当するネットワークデバイスの最終更新時間の値と現時刻との差がreachタイムを経過している場合、ステップS617に処理を進め、CPU801の制御の下、アクセスリスト作成処理モジュール203は先のステップS613で作成したアクセスリストに、ステータスとして、「probe」を登録する。このステータスとしての「probe」は、ネットワークデバイスの状態を確認中であることを意味し、アクセスリスト内のステータスにしか現れない設定情報である。
【００５３】
そして、ステップ618に処理を進め、ステータスに関する情報を設定したアクセスリストを、アクセスリスト要求メッセージの送信元へ送信する。
【００５４】
ステップS619で、CPU801の制御の下、生存確認処理モジュール204は先のステップS617において、ステータスが「probe」に設定されたネットワークデバイスに対して、接続が有効か否かの状態確認処理を行う。
【００５５】
そして、ステップS620において、CPU801の制御の下、生存確認処理モジュール204は先のステップS619で行われた状態確認処理の結果を、状態管理データベース205に反映し、ステップS621において、CPU801の制御の下、アクセスリスト作成処理モジュール203はステップS620の状態確認処理の結果をアクセスリスト要求メッセージの送信元にアクセスリスト追加情報として生成して通知する。
【００５６】
図７は、アクセスリスト要求に対する返信として通知されるアクセスリスト（図６のS613で作成）の一例を示す図であり、アクセスリスト要求メッセージの送信元がデジカメ102である場合、アクセスリストには、デジカメ102がアクセス可能なネットワークデバイスに関する機器ID（701）、ステータス（702）に関する情報が設定される。ステータス702には、状態管理データベース205にけるステータスと同様に、「online-free」「online-busy」「offline」の他、reachタイムが所定の時間を経過している場合は、「probe」ステータスが設定される。この「probe」ステータスは、該当するネットワークデバイスに関するステータスを確認中であることを示するものであり、生存確認処理モジュール204は「probe」ステータスのネットワークデバイスに対して、ステータスの確認するために、状態確認処理を実行する。
【００５７】
図７において、711、712はそれぞれアクセスリストに登録されたネットワークデバイスであり、プリンタ101（BJ)はステータスの確認中（「probe」）であり、Webカメラ103（WV）は「offline」であることをそれぞれ示している。
【００５８】
図５はプレゼンスサーバ104とプリンタ101及びプレゼンスサーバ104とデジカメ102との状態変更要求および、アクセスリスト要求のシーケンスを説明する図である。
【００５９】
ステップ501において、プリンタ101がインターネット100に接続して、機器のステータスが「offline」から「online-free」に変更したことにより、状態変更要求メッセージがプリンタ101からプレゼンスサーバ104に送信される。状態変更要求メッセージの送信（501）を受信したプレゼンスサーバ104は、状態管理データベース205を参照し、送信元であるプリンタ101に関するエントリのステータス項目（図３の314に相当）を「offline」から「online-free」に変更する。
【００６０】
一方、ステップ502では、デジカメ102がインターネット100に接続し、機器のステータスが「offline」から「online-free」に変更したことにより、状態変更要求メッセージがデジカメ102からプレゼンスサーバ104に送信される。状態変更要求メッセージの送信（502）を受信したプレゼンスサーバ104は、先のステップ501の場合と同様に状態管理データベース205を参照し、送信元であるデジカメ102のステータス（図３の315に相当）を「offline」から「online-free」に変更する。
【００６１】
プレゼンスサーバ104は、デジカメ102のステータスが「online-free」となったことで、インターネット100を介したネットワークデバイス間のピアツーピア通信を行うことを想定し、アクセス管理データベース206におけるデジカメ102に関する登録内容を参照し（図４の414）、503a,bにてデジカメ102からアクセス可能なネットワークデバイスであるプリンタ101の接続が有効であるか否か状態確認（「生存確認」ともいう。）をする。このプレゼンスサーバ104が行う状態確認は、生存確認処理モジュール204の処理により行われる。生存確認処理モジュール204は、通信の対象となるネットワークデバイス（この場合は、プリンタ101）に対してインターネット100への接続が有効か否かに関する生存確認に関する問い合わせを行ない（503a）、この問い合わせに対する応答を受信した最新のメッセージ受信時間を状態管理データベース205に格納する（503b）。503a,bの状態確認処理により、プレゼンスサーバ104はプリンタ101の最新の状態を、状態管理データベース205に格納することができる。
【００６２】
次に、インターネット100に接続したデジカメ102は、プリンタ101に画像データをピアツーピア通信にて転送するために、プレゼンスサーバ104に対してアクセスリスト要求メッセージを送信する（504a）。ステップ504aによりデジカメ102からアクセスリスト要求メッセージを受信したプレゼンスサーバ104は、アクセス管理データベース206と状態管理データベース205に、デジカメ102の通信対象として登録されている該当ネットワークデバイスの情報を取得し、該当するネットワークデバイスのリストを作成して、デジカメ102に返信する（504b）。ここで作成されるリストは、図７で説明した通信対象として登録されているネットワークデバイスを特定するための機器IDと、ステータスに関する情報が含まれる。
【００６３】
プレゼンスサーバ104が作成したアクセスリストを取得したデジカメ102は、そのリストよりプリンタ101の状態を確認した上でピアツーピア通信を行い、画像データをプリンタ101に送信する（505）。
【００６４】
なお、本実施形態では上記のアクセスリストをデジカメ102が参照してから実際のピアツーピア通信の確立までの手順に関する内容は、本発明が意図する事項ではないため詳細な説明は省略する。
【００６５】
次に、デジカメ102とプリンタ101との間でピアツーピア通信が完了した後、しばらくした後（ここでは、reachタイムが所定の時間差を経過したものとする）、再びデジカメ102からプリンタ101への画像データ転送のピアツーピア通信を行う要求が発生した場合を想定する。
【００６６】
デジカメ102から、再び、アクセスリスト要求メッセージがプレゼンスサーバ504に送信される（506）。このアクセスリスト要求メッセージを受信したプレゼンスサーバ104は、アクセス管理データベース206を検索し、ステップ507にて、デジカメ102からアクセス可能なネットワークデバイスであるプリンタ101の接続状態を確認する。この接続状態の確認の処理は上述のステップ503と同様に生存確認処理モジュールが実行する。
【００６７】
ステップ507の状態確認とほぼ同時に、プレゼンスサーバ104はステップ506におけるアクセスリスト要求メッセージに対する返信として、アクセスが可能なデバイスのリスト（アクセスリスト）を送信する（508）。このときに送信されるアクセスリストには、プリンタ101のステータスとして「probe」が指定されている。
【００６８】
また、ステップ507における状態確認処理によって、プリンタ101は自己のステータスをプレゼンスサーバ104に返信する（509）。ステップ509によってプリンタ101の最新のステータスを取得したプレゼンスサーバ104は、状態管理データベース205の内容を修正し（状態変化が生じていない場合は同一の内容となる）、ステップ510により、プリンタ101から取得したステータスに基づいて、追加のアクセスリストを生成し、デジカメ102に対して送信する。追加のアクセスリストとは、先のステップ508にてデジカメ102に返信したプリンタ101に関するステータスの変更（または、最新のステータス）に関するする情報であり、ステップ508で「probe」と指定されたステータスが、例えば、「online-free」「online-busy」「offline」のいずれかに修正される。
【００６９】
[第２実施形態]
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。プログラムコードの格納は、クライアントコンピュータに限定されるものではなく、例えば、サーバとして機能するコンピュータに記憶されておくことも可能である。
【００７０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７１】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ、磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００７４】
【図１】本発明にかかる実施形態におけるネットワーク構成を概略的に説明する図である。
【図２Ａ】本発明の実施形態にかかるサーバに格納され、実行可能なプログラムモジュール及びデータベース（ＤＢ）の構成を説明するブロック図である。
【図２Ｂ】ネットワークデバイスと機器IDとの対応関係を示す図である。
【図３】状態管理データベースの構成例を示す図である。
【図４】アクセス管理データベースの構成例を示す図である。
【図５】サーバとプリンタ及びサーバとデジカメとの状態変更要求および、アクセスリスト要求のシーケンスを説明する図である。
【図６】サーバにおける処理の流れを説明するフローチャートである。
【図７】アクセスリストの一例を示す図である。
【図８】サーバの概略的な構成を示すブロック図である。
【図１】
2006048169.tif 000003
【図２Ａ】
2006048169.tif 000004
【図２Ｂ】
2006048169.tif 000005
【図３】
2006048169.tif 000006
【図４】
2006048169.tif 000007
【図５】
2006048169.tif 000008
【図６】
2006048169.tif 000009
【図７】
2006048169.tif 000010
【図８】
2006048169.tif 000011