(57)【要約】【課題】  輻輳状態においてＴＣＰ・ＵＤＰ／ＩＰのレベルで制御を行い、そのレベルで輻輳を抑制しても、その上位のプロトコルの規約では、エラーケースになる場合や、その規約に違反する場合がある。【解決手段】  メッセージ中継装置１００は、ネットワーク１０５を介して第１のメッセージを受信する。メッセージ中継装置１００は、ネットワーク１５０を介して第２のメッセージを受信したときに、第１のメッセージを受信したときの状況に基づいて、ネットワーク１５０を介して受信した第２のメッセージをネットワーク１０５に送信する。【選択図】  図１
2008219591.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークを介して第１のメッセージを受信する第１の受信手段と、
第２のネットワークを介して第２のメッセージを受信する第２の受信手段と、
前記第１の受信手段により第１のメッセージを受信したときの状況に基づいて、前記第２の受信手段により第２のネットワークを介して受信した第２のメッセージを第１のネットワークに送信する送信手段
を有することを特徴とするメッセージ中継装置。
【請求項２】
第１のネットワークを介して第１のメッセージを受信する第１の受信手段と、
第２のネットワークを介して第２のメッセージを受信する第２の受信手段と、
前記第１の受信手段により第１のメッセージを受信したときの第１のネットワークにおける通信の品質に基づいて、前記第２の受信手段により第２のネットワークを介して受信した第２のメッセージを第１のネットワークに送信する送信手段
を有することを特徴とするメッセージ中継装置。
【請求項３】
第１のネットワークを介して第１のメッセージを受信する第１の受信手段と、
第２のネットワークを介して第２のメッセージを受信する第２の受信手段と、
前記第１の受信手段により第１のメッセージを受信したときの電波強度に基づいて、前記第２の受信手段により第２のネットワークを介して受信した第２のメッセージを第１のネットワークに送信する送信手段
を有することを特徴とするメッセージ中継装置。
【請求項４】
前記送信手段は、前記第２の受信手段により第２のネットワークを介して受信した第２のメッセージを第１のネットワークに送信するか、前記第１の受信手段により受信した第１のメッセージに応じた第３のメッセージを第２のネットワークに送信するか、選択することを特徴とする請求項１から３の何れか１項のメッセージ中継装置。
【請求項５】
前記送信手段は、前記第２の受信手段により第２のネットワークから受信した第２のメッセージで使用されたプロトコルに基づいて、前記第１の受信手段により受信した第１のメッセージに応じた第３のメッセージを第２のネットワークに送信するか、エラーメッセージを第２のネットワークに送信するか、選択することを特徴とする請求項１から４の何れか１項のメッセージ中継装置。
【請求項６】
前記送信手段は、第２のネットワークの通信状況に基づいて、前記第２の受信手段により第２のネットワークを介して受信したメッセージを第１のネットワークに送信するか、前記第１の受信手段により受信した第１のメッセージに応じた第３のメッセージを第２のネットワークに送信するか、選択することを特徴とする請求項１から５の何れか１項のメッセージ中継装置。
【請求項７】
第２のネットワークを介してメッセージを受信する受信手段と、
第２のネットワークの通信状況に基づいて、前記受信手段により第２のネットワークを介して受信したメッセージを第１のネットワークに送信する送信手段
を有することを特徴とするメッセージ中継装置。
【請求項８】
請求項７のメッセージ中継装置において、前記送信手段は、第１のネットワークを介して情報を取得し、取得した情報に基づいて、第２のネットワークを介して受信したメッセージに対する応答メッセージを送信することを特徴とするメッセージ中継装置。
【請求項９】
第１のネットワークを介して第１のメッセージを受信し、
第２のネットワークを介して第２のメッセージを受信し、
前記第１のメッセージを受信したときの状況に基づいて、前記第２のネットワークを介して受信した第２のメッセージを第１のネットワークに送信する
ことを特徴とするメッセージ中継方法。
【請求項１０】
第１のネットワークを介して第１のメッセージを受信し、
第２のネットワークを介して第２のメッセージを受信し、
前記第１のメッセージを受信したときの第１のネットワークにおける通信の品質に基づいて、前記第２のネットワークを介して受信した第２のメッセージを第１のネットワークに送信する
ことを特徴とするメッセージ中継方法。
【請求項１１】
第２のネットワークを介してメッセージを受信し、
第２のネットワークの通信状況に基づいて、前記第２のネットワークを介して受信したメッセージを第１のネットワークに送信する
ことを特徴とするメッセージ中継方法。
【請求項１２】
請求項９から１１の何れか１項のメッセージ中継方法を、コンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第２のネットワークを介して受信したメッセージを第１のネットワークに送信するメッセージ中継装置及び方法に関する。
【背景技術】
【０００２】
分散した複数のネットワーク間を相互接続する装置には、ブリッジ，ルータ，ゲートウェイ、無線のアクセスポイントなどがある。
【０００３】
これらは、伝送メッセージの宛先アドレスやプロトコルに基づき、転送の抑止を行い、また、伝送メッセージが送信されたネットワークの種別や伝送メッセージのプロトコルに基づき、伝送メッセージの優先制御を行う。また、ゲートウェイは、輻輳制御や伝送データのネットワーク・プロトコルの変換を行う。
【０００４】
従来は、インターネットプロトコル（ＩＰ）による、伝送データのＩＰアドレスやＭＡＣアドレス、あるいはネットワーク・プロトコルの種別に基づき、伝送メッセージを通過させるか、破棄するかを判断している。
【０００５】
また、ＩＰ、およびＴＣＰプロトコルでは、輻輳状態を検知したゲートウェイ、あるいはネットワークに接続しているコンピュータや家電が、輻輳制御機能を実現する場合、以下のようにして、輻輳を抑制する。すなわち、まず、輻輳状態を起こしている伝送メッセージを送信しているコンピュータや家電に対し、送信速度を低下させる要求（ＩＣＭＰ始点抑制伝送データ）を送信する。そして、その要求を受け取ったコンピュータや家電は、要求の受け取りが止まるまで伝送メッセージを送信する速度を下げることで輻輳を抑制する。
【０００６】
例えば、特許文献１に記載された伝送路間のデータフィルタリング方式では、伝送路間のフィルタリング機能を拡張し、伝送路資源の効率的利用，輻輳制御機能の拡張を行う。また、輻輳制御を行う際、伝送データの属性の分類に基づき、転送先伝送路の輻輳の抑制、およびゲートウェイのバッファ領域不足による最新伝送データの破棄の可能性を低減する。
【特許文献１】特開平０７−２１０４７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、輻輳状態においてＴＣＰ・ＵＤＰ／ＩＰのレベルで制御を行い、そのレベルで輻輳を抑制しても、その上位のプロトコルの規約では、エラーケースになる場合や、その規約に違反する場合があるという問題がある。例えば、上位プロトコルでメッセージをあるエンドポイントに送信してからその返信を何秒以内に行わなければならないといった規約がある場合に、その返信を何秒以内に返さなければ、エラーであると定義されていれば、エラーケースになる。また、エラーであると定義されていなければ、規約違反になる。
【０００８】
また、ネットワークの途中でプロトコルの種別による伝送メッセージの優先制御を行う場合でも、様々なメッセージが伝送される伝送路では、ある特定のメッセージのみ正常に伝送される可能性が向上するが、その到達性を保障出来ないという問題がある。
【０００９】
さらに、上記ブリッジ，ルータ，ゲートウェイ、無線のアクセスポイントなどに接続されているネットワークの一方で通信不可能になった場合、そのネットワークを流れるメッセージは宛先に到達できず、その上位のプロトコルが機能しないという問題がある。
【課題を解決するための手段】
【００１０】
本出願に係わる第１の発明は、メッセージ中継装置であって、第１のネットワークを介して第１のメッセージを受信する第１の受信手段と、第２のネットワークを介して第２のメッセージを受信する第２の受信手段と、前記第１の受信手段により第１のメッセージを受信したときの状況に基づいて、前記第２の受信手段により第２のネットワークを介して受信した第２のメッセージを第１のネットワークに送信する送信手段を有することを特徴とする。
【００１１】
また、本出願に係わる第２の発明は、メッセージ中継装置であって、第１のネットワークを介して第１のメッセージを受信する第１の受信手段と、第２のネットワークを介して第２のメッセージを受信する第２の受信手段と、前記第１の受信手段により第１のメッセージを受信したときの第１のネットワークにおける通信の品質に基づいて、前記第２の受信手段により第２のネットワークを介して受信した第２のメッセージを第１のネットワークに送信する送信手段を有することを特徴とする。
【００１２】
本出願に係わる他の発明は、メッセージ中継装置であって、第２のネットワークを介してメッセージを受信する受信手段と、第２のネットワークの通信状況に基づいて、前記受信手段により第２のネットワークを介して受信したメッセージを第１のネットワークに送信する送信手段を有することを特徴とする。
【発明の効果】
【００１３】
上述したように、本発明のメッセージ中継装置は、第２のネットワークを介して受信したメッセージを第１のネットワークに送信すると、その応答に時間がかかってしまう場合には、短時間に応答することを可能にする。
【００１４】
また、エラー時の再送が減るので、ネットワークトラフィックの軽減を図ることができる。
【００１５】
さらに、パケットロス率が低下し、プロトコルの信頼性を向上するという効果が得られる。例えばＵＰｎＰの場合、デバイスはネットワークに参加した時点でその存在をネットワークにアナウンスするが、ネットワークで輻輳などが起こった場合、そのメッセージがデバイスをコントロールする機器に届かない場合がある。この場合、ネットワーク上にデバイスが存在しているにも関わらず、ＵＰｎＰプロトコル上では存在しないことになってしまい、プロトコルの信頼性は低くなってしまう。本発明によれば、このようなプロトコルの信頼性の低下を防止できる。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明の一実施形態について図面を用いて説明する。具体的な処理例の記載を併記しているが、本発明はこの具体的な処理例に限定されるものではない。
【００１７】
（第１の実施例）
＜システム全体の構成図＞
図１は、本発明の第１の実施例におけるシステム全体の構成図である。
【００１８】
図１に示すように、ネットワーク１５０に、メッセージ中継装置（情報返送装置）１００、プリンタ１０１、デジタルテレビ１０２、デジタルビデオカメラ１０３、デジタルカメラ１０４が接続されている。さらに、メッセージ中継装置１００にはネットワーク１０５を介してサーバ１０６が接続されている。メッセージ中継装置１００は、ネットワーク１０５、１５０に接続し、ネットワーク１０５とネットワーク１５０の間でメッセージを中継する。本実施形態では上記のデバイス（機器）を挙げているが限定されるものではない。上記それぞれのデバイスはプログラムを実行することに必要な資源、例えば計算機能、データ保持機能などを持ち、それによる機器（デバイス）そのものを制御する制御機能と通信するための通信機能を有する。
【００１９】
＜機器システムブロック図＞
図２は、本発明の一実施形態として例に挙げたデバイス（機器）のハードウェアシステムの一般的な構成を示すブロック図である。なお、各種機器（デバイス）は本発明の実施例において図２で示した構成に限定されるものではない。
【００２０】
２００は各ユニット間を接続するための入出力バス（アドレスバス、データバス、及び制御バス）である。２０１はタイマであり、指定した時間間隔で割り込みを発生させる機能を有する。また、いわゆるウォッチドッグタイマ機能や計時機能を有する。
【００２１】
２０２はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、プログラムのコードや変化しない固定データを記憶する機能を有する。２０３はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、主メモリとして、及び実行プログラムの領域や該プログラムの実行エリアならびにデータエリアとしての機能を有する。
【００２２】
２０４はパラレルコントローラであり、コンピュータ内部で扱われる並列データをそのまま外部装置と入出力する機能を有する。２０５はシリアルコントローラであり、コンピュータ内部で扱われる並列データを直列データとして出力したり、直列データを並列データに変換して入力したりする機能を有する。
【００２３】
２０６はＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）であり、プログラムの命令を逐次実行する機能と割り込み制御を行う機能を有する。
【００２４】
２０７はデバイスコントローラであり、ハードディスク、ディスプレイなど一般的な外部入出力装置を接続する機能を有する。２０８はＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）であり、データを内部メモリと外部装置間で直接受け渡しをする際の制御をする機能を有する。
【００２５】
２０９はＡ／Ｄ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌ）であり、アナログからデジタルにデータを変換する機能を有し、センサなどの感知した量を数値化する機能を有する。２１０はＤ／Ａ（Ｄｉｇｉｔａｌ  ｔｏ  Ａｎａｌｏｇ）であり、デジタルからアナログにデータを変換する機能を有し、外部のアクチュエータなどに操作量を数値化する機能を有する。
【００２６】
２２０、２２１は、ネットワークインターフェース（ＮＥＴ／ＩＦ）である。メッセージ中継装置１００は、ネットワーク１５０、１０５を接続するために、２つのネットワークインターフェースを有する。メッセージ中継装置１００のネットワークインターフェース２２０、２２１は、ネットワーク１５０、１０５を介してメッセージを受信、送信する。メッセージ中継装置１００以外のデバイスは、ネットワーク１５０または１０５の一方を接続するために、１つのネットワークインターフェースを有する。
【００２７】
＜メッセージ中継装置モジュール構成図＞
図３は、本発明の一実施形態として例に挙げたメッセージ中継装置（情報返送装置）１００のモジュール構成を示すブロック図である。このモジュールは、図２のＲＯＭ２０２に格納されたプログラムをＭＰＵ２０６が実行することにより実現されるプログラムモジュールである。ＲＯＭ２０２に格納されたプログラムは、コンピュータであるＭＰＵ２０６により読出されるコンピュータプログラムである。
【００２８】
メッセージ中継装置（情報返送装置）１００は、メッセージ処理制御部３００、メッセージ代行部３０１、通信状況把握部３０２、メッセージ中継部３０３、ネットワークＩＦ（インタフェース）３０５から構成される。
【００２９】
メッセージ処理制御部３００は、メッセージ代行部３０１、通信状況把握部３０２、メッセージ中継部３０３、ネットワークＩＦ３０５の制御、データの受け渡しを行う。
【００３０】
メッセージ代行部３０１は、エラーの発生率とプロトコルの種類によって、ネットワークに接続されている機器の処理の代行を行うか否かを判断を行う。そして、代行を行う場合、メッセージ代行部３０１は、ネットワーク１５０から受信したメッセージに対応する応答メッセージを送信する。本実施例では、メッセージ代行部３０１は、ネットワーク１５０から受信したメッセージに対応する応答メッセージを送信する。この応答メッセージは、ネットワーク１５０、１０５におけるエラーの発生率と、ネットワーク１０５を介して受信されるデバイスからのレスポンス時間に基づいて送信される。さらに、メッセージ代行部３０１は、デバイスに代わってデバイスの使用するプロトコルをエミュレートする機能を有し、エミュレート不可能な処理に対するメッセージを一時保管する。すなわち、メッセージ代行部３０１は、ネットワーク１０５を介して（サーバ１０６から）情報を取得する。
【００３１】
通信状況把握部３０２は、ネットワークエラーの発生率を計測する機能と、ネットワークに接続されている機器にメッセージを送信してレスポンス時間を計測する機能とプロトコルの種別を判断する機能を有する。
【００３２】
メッセージ中継部３０３は、ネットワーク１５０とネットワーク１０５の間でメッセージを中継する。詳細には、メッセージ中継部３０３は、ネットワーク１５０を介して受信したメッセージをネットワーク１０５に送信する。また、メッセージ中継部３０３は、ネットワーク１５０（、１０５）の通信状況に基づいて、ネットワーク１０５から（サーバ１０６から）受信したメッセージをネットワーク１５０に送信する。
【００３３】
ネットワークＩＦ３０４、３０５は、ネットワークインターフェース（ＮＥＴＩＦ）である。ネットワークＩＦ３０４、３０５は、それぞれネットワーク１５０、１０５を介して情報処理装置間のデータ転送を行うための制御や接続状況の診断をおこなう機能を有する。また、ネットワークＩＦ３０４、３０５は、それぞれ送信パケット、受信パケットの集計、送信パケットエラー数、受信パケットエラー数とコリジョン数を集計する機能を有する。ネットワークＩＦ３０４、３０５は、それぞれ、ネットワーク１５０、１０５に接続し、ネットワーク１５０、１０５を介して、メッセージを受信、送信する。
【００３４】
＜システム処理の流れ＞
本発明の第１の実施例であるシステムの処理全体の流れを、図４を用いて説明する。図４は、ＲＯＭ２０２に格納されたプログラムの一部を示し、このプログラムはコンピュータであるＭＰＵ２０６により読出されるコンピュータプログラムである。
【００３５】
ここでは、ＵＰｎＰプロトコルを例にとり、以下のような説明を行う。すなわち、メッセージ中継装置（情報返送装置）１００がＵＰｎＰの規格であるデジタルメディアサーバをメッセージ代行部３０１でエミュレートする。そして、メッセージ中継装置１００が、サーバ１０６のコンテンツを、ＵＰｎＰ対応デバイスである、プリンタ１０１、デジタルテレビ１０２、デジタルビデオカメラ１０３、デジタルカメラ１０４に、提供、またはアップロードする。
【００３６】
但し、説明を明確化するためＵＰｎＰのプロトコルを例に説明するが、そのプロトコルに本発明が限定されるわけではない。
【００３７】
ステップ４０１で、メッセージ中継装置（情報返送装置）１００のメッセージ代行部３０１がサーバ１０６からコンテンツのメタデータを取得する（ネットワーク１０５を介してメッセージを受信する）。すなわち、メッセージ代行部３０１は、ネットワーク１０５を介して情報を（サーバ１０６から）取得する。メッセージ代行部３０１は、取得したメタデータを記憶する。
【００３８】
ステップ４０２では、通信状況把握部３０２がその時のレスポンス時間を計測する。またステップ４０２では、通信状況把握部３０２がメッセージ処理制御部３００経由でネットワークＩＦ３０５よりパケット送受信の数、送受信エラー数、コリジョン数を受け取り、エラー発生率を計算する。
【００３９】
計算式は以下のとおりである。
【００４０】
エラーの発生率＝（Ｉｅｒｒｓ＋Ｏｅｒｒｓ＋Ｃｏｌｌｉｓ）／（Ｉｐｋｔｓ＋Ｏｐｋｔｓ）＊１００
Ｉｅｒｒｓ：受信パケットエラー数、Ｏｅｒｒｏｓ：送信パケットエラー数、Ｃｏｌｌｉｓ：コリジョンの数、
Ｉｐｋｅｔｓ：受信パケット数、Ｏｐｋｔｓ：送信パケット数。
【００４１】
ここで、計算したエラー発生率とレスポンス時間を、通信状況把握部３０２が記憶保持する。例えば、エラー発生率が１０％、レスポンス時間が５秒とする。
【００４２】
ステップ４０３で、デジタルテレビ１０２などのＵＰｎＰ対応デバイスが例えばコンテンツそのもの又はコンテンツのメタデータを取得するために送信したリクエストメッセージを受信する（ネットワーク１５０を介してメッセージを受信する）。
ステップ４０４で、通信状況把握部３０２がプロトコル（メッセージ）を判断する。
【００４３】
ステップ４０５で、通信状況把握部３０２が、上記の情報をネットワークＩＦ３０４より取得し、上記の計算式を用いて、その時点のエラー率（ステップ４０３で受信したメッセージに対するエラー率）を計算する。
【００４４】
ステップ４０６で、ステップ４０４で判定したプロトコル（メッセージ）は、メッセージ代行部３０１が代行可能か否かの判断を、メッセージ処理制御部３００が行う。代行可能であればステップ４０７へ、可能でなければステップ４０８へ進む。例えば、コンテンツのメタデータを取得するプロトコルは、先にメッセージ代行部３０１が取得しており代行可能であり、また、コンテンツそのものを取得するプロトコルは、代行不可能と判断する。なお、代行処理不可能な場合がないプロトコルでは、ステップ４０６の判断は不要であり、ステップ４０５の後は、ステップ４０７へ進む。
【００４５】
本実施例では上記の判断を行うが、プロトコルにより判断基準が様々であり、上記の説明に限定されるものではない。
【００４６】
ステップ４０７で、ステップ４０２で計算したエラー発生率より、ステップ４０５で計算したエラー発生率が大きい場合はステップ４０９へ、小さい場合はステップ４１１へ進む。
【００４７】
ステップ４０９では、プロトコル代行可能でかつ、エラー発生率が大きく、レスポンス時間が前記５秒を大きく上回ると判断した結果、メッセージ代行部３０１は、ステップＳ４０３で受信したメッセージをサーバ１０６に転送しないで、代理返答する。すなわち、ステップ４０１で取得したメタデータを、リクエストメッセージの送信元に送信する。ここでは、ネットワーク１５０のエラー発生率がネットワーク１０５のエラー発生率が大きい場合、代理返送する。また、ステップ４０９では、メッセージ代行部３０１は、ネットワーク１５０、１０５の通信状況に基づいて、デジタルテレビ１０２から受信したメッセージ（コンテンツのメタデータを取得するためのリクエストメッセージ）に対応する応答メッセージを送信する。この応答メッセージは、ステップ４０１でサーバ１０６から取得したメタデータを含む。ネットワーク１５０、１０５の通信状況の例は、ネットワーク１５０、１０５におけるエラーの発生率と、ネットワーク１０５を介して受信されるデバイス（サーバ１０６）からのレスポンス時間である。また、メッセージ代行部３０１は、デジタルテレビ１０２から情報（メタデータ）の取得要求を受信したときに（ステップ４０３）、ステップ４０１で情報を取得した時の状況に基づいて、ステップ４０１で取得済みの情報を返送する。
【００４８】
なお、ステップ４０７において、メッセージを転送するかどうかの判断基準は、上記の例には限られない。
例えば、（デジタルテレビ１０２がメタデータを受け取るまでの期限（例えば、３０秒））
≧（メッセージ中継装置１００がステップ４０１においてサーバ１０６からメタデータを受け取ったときのレスポンス時間（上記の例では、５秒））
＋（デジタルテレビ１０２とメッセージ中継装置１００間の推定往復時間）。
【００４９】
ただし、（デジタルテレビ１０２とメッセージ中継装置１００間の推定往復時間）
＝（メッセージ中継装置１００がステップ４０１においてサーバ１０６からメタデータを受け取ったときのレスポンス時間）
×（メッセージ中継装置１００がステップ４０３においてデジタルテレビ１０２からリクエストを受け取ったときのエラー率）
／（メッセージ中継装置１００がステップＳ４０１においてサーバ１０６からメタデータを受け取ったときのエラー率）。
【００５０】
ステップ４１１では、ステップ４０７でエラー発生率が小さいので、代行処理が可能であり、レスポンス時間が前記５秒を上回る可能性が低いと判断する。その結果、メッセージ（メタデータ取得リクエストメッセージ）をメッセージ中継部３０３がそのままサーバ１０６に転送する。そして、メッセージ中継部３０３は、ネットワーク１５０、１０５の通信状況に基づいて、ネットワーク１０５から（サーバ１０６から）受信したメッセージをネットワーク１５０に（デジタルテレビ１０２に）送信する。すなわち、メッセージ代行部３０１は、ネットワーク１５０を介して（デジタルテレビ１０２から）情報の取得要求を受信したときに、ステップ４０１で情報を取得した時の状況に基づいて、ステップＳ４１１で新たに情報を取得し取得した情報を返送する。
【００５１】
また、他の形態では、ステップ４０１でメッセージをサーバ１０６から受信したときの状況がいい場合、ステップ４０３で受信したメッセージをネットワーク１０５に送信しても、ステップ４０３のメッセージの送信元には適切に応答が返ると判断する。そして、ステップ４０７からステップ４１１へ進む。そうでない場合、ステップ４０７からステップ４０９へ進む。ここで、ステップ４０３のメッセージの送信元は、デジタルテレビ１０２である。また、メッセージをサーバ１０６から受信したときの状況がいい場合とは、例えば、ネットワーク１０５における通信の品質がいい場合（例えば、レスポンス時間が所定値より短い場合）である。ステップ４０７では、メッセージ処理制御部３００は、ステップ４０３で受信したメッセージをネットワーク１０５に送信するか、ステップ４０１で受信したメッセージに応じたメッセージをネットワーク１５０に送信するか、選択する。すなわち、ステップ４０７では、メッセージ処理制御部３００は、転送するか（ステップＳ４１１）、代理返信するか（ステップ４０９）、選択する。
【００５２】
また、さらに他の形態では、ステップ４０５で計測したネットワーク１５０の通信状況がいい場合、ステップ４０３で受信したメッセージをネットワーク１０５に送信しても、ステップ４０３のメッセージの送信元には適切に応答が返ると判断する。そして、ネットワーク１５０を介して受信したメッセージをネットワーク１０５に送信する。そうでない場合、ステップ４０７からステップ４０９へ進む。ここで、ステップ４０３のメッセージの送信元は、デジタルテレビ１０２である。また、ネットワーク１５０の通信状況がいい場合とは、例えば、デジタルテレビ１０２からのメッセージのエラー発生率が所定値以下の場合である。ステップ４０７では、メッセージ処理制御部３００は、ステップ４０３で受信したメッセージをネットワーク１０５に送信するか、ステップ４０１で受信したメッセージに応じたメッセージをネットワーク１５０に送信するか、選択する。すなわち、ステップ４０７では、メッセージ処理制御部３００は、転送するか、代理返信するか、選択する。
【００５３】
ステップ４０８では、ステップ４０６で代行処理不可能と判断された場合に、ステップ４０２で計算したエラー発生率よりステップ４０５で計算したエラー発生率が小さい場合はステップ４１１へ、大きい場合はステップ４１０へ進む。
【００５４】
ステップ４１１では、代行処理不可能であるが、エラー発生率が低く、レスポンス時間が前記５秒を上回る可能性が低いと判断した結果、ステップＳ４０３で受信したメッセージをメッセージ中継部３０３がそのままサーバ１０６に転送する。ここで、ステップＳ４０３で受信したメッセージは、コンテンツ取得リクエストメッセージである。
【００５５】
ステップ４１０では、代行処理不可能で、かつエラー発生率が高いので、レスポンス時間が前記５秒を大きく上回る可能性が高いので、メッセージ代行部３０１がエラーメッセージを返信する。すなわち、メッセージ代行部３０１は、ネットワーク１５０、１０５の通信状況、及び、デジタルテレビ１０２から受信したメッセージで使用されたプロトコルに基づいて、ネットワーク１５０から受信したメッセージに対するエラーメッセージを送信する。また、ステップ４０３で受信したメッセージで使用されたプロトコルに基づいて、ステップ４０１で受信したメッセージに応じたメッセージをネットワーク１５０に送信するか、エラーメッセージを送信するか、選択する。すなわち、ステップ４０３で受信したメッセージで使用されたプロトコルに基づいて、代理返信するか（ステップ４０９）、エラーメッセージをネットワーク１５０に返信するか（ステップ４１０）、選択する。
【００５６】
本実施例では、ネットワーク１５０の通信状況に基づいて、ネットワーク１５０から受信したメッセージに対応する応答メッセージを送信する。したがって、ネットワーク１５０の通信状況が悪く、ネットワーク１０５を介してサーバ１０６にメッセージを転送して、サーバ１０６からの応答を待つ時間がない場合には、ステップ４０１で取得した情報を用いて応答メッセージを送信することができる。
【００５７】
また、ネットワーク１５０を介して情報の取得要求を受信したときに（ステップ４０３）、ステップ４０１で情報を取得した時の状況に基づいて、ステップ４０１で取得済みの情報を返送する。したがって、ネットワーク１０５を介してサーバ１０６から情報を取得したときに時間がかかっていて、ネットワーク１０５を介してサーバ１０６から情報を新たに取得する時間がない場合には、既に取得した情報を返送することができる。また、ネットワーク１０５を介してサーバ１０６から情報を取得したときに時間がかからなかった場合は、ネットワーク１０５を介してサーバ１０６から情報を新たに取得する時間があるので、新たに取得した情報を返送することができる。
【００５８】
（第２の実施例）
図５を用いて、本発明の第２の実施例におけるシステムの説明をおこなう。
図５は本発明の第２の実施例におけるシステムの構成図である。ここで、メッセージ中継装置１００が無線ＬＡＮのアクセスポイント機能を有する場合を想定する。
【００５９】
メッセージ中継装置１００に、イーサネット（登録商標）などの有線ネットワーク１６０を介してプリンタ１０１、デジタルテレビ１０２、デジタルビデオカメラ１０７が接続されている。また、メッセージ中継装置１００に、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどの無線ネットワーク１７０を介してデジタルビデオカメラ１０３、デジタルカメラ１０４が接続されている。メッセージ中継装置１００は、ネットワーク１６０、１７０に接続し、有線ネットワーク１６０と無線ネットワーク１７０の間でメッセージを中継する。
【００６０】
メッセージ中継装置１００の無線ＬＡＮアクセスポイント機能として、ブリッヂ、ルータ機能があるが、本発明の実施例では双方の機能で実現可能であり、限定するものではない。
【００６１】
なお、デバイス（機器）のハードウェアシステムの構成は図２と共通であり、メッセージ中継装置１００のモジュール構成は図３と共通である。ただし、ネットワークＩＦ３０４、３０５は、それぞれ、有線ネットワーク１６０、無線ネットワーク１７０に接続される。
【００６２】
＜システム処理の流れ＞
本発明の第２の実施例であるシステムの処理全体の流れを、図６を用いて説明する。図６は、ＲＯＭ２０２に格納されたプログラムの一部を示し、このプログラムはコンピュータであるＭＰＵ２０６により読出されるコンピュータプログラムである。
【００６３】
ここでは、ＵＰｎＰプロトコルを例にとる。メッセージ中継装置１００のメッセージ代行部３０１でＵＰｎＰプロトコルメッセージを代行する。またＵＰｎＰ対応デバイスである、プリンタ１０１、デジタルテレビ１０２、デジタルビデオカメラ１０３、１０６、デジタルカメラ１０４の間でコンテンツの流通やコントロールをおこなう場合を想定する。但し、ＵＰｎＰのプロトコルを例に説明するが、そのプロトコルに本発明が限定されるわけではない。
【００６４】
ステップ６０１では、メッセージ代行部３０１がＳＳＤＰのデバイスサーチメッセージを無線ネットワーク１７０に送信する。ここで、ＳＳＤＰとは、Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌであり、ネットワーク上のＵＰｎＰデバイスを探索、発見するためのプロトコルである。そして、レスポンスメッセージを受信する。
【００６５】
ステップ６０２で、通信状況把握部３０２がその時のレスポンス時間を計測し、また同時に電波強度（ＲＳＳＩ：Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ）を計測する。ここで、取得した電波強度とレスポンス時間を、通信状況把握部３０２が記憶保持する。例えば、電波強度が８０、レスポンス時間が１秒とする。
【００６６】
デジタルテレビ１０２などのＵＰｎＰ対応デバイスが例えばＳＳＤＰのデバイスサーチメッセージを送信する。ステップ６０３でネットワークＩＦ３０４よりＳＳＤＰのデバイスサーチメッセージを受信し、ステップ６０４で通信状況把握部３０２がプロトコル（メッセージ）を判断する。ステップ６０５で、通信状況把握部３０２がその時点の電波強度を取得する。
【００６７】
ステップ６０６で、ステップ６０４で判定したプロトコルは、メッセージ代行部３０１が代行可能か否かの判断を、メッセージ処理制御部３００が行う。代行可能であればステップ６０７へ、可能でなければステップ６０８へ進む。
【００６８】
例えばＳＳＤＰのプロトコルは事前に無線ネットワークに接続されているＵＰｎＰ対応デバイスからデバイスの情報を取得可能であるので、代行が可能である。また先と同じ理由でデバイスディスクリプション、サービスディスクリプションの取得プロトコルも代行可能である。しかし、デバイスのコントロールプロトコルは実際にＵＰｎＰ対応デバイスを制御するメッセージである為、代理処理は不可能と判断する。
【００６９】
なお、本実施例では上記の判断を行うがプロトコルにより判断基準が様々であり今回の説明に限定されるものではない。また、代行処理不可能な場合がないプロトコルでは、ステップ６０６の判断は不要であり、ステップ６０５の後は、ステップ６０７へ進む。
【００７０】
ステップ６０７で、ステップ６０２で取得した電波強度より、ステップ６０５で取得した電波強度が小さい場合は、ステップ６０９へ、小さい場合ステップ６１０へ進む。ここで、ステップ６０７で比較されるのは、例えば、以下の電波強度である。すなわち、ステップ６０２で計測したデジタルビデオカメラ１０３とデジタルカメラ１０４の電波強度のうちの小さい方と、ステップ６０５で計測したデジタルビデオカメラ１０３とデジタルカメラ１０４の電波強度のうちの小さい方である。また、ステップ６０２とステップ６０５では、デジタルビデオカメラ１０３とデジタルカメラ１０４から送信された電波以外のノイズ（妨害波）の受信電波強度を計測して、ステップ６０７で比較してもよい。
【００７１】
ステップ６０９では、ステップ６０４で判断したプロトコルが代行可能でかつ、電波強度が小さくレスポンス時間が前記１秒を大きく上回ると判断した結果、メッセージ代行部３０１は、ステップ６０３で受信したデバイスサーチメッセージを転送しない。その代わりに、メッセージ代行部３０１は、代理返答する。メッセージ代行部３０１は、ネットワーク１６０、１７０の通信状況に基づいて、有線ネットワーク１６０から（デジタルテレビ１０２）受信したメッセージに対応する応答メッセージを送信する。
【００７２】
ステップ６１０では、代行処理が可能であり、さらに、ステップ６０７で電波強度が大きいので、レスポンス時間が前記１秒を上回る可能性が低いと判断する。その結果、メッセージ（デバイスサーチメッセージ）をメッセージ中継部３０３がそのまま無線ネットワーク側に転送する。メッセージ中継部３０３は、ネットワーク１６０、１７０の通信状況に基づいて、無線ネットワーク１７０から受信したメッセージを有線ネットワーク１６０に（デジタルテレビ１０２に）送信する。
【００７３】
また、他の形態では、ステップ６０２でメッセージを無線ネットワーク１７０から受信したときの状況がいい場合、ステップ６０３で受信したメッセージを無線ネットワーク１７０に送信しても、メッセージの送信元には適切に応答が返ると判断する。そして、ステップ６０７からステップ６１０へ進む。そうでない場合、ステップ６０７からステップ６０９へ進む。ここで、メッセージ（ステップ６０３）の送信元は、デジタルテレビ１０２である。また、メッセージを無線ネットワーク１７０から受信したときの状況がいい場合とは、例えば、無線ネットワーク１７０における通信の品質がいい場合である。具体的には、デジタルビデオカメラ１０３、デジタルカメラ１０４からの電波強度が所定値より強い場合、あるいは、ノイズの電波強度が所定値より弱い場合である。ステップ６０７では、メッセージ処理制御部３００は、ステップ６０３で受信したメッセージを無線ネットワーク１７０に送信するか、ステップ６０２で受信したメッセージに応じたメッセージを有線ネットワーク１６０に送信するか、選択する。すなわち、ステップ６０７では、メッセージ処理制御部３００は、転送するか、代理返信するか、選択する。
【００７４】
ステップ６０８では、ステップ６０６で代行処理不可能と判断された場合に、ステップ６０２で取得した電波強度よりステップ６０５で取得した電波強度が大きい場合、ステップ６１０へ、小さい場合はステップ６１１へ進む。
【００７５】
ステップ６１１では、代行処理不可能でかつ電波強度が小さいので、レスポンス時間が前記１秒を大きく上回る可能性が高いので、メッセージ代行部３０１がエラーメッセージを返信する。メッセージ代行部３０１は、ネットワーク１６０、１７０の通信状況、及び、デジタルテレビ１０２から受信したメッセージで使用されたプロトコルに基づいて、有線ネットワーク１６０から受信したメッセージに対するエラーメッセージを送信する。すなわち、有線ネットワーク１６０から受信したメッセージで使用されたプロトコルに基づいて、ステップ６０２で受信したメッセージに応じたメッセージを有線ネットワーク１６０に送信するか、エラーメッセージを送信するか、選択する。すなわち、有線ネットワーク１６０から受信したメッセージで使用されたプロトコルに基づいて、代理返信するか（ステップ６０９）、エラーメッセージをネットワーク１６０に返信するか（ステップ６１１）、選択する。
【００７６】
（第３の実施例）
図７を用いて、本発明の第３の実施例におけるシステムの説明をおこなう。
【００７７】
図７は本発明の第３の実施例におけるシステムの構成図である。ここで、メッセージ中継装置１００がＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）の機能を有する場合を想定する。
【００７８】
メッセージ中継装置１００に、ネットワーク１８０を介して、プリンタ１０１、デジタルテレビ１０２が接続されている。また、メッセージ中継装置１００と同機能のメッセージ中継装置１０８に、ネットワーク１９０を介してデジタルビデオカメラ１０３、デジタルカメラ１０４が接続されている。メッセージ中継装置１００とメッセージ中継装置１０８はネットワーク１４０上でＶＰＮ接続されている。
【００７９】
なお、デバイス（機器）のハードウェアシステムの構成は図２と共通であり、メッセージ中継装置１００、１０５のモジュール構成は図３と共通である。ただし、ネットワークＩＦ３０４、３０５は、ネットワーク１４０に接続される。
【００８０】
＜システム処理の流れ＞
ここでは、ＵＰｎＰプロトコルを例にとり、メッセージ中継装置１００、１０５のメッセージ代行部３０１でＵＰｎＰプロトコルメッセージを代行する。またＵＰｎＰ対応デバイスである、プリンタ１０１、デジタルテレビ１０２、デジタルビデオカメラ１０３、デジタルカメラ１０４の間でコンテンツの流通やコントロールをおこなう場合を想定する。但し、ＵＰｎＰのプロトコルを例に説明するが、そのプロトコルに本発明が限定されるわけではない。
【００８１】
メッセージ中継装置１００のメッセージ代行部３０１でネットワーク１８０に接続されているＵＰｎＰ対応デバイスであるプリンタ１０１、デジタルテレビ１０２のデバイス情報を取得し保持する。また、メッセージ中継装置１０８のメッセージ代行部３０１でネットワーク１９０に接続されているＵＰｎＰ対応デバイスであるデジタルビデオカメラ１０３、デジタルカメラ１０４のデバイス情報を取得し保持する。メッセージ中継装置１００、１０５のメッセージ代行部３０１で互いに保持したデバイス情報を交換する。
【００８２】
上述の操作により、ネットワーク１８０に接続しているメッセージ中継装置１００のメッセージ代行部３０１は、ネットワーク１９０に接続されているＵＰｎＰ対応デバイスの代行処理が可能となる。また、ネットワーク１９０に接続しているメッセージ中継装置１０８のメッセージ代行部３０１は、ネットワーク１８０に接続されているＵＰｎＰ対応デバイスの代行処理が可能となる。
【００８３】
以降、ＵＰｎＰ対応デバイスのコンテンツの流通やコントロールメッセージがネットワーク１８０、ネットワーク１９０間で伝送される。
【００８４】
ここで、メッセージ中継装置１００とメッセージ中継装置１０８の間で実行されているＶＰＮ接続の状態により、それぞれのメッセージ中継装置１００、メッセージ中継装置１０８において、メッセージの代行処理が行われる。この処理フローは、図４と共通である。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施形態を示すシステム構成図である。
【図２】本発明の実施形態を示す機器システムブロック図である。
【図３】本発明の実施形態を示すメッセージ中継装置のモジュール構成図である
【図４】本発明の実施形態を示すシステムのフローチャートである。
【図５】本発明の実施形態を示すシステムの構成図である。
【図６】本発明の実施形態を示すシステムのフローチャートである。
【図７】本発明の実施形態を示すシステムの構成図である。
【符号の説明】
【００８６】
１００  メッセージ中継装置
３００  メッセージ処理制御部
３０１  メッセージ代行部
３０２  通信状況把握部
３０３  メッセージ中継部
３０４  ネットワークＩＦ
３０５  ネットワークＩＦ
【図１】
2008219591.tif 000003
【図２】
2008219591.tif 000004
【図３】
2008219591.tif 000005
【図４】
2008219591.tif 000006
【図５】
2008219591.tif 000007
【図６】
2008219591.tif 000008
【図７】
2008219591.tif 000009