(57)【要約】【課題】管理する転送先に関する情報の作成、管理コストを低減すると共に、異なるホームネットワークにあるリソース取得を可能とすることを目的とする。【解決手段】第２の通信装置から受信したデータにデータ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれているか否かを解析する解析手段と、解析の結果、データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれていた場合、第１のリソース情報からデータ提供装置のホスト情報を取得する取得手段と、データ提供装置のホスト情報を中継装置のホスト情報に変換した第２のリソース情報を作成する作成手段と、第２の通信装置から受信したデータに含まれる第１のリソース情報を第２のリソース情報に書き換えたデータを第１の通信装置に転送する第１の転送手段と、を有する。【選択図】図３
2015201758.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置を含む第１のネットワークと、第２の通信装置とデータ提供装置とを含む第２のネットワークと、を中継する中継装置であって、
前記第２の通信装置から受信したデータに前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれているか否かを解析する解析手段と、
前記解析の結果、前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれていた場合、前記第１のリソース情報から前記データ提供装置のホスト情報を取得する取得手段と、
前記データ提供装置のホスト情報を前記中継装置のホスト情報に変換した第２のリソース情報を作成する作成手段と、
前記第２の通信装置から受信したデータに含まれる前記第１のリソース情報を前記第２のリソース情報に書き換えたデータを前記第１の通信装置に転送する第１の転送手段と、
を有する中継装置。
【請求項２】
前記中継装置のホスト情報と、前記データ提供装置のホスト情報と、を関連付けて関連情報として保存する保存手段と、
前記第１の通信装置から前記第２のリソース情報を含むリクエストデータを受信した場合、前記リクエストデータより前記第２のリソース情報を取得し、前記第２のリソース情報を含む前記関連情報を特定し、特定した前記関連情報に含まれる前記ホスト情報の装置に対して前記リクエストデータを転送する第２の転送手段と、
を更に有する請求項１記載の中継装置。
【請求項３】
前記リクエストデータに基づき、前記リクエストデータに応じて前記第２の通信装置から受信するデータに前記第１のリソース情報が含まれるか否かを判断する判断手段を更に有し、
前記第１の転送手段は、前記判断手段により前記リクエストデータに応じて前記第２の通信装置から受信するデータに前記第１のリソース情報が含まれないと判断された場合であって、前記データを前記第２の通信装置から受信した場合、前記解析手段による処理を省略し、前記データを前記第１の通信装置に転送する請求項２記載の中継装置。
【請求項４】
前記判断手段は、前記リクエストデータが定型文書で規定されているデータか否かに応じて、前記リクエストデータに応じて前記第２の通信装置から受信するデータに前記第１のリソース情報が含まれるか否かを判断する請求項３記載の中継装置。
【請求項５】
前記判断手段は、前記リクエストデータが定型文書で規定されているデータか否か、及び、前記リクエストデータが前記第１のリソース情報を含むデータをレスポンスとして要求しているデータか否かに応じて、前記リクエストデータに応じて前記第２の通信装置から受信するデータに前記第１のリソース情報が含まれるか否かを判断する請求項３記載の中継装置。
【請求項６】
前記第１の通信装置と前記第２の通信装置とのセッションが削除されたときに、前記関連情報を削除する削除手段を更に有する請求項２乃至５何れか１項記載の中継装置。
【請求項７】
第２のネットワークの第２の通信装置から受信したデータに前記第２のネットワークのデータ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれているか否かを解析する解析手段と、
前記解析の結果、前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれていた場合、前記第１のリソース情報から前記データ提供装置のホスト情報を取得する取得手段と、
前記データ提供装置のホスト情報を中継装置のホスト情報に変換した第２のリソース情報を作成する作成手段と、
前記第２の通信装置から受信したデータに含まれる前記第１のリソース情報を前記第２のリソース情報に書き換えたデータを第１のネットワークの第１の通信装置に転送する第１の転送手段と、
を有する通信システム。
【請求項８】
前記中継装置のホスト情報と、前記データ提供装置のホスト情報と、を関連付けて関連情報として保存する保存手段と、
前記第１の通信装置から前記第２のリソース情報を含むリクエストデータを受信した場合、前記リクエストデータより前記第２のリソース情報を取得し、前記第２のリソース情報を含む前記関連情報を特定し、特定した前記関連情報に含まれる前記ホスト情報の装置に対して前記リクエストデータを転送する第２の転送手段と、
を更に有する請求項７記載の通信システム。
【請求項９】
第１の通信装置を含む第１のネットワークと、第２の通信装置とデータ提供装置とを含む第２のネットワークと、を中継する中継装置が実行する情報処理方法であって、
前記第２の通信装置から受信したデータに前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれているか否かを解析する解析工程と、
前記解析の結果、前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれていた場合、前記第１のリソース情報から前記データ提供装置のホスト情報を取得する取得工程と、
前記データ提供装置のホスト情報を前記中継装置のホスト情報に変換した第２のリソース情報を作成する作成工程と、
前記第２の通信装置から受信したデータに含まれる前記第１のリソース情報を前記第２のリソース情報に書き換えたデータを前記第１の通信装置に転送する第１の転送工程と、
を含む情報処理方法。
【請求項１０】
前記中継装置のホスト情報と、前記データ提供装置のホスト情報と、を関連付けて関連情報として保存する保存工程と、
前記第１の通信装置から前記第２のリソース情報を含むリクエストデータを受信した場合、前記リクエストデータより前記第２のリソース情報を取得し、前記第２のリソース情報を含む前記関連情報を特定し、特定した前記関連情報に含まれる前記ホスト情報の装置に対して前記リクエストデータを転送する第２の転送工程と、
を更に含む請求項９記載の情報処理方法。
【請求項１１】
通信システムが実行する情報処理方法であって、
第２のネットワークの第２の通信装置から受信したデータに前記第２のネットワークのデータ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれているか否かを解析する解析工程と、
前記解析の結果、前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれていた場合、前記第１のリソース情報から前記データ提供装置のホスト情報を取得する取得工程と、
前記データ提供装置のホスト情報を中継装置のホスト情報に変換した第２のリソース情報を作成する作成工程と、
前記第２の通信装置から受信したデータに含まれる前記第１のリソース情報を前記第２のリソース情報に書き換えたデータを第１のネットワークの第１の通信装置に転送する第１の転送工程と、
を含む情報処理方法。
【請求項１２】
前記中継装置のホスト情報と、前記データ提供装置のホスト情報と、を関連付けて関連情報として保存する保存工程と、
前記第１の通信装置から前記第２のリソース情報を含むリクエストデータを受信した場合、前記リクエストデータより前記第２のリソース情報を取得し、前記第２のリソース情報を含む前記関連情報を特定し、特定した前記関連情報に含まれる前記ホスト情報の装置に対して前記リクエストデータを転送する第２の転送工程と、
を更に含む請求項１１記載の情報処理方法。
【請求項１３】
第１の通信装置を含む第１のネットワークと、第２の通信装置とデータ提供装置とを含む第２のネットワークと、を中継するコンピュータに、
前記第２の通信装置から受信したデータに前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれているか否かを解析する解析ステップと、
前記解析の結果、前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれていた場合、前記第１のリソース情報から前記データ提供装置のホスト情報を取得する取得ステップと、
前記データ提供装置のホスト情報を前記コンピュータのホスト情報に変換した第２のリソース情報を作成する作成ステップと、
前記第２の通信装置から受信したデータに含まれる前記第１のリソース情報を前記第２のリソース情報に書き換えたデータを前記第１の通信装置に転送する第１の転送ステップと、
を実行させるためのプログラム。
【請求項１４】
前記コンピュータのホスト情報と、前記データ提供装置のホスト情報と、を関連付けて関連情報として保存する保存ステップと、
前記第１の通信装置から前記第２のリソース情報を含むリクエストデータを受信した場合、前記リクエストデータより前記第２のリソース情報を取得し、前記第２のリソース情報を含む前記関連情報を特定し、特定した前記関連情報に含まれる前記ホスト情報の装置に対して前記リクエストデータを転送する第２の転送ステップと、
を更に実行させるための請求項１３記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理する転送先に関する情報の作成、管理コストを低減すると共に、異なるホームネットワークにあるリソース取得を可能とする中継装置、通信システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークの普及によりパーソナルコンピュータだけでなく携帯電話や電子機器等様々なものがネットワークに接続出来るようになってきた。それに伴い、電子機器等を相互連携して利用する環境は、オフィスユースはもちろんのこと、今まで単独で用いられてきた家電製品やその他の電器製品もネットワークに繋がり、ホームユースにも及ぶようになってきた。そのため、ネットワークに接続する各種機器の接続容易性、設定容易性がとりわけ求められるようになってきた。
このような要求に応えることができるネットワーク技術の一つに、ユニバーサルプラグアンドプレイ（ＵＰｎＰ：Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ。以下ＵＰｎＰと記す。）と呼ばれるものが存在する。ＵＰｎＰは一つのホームネットワーク内で動作するプロトコルであるが、このような閉じたネットワーク内で動作するプロトコルを、インターネット越しの遠隔拠点間のような上位のネットワークでも動作可能にするための技術が存在する。
【０００３】
特許文献１に記載のシステムは、直接通信し合うことのできない二つのネットワーク間にリバースプロキシ装置を配置し、リバースプロキシ装置が二つのネットワーク間のデータを中継することで、ネットワーク間のデータのやりとりを可能にしている。より具体的には、送信元ユーザが指定する宛先ｗｅｂサーバへアクセスする際の情報と、リバースプロキシ装置が宛先ｗｅｂサーバへアクセスする際の情報との変換テーブルを使用する。送信元ユーザが宛先ｗｅｂサーバを明示的に指定することによって、リバースプロキシ装置が変換テーブルを参照し宛先のｗｅｂサーバに転送している。
特許文献２に記載のシステムは、異なるホームネットワークの各々にＵＰｎＰデバイスプロキシを配置し、各々のホームネットワーク内に接続するＵＰｎＰデバイス間の接続を可能にしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−５５２００号公報
【特許文献２】特開２００５−３１１７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のシステムのように変換テーブルを参照して宛先へデータを転送するには、変換テーブルを作成する必要がある。しかしながら、接続する拠点間の数の増加に伴い、変換テーブルの作成・管理に係わるコスト増大や、変換テーブルのデータサイズが増加する課題がある。
一方、特許文献２に記載のシステムでは、各々のＵＰｎＰデバイス間の接続は可能であるが、ＵＰｎＰデバイスが管理するリソースを指定したアクセスは出来ない課題がある。
本発明は、管理する転送先に関する情報の作成、管理コストを低減すると共に、異なるホームネットワークにあるリソース取得を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、第１の通信装置を含む第１のネットワークと、第２の通信装置とデータ提供装置とを含む第２のネットワークと、を中継する中継装置であって、前記第２の通信装置から受信したデータに前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれているか否かを解析する解析手段と、前記解析の結果、前記データ提供装置が提供するリソースの位置を特定する第１のリソース情報が含まれていた場合、前記第１のリソース情報から前記データ提供装置のホスト情報を取得する取得手段と、前記データ提供装置のホスト情報を前記中継装置のホスト情報に変換した第２のリソース情報を作成する作成手段と、前記第２の通信装置から受信したデータに含まれる前記第１のリソース情報を前記第２のリソース情報に書き換えたデータを前記第１の通信装置に転送する第１の転送手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、管理する転送先に関する情報の作成、管理コストを低減すると共に、異なるホームネットワークにあるリソース取得を可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】通信して無のシステム構成の一例を示す図である。
【図２】中継サーバ、ＳＩＰサーバ、データ管理装置の機能構成の一例を示す図である。
【図３】通信システム全体のメッセージの流れを示すシーケンス図である。
【図４】メッセージの概略についての一例を示す図である。
【図５】メッセージの概略についての一例を示す図である。
【図６】メッセージの概略についての一例を示す図である。
【図７】中継サーバの情報処理の一例を示すフローチャートである。
【図８】リクエスト送信時のメッセージの流れを示すシーケンス図である。
【図９】中継サーバの情報処理の一例を示すフローチャートである。
【図１０】セッション情報を削除するときのメッセージの流れを示すシーケンス図である。
【図１１】セッション情報を変更するときのメッセージの流れを示すシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
＜実施形態１＞
図１は、通信システムのシステム構成の一例を示す図である。
中継サーバ１００は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）６００を介してＨＧＷＡ４１０及びＨＧＷＢ５１０と接続する。ＨＧＷＡ４１０及びＨＧＷＢ５１０との接続には、後述するＳＩＰサーバ２００がＨＧＷＡ４１０及びＨＧＷＢ５１０の各々と確立したセッションが利用される。中継サーバ１００は、これらセッションを利用してＣｌｉｅｎｔＡ４２０及びＳｅｒｖｅｒＡ５２０間のデータをＨＧＷＡ４１０及びＨＧＷＢ５１０を介して中継するサーバである。また、中継サーバ１００は、ＳＩＰサーバ２００と共有するデータを管理するデータ管理装置３００にアクセス可能であり、データ管理装置３００に対して、データの参照、保存、変更、削除する機能を有する。
【００１０】
ＳＩＰサーバ２００は、ネットワークを介してＨＧＷＡ４１０及びＨＧＷＢ５１０と接続し、ＨＧＷＡ４１０及びＨＧＷＢ５１０とＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を使用してセッションを確立する機能を有する。また、ＳＩＰサーバ２００は、中継サーバ１００と共有するデータを管理するデータ管理装置３００にアクセス可能であり、データ管理装置３００に対して、データの参照、保存、変更、削除する機能を有する。本実施形態の通信システムではプロトコルとしてＳＩＰを利用した説明を行うが、プロトコルこれに限らない。例えば、通信システムは、ＸＭＰＰ、Ｈ３２３、ＨＴＴＰ、ＷｅｂＳｏｃｋｅｔを利用してもよい。
データ管理装置３００は、中継サーバ１００及びＳＩＰサーバ２００からアクセスされ、中継サーバ１００及びＳＩＰサーバ２００が利用するデータの管理を行う機能を有する。データ管理装置３００は、中継サーバ１００及びＳＩＰサーバ２００からのデータ参照、追加、変更、削除に応じる。
なお、本実施形態では、中継サーバ１００、ＳＩＰサーバ２００、データ管理装置３００を独立したノードとして配置しているが、これに限らない。中継サーバ１００、ＳＩＰサーバ２００、データ管理装置３００を一体型の装置として配置してもよく、配置する場所や配置する装置に依存しない。
【００１１】
ＨｏｍｅＡは、ＬＡＮ４００（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構築しているエリアであり、後述するＣｌｉｅｎｔＡ４２０及びＨＧＷＡ４１０が接続されている。
ＨＧＷＡ４１０は、中継サーバ１００を介してＣｌｉｅｎｔＡ４２０及びＳｅｒｖｅｒＡ５２０間のデータを中継する装置である。またＨＧＷＡ４１０は、ＳＩＰプロトコルを使用してＳＩＰサーバ２００とセッションを確立する機能を有する。
ＣｌｉｅｎｔＡ４２０は、ＵＰｎＰ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｔｕｒｅで定義されているＣｏｎｔｒｏｌ  Ｐｏｉｎｔに準拠し、ＵＰｎＰのＭｅｄｉａ  Ｓｅｒｖｅｒを制御する機能を有する。ＣｌｉｅｎｔＡ４２０は、後述するＳｅｒｖｅｒＡ５２０やＳｅｒｖｅｒＢ５３０に対して、コンテンツ一覧の取得や、コンテンツの取得を行う装置である。ＳｅｒｖｅｒＡ５２０やＳｅｒｖｅｒＢ５３０はデータ提供装置の一例である。
ＨｏｍｅＢは、ＬＡＮ５００（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構築しているエリアであり、後述するＳｅｒｖｅｒＡ５２０、ＳｅｒｖｅｒＢ５３０、ＨＧＷＢ５１０が接続されている。
ＨＧＷＢ５１０は、ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０の各々と、中継サーバ１００との間のデータを中継する装置である。またＨＧＷＢ５１０は、ＳＩＰプロトコルを使用してＳＩＰサーバ２００とセッションを確立する機能を有する。
ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０は、ＵＰｎＰ  Ｍｅｄｉａ  Ｓｅｒｖｅｒ機能を有しており、ＣｌｉｅｎｔＡ４２０からの要求に応じて管理しているコンテンツの一覧やコンテンツ提供を行う装置である。本実施形態ではＭｅｄｉａ  Ｓｅｒｖｅｒ機能を有した装置について記載しているが、ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０は、ＵＰｎＰの他のデバイス又はサービス、又はＵＰｎＰ以外のデバイス又はサービスでもよい。
【００１２】
図２は、中継サーバ１００、ＳＩＰサーバ２００、データ管理装置３００の機能構成の一例を示す図である。
データ転送部１０１は、ＨＧＷＡ４１０及びＨＧＷＢ５１０とデータの送受信を行う機能を有する。データ転送部１０１は、ＳＩＰサーバ２００がＨＧＷＡ４１０及びＨＧＷＢ５１０の各々とセッションを確立する際にネゴシエーションした情報を基にデータの送受信を行う。
データ解析部１０２は、データ転送部１０１がＨＧＷＢ５１０から受信したデータの中にＵＲＬが含まれるか否かを解析し、ＵＲＬの中からホスト情報を取得する。ホスト情報は、ＩＰアドレス及びポート番号、又はドメイン名及びポート番号である。ポート番号が省略されることもあるが、その場合はＵＲＬに含まれるスキームからプロトコルで規定されているデフォルトのポート番号が用いられる。
データ変換部１０３は、データ解析部１０２で取得したＵＲＬに含まれるホスト情報を、ＣｌｉｅｎｔＡ４２０がアクセス可能なホスト情報に変換する。
データアクセス部１０４は、データ管理装置３００へのアクセス機能を有し、データ参照、登録、更新、削除を行う。
データ書換え部１０５は、ＨＧＷＢ５１０から受信したデータに含まれるＵＲＬをデータ変換部１０３で変換したＵＲＬに書き換える。データ書換え部１０５は、本実施形態ではＵＲＬについて変換を行うがＵＲＬに限定するものではなく、他のリソースのロケーションを特定する識別子を変更するようにしてもよい。
メッセージ種別判断部１０６は、ＨＧＷＡ４１０から受信したデータが定型文書に従う要求メッセージか否かを判断する。メッセージ種別判断部１０６は、定型文書に従う要求メッセージと判断した場合は、その要求メッセージに対する応答メッセージの定型文書から応答メッセージに変換対象のＵＲＬが含まれるか否かを判断する。例えばＳＯＡＰプロトコルを使用する場合、Ａｃｔｉｏｎに対する応答メッセージが定型文書で規定されており、メッセージ種別判断部１０６は、応答メッセージにＵＲＬが含まれるか否かＡｃｔｉｏｎ名から判断することができる。
【００１３】
セッション制御部２０１は、ＨＧＷＡ４１０及びＨＧＷＢ５１０の各々とセッション確立を行い、中継サーバ１００とＨＧＷＡ４１０及びＨＧＷＢ５１０の各々とがデータ送受信を行うためのネゴシエーションを行う。また、セッション制御部２０１は、ＨＧＷＢ５１０からＬＡＮ５００に接続するＳｅｒｖｅｒＡ５２０、ＳｅｒｖｅｒＢ５３０の状態通知を受け取る。状態通知にはＳｅｒｖｅｒのデバイス種別、サービス種別、各サービスにアクセス可能か否かが含まれる。状態通知には、ＳＩＰのＭＥＳＳＡＧＥ、ＩＮＦＯリクエスト、ＳＵＢＳＣＲＩＢＥ／ＮＯＴＩＦＹ、ＰＵＢＬＩＳＨが利用される。ＳＩＰ以外のプロトコルが利用されてもよい。また、セッション制御部２０１は、データ管理装置３００へのアクセス機能を有し、データ参照、登録、更新、削除を行う。
【００１４】
データ管理装置３００は、データを管理する機能を有し、中継サーバ１００及びＳＩＰサーバ２００からのデータアクセスを制御する機能を有する。
デバイス情報管理部３０１は、ＨＧＷＡ４１０及びＨＧＷＢ５１０のＨＧＷ情報、ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０のＵＰｎＰデバイス情報を保存、管理する。ＨＧＷ情報及びＵＰｎＰデバイス情報は、ＨＧＷ、Ｓｅｒｖｅｒを特定する識別子、状態通知に含まれる情報から構成されている。デバイス情報管理部３０１は、これらの情報のみに限らず他の情報を管理してもよい。
セッション情報管理部３０２は、ＳＩＰサーバ２００で確立したセッション情報を保存、管理する。セッション情報にはセッション識別子、セッションに属するＨＧＷのＨＧＷ情報、同ＨＧＷ配下に接続されているＳｅｒｖｅｒのＵＰｎＰデバイス情報等から構成される。セッション情報管理部３０２は、これらの情報のみに限らず他の情報を管理してもよい。
【００１５】
中継サーバ１００、ＳＩＰサーバ２００、データ管理装置３００の機能構成は、ハードウェア構成として各装置に実装されてもよいし、ソフトウェア構成として各装置に実装されてもよい。各構成の一部又は全てがソフトウェア構成として実装される場合、各装置はハードウェア構成として少なくともＣＰＵとメモリとを有する。そして、各装置のＣＰＵが各装置のメモリに記憶されているプログラムに基づき処理を実行することによって、各装置のソフトウェア構成が実現される。また、この様な構成の場合、後述するシーケンス図に係る処理やフローチャートに係る処理は、各装置のＣＰＵが各装置のメモリに記憶されているプログラムに基づき処理を実行することによって実現される。なお、デバイス情報管理部３０１及びセッション情報管理部３０２がソフトウェア構成としてデータ管理装置３００に実装される場合は、データ管理装置３００のメモリ等に記憶されるデバイス情報やセッション情報を管理する管理システムとして実装される。
【００１６】
図３は、通信システム全体のメッセージの流れを示すシーケンス図である。なお、説明の簡略化のため図３ではＳＩＰサーバ２００の記載は省略する。また、ＨＧＷＡ４１０及び、ＨＧＷＢ５１０の各々は、ＳＩＰサーバ２００に登録済みとする。このシーケンス図を用いて本実施形態の処理の説明を以下に行う。
Ｓ１０１及びＳ１０３にて、ＨＧＷＡ４１０及び、ＨＧＷＢ５１０の各々は、ＳＩＰサーバ２００に対してＨＧＷ情報及びＳｅｒｖｅｒ情報を通知する。ＨＧＷ情報には、少なくともＨＧＷＡ４１０、ＨＧＷＢ５１０の識別子（ＳＩＰ−ＵＲＩ）及び、各々のＨｏｍｅネットワーク上に接続するＵＰｎＰデバイス（ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０）の情報が含まれている。ＵＰｎＰデバイスの情報には、少なくともＬｏｃａｔｉｏｎ−ＵＲＬ、デバイス種別及びサービス種別が含まれる。その他にデバイスディスクリプション又はサービスディスクリプションに含まれる情報が含まれていてもよい。
Ｓ１０２にて、ＨＧＷＢ５１０は、自身が接続するＬＡＮ５００内のＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０の監視を行う。
ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０が、ＬＡＮ５００に新規に接続又は、ＬＡＮ５００から離脱した場合、Ｓ１０３にて、ＨＧＷＢ５１０は、ＵＰｎＰデバイスの状態情報を中継サーバ１００に通知する。
Ｓ１０４にて、中継サーバ１００は、Ｓ１０１及びＳ１０３で受取ったデータをデータ管理装置３００のデバイス情報管理部３０１に登録する。表１を使用してデバイス情報管理部３０１に登録するデータについて説明をする。
【００１７】
【表１】
2015201758.tif 000003
ＨＧＷ情報の識別子Ｌｉｓｔ１−１は、ＨＧＷを識別する識別子でＳＩＰＵＲＬである。
ＵＰｎＰデバイス情報のＬｏｃａｔｉｏｎＵＲＬＬｉｓｔ１−２は、ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０が送信したＳＳＤＰのＡｄｖｅｒｔｉｓｅメッセージのＬｏｃａｔｉｏｎヘッダの内容である。
ＵＰｎＰデバイス情報のＤｅｖｉｃｅ情報Ｌｉｓｔ１−３は、ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０のＤｅｖｉｃｅＴｙｐｅである。
ＵＰｎＰデバイス情報のＳｅｒｖｉｃｅ情報Ｌｉｓｔ１−４は、ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０のＳｅｒｖｉｃｅＴｙｐｅである。
登録する内容は上記情報に限定するものではなく、ＳｅｒｖｅｒＡ５２０及びＳｅｒｖｅｒＢ５３０を識別する識別子であるＵＵＩＤやＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎに含まれる情報、例えばＦｒｉｅｎｄｌｙＮａｍｅ等を含んでもよい。
【００１８】
図３の説明に戻り、Ｓ１０５にて、ＳＩＰサーバ２００は、ＨＧＷＡ４１０及びＨＧＷＢ５１０の各々とセッション確立を行う。ＳＩＰサーバ２００は、セッション確立時にＨＧＷＡ４１０と中継サーバ１００との間、ＨＧＷＢ５１０と中継サーバ１００との間でデータ通信を行うための接続情報をネゴシエーションする。ＨＧＷＡ４１０と中継サーバ１００との間の接続情報には、少なくともＨＧＷＡ４１０及び中継サーバ１００のＩＰアドレス又は、ドメイン名及びポート番号が含まれる。また、ＨＧＷＡ４１０は、ＬＡＮ４００側にＨＴＴＰサーバを立上げ、そのＩＰアドレスとポート番号とを中継サーバ１００に通知する。以降、ＨＧＷＡ４１０は、ＨＴＴＰサーバで受信したデータを前述したセッション確立時にネゴシエーションした接続情報を利用して中継サーバ１００に転送を行う。
Ｓ１０６にて、中継サーバ１００は、データ管理装置３００のセッション情報管理部３０２に接続情報をセッション情報として登録する。表２を使用して登録する内容を説明する。
【００１９】
【表２】
2015201758.tif 000004
ＨＧＷ情報の識別子Ｌｉｓｔ２−１は、デバイス情報管理部３０１で保存されているＨＧＷ情報の識別子Ｌｉｓｔ１−１と同じである。
ＨＧＷ情報の接続情報Ｌｉｓｔ２−２は、中継サーバ１００がセッション確立（Ｓ１０５）の際に取得したＨＧＷＡ４１０及びＨＧＷＢ５１０へ接続するための情報である。
ＨＧＷ情報のＨＴＴＰサーバ情報Ｌｉｓｔ２−３は、中継サーバ１００がセッション確立（Ｓ１０５）の際に取得したＨＧＷＡ４１０のＨＴＴＰサーバのＩＰアドレス及びポート番号である。
Ｓｅｒｖｅｒ情報のＬｏｃａｔｉｏｎＵＲＬＬｉｓｔ２−５及び２−６は、デバイス情報管理部３０１に保存されているＬｏｃａｔｉｏｎＵＲＬＬｉｓｔ１−２である。ＬｏｃａｔｉｏｎＵＲＬＬｉｓｔ１−２の内容がＩＰアドレス及びポート番号（Ｌｉｓｔ２−５）と、以降のパス情報（Ｌｉｓｔ２−６）とに分割されて保存されている。
Ｓｅｒｖｅｒ情報のｐｒｅｆｉｘＬｉｓｔ２−４は、ＬｏｃａｔｉｏｎＵＲＬＬｉｓｔ２−５を識別するプリフィックスである。ｐｒｅｆｉｘは中継装置のホスト情報の一例である。ＬｏｃａｔｉｏｎＵＲＬはデータ提供装置のホスト情報の一例である。Ｓｅｒｖｅｒ情報は関連情報の一例である。
【００２０】
図３の説明に戻り、Ｓ１０７にて、ＳＩＰサーバ２００は、ＨＧＷＡ４１０に対してセッション情報管理部３０２が保存しているＨＧＷＢ５１０配下に接続するＳｅｒｖｅｒ情報のリストを通知する。
Ｓ１０８にて、ＨＧＷＡ４１０は、取得したＳｅｒｖｅｒＡ５２０の情報を使用してＳｅｒｖｅｒＡ５２０が有するサービスをＳＳＤＰプロトコルにてＡｄｖｅｒｔｉｓｅを行う。ＨＧＷＡ４１０は、Ｌｏｃａｔｉｏｎ−ＵＲＬをＨＧＷＡ４１０のＬＡＮ４００側のＨＴＴＰサーバ及びポート番号、プリフィックス（Ｌｉｓｔ２−４）、パス情報（Ｌｉｓｔ２−６）を連結させ、ＳｅｒｖｅｒＡ５２０が有するデバイス／サービスを広告する。このことによってＣｌｉｅｎｔＡ４２０は、ＳｅｒｖｅｒＡ５２０を発見することができる。図４にてメッセージの概略について一例を示す。Ｌｏｃａｔｉｏｎヘッダは、以下の内容から構成される。
・ＨＧＷＡ４１０のＨＴＴＰサーバ  アドレス（１９２．１６８．０．１：１０００）
・プリフィックス（／ｐｒｅ１）
・パス文字列（／ｄｅｓｃ．ｘｍｌ）
【００２１】
Ｓ１０９以降、ＣｌｉｅｎｔＡ４２０は、ＨＧＷＡ４１０のＨＴＴＰサーバを介してＳｅｒｖｅｒＡ５２０に対して、デバイスディスクリプション及びサービスディスクリプションを取得、コンテンツ一覧取得、コンテンツ取得を行う。
図５にて、ＣｌｉｅｎｔＡ４２０がコンテンツ取得する際のメッセージの概略について一例を示す。ＨＴＴＰのリクエストライン８０１は、以下の内容から構成される。その他の構成は省略する。
・メソッド：ＰＯＳＴ（ディスクリプションの場合はＧＥＴ）
・ＵＲＩ：プリフィックス（／ｐｒｅ１）及び、パス文字列（デバイスディスクリプションに記載のＣｏｎｔｒｏｌＵＲＬ／ｓｏａｐ）
・ＨＴＴＰバージョン：ＨＴＴＰ／１．１
【００２２】
Ｓ１１０にて、ＨＧＷＡ４１０は、ＣｌｉｅｎｔＡ４２０からのメッセージを、Ｓ１０５でセッションを確立したときにネゴシエーションした接続情報を基に中継サーバ１００に送信する。ＨＧＷＡ４１０は、ＣｌｉｅｎｔＡ４２０から受信したＨＴＴＰリクエストのＨｏｓｔヘッダやＵｓｒ−Ａｇｅｎｔヘッダ等を変更してもよい。
Ｓ１１１にて、中継サーバ１００は、受け取ったメッセージのリクエストラインを解析すると共にプリフィックス（図５の８０２）を抽出する。更に中継サーバ１００は、セッション情報管理部３０２のＬｉｓｔ２−４から、抽出したプリフィックスと一致するエントリを特定し、特定したエントリのＬｏｃａｔｉｏｎＵＲＬをＬｉｓｔ２−５から取得する。更に、中継サーバ１００は、Ｌｉｓｔ２−１からＨＧＷの識別子も取得する。中継サーバ１００は、取得したＬｏｃａｔｉｏｎＵＲＬを使用してメッセージを作成する。中継サーバ１００は、作成したメッセージをＳ１０５のセッション確立時に取得したＨＧＷＢ５１０の接続情報Ｌｉｓｔ２−２の接続情報を利用して送信する。図６にて転送するメッセージの概略について一例を示す。リクエストライン９０１は、以下の内容から構成され、その他の内容は省略する。
・メソッド：ＰＯＳＴ（受信したメソッドと同じ）
・ＵＲＩ：プリフィックス（／ｐｒｅ１）に対応するホスト情報（１９２．１６８．１．１：５０００）、パス文字列（受信したパス文字列と同じ）
・ＨＴＴＰバージョン：ＨＴＴＰ／１．１
中継サーバ１００は、ＨＧＷＡ４１０から受信したデータのＨｏｓｔヘッダやＵｓｅｒ−Ａｇｅｎｔヘッダ等を更新してもよい。
【００２３】
Ｓ１１２にて、ＨＧＷＢ５１０は、ＨＴＴＰ  Ｐｒｏｘｙとして振る舞い、ＳｅｒｖｅｒＡ５２０に受信したデータを転送する。
Ｓ１１３にて、ＳｅｒｖｅｒＡ５２０は、自信が管理するコンテンツの一覧を含む応答を返信する。
Ｓ１１４にて、ＨＧＷＢ５１０は、ＨＴＴＰ  Ｐｒｏｘｙとして振る舞い、中継サーバ１００に受信したデータを転送する。
Ｓ１１５にて、中継サーバ１００は、受信したデータの解析を行い、解析結果に伴うデータ処理を実施する。
【００２４】
図７は、データ解析及びデータ処理に関する情報処理の一例を示すフローチャートである。
中継サーバ１００は、ＨＧＷＢ５１０からのデータの受信を行う（Ｓ１００１）。
中継サーバ１００は、受信したデータの解析を行い、データの中にコンテンツ一覧が含まれるか否かの確認を行う（Ｓ１００２）。
中継サーバ１００は、Ｓ１００２にて解析した結果、コンテンツ一覧が含まれていない場合は、図７に示す処理を終了する。中継サーバ１００は、コンテンツ一覧を含む場合は、コンテンツ一覧の中にＵＲＬを含むか否かの確認を行う（Ｓ１００３）。ＵＲＬは、リソースの位置を特定する第１のリソース情報の一例である。
Ｓ１００３にてＵＲＬが含まれない場合は、中継サーバ１００は、図７に示す処理を終了する。ＵＲＬが含まれる場合は、中継サーバ１００は、ホスト部分とホスト部分以降のパス部分とにＵＲＬを分離し、ホスト部分を取得する（Ｓ１００４）。
中継サーバ１００は、ＵＲＬのホスト部分（ＩＰアドレス及びポート番号）が既にセッション情報管理部３０２に保存済みか否かを確認する（Ｓ１００５）。
【００２５】
保存済みではない場合は、中継サーバ１００は、新たにホスト部分を識別するプリフィックスを作成する（Ｓ１００６）。
中継サーバ１００は、Ｓ１００６にて作成したプリフィックスとホスト部分とを関連付けてセッション情報管理部３０２へ保存する（Ｓ１００７）。
中継サーバ１００は、セッション情報管理部３０２からＳ１００４で取得したホスト部分に該当するプリフィックスを取得する（Ｓ１００８）。
中継サーバ１００は、ＨＧＷＢ５１０から受信したデータを転送するＨＧＷＡ４１０のＨＴＴＰサーバ情報をセッション情報管理部３０２から取得する。中継サーバ１００は、コンテンツ一覧に含まれるＵＲＬのホスト部分をセッション情報管理部３０２で保存しているＨＧＷＡ４１０のＨＴＴＰサーバ情報に変換する。続けて、中継サーバ１００は、プリフィックスを連結し、その後に元のＵＲＬのホスト部分以降のパス文字列を連結し、ＵＲＬを作成する（Ｓ１００９）。
【００２６】
図３の説明に戻り、Ｓ１１６にて、中継サーバ１００は、前記データ処理後のデータを、ＨＧＷＡ４１０に転送する。
Ｓ１１７にて、ＨＧＷＡ４１０は、受信したデータをＣｌｉｅｎｔＡ４２０に転送する。
なお、上記例ではコンテンツ一覧取得の一連の中継処理についてＵＲＬの変換処理について説明したが、中継処理としてはＵＲＬの変換に限らない。一例としてデバイスディスクリプションの取得の場合は、中継サーバ１００は、ＨＧＷＢ５１０から受信したデバイスディスクリプションの内容を書き換えてもよい。より具体的には、中継サーバ１００は、ＳｅｒｖｅｒＡ５２０のＦｒｉｅｎｄｌｙＮａｍｅにＨＧＷＢ５１０の識別子やＨｏｍｅＢのニックネームを付加してもよい。付加することによってＣｌｉｅｎｔＡ４２０を操作するユーザはＳｅｒｖｅｒＡ５２０がＬＡＮ４００ではなく、ＬＡＮ５００に接続されていることが分かる。
Ｓ１１８にて、ＣｌｉｅｎｔＡ４２０は、Ｓ１１７で受信したコンテンツ一覧に含まれるＵＲＬに対してリソース取得を行う。
以降、Ｓ１１９からＳ１２５までは、Ｓ１１０からＳ１１７までと同様の処理を行う。
上述した一連の処理により、中継サーバ１００がＨＧＷＢ５１０からＨＧＷＡ４１０へ転送するデータを解析し、セッション情報管理部３０２に保存している転送先のエントリを、リソースを所有するホスト単位で動的に変更することができる。
【００２７】
図８は、リクエスト送信時のメッセージの流れを示すシーケンス図である。
Ｓ２０１にて、ＣｌｉｅｎｔＡ４２０は、ＳｅｒｖｅｒＡ５２０に対して、リクエストメッセージを送信する。
Ｓ２０２にて、ＨＧＷＡ４１０は、中継サーバ１００に対して受信したリクエストメッセージを転送する。
Ｓ２０３〜Ｓ２０９にて、中継サーバ１００等は、ＨＧＷＡ４１０から受信したＣｌｉｅｎｔＡ４２０のリクエストメッセージに対するＳｅｒｖｅｒＡ５２０の応答を、ＨＧＷＡ４１０へ返信する。
【００２８】
図９を使用してＳ２０３〜Ｓ２０９の中継サーバ１００に係る処理について説明する。
中継サーバ１００は、ＨＧＷＡ４１０からリクエストメッセージを受信する（Ｓ１１０１）。リクエストメッセージはリクエストデータの一例である。
中継サーバ１００は、Ｓ１１０１で受信したリクエストメッセージが定型文書で規定されているか否かを確認する（Ｓ１１０２）。定型文書で定義されたメッセージとしては、例えばＳＯＡＰリクエストがある。
Ｓ１１０２で、定型文書で規定されリクエストであると判断した場合は、中継サーバ１００は、そのリクエストに対するレスポンスにＵＲＬが含まれるか否かを確認する（Ｓ１１０３）。ＳＯＡＰの場合、ＨＴＴＰヘッダにＳＯＡＰＡＣＴＩＯＮヘッダが含まれていると、中継サーバ１００は、ＳＯＡＰで規定されたＨＴＴＰリクエストであることが分かる。中継サーバ１００は、アクション名からレスポンスの定型文を特定することができる。そして、中継サーバ１００は、定型文書からＵＲＬが含まれるか否かを確認することができる。
中継サーバ１００は、Ｓ１１０１で受信したリクエストメッセージをＨＧＷＢ５１０へ転送する（Ｓ１１０４又はＳ１１０６）。
中継サーバ１００は、Ｓ１１０４又はＳ１１０６で転送したリクエストに対する応答をＨＧＷＢ５１０から受信する（Ｓ１１０５又はＳ１１０７）。
Ｓ１１０３で応答メッセージにＵＲＬが含まれると判断した場合は、中継サーバ１００は、受信した応答データに対して図７で説明した解析を行う（Ｓ１１０８）。
中継サーバ１００は、応答メッセージをＨＧＷＡ４１０へ転送する（Ｓ１１０９）。
【００２９】
図８の説明に戻り、Ｓ２０９、Ｓ２１０にて、中継サーバ１００等は、ＣｌｉｅｎｔＡ４２０にＳｅｒｖｅｒＡ５２０の応答を転送する。
上述した一連の処理によって、中継サーバ１００は、全てのデータを解析する必要がなくなる。また、リクエストを受信したときに、レスポンスのデータの何を変換すべきかが予め分かるため、中継サーバ１００は、レスポンスを受信する前に変換リソースを確保することができる。また、変換処理が中継サーバ１００とは別装置にあった場合に、どの装置にデータを転送すればよいかがレスポンスを受信する前に分かる。このことによって中継サーバ１００の転送処理にかかる処理を軽減させることができる。また、変換不可能なデータを受信した際や、変換リソースの確保に失敗した場合等は、ＨＧＷＢ５１０へデータを転送することなく、中継サーバ１００がエラーレスポンスを返すこともできる。また、変換不可能なデータを受信した際や、変換リソースの確保に失敗した場合等は、中継サーバ１００が、他の変換機能を有するサーバ等へ変換処理を依頼することもできる。
【００３０】
図１０は、セッション情報を削除するときのメッセージの流れを示すシーケンス図である。
Ｓ３０１にて、ＨＧＷＢ５１０は、ＳｅｒｖｅｒＡ５２０がネットワークから離脱したことを検出する。例えば、ＵＰｎＰで規定のネットワーク離脱時にＵＰｎＰデバイスから通知されるＳＳＤＰのＢｙｅＢｙｅリクエストを受信した場合や、接続有効時間を経過したことによってＨＧＷＢ５１０は、前記離脱を検出する。
Ｓ３０２にて、ＨＧＷＢ５１０は、離脱を検出したことを中継サーバ１００に通知する。通知する離脱情報の内容にはＳｅｒｖｅｒ情報のＬｏｃａｔｉｏｎＵＲＬのホスト情報又は、ＵＵＩＤ等の識別子が含まれる。
Ｓ３０３にて、中継サーバ１００は、離脱情報に含まれる情報から該当するデータのエントリを、デバイス情報管理部３０１、及びセッション情報管理部３０２から削除する。中継サーバ１００は、前記エントリを削除せず、インアクティブ状態に遷移させてもよい。
Ｓ３０４にて、中継サーバ１００及びＨＧＷＢ５１０は、図３のＳ１０５で確立したセッションを削除する。より具体的には、中継サーバ１００及びＨＧＷＢ５１０は、ネゴシエーションした接続情報を削除する。
Ｓ３０５にて、中継サーバ１００は、デバイス情報管理部３０１、及びセッション情報管理部３０２からＨＧＷＢ５１０に関する情報を全て削除する。中継サーバ１００は、前記情報を削除せず、インアクティブ状態に遷移させてもよい。
上述した一連の処理によって、データ管理装置で管理するデータのライフタイムを管理することができる。
【００３１】
図１１は、セッション情報を変更するときのメッセージの流れを示すシーケンス図である。
Ｓ４０１にて、ＨＧＷＢ５１０は、ＳｅｒｖｅｒＡ５２０のＩＰアドレスに変更があったことを検知する。
Ｓ４０２にて、ＨＧＷＢ５１０は、変更を検出したことを中継サーバ１００に通知する。通知する変更情報の内容には、変更した情報の内容及びＳｅｒｖｅｒ情報のＬｏｃａｔｉｏｎＵＲＬのホスト情報、又はＵＵＩＤ等の識別子が含まれる。
Ｓ４０３にて、中継サーバ１００は、変更情報に含まれる情報から該当するデータのエントリの更新をデバイス情報管理部３０１及びセッション情報管理部３０２に対して行う。
なお、本実施形態ではＨｏｍｅＡとＨｏｍｅＢとの２拠点間について説明したが、３拠点以上についても同様である。
【００３２】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３３】
以上、上述した各実施形態によれば、管理する転送先に関する情報の作成、管理コストを低減すると共に、異なるホームネットワークにあるリソース取得を可能とすることができる。
【符号の説明】
【００３４】
１００  中継サーバ、２００  ＳＩＰサーバ、３００  データ管理装置
【図１】
2015201758.tif 000005
【図２】
2015201758.tif 000006
【図３】
2015201758.tif 000007
【図４】
2015201758.tif 000008
【図５】
2015201758.tif 000009
【図６】
2015201758.tif 000010
【図７】
2015201758.tif 000011
【図８】
2015201758.tif 000012
【図９】
2015201758.tif 000013
【図１０】
2015201758.tif 000014
【図１１】
2015201758.tif 000015