(57)【要約】宅内のネットワークと宅外のネットワークの通信を中継するホームゲートウェイとして動作する通信中継装置（１０００）において、サービスを利用するために必要な能力に分解した「テンプレート」と呼ぶデータが格納される。宅内ネットワーク上のその機能をもつ機器（１１６，１１７）とテンプレートに含まれている能力のマッピングをサービス利用のための仮想的な機器として定義・登録することによって、複数の機器を統合したサービスの利用を可能にする。
2004015932.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上で機器間の通信を中継する通信中継装置であって、
一方の機器との１つの通信コネクション内に複数種類のデータ通信を含む通信コネクションに対して、データの種類ごとに中継先の機器を選択する手段と、
前記１つの通信コネクションに対し少なくとも２つ以上の機器にデータを中継する手段とを備える、通信中継装置。
【請求項２】
ネットワーク上で機器間の通信を中継する通信中継装置であって、
一方の機器との１つの通信コネクション内に複数種類のデータ通信を含む通信コネクションに対して、データの種類ごとに、少なくとも１種類のデータを通信中継装置内で処理する手段と、
前記複数種類のデータ通信のうち、前記少なくとも１種類のデータに関連するデータ通信を除くデータ通信について、中継先の機器を選択して中継する手段とを備える、通信中継装置。
【請求項３】
ネットワーク上で機器間の通信を中継する通信中継装置であって、
１つの通信サービスを利用するための仮想的な機器を定義する仮想機器情報を保持する手段を備え、
前記仮想機器情報は、通信するデータの種類ごとにデータ中継先となる機器の指定を含み、
前記仮想的な機器を利用する通信を、前記仮想機器情報内の中継機器情報に従ってデータの種類ごとに中継先の機器を選択して、少なくとも２つ以上の機器にデータを中継する手段をさらに備える、通信中継装置。
【請求項４】
ネットワーク上で機器間の通信を中継する通信中継装置であって、
１つの通信サービスを利用するための仮想的な機器を定義する仮想機器情報を保持する手段を備え、
前記仮想機器情報は、通信するデータの種類ごとに少なくとも１種類のデータの中継先となる機器と少なくとも１種類のデータの通信中継装置内での処理の指定を含み、
前記仮想的な機器を利用する通信の一部を前記仮想機器情報内の中継機器情報に従ってデータの種類ごとに中継先の機器を選択して中継する手段をさらに備える、通信中継装置。
【請求項５】
前記通信サービスにおいて前記仮想機器情報を作成する仮想機器定義手段をさらに備えることを特徴とする請求項３に記載の通信中継装置。
【請求項６】
通信サービスごとに通信するデータの種類の記述を含むテンプレートを保持し、
前記仮想機器定義手段は、利用する通信サービスのテンプレートを用いて仮想機器情報を作成することを特徴とする、請求項５に記載の通信中継装置。
【請求項７】
前記通信サービスのテンプレートを保持しないときには、装置外部から前記通信サービスのテンプレートをダウンロードする手段を備える、請求項６に記載の通信中継装置。
【請求項８】
前記通信サービスにおいて前記仮想機器情報を作成する仮想機器定義手段をさらに備えることを特徴とする請求項４に記載の通信中継装置。
【請求項９】
通信サービスごとに通信するデータの種類の記述を含むテンプレートを保持し、
前記仮想機器定義手段は、利用する通信サービスのテンプレートを用いて仮想機器情報を作成することを特徴とする、請求項８に記載の通信中継装置。
【請求項１０】
前記通信サービスのテンプレートを保持しないときには、装置外部から前記通信サービスのテンプレートをダウンロードする手段を備える、請求項９に記載の通信中継装置。
【請求項１１】
データ中継時に中継するデータを中継先の機器が利用可能なフォーマットに変換して中継する機能を有することを特徴とする、請求項１に記載の通信中継装置。
【請求項１２】
データ中継先の機器が利用可能なフォーマットに変換する機能を持たないときに、変換プログラムを外部からダウンロードする機能を有することを特徴とする、請求項１１に記載の通信中継装置。
【請求項１３】
受信したリクエストに従って通信するデータを中継することを特徴とする、請求項１に記載の通信中継装置。
【請求項１４】
通信データを、通信するデータが映像、音声、制御メッセージのいずれであるかとそれぞれの通信方向を利用して種類分けする、請求項１に記載の通信中継装置。
【請求項１５】
映像コーデックの種類、映像エンコード時に指定するパラメータ、映像の表示サイズ、映像の解像度、色数、静止画か動画かのいずれかを通信データの種類分けに用いる、請求項１に記載の通信中継装置。
【請求項１６】
音声コーデックの種類、音声エンコード時に指定するパラメータ、音声チャンネル数のいずれかを通信データの種類分けに用いる、請求項１に記載の通信中継装置。
【請求項１７】
映像と音声を送受信してコミュニケーションを行なうサービスにおいて、映像と音声、そしてその通信方向によって通信データを分類する手段と、
それぞれの前記通信データをネットワーク上の複数の機器に接続して通信を中継する手段とを備える、通信中継装置。
【請求項１８】
ビデオコンテンツを配信するサービスにおいて、通信するデータを映像データと音声データ、コンテンツサービス利用のための制御データに分類する手段と、
前記映像データと前記音声データと前記制御データとをデータの種類ごとにネットワーク上の複数の機器に接続して通信を中継する手段とを備える、通信中継装置。
【請求項１９】
外部ネットワーク上の第１の機器と通信を行うための外部通信インタフェースと、
内部ネットワーク上で、複数の第２の機器と通信を行うための内部通信インタフェースと、
前記内部ネットワーク上の複数の前記第２の機器を用いて前記外部ネットワーク上のサービスを利用可能にするための書換え可能な仮想機器定義データの保持および管理を行う仮想機器管理部とを備え、
前記仮想機器定義データは、前記サービスを利用するための複数の機能のうち少なくとも１つを、少なくとも１つの前記第２の機器の有する複数の機能の１部により定義しており、
前記内部ネットワーク上の複数の前記第２の機器を通信により利用するためのデバイス情報を保持するデバイス情報保持部と、
前記外部ネットワークと前記内部ネットワーク間の相互データ交換を行う通信中継部とをさらに備え、
前記通信中継部は、前記第１の機器と前記仮想機器定義データに含まれる複数の前記第２の機器との相互のデータ交換を、前記仮想機器定義データと前記デバイス情報とに基づいて行う、通信中継装置。
【請求項２０】
前記通信中継部は、前記外部通信インタフェースを用いて通信データの送受信を行ない、受信したデータから、接続要求メッセージを抽出して出力し、さらに、
送信指示を受けて、応答メッセージを前記第１の機器に送信する外部通信部と、
前記内部通信インタフェースを用いて前記通信データの送受信を行ない、受信したデータから、前記応答メッセージを抽出して出力し、さらに、送信指示に従って前記接続要求メッセージを前記内部ネットワーク上の複数の前記第２の機器に送信する内部通信部と、
前記外部ネットワークからのメッセージを前記外部通信部を介して受け取り、前記仮想機器定義データに基づいて、前記第２の機器のうち前記接続要求メッセージを受け取るべき第２の機器への複数のリクエストを作成して前記内部通信部に出力し、前記内部通信部に対して前記送信指示を与えて前記内部ネットワークに送信した前記リクエストに対する応答をもとに、前記応答メッセージを作成し、前記外部通信部に送信するよう前記送信指示を出力し、さらに、前記サービス利用に必要な接続の確立および切断に関する情報を抽出するメッセージ中継部と、
前記メッセージ中継部から渡された情報をもとにサービス利用のためのデータ送受信に必要なセッション情報を管理するセッション管理部と、
前記セッション管理部の情報に従って、前記外部通信部と前記内部通信部で受信したデータを適切な相手に送信するためのデータ中継を行うデータ中継部とを含む、請求項１９に記載の通信中継装置。
【請求項２１】
前記メッセージ中継部は、１つの前記接続要求メッセージをもとに作成した複数のリクエストに対する応答を全て受けとった場合に、前記接続要求メッセージに対する前記応答メッセージを作成し送信する、請求項２０に記載の通信中継装置。
【請求項２２】
前記メッセージ中継部は、１つの前記接続要求メッセージをもとに作成した複数のリクエストに対する最初の応答をもとに、前記接続要求メッセージに対する前記応答メッセージを作成し送信する、請求項２０に記載の通信中継装置。
【請求項２３】
前記仮想機器管理部が保持する仮想機器定義データは、送信するリクエストに対する応答から前記応答メッセージを作成する方法に関する応答作成情報を含み、
前記メッセージ中継部は、前記応答作成情報をもとに前記応答メッセージを作成する、請求項２０に記載の通信中継装置。
【請求項２４】
前記仮想機器定義データは、送受信の方向とデータの種類とに応じて、前記内部ネットワーク上のいずれの前記第２の機器と通信するかを示す情報を含む、請求項１９に記載の通信中継装置。
【請求項２５】
前記通信中継部は、受信したデータを送信先の機器が扱うことのできるデータに変換して送信するデータ変換部を含む、請求項２４に記載の通信中継装置。
【請求項２６】
前記通信中継部は、受信したデータが含む複数種類のデータを抽出して、仮想機器定義データで指定された各データ種の送信先の機器に対して送信する、請求項２４に記載の通信中継装置。
【請求項２７】
前記通信中継部は、前記内部ネットワーク上の複数の前記第２の機器から受信したデータを仮想機器定義データに従って１つのデータに統合し、前記外部ネットワーク上の機器に送信する、請求項２４に記載の通信中継装置。
【請求項２８】
前記通信中継部は、受信したデータの別の形式への変換、受信したデータの複数のデータへの分離、および複数の受信データの一体のデータへの統合のいずれかを実現するために必要なライブラリプログラムを保持するライブラリ保持部を含み、
前記通信中継部は、前記ライブラリ保持部から必要な前記ライブラリプログラムを選択して、演算処理した結果を用いて送信する、請求項２５に記載の通信中継装置。
【請求項２９】
前記外部通信インタフェースを用いて、前記ライブラリプログラムを前記外部ネットワーク上の機器からダウンロードし、前記ライブラリ保持部にプログラムを追加することが可能なライブラリ導入部をさらに備え、
前記通信中継部は、前記ライブラリ保持部に必要なライブラリプログラムがない場合、前記ライブラリ導入部に入手要求を行う、請求項２８に記載の通信中継装置。
【請求項３０】
前記サービスを構成する機能が記述されたデータであるテンプレートを保持するテンプレート保持部と、
前記テンプレート保持部が保持するテンプレートの各機能に対して前記デバイス情報保持部が保持するデバイスデータ割り当てることにより前記仮想機器定義データを作成し、前記仮想機器管理部に登録する仮想機器定義部とをさらに備える、請求項１９に記載の通信中継装置。
【請求項３１】
表示手段と入力手段とをさらに備え、
前記仮想機器定義部は、前記表示手段と前記入力手段を用いるユーザインタフェイスを有し、前記ユーザインタフェイスにより、前記テンプレート保持部と前記デバイス情報保持部が保持する情報をユーザに提示し、
前記ユーザが提示された前記テンプレートの中から所望のテンプレートを選択することに応じて、さらに、当該所望のテンプレートの各機能に対して使用するデバイスを前記ユーザに選択させることにより、前記仮想機器定義データを生成する、請求項３０に記載の通信中継装置。
【請求項３２】
前記外部通信インタフェースを用いて新たなテンプレートを入手し、前記テンプレート保持部に追加するためのテンプレート導入部をさらに備える、請求項３０に記載の通信中継装置。
【請求項３３】
前記デバイス情報保持部は、各機能に対しデフォルトデバイスとして、前記内部ネットワーク上の前記第２の機器を登録し、
前記テンプレート保持部は、新たなテンプレートが追加されると前記仮想機器定義部に通知し、
前記仮想機器定義部は、新たなテンプレートが追加された通知を受けると前記デバイス情報保持部がもつデフォルトデバイスの情報をもとに前記仮想機器定義データの作成、登録を行う、請求項３２に記載の通信中継装置。
【発明の詳細な説明】
【技術分野】  この発明は、ネットワーク上の２つの機器とそれぞれ接続して通信を行ない、それぞれのデータを相互に受け渡しすることで２つの機器の相互通信を実現する通信中継装置に関する。
【背景技術】  従来、インターネットとＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのように２つのネットワークを相互に接続し、通信を中継する機器として、「ゲートウェイ」がある。
ゲートウェイを用いると、たとえば、宅外のインターネットにつながった機器とパソコンなどの宅内ＬＡＮ上の機器との間で通信し、宅内から宅外のサービスや情報を利用することができる。ところで、通信を用いたサービスを利用するためには、一般には、サービスを利用するための複数の機能をもった１つの機器が必要である。そのような機器がない場合、新たなサービスを利用するためには、通信機能をもつ汎用的な機器にそうしたサービス利用のために必要な機能を追加するか、サービスを利用する機能をもった専用の機器を導入する必要がある。このため、ユーザとして新たなサービスを導入する場合のコストは大きく、サービス提供者にとっても、新たに考案したサービスごとに、新たな機器やソフトウェアを開発していたのでは、時間とコストがかかり、アイデアを実践することが容易ではない。
ここで、ホームゲートウェイ装置に関連する先行する技術を参照してみると、特開平９−２２４０８１号公報において、ホームゲートウェイ装置であって、その上で複数の外線通信と内線通信を回線の違いをもとに、通信の交換制御を行うホームゲートウェイ装置が開示されている。
また、特開平１０−２２４４０８号公報に開示された通信システムは、データ種の区別によって通信を制御したり、送信先の機能によってデータの変換をしたりするシステムである。
特開２０００−３５８０６１号公報には、外部ネットワークと内部ネットワークの間でデータをフォーマットし、かつルーティングするような通信中継装置が開示されている。従来技術に挙げた先行特許においては、複数の機器に対してデータ種によって通信先を切り替えたり、振り分けたりすることは含まれていない。
これに対して、特開平１１−２８２６４１号公報には、複数の機器を組み合わせるシステムが開示されている。このシステムでは、デバイスが所定のデバイスと接続されているかを判断して、単独機能の機器として働くか、所定のデバイスと接続して共同して働くかが切り替わる。これはプリンタとスキャナがＩＥＥＥ１３９４バスで接続されていれば複写機として働くというものであり、端末自身が特定の機器と接続されているかどうかを判断し、端末自身の振舞いを切り替えるというものである。しかしながら、特開平１１−２８２６４１号公報に開示されたシステムも、データの流れを切り替えたりするものではない。
従来、ゲートウェイと呼ばれるような通信中継装置は、一方のネットワーク上のからもう一方のネットワーク上に対して、データを送受信したり、プロトコルの変換を行ったりするものである。つまり、ネットワーク間で通信を行って実現されるようなサービスにおいては、各ネットワーク上にあるサービスを利用する機能をもつ機器間でゲートウェイを介して通信を行ない、サービスを利用している。
通信サービスを利用するためには、そのサービスを利用するために必要な機器を準備し、ネットワークに接続する必要があった。サービスを利用する全ての機能をもった機器を準備できない場合、当然のことながら、サービスを利用することはできなかった。たとえば、テレビ（以下、ＴＶと呼ぶ）電話サービスを例に説明すると、一方のネットワークにＴＶ電話のサービスを利用するための機器が導入されており、通話相手となる他方のネットワークにも同じようにＴＶ電話サービスを利用するために必要なすべての機能をあわせもつ機器があれば、両機器の間でＴＶ電話サービスを利用して通信し、ＴＶ電話を行うことができる。ＴＶ電話サービスを導入するための機器としては、ＴＶ電話サービスを利用できるようにデバイスやソフトウェアを導入したパーソナルコンピュータ（以下、ＰＣと呼ぶ）やＴＶ電話サービス用の専用端末などが考えられる。それらがない場合にはＴＶ電話サービスを利用することはできなかった。
しかしながら、通信サービスはまったく新たな機能ばかりを要求するものではなく、既にある機器の能力が新しいサービスを利用するための能力の一部となることがしばしばである。新たなサービスに必要な機能は複数の機器に分かれてではあるが存在しており、それら機器単独では新たなサービスを利用するには機能が不足するため新たなサービスを利用できるようにすることができないという問題があった。
【発明の開示】
本発明の目的は、ネットワーク上のサービスを利用する際に、ネットワーク上の複数の機器にサービスに必要な機能ごと通信を接続し、各機器の機能を合わせてサービスを利用できるようにすることである。
上記のような目的を達成するために、この発明の１つの局面に従うと、通信中継装置は、一方の機器との１つの通信コネクション内に複数種類のデータ通信を含む通信コネクションに対して、データの種類ごとに中継先の機器を選択し、１つの通信コネクションに対し少なくとも２つ以上の機器にデータを中継する。
したがって、ある機器が１つの通信コネクションで送信するデータをネットワーク上の複数の機器で受け、複数の機器が送信するデータを１つに束ねて返すことができる。
この発明の他の局面に従うと、通信中継装置は、１つの通信サービスを利用するための仮想的な機器を定義する仮想機器情報を保持し、仮想機器情報は、通信するデータの種類ごとにデータ中継先の機器を指定した中継機器情報を含み、仮想的な機器を利用する通信を、仮想機器情報内の中継機器情報に従ってデータの種類ごとに中継先の機器を選択して、少なくとも２つ以上の機器にデータを中継する。
したがって、通信サービスが接続する仮想的な機器ごとに、通信するデータ種類ごとのデータ中継先の機器を設定することができるので、複数のサービスに対して複数の機器でのサービス利用が可能になる。
好ましくは、通信中継装置が通信サービスにおいて通信するデータの種類ごとに使用する機器を決定して仮想機器情報を作成する仮想機器定義手段を備える。
したがって、通信中継装置自身が持つ情報を組み合わせたり、入出力手段やネットワークを介した情報を利用したりして、該通信サービスを利用するために使用する機器を決定することができる。
好ましくは、通信中継装置は、通信サービスごとに通信するデータの種類の記述を含むテンプレートを保持し、仮想機器の作成に利用する。
したがって、通信サービスごとに記述されたテンプレートに従ってデータ種ごとの接続先の機器を決めることによって、サービス利用可能な機器の組合せを作成することができる。
好ましくは、通信サービス利用のリクエストを受け付けると、仮想機器定義手段は通信サービスのテンプレートを用いて仮想機器情報を作成し、その仮想機器情報を用いて通信サービスの通信データを中継する
したがって、通信サービス利用のための接続要求を受け付けると、動的に該サービスのテンプレートを用いて仮想機器を構成して、それによって複数の機器でサービスが利用できる。
好ましくは、通信サービスのテンプレートを保持しないときには、装置外部から通信サービスのテンプレートをダウンロードする。
従って、サービス利用のための接続を受け付けて、それに該当するテンプレートがなくとも、通信中継装置が自発的に外部サーバーなどからテンプレートをダウンロードして、それを用いてサービスを利用できるような仮想機器を構成できる。
好ましくは、データの種類は、映像データ、音声データ、制御データとそれぞれの通信方向で区別される。
従って、音声、映像データをやりとりし、さらにサービスの制御を必要とするようなサービスを複数の機器に役割分担して利用できる。
好ましくは、データ中継時に中継するデータを中継先の機器が利用可能なフォーマットに変換して中継する。
従って、機器では扱えないフォーマットのデータでも、中継装置で扱えるフォーマットに変換して中継することによって、より多くのサービスを利用できる。
好ましくは、データ中継先の機器が利用可能なフォーマットに変換する機能を持たないときに、変換プログラムを外部からダウンロードする。
従って、中継装置がデータ変換の機能を持たない場合でも、外部から変換プログラムが取得できれば、それを用いて、データ中継時のフォーマット変換が可能になる。
また、本発明のさらに他の局面に従うと、通信中継装置であって、外部ネットワーク上の第１の機器と通信を行うための外部通信インタフェースと、内部ネットワーク上で、複数の第２の機器と通信を行うための内部通信インタフェースと、内部ネットワーク上の複数の第２の機器を用いて外部ネットワーク上のサービスを利用可能にするための書換え可能な仮想機器定義データの保持および管理を行う仮想機器管理部とを備え、仮想機器定義データは、サービスを利用するための複数の機能のうち少なくとも１つを、少なくとも１つの第２の機器の有する複数の機能の１部により定義しており、内部ネットワーク上の複数の第２の機器を通信により利用するためのデバイス情報を保持するデバイス情報保持部と、外部ネットワークと内部ネットワーク間の相互データ交換を行う通信中継部とをさらに備え、通信中継部は、第１の機器と仮想機器定義データに含まれる複数の第２の機器との相互のデータ交換を、仮想機器定義データとデバイス情報とに基づいて行う。
したががって、本発明の通信中継装置では、内部ネットワーク上には、機器単独では外部ネットワーク上の通信サービスを利用するに足る能力を持たない機器しかない場合も、複数の機器を統合した仮想機器を通信中継装置上に定義、登録することにより、当該サービスを利用することが可能になる。
好ましくは、通信中継部は、外部通信インタフェースを用いて通信データの送受信を行ない、受信したデータから、接続要求メッセージを抽出して出力し、さらに、送信指示を受けて、応答メッセージを第１の機器に送信する外部通信部と、内部通信インタフェースを用いて通信データの送受信を行ない、受信したデータから、応答メッセージを抽出して出力し、さらに、送信指示に従って接続要求メッセージを内部ネットワーク上の複数の第２の機器に送信する内部通信部と、外部ネットワークからのメッセージを外部通信部を介して受け取り、仮想機器定義データに基づいて、第２の機器のうち接続要求メッセージを受け取るべき第２の機器への複数のリクエストを作成して内部通信部に出力し、内部通信部に対して送信指示を与えて内部ネットワークに送信したリクエストに対する応答をもとに、応答メッセージを作成し、外部通信部に送信するよう送信指示を出力し、さらに、サービス利用に必要な接続の確立および切断に関する情報を抽出するメッセージ中継部と、メッセージ中継部から渡された情報をもとにサービス利用のためのデータ送受信に必要なセッション情報を管理するセッション管理部と、セッション管理部の情報に従って、外部通信部と内部通信部で受信したデータを適切な相手に送信するためのデータ中継を行うデータ中継部とを含む。
したがって、本発明の通信中継装置によれば、リクエストおよび応答の送受信を行ない、データ送受信を行うための情報をセッションとして管理するため、その情報を用いて指定機器へのデータ送受信の制御することができ、複数機器でのサービス利用が可能になる。
好ましくは、メッセージ中継部は、１つの接続要求メッセージをもとに作成した複数のリクエストに対する応答を全て受けとった場合に、接続要求メッセージに対する応答メッセージを作成し送信する。
したがって、本発明の通信中継装置によれば、仮想機器定義データに含まれる全ての機器と通信可能になってはじめて利用開始できるようなサービスを利用できる。
好ましくは、メッセージ中継部は、１つの接続要求メッセージをもとに作成した複数のリクエストに対する最初の応答をもとに、接続要求メッセージに対する応答メッセージを作成し送信する。
したがって、本発明の通信中継装置によれば、仮想機器定義データに登録した機器のうち、１つだけでも通信可能になれば、それによって利用できるサービスに対応することができる。
好ましくは、仮想機器管理部が保持する仮想機器定義データは、送信するリクエストに対する応答から応答メッセージを作成する方法に関する応答作成情報を含み、メッセージ中継部は、応答作成情報をもとに応答メッセージを作成する。
したがって、本発明の通信中継装置によれば、仮想機器定義データ内に複数の機器からの応答の扱い方を記述できるため、様々な通信タイプのサービスを利用できるようになる。
好ましくは、仮想機器定義データは、送受信の方向とデータの種類とに応じて、内部ネットワーク上のいずれの第２の機器と通信するかを示す情報を含む。
したがって、本発明の通信中継装置によれば、サービスに対して、通信するデータ種や通信方向によって使用する機器を指定するため、その定義を使って通信中継装置上でデータ通信を制御することができ、複数の機器を使ってのサービス利用が可能になる。
好ましくは、通信中継部は、受信したデータを送信先の機器が扱うことのできるデータに変換して送信するデータ変換部を含む。
したがって、本発明の通信中継装置によれば、通信中継装置上で受信したデータを送信する際に、送信先が受信できる形式に変換する機能をもつため、データ種は同じだが、フォーマットやコーデックなどが異なるためにそのままのデータでは扱えない機器も利用できる。
好ましくは、通信中継部は、受信したデータが含む複数種類のデータを抽出して、仮想機器定義データで指定された各データ種の送信先の機器に対して送信する。
したがって、本発明の通信中継装置によれば、複数の種類のデータを一体化したデータが通信中継装置に向けて送信されるような場合、それを分解して送信することで、分解された個々のデータならば扱える機器を使ってサービス利用することができる。
好ましくは、通信中継部は、内部ネットワーク上の複数の第２の機器から受信したデータを仮想機器定義データに従って１つのデータに統合し、外部ネットワーク上の機器に送信する。
したがって、本発明の通信中継装置によれば、複数の機器を使って１つのサービスを利用している際、個々の機器からの出力そのままではサービスの相手が受け付けられない場合がある。通信中継装置上では個々の機器から受信した複数のデータを相手が受け取れる形式にまとめて送信するため、サービスを利用することができる。
好ましくは、通信中継部は、受信したデータの別の形式への変換、受信したデータの複数のデータへの分離、および複数の受信データの一体のデータへの統合のいずれかを実現するために必要なライブラリプログラムを保持するライブラリ保持部を含み、通信中継部は、ライブラリ保持部から必要なライブラリプログラムを選択して、演算処理した結果を用いて送信する。
したがって、本発明の通信中継装置によれば、データ変換などを行う機能をライブラリとして保持、管理できるようになっているため、後から新たな機能をライブラリとして追加することが可能である。
好ましくは、外部通信インタフェースを用いて、ライブラリプログラムを外部ネットワーク上の機器からダウンロードし、ライブラリ保持部にプログラムを追加することが可能なライブラリ導入部をさらに備え、通信中継部は、ライブラリ保持部に必要なライブラリプログラムがない場合、ライブラリ導入部に入手要求を行う。
したがって、本発明の通信中継装置によれば、ライブラリをダウンロードにより入手できるため、必要なライブラリを動的に入手することができる。
好ましくは、通信中継装置は、サービスを構成する機能が記述されたデータであるテンプレートを保持するテンプレート保持部と、テンプレート保持部が保持するテンプレートの各機能に対してデバイス情報保持部が保持するデバイスデータ割り当てることにより仮想機器定義データを作成し、仮想機器管理部に登録する仮想機器定義部とをさらに備える。
したがって、本発明の通信中継装置によれば、サービスを個々の機能を表現した抽象的なデータ（テンプレート）を扱えるようにすることで、テンプレートを使って、ユーザが自由に機器を設定でき、サービス利用の機器構成がカスタマイズしやすくなる。また、同じサービスを利用する際に、同じテンプレートに対して使用する機器構成を変えた定義も簡単に作ることができる。
好ましくは、表示手段と入力手段とをさらに備え、仮想機器定義部は、表示手段と入力手段を用いるユーザインタフェイスを有し、ユーザインタフェイスにより、テンプレート保持部とデバイス情報保持部が保持する情報をユーザに提示し、ユーザが提示されたテンプレートの中から所望のテンプレートを選択することに応じて、さらに、当該所望のテンプレートの各機能に対して使用するデバイスをユーザに選択させることにより、仮想機器定義データを生成する。
したがって、本発明の通信中継装置によれば、サービス利用のための仮想機器を組み立てるためのユーザインタフェースをもつため、ユーザが簡単にテンプレートと機器を選択して、サービス利用の仮想機器の構成を作ることができる。
好ましくは、外部通信インタフェースを用いて新たなテンプレートを入手し、テンプレート保持部に追加するためのテンプレート導入部をさらに備える。
したがって、本発明の通信中継装置によれば、新たなサービスに対するテンプレートをサービス提供者が作成し、配布できる。従来の機器を組み合わせてサービスを利用する方法を簡単にユーザに提供することができる。
好ましくは、デバイス情報保持部は、各機能に対しデフォルトデバイスとして、内部ネットワーク上の第２の機器を登録し、テンプレート保持部は、新たなテンプレートが追加されると仮想機器定義部に通知し、仮想機器定義部は、新たなテンプレートが追加された通知を受けるとデバイス情報保持部がもつデフォルトデバイスの情報をもとに仮想機器定義データの作成、登録を行う。
したがって、本発明の通信中継装置によれば、新しいテンプレートが通信中継装置にダウンロードされた時に、その通信中継装置で各機能に指定されたデフォルト機器を用いて自動的に仮想機器の定義を作ることができるため、ユーザは仮想機器定義データを作成せずとも新しいサービスを利用できるようになる。
この発明のさらに他の局面では、通信中継装置は、映像コミュニケーションサービスに関する通信を、映像と音声、およびその通信方向によって分類し、それぞれを宅内のネットワーク上の複数の機器に接続して、通信を中継する。
したがって、通信中継装置が接続可能なネットワーク上の複数の機器で映像、音声をもちいたコミュニケーションサービスを利用することができる。
この発明のさらに他の局面では、通信中継装置は、ビデオコンテンツ配信サービスにおける通信を、コンテンツの映像データと音声データ、および、そのビデオ配信の認証、課金を含む制御に分類し、それぞれをネットワーク上の複数の機器に接続して通信を中継する。
したがって、通信中継装置が接続可能なネットワーク上の複数の機器で、ビデオコンテンツをリクエストし、視聴することができる。
すなわち、本発明に係る通信中継装置によると、ユーザはネットワーク上のサービスを複数の機器の機能を組み合わせて、利用することが可能になる。
あるいは、利用したいサービスの構成機能定義するテンプレートをもとに、それに利用する個々の機器を自由に選択して、サービス利用のための仮想的な機器を通信中継装置に登録することができる。
あるいは、サービス提供者は、新たに提供するサービスを考案した際に、同時にそれを利用するために必要な機能に分解したテンプレートを定義することにより、ユーザに新たな専用の機器やアプリケーションなして、中継機器上にテンプレートを用いて定義した仮想機器でサービスを提供することが可能になる。
あるいは、装置は自身が持たない機能についての通信を、その機能をもつほかの通信可能な機器に中継することで単体では利用できないリッチな機能をサポートすることができる。
【図面の簡単な説明】  図１は、本発明を実現する通信中継装置１０００の概略ブロック図である。
図２は、ｗｅｂカメラ、ＴＶ、ＩＰ電話を用いてＴＶ電話サービスを利用する際のデータ送受信と仮想機器定義の例を示す図である。
図３は、仮想機器定義データの例を示す図である。
図４は、通信中継部において使用される仮想機器定義データを示す図である。
図５は、通信中継装置において使用されるデバイス情報保持部がもつ内部機器の情報データを示す図である。
図６は、内部でメッセージによる接続管理、データ通信セッション管理を行う通信中継部の構成を示す図である。
図７は、通信中継部によるＴＶ電話サービス利用時のデータ中継を示す概念図である。
図８は、ＴＶ電話サービスを利用するときの接続確立までのメッセージ送受信を示す第１の図である。
図９は、ＴＶ電話サービスを利用するときの接続確立までのメッセージ送受信を示す第２の図である。
図１０は、確立したＴＶ電話セッションについてセッション管理部が保持するセッション情報データを示す図である。
図１１は、通信中継装置によって、複数のＩＰ電話機を電話機の子機として使う例を示す概念図である。
図１２は、ＩＰ電話機を電話子機として使うための仮想機器定義データを示す図である。
図１３は、ＩＰ電話機を電話子機として使うための他の仮想機器定義データを示す図である。
図１４は、通信中継装置で、データフォーマット、コーデックの異なるデータを中継できるようなデータ変換機能をもった装置を使用する構成を示す概念図である。
図１５は、複数の機器でＴＶ電話を行う仮想機器定義データを示す図である。
図１６は、内部ネットワーク上の機器の情報データを示す図である。
図１７は、セッションが張られたときのセッション情報データを示す図である。
図１８は、複数種のデータを統合したり、分離したりする必要がある場合の仮想機器定義データを示す図である。
図１９は、ＴＶ電話利用する場合のデータ送受信を示す概念図である。
図２０は、通信におけるセッション情報データを示す図である。
図２１は、テンプレート保持部１１０に保持されるテンプレートデータの例を示す図である。
図２２は、テンプレートデータから仮想機器を作成するまでの処理の流れを説明する図である。
図２３は、ＧＵＩを用いて、テンプレートから仮想機器を定義する場合のフローチャートである。
図２４は、フローで仮想機器を定義するＧＵＩの例を示す図である。
図２５は、自動的に仮想機器を定義するために、機能に対するデフォルト機器を登録するテーブルデータを示す図である。
図２６は、各機能にデフォルト機器を登録するＧＵＩの例を示す図である。
図２７は、宅内ネットワークでコンテンツサーバのコンテンツを複数の機器を指定して視聴する接続の例である。
図２８は、図２７で宅内コンテンツ配信サービスを中継する通信中継装置３００２の構成図である。
図２９は、通信中継装置３００２が受け付ける中継リクエストのメッセージフォーマットを示す図である。
図３０は、通信中継装置３００２を用いて映像共有する音声コミュニケーションを実施した場合の通信接続を示す図である。
図３１は、図３０の映像共有音声コミュニケーション開始時の中継リクエストメッセージを示す図である。
図３２は、映像に付加情報を付けて共有して音声コミュニケーションするための接続の例である。
図３３は、図３２の接続をリクエストするメッセージの例である。
図３４は、リクエストに対して動的に接続先の機器を決定して通信中継する通信中継装置の実施例を表す図である。
図３５は、映像に対して情報付加するのに、中継装置上でリクエストに従って情報付加してから中継する場合の接続を示す例である。
図３６Ａおよび図３６Ｂは、既に確立した音声通話の中継に対して、新たに映像データの中継を追加して、ＴＶ電話サービスを行なう接続の追加を示す図である。
図３７は、図３６Ａおよび図３６Ｂの例において、映像共有のための中継追加のリクエストの例である。
図３８は、ビデオ・オン・デマンドサービスを例に、複数の機器を組み合わせてサービス利用が可能になることを示す図である。
図３９は、ＩＰ電話機が中継装置として機能してＴＶ電話サービスを実施する例での接続を示す図である。
図４０は、図３９の例が実施されるときの接続手順を示すシーケンス図である。
図４１は、図３９の例においてＩＰ電話機４２０１で定義される仮想機器データの例である。
【発明を実施するための最良の形態】  以下、図面を参照しつつ、本発明の実施例について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【実施例１】  図１は、本発明の通信中継装置１０００の構成と、通信中継装置１０００のネットワークへの接続を説明するための概略ブロック図である。
図１を参照して、通信中継装置１０００は、インターネットなどの宅外の外部ネットワーク１１３を介して通信を行うための外部通信インタフェース１１と、家庭内ＬＡＮなどの宅内ネットワーク１１５を介して宅内の機器と通信を行うための内部通信インタフェース１２と、外部通信インタフェース１１と内部通信インタフェース１２とを用いて、宅外ネットワーク１１３上の機器と宅内の内部ネットワーク１１５上の内部機器１１６，１１７との通信を中継する通信中継部１３と、宅内のネットワーク１１５に接続している内部機器１１６，１１７の情報を保持するデバイス情報保持部１４とを備える。
なお、以下の説明では、通信を行なうために両者でネゴシエーションした結果の接続（コネクション）をしばしばセッションと呼んでいる。セッションとは、インターネット技術においてアプリケーション等が通信する論理的な接続であり、たとえば、ＶｏＩＰを用いたインターネット電話においては、電話をかける側（発呼側）とかけられる側（着呼側）でシグナリングを行っえてネゴシエーションした結果合意がとれるとセッションが確立される。セッションを用いて通信するとは、その合意に基づいて音声データをやりとりすることで、その結果、音声通話が実現される。
通信中継装置１０００は、さらに、宅内のユーザが通信中継装置１０００内の機能を利用するためのキーボード、もしくはボタン、マウスなどの入力部１５と、ユーザに通信中継装置１０００内で保持している情報を表示するための液晶パネルなどの表示部１６と、入力部１５と表示部１６とを用いるユーザと対話して仮想機器を定義する仮想機器定義部１７と、仮想機器定義部１７において定義された仮想機器に関する情報を保持、管理する仮想機器管理部１８と、外部通信インタフェース１１を使って、宅外ネットワーク１１３上のサービスプロバイダなどのサーバ機よりサービスの機能を定義したサービステンプレートデータを機器上に取り込むテンプレート導入部１９と、テンプレート導入部１９が入手したテンプレートデータを通信中継装置１０００上の利用可能なサービステンプレートとして保持、管理するテンプレート保持部１１０と、外部通信インタフェース１１を使って、宅外ネットワーク１１３上のサービスプロバイダなどのサーバ機より通信中継部１３が中継する際のデータ変換に利用する変換プログラムを入手するライブラリ導入部１１１と、ライブラリ導入部１１１がダウンロードしたプログラムを通信中継装置１上で保持、管理するライブラリ保持部１１２とを備える。すなわち、通信中継装置１０００は、外部ネットワーク１１３上にあるサービス１１４を、内部ネットワーク１１５上の内部機器１１６，１１７から利用可能とするものである。
なお、ここで言う通信中継装置１０００からみて「外部ネットワーク」とは、提供される通信サービスのある側のネットワーク、「内部ネットワーク」とは、通信中継装置を介してサービスを利用するための機器が接続されている側のネットワークである。また、「ネットワーク」とは、通信のための回線に接続された複数の機器の間のいずれの間でも、通信の確立のための所定の処理を行えば、通信可能となる通信網をいうものとする。また、あるネットワーク上の複数の機器は、当該ネットワーク上の「通信中継装置」を介して、他のネットワーク上の機器と通信可能であるものとする。
以下では、本発明の構成の例について、内部機器１１６，１１７の具体例として、ＩＰ（インターネットプロトコル）電話機２６、ｗｅｂカメラ２５、ネットワークテレビ２７を使ったテレビ電話サービスを用いて説明する。
図２は、このような本発明により実現されるテレビ電話の構成を説明するための概念図である。
通信中継装置１０００上の仮想機器管理部１８は、外部ネットワーク１１３、たとえば、インターネットを介して接続するＴＶ電話機２１との間で、ＴＶ電話サービスを利用するための「仮想機器１」の仮想機器定義データを保持する。
図３は、このような仮想機器定義データの例を示す図である。図３の例において、仮想機器定義データは、仮想機器ＩＤ（この例では仮想機器１）、仮想機器名称、サービス名称、サービス機能、機能、変換ライブラリの情報で構成される。
「仮想機器ＩＤ」は、仮想機器管理部１８が仮想機器定義データを識別するための識別データである。「仮想機器名称」は、仮想機器につけた名前であり、「サービス名」は、この機器により利用できるようになるサービスの名称である。
「サービス機能」は、この機器により利用できるようになるサービスの機能名である。「機能」は、サービスの個々の機能について、通信するための情報である。たとえば、機能とは、「音声出力」、「音声入力」、「映像出力」、「映像入力」などの情報である。
各機能は、特に限定されないが、たとえば、図３に示すとおり、次のフォーマットで記述する。
機能名（データ発信機器名（外部機器の場合、“＿”と記載），
発信データを受ける通信中継装置のポート番号，
発信データプロトコル，
発信データフォーマット，
データ受信機器名（外部機器の場合、“＿”と記載），
データ受信機器がデータを受けるポート番号，
受信データプロトコル，
受信データフォーマット）
「変換ライブラリ」は、発信データと受信データでフォーマットが異なる場合、変換用ライブラリの情報があるときに、記述される。
変換用ライブラリの情報は、
（入力データ，出力データ）：ライブラリの所在ＵＲＬ
で記述する。
通信中継部１３は、内部ネットワーク１１５上のＩＰ電話２６から発呼する先の外部ネットワーク上の機器、または着呼した際の通信元の外部ネットワーク機器を、上述した「仮想機器定義データ」の記載中の“＿”の部分に当てはめる。
そして、そのような当てはめに従って、仮想機器定義データに書かれたポートで受け取ったデータは、指定された機器の指定のポートに送られる。これによって、サービスに必要なデータの中継を行う。
以上、ＩＰ電話機２６、ｗｅｂカメラ２５、ＴＶ２７と通信中継装置１０００を用いてＴＶ電話サービスを利用する例について説明した。
すなわち、ＴＶ電話サービスを各機能に分解してみると、音声電話を行うための機能と、映像の送受信を行う機能で構成されている。音声電話機能はＩＰ電話機２６が持つ機能であり、映像の送受信は、ネットワーク接続されたｗｅｂカメラ２５やＴＶ２７が本来持っている機能の一部である。
したがって、実施例１の通信中継装置１０００では、所望のサービス、たとえば、ＴＶ電話サービスに対し、それを利用するための機能とその機能のための機器を指定し、それぞれの機能を持つ機器ごとにデータを振り分けて送ったり、個々の機器からの受け取ったデータをまとめて送信したりする。このような通信中継装置１０００により、たとえば、ＩＰ電話機２６、ｗｅｂカメラ２５、ＴＶ２７等の内部ネットワーク１１５上の機器のそれぞれの機能または機能の一部を組み合わせて通信データの制御を行うことにより、ＴＶ電話サービスなどの所望のサービスのための専用機器が、内部ネットワーク１１５上に存在しない場合でも、当該所望のサービスを利用することができる。
【実施例２】  実施例１の本発明では、仮想機器定義データ中に、通信に使用するポートなどの情報が書かれており、特に接続要求、応答時に通信に使用するポートなどの情報のやりとりをせず、通信を行うことができた。
以下に説明する実施例２でも、ＴＶ電話サービスを例にとると、ＩＰ電話機２６、ｗｅｂカメラ２５、ＴＶ２７と通信中継装置１０００を用いてＴＶ電話サービスを利用する点で、実施例１と同様なデータの送受信を行う。
しかしながら、実施例２では、接続確立時にデータ送受信するための情報をやりとりし、データ送受信のセッションを管理する。
以下の説明で明らかとなるように、実施例２の通信中継装置の構成は、図１の通信中継装置１０００の構成と基本的には同様であり、主として、通信中継装置１０００内の通信中継部１３の構成および動作にその特徴がある。
図４は、実施例２におけるＴＶ電話サービスの仮想機器定義データを示す図である。
図４に示した「仮想機器定義データ」においては、仮想機器の名前（ＩＤ）が「ＴＶ電話１」で、「ＴＶ電話サービス」を利用し、「ＴＶ電話機能」を実現するものであることが記述されている。
さらに、図４に示した「仮想機器定義データ」においては、発呼、着呼機能はＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）で行い、宅内のＩＰ電話１に中継する。一方、音声入力、音声出力は、ＲＴＰ（Ｒｅａｌｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）を用いてデータを送信する。エンコードは、Ｇ．７１１を用いる。
映像出力は、ＲＴＰを用いてデータ受信する。データはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式である。映像入力は、ＲＴＰを用いてデータ送信する。データはＪＰＥＧ形式である。
音声入出力、映像入出力、発呼、着呼の全てが必要であることの記述である。
図５は、デバイス情報保持部１４に格納される、宅内ネットワーク上のデバイス情報データを示す図である。
図５を参照して、デバイス情報データには、内部機器１は、ＩＰ電話１で、プライベートＩＰアドレスは１９２．１６８．１．１であることが記述される。入力音声は、ＲＴＰ、Ｇ．７１１で送信する。出力音声はＲＴＰ、Ｇ．７１１で受信する。発呼はＳＩＰを用いて行なう。着呼はＳＩＰを用いて行なう。
さらに、デバイス情報データには、内部機器２は、ｗｅｂカメラ１で、アドレスは１９２．１６８．１．２であることが記述される。入力映像は、接続にはＳＩＰを用い、ＲＴＰでＪＰＥＧ形式のデータを送信する。
さらに、デバイス情報データには、内部機器３は、テレビ１で、アドレスは１９２．１６８．１．３であることが記述される。出力映像は、接続にはＳＩＰを用い、ＲＴＰでＪＰＥＧデータを受信する。
仮想機器定義データは仮想機器管理部１８内に格納され、デバイス情報データはデバイス情報保持部１４に格納される。
通信中継部１３は、仮想機器定義データとデバイス情報データを使用して、通信の中継を行う。
図６は、図１に示した通信中継装置１０００において、データ通信のセッション管理を行う実施例２の通信中継部１３の構成を示す概略ブロック図である。
また、図７は、ＴＶ電話サービスで接続され、実現されるデータ通信の例を示す概念図である。
まず、図６を参照して、通信中継部１３において、外部通信部５１は、外部通信インタフェース１１が受信したパケットを受け取り、パケットを解析して、受信メッセージを抽出した上で、メッセージ中継部５２に受け渡し、外部通信インタフェース１１を用いて外部ネットワーク１１３上の機器に対してメッセージ中継部５２の作成したメッセージの送信を行い、また、外部ネットワーク１１３から特定のポートに届いたデータをデータ中継部５５に受け渡し、さらに、外部機器に対しポートを指定してデータ中継部５５から受けたデータを送信する。
図６および図７に示した例では、外部通信部５１は、外部ネットワーク１１３上のＴＶ電話機６１が送信した接続要求メッセージを抽出し、メッセージ中継部５２に受け渡し、さらに、メッセージ中継部５２の作成した接続要求応答を送信させる。
メッセージ中継部５２は、外部通信部５１、内部通信部５３から、受信したリクエストや応答などのメッセージを受け取り、中継処理を行う。中継処理としては、メッセージの内容を解析し、メッセージの宛先である仮想機器定義データの情報を仮想機器管理部１８から、それに使用されている宅内機器に関する情報をデバイス情報保持部１４から取得し、それをもとにメッセージ送信先を決定し、新たなメッセージを作成する。そして、外部通信部５１、内部通信部５３にメッセージ送信の依頼を行う。
また、メッセージ中継部５２は、メッセージを中継する際にメッセージから得られた情報をもとに、宅内機器と宅外機器との間でデータ送受信の接続が張られたり、解消したりすることに関する情報をセッション管理部５４に受け渡す。
図８および図９は、ＴＶ電話サービスにおいて、内部ネットワーク１１５側の機器に対する着呼があった場合の接続確立までの流れを示す図である。
図８および図９に示すセッション確立までの例では、メッセージ中継部５２は、接続要求メッセージ（１）からＴＶ電話１の定義情報をもとに、（３）−ａ、（３）−ｂ、（３）−ｃの接続要求メッセージ（接続リクエスト）を作成し、それぞれの機器に送信するよう内部通信部５３に指令し、さらに、内部通信部５３から受け取る応答（４）−ａ、（４）−ｂ、（４）−ｃをもとに、接続要求応答メッセージ（６）を作成して、外部通信部５１に送信を指示する。
図８および図９において、内部通信部５３は、内部通信インタフェース１２が受信したパケットを受け取り、パケットを解析して、受信メッセージを抽出し、メッセージ中継部５２に受け渡し、さらに、内部通信インタフェース１２を用いて内部ネットワーク１１５上の機器に対してメッセージ中継部５２の作成したメッセージの送信を行い、また、内部ネットワーク１１５から特定のポートに届いたデータをデータ中継部５５に受け渡し、内部機器に対しポートを指定してデータ中継部５５から受けたデータを送信する。
まず、図８は外部から着信する場合の例で、内部通信部５３は、メッセージ中継部５２が作成した（３）−ａ、（３）−ｂ、（３）−ｃの接続リクエストを各機器に送信し、さらに、各機器から受信した応答（４）−ａ、（４）−ｂ、（４）−ｃをメッセージ中継部５２に受け渡す。
セッション管理部５４は、メッセージ中継部５２からデータ送受信の接続の確立や解消についての情報を取得し、通信中継装置上でのデータの中継のためのセッション情報を保持、管理し、データ中継部５５にどのようにデータ中継するかの指示を行う。
次に、図９に示すとおり、内部ネットワーク１１５側の機器からの発呼するためには、ＩＰ電話１６６からＳＩＰ接続要求が通信中継装置１０００に対して送信される。その際、ＩＰ電話１６６は、発信時に通信中継装置１０００に対し、どの仮想機器で外部発信するかを指定する必要がある。ＩＰ電話１１６は、発信元を示す“Ｆｒｏｍ行”に任意のアドレスを設定して、接続要求する機能をもつため、通信中継装置は“Ｆｒｏｍ行”からどの仮想機器を用いるかを判断できる。ＴＶ電話１を指定した場合、サービス利用に必要な機器（ｗｅｂカメラ１  ６５、テレビ  ６７）全てへの接続要求を行い、全てと接続確立した後、ＴＶ電話機６１に送信される。
図１０は、図７のＴＶ電話の場合で、メッセージ中継部５２から受け渡された情報をもとに作成するセッション情報データの例を示す図である。
図１０を参照して、セッションを識別するためのセッション識別情報ｓｅｓｓｉｏｎＩＤは、図７のＴＶ電話の例では、呼識別情報ｃａｌｌ−ＩＤを利用する。メッセージ中継部５２より、ＴＶ電話の確立した時点で、以下の情報がセッション管理部５４に送られる。
・外部音声送信先（１２３４５＠ＴＶ電話，ＴＶ電話機：ｐｏｒｔ２−１Ａ，ＲＴＰ，Ｇ．７１１）
・外部映像送信先（１２３４５＠ＴＶ電話，ＴＶ電話機：ｐｏｒｔ２−１Ｖ，ＲＴＰ，ＪＰＥＧ）
・外部からの音声受信ポート（１２３４５＠ＴＶ電話，ｐｏｒｔ２−３Ａｏ，ＲＴＰ，Ｇ．７１１）
・外部からの映像受信ポート（１２３４５＠ＴＶ電話，ｐｏｒｔ２−３Ｖｏ，ＲＴＰ，ＪＰＥＧ）
・内部音声送信先（１２３４５＠ＴＶ電話，ＩＰ電話１：ｐｏｒｔ２−６Ａ，ＲＴＰ，Ｇ．７１１）
・内部映像送信先（１２３４５＠ＴＶ電話，テレビ１：ｐｏｒｔ２−７Ｖ，ＲＴＰ，ＪＰＥＧ）
・内部からの音声受信ポート（１２３４５＠ＴＶ電話，ｐｏｒｔ２−３Ａｉ，ＲＴＰ，Ｇ．７１１）
・内部からの映像受信ポート（１２３４５＠ＴＶ電話，ｐｏｒｔ２−３Ｖｉ，ＲＴＰ，ＪＰＥＧ）
セッション管理部５４は、この情報をもとに内部と外部で同種のデータを中継するように組み合わせて、データ通信を中継するためのセッション情報データを作成する。
データ中継部５５は、セッション管理部５４で作成、管理されているセッション情報に従って、外部通信部５１、内部通信部５２と連携して、外部通信インタフェース１１、内部通信インタフェース１２を使用してデータの送受信を行う。
セッション管理部５４では、セッション情報データによってセッションを管理する。
図１０に示したセッション情報データのデータフォーマットは、セッション管理部５４がセッションを識別するためのＩＤと、データを中継するための中継情報からなる。
「中継情報」は、データ種別（ａｕｄｉｏ，ｖｉｄｅｏ，ｅｔｃ）ごとに、外部ネットワーク１１３から内部ネットワーク１１５へのデータ送信（ＯＵＴ→ＩＮ）と内部ネットワークから外部ネットワークへのデータ通信（ＩＮ→ＯＵＴ）の２種類の中継の定義を含む。
それぞれの中継の定義は、特に限定されないが、たとえば、以下のように記述する。
（（データ送信元の機器，中継装置でデータを受けるポート，プロトコル，データ形式），
データ変換ライブラリ情報，
（データ送信先の機器，データ送信先機器がデータを受けるポート，プロトコル，データ形式））
図１０の場合、両方の機器で扱うデータ種がＧ．７１１、ＪＰＥＧといずれも一致しているのでデータ変換ライブラリの情報は入っておらず、“＿”が記載されている。
データ中継部５５は、セッション管理部５４が保持しているセッション情報データ内で、データを受信することになっているポートを監視し、届いたデータはセッション情報データで指定されている送り先の機器のポートに送信する。
以上のように、メッセージ中継部５２で、図８の接続処理を行い、その結果を受けたセッション管理部５４が図１０のセッション情報データをもってセッションの管理を行い、データ中継部５５がセッション管理部５４の持つ図１０のセッション情報データに基づいて図７に示すデータ送受信を行う。
つまり、以上の説明の例では、図８はＴＶ電話の例での接続確立までの流れを示し、それによって図７のようなＴＶ電話のデータ送受信が行われる。
以上の説明をもとに、接続要求、応答のメッセージの情報を示す図８をさらに詳しく説明する。
図８において、メッセージは、メッセージデータそのものではなく、それに含まれる主要な情報を書き出したものである。また、接続にはＳＩＰを用いた例であるが、それに限るものではない。
（１）ＴＶ電話機６１より、通信中継装置１０００上の「仮想機器１」に対し、ＳＩＰを用いて接続要求（発呼）を行う。接続要求メッセージ中には、ＴＶ電話機６１が音声、および映像のデータを受けるポート情報（ｐｏｒｔ６−１Ａ，ｐｏｒｔ６−１Ｖ）を含む。
（２）通信中継装置１０００は、通信中継部５７で接続要求メッセージを受け取る。メッセージから「ＴＶ電話１」への接続要求であることが分かるので、仮想機器管理部１８の仮想機器定義データを参照する。通信中継装置１０００は、発呼、着呼機器、音声入出力機器がＩＰ電話１、映像入力機器がｗｅｂカメラ１、映像出力機器がテレビ１であることを認識する。
（３）通信中継装置１０００の通信中継部１３は、着呼機能デバイスであるＩＰ電話１、ｗｅｂカメラ１、テレビ１に関する情報をデバイス情報保持部１４から入手し、ＩＰ電話１に対し音声入出力の接続リクエスト（（３）−ａ）、ｗｅｂカメラ１に映像入力用の接続リクエスト（（３）−ｂ）、ｗｅｂカメラ１に映像出力用の接続リクエスト（（３）−ｃ）を行う。接続リクエスト内には接続後、通信中継装置１０００がデータを受けるポート情報が含まれる。ＩＰ電話１には音声受信ポート（ｐｏｒｔ６−３Ａｉ）、ｗｅｂカメラ１には映像受信ポート（ｐｏｒｔ６−３Ｖｉ）が指定される。
（４）ＩＰ電話１は、通信中継装置１０００からの接続リクエストを受信し、呼び出し音を鳴らし、ユーザがフックアップすると通信中継部５７に応答を返し（（４）−ａ）、データ通信可能になる。この応答には音声を受信するポート情報（ｐｏｒｔ６−６Ａ）が含まれる。ｗｅｂカメラ１は映像入力用の接続要求を受け、それに含まれる映像データの送信先を確認し、応答を返す（（４）−ｂ）と同時に、そこに接続リクエスト内にあった映像データ送信先に映像の送信を開始する。テレビ１は映像出力用の接続リクエストを受け、映像データを送信する先のポート情報（ｐｏｒｔ２−７Ｖ）を含む応答を返す（（４）−ｃ）。
（５）通信中継部１３は、送信した３つの接続リクエストに対して、全ての応答を受け取ると、ＴＶ電話機６１に返す応答メッセージを作成する。全てがＯＫならばＯＫを返し、いずれかがＯＫでなければ接続失敗を返す。ＯＫの場合、応答メッセージには通信中継装置１０００がＴＶ電話１として音声データ、映像データを受け付けるポート情報（ｐｏｒｔ６−３Ａｏ，ｐｏｒｔ６−３Ｖｏ）を含む。
（６）（５）で作成した応答をＴＶ電話機６１に送信する。
以上説明したＴＶ電話サービスの例では、図８に示したように、接続要求（接続リクエスト）に対し、全ての機器への要求に対する応答を受けて初めてサービス利用可能とすることが必要であり、通信中継装置１０００内の通信中継部１３は、送信した全てのリクエストからの応答を待って、ＴＶ電話機に応答を返す。
このような構成によって、リクエスト、応答の送受信を行ない、それによってデータ送受信を行うための情報をセッションとして管理するため、それを用いて指定機器へのデータ送受信の制御することができ、複数機器でのサービス利用が可能になる。さらに、仮想機器定義データに含まれる全ての機器と通信可能になってはじめて利用開始できるようなサービスを利用できるようになる。
【実施例３】  図１１は、実施例３の通信中継装置１０００を用いて、図３のＴＶ電話サービスとは異なる仮想機器を使ったサービス利用の例を示す概念図である。
宅内にＩＰ電話機（ＩＰ電話１  ９５、ＩＰ電話２  ９６）が２台あるものとする。
図１２は、図１１の構成での仮想機器定義データを示す図である。図１２に示すような仮想機器を定義することによって、いずれのＩＰ電話機９５，９６でも着信を受けられるようにする。
通信中継装置１０００は、実施例２の通信中継装置とは、仮想機器定義データ中の機能リストのそれぞれに対し接続要求を行う点は同じだが、最初に応答があった機器とのみデータ送受信のセッションを張り、他の接続要求はキャンセルするようなメッセージ中継部５２を備えることが特徴である。
図１２の定義データでは、ＩＰ電話機能をもつ、ＩＰ電話１  ９５とＩＰ電話３  ９６を子機として登録し、着呼があるとＩＰ電話１  ９５とＩＰ電話３  ９６の両方に接続要求をする。実施例３の通信中継装置１０００は、それに対する応答が先にあったほうのみ接続し、それ以外には接続要求をキャンセルするメッセージを送信した後、接続した機器とデータ送受信を行なう。
このようにして、仮想機器定義データに登録した機器のうち、最初に通信可能になった機器を用いて、サービスを利用することができる。
【実施例４】  以上説明した例は、メッセージ中継部５２の応答方法が固定的なものであった。
以下に説明する実施例４の通信中継装置１０００は、より柔軟な要求への応答ができるものである。
図１３は、実施例４の仮想機器定義データの例である。
図１３に示すように、仮想機器定義データの例として、機能を必須な機能か、いずれかで良いかをカンマ（，）とスラッシュ（／）で区別して記述する。
メッセージ中継部５２で、仮想機器定義データを参照し、カンマで区切られた機能もスラッシュで区切られた機能も全てについてリクエストを送る。
これに対応して、カンマで区切られたものについてはそれに対する全ての応答が返るのを待ってすべてをあわせた応答メッセージを作成する。一方、スラッシュで区切られたものについては、それぞれのリクエストに対するいずれか１つの応答が返ればそれのみを使用して応答メッセージを作成する。
図１３の仮想機器データの例の場合、ＩＰ電話１とＩＰ電話３に対し接続要求が送信されるが、ＩＰ電話１から先にＯＫの応答があれば、そちらと外部機器とのデータ送受信のセッションを張り、ＩＰ電話３には接続要求取り消しのメッセージが送られる。
上記のような図１３の仮想機器定義データと、上述のような処理を行うメッセージ中継部を仕様にもつ通信中継装置によって、図１１のようなＩＰ電話機を子機として利用する例が実施できる。
仮想機器定義データ内に複数の機器からの応答の扱い方を記述できるため、様々な通信タイプのサービスを利用できるようになる。
【実施例５】  実施例３と比較して、実施例５では、たとえば、ＴＶ電話サービスで、データ種は同じだが、通信するデータの形式・エンコードが異なる場合の構成を説明する。したがって、実施例５の通信中継装置１０００の構成も、基本的には、実施例３と同様である。
図１４は、実施例５の通信中継装置１０００のデータ中継部５５の行う処理を説明するための概念図である。
図１４では、データ中継部５５で音声データの形式を送信先が扱えるものに変換して送信することを示している。
図１５は、図１４の仮想機器定義データを示す図である。この仮想機器定義データには、ＴＶ電話サービスがＲＴＰでＧ．７１１の音声データをやりとりすること、異なるデータフォーマットに対応可能なようにＧ．７１１とＧ．７２３．１の相互変換ライブラリ入手先情報が含まれている。
図１６は、内部機器の情報であるデバイス情報データである。デバイス情報データには、ＩＰ電話２  １２６は、音声データはＧ．７２３．１を扱うことが書かれている。
図１７は、図１５および図１６のデータから接続された際に生成されるセッションデータを示す図である。変換用のライブラリ入手先ＵＲＬについての情報が仮想機器定義データから取り込まれている。
図８において説明したセッションの確立処理において、データ中継部５５は、セッション情報データで、受信データと送信データが異なった形式のデータの場合は、入力データと出力データの形式を指定し、データ変換部５６に送信可能な形式のデータに変換するプロセスを生成させ、そのプロセスとの間で通信して、送信データ形式のデータを取得し、送信する機能をもつ。
データ変換部５６が変換できない場合は、セッション管理部５４に中継できないことを伝える。セッション管理部５４はセッションを削除するために、メッセージ中継部５２に各接続を切断するメッセージを投げるように指令する。
データ変換部５６は、データ中継部５５から入力データと出力データの形式を指定してリクエストを受けつけると、入力データと出力データの形式に合った変換を行い、データ中継部５５と入出力データの交換をできる変換プロセスを起動する機能をもつ。
プロセス内で実際に行われるデータ変換は、データ変換部５６内の機器組み込みコーデック変換を利用する場合と、変換ライブラリと呼ぶソフトウェア変換を行う場合がある。いずれの場合もデータ中継部５５と、データ変換部５６はそれぞれ１つのプロセスとして実装し、プロセス間通信でデータのやりとりを行い、データ中継部５５から受け取ったデータを変換した後、データ中継部５５に送り返す。
データ変換部５６は、内部にハードウェアのサポートする機能を利用したコーデック変換機能をもつ場合は、変換ライブラリを利用せず、内蔵の返還機能を使用する。
以上のような構成により、通信中継装置上で受信したデータを送信する際に、送信先が受信できる形式に変換する機能をもつため、データ種は同じだが、フォーマットやコーデックなどが異なるためにそのままのデータでは扱えない機器も利用できる。
また、変換ライブラリは、入力データストリームからのデータを変換して出力データストリームに書き出すプログラムであり、入力データ形式と出力データ形式ごとに、ライブラリ保持部１１２に保持される。
データ変換部５６は、変換機能を内部に持たない場合は、ライブラリ保持部１１２に入出力データ形式を指定して、変換プログラムの起動を指示する。データ中継部５５からの入力データを変換プログラムの入力へ、変換プログラムの出力をデータ中継部５５への出力データとなるよう、プロセス間通信するための情報を橋渡しする。
ライブラリ保持部１１２にある変換プログラムは、中継装置１０００上で実行可能なプログラムで、入出力用のプロセス通信データストリームを指定して起動される。データ変換部５６から呼び出されるときに、入出力用のデータストリームの情報が渡される。この変換プログラムは、それを起動すると１つのプロセスを起こし、データ変換部５６から渡された入力データストリームからのデータを変換し、その結果をデータ変換部５６への出力データストリームに書き出す仕様のプログラムである。
ライブラリ保持部１１２では、入出力のデータ形式とプログラム実体のテーブルを保持しているため、データ変換部５６は、入出力それぞれのデータ形式とデータストリームを指定して起動できる。
以上のようにして、ライブラリ保持部１１２で保持されるプログラムを使用して、データの変換を行ったうえで、通信することにより、データ変換手順をライブラリとして別に保持、管理できるようになっているため、後から新たな機能をライブラリとして追加することが可能である。
ここで、ライブラリ保持部１１２に適切なライブラリがない場合、データ変換部５６はデータ中継部５５からセッション情報データより入出力データ形式とそのライブラリの入手先のＵＲＬを取得し、ライブラリ導入部１１１に対しそれを使ってライブラリのダウンロードの依頼を行う。ライブラリ導入部１１１は、受け取ったダウンロード依頼に含まれるＵＲＬをもとにプログラムのダウンロードを行い、入出力データ形式とともにダウンロードしたプログラムはライブラリ保持部１１２に登録する。ライブラリ導入部１１１は、ライブラリ入手に成功した場合は、再度、データ変換部５６に変換を依頼する。
以上のようにして、ライブラリをダウンロードにより入手できるため、必要なライブラリを動的に入手することができる。
【実施例６】  図１８は、実施例６のＴＶ電話を実施する仮想機器定義データの例を示す図である。
この場合の「ＴＶ電話サービス２」は、音声、映像データの両方を含むｍｐｅｇ−２のデータが通信される。また、ライブラリとして、ｍｐｅｇ−２データをＧ．７１１の音声データとＪＰＥＧの映像データに分離できるライブラリ、および逆にＧ．７１１の音声データとＪＰＥＧの映像データを合わせてｍｐｅｇ−２データを作成するツールが仮想定義データ内に登録されている。
図１９は、実施例６の通信中継装置１０００の行う処理を示す概念図である。
図１９を参照して、通信中継装置１０００のメッセージ中継部５２は接続要求を受けた際に、図１８の仮想定義データ中のライブラリ入出力データ形式から、ＴＶ電話１７１からのデータを映像と音声に分けて、それぞれの能力を持つ機器に接続し、通信すればよいことを判断する機能をもつ。このため、デバイス情報データは図４と同じ場合、図１９のような接続を確立する。
図２０は、図１９のような通信において生成されるセッション情報データを示す図である。
この場合も、データ中継部５５は、図２０のセッション情報データをもとにデータの中継を行うので、ｐｏｒｔ１７−３ＡＶｏに届くｍｐｅｇ−２のデータは、ｆｔｐ：／／ｌｉｂ．ｃｏｍ／ｍｐｅｇ２−７１１ＪＰＥＧ．ｌｉｂからライブラリ保持部１１２に入手したライブラリを使って、Ｇ．７１１の音声データとＪＰＥＧの映像データを抽出して、それぞれＩＰ電話１  １７６とテレビ１  １７７のｐｏｒｔ１７−６Ａとｐｏｒｔ１７−７Ｖに送る。
逆に、ｐｏｒｔ１７−３Ｖｉに届くＪＰＥＧ映像データとｐｏｒｔ７−３Ａｉに届くＧ．７１１音声データは、ｆｔｐ：／／ｌｉｂ．ｃｏｍ／７１１ＪＰＥＧ−ｍｐｅｇ２．ｌｉｂからライブラリ保持部１１２に入手したライブラリを使ってｍｐｅｇ−２データに統合して、ＴＶ電話機１７１のｐｏｒｔ１７−１ＡＶに送る。
以上のような構成により、複数の種類のデータを一体化したデータが通信中継装置に向けて送信されるような場合、それを分解して送信することで、分解された個々のデータならば扱える機器を使ってサービス利用することができる。
また、複数の機器を使って１つのサービスを利用している際、個々の機器からの出力そのままではサービスの相手が受け付けられない場合でも、通信中継装置上では個々の機器から受信した複数のデータを相手が受け取れる形式にまとめて送信するため、サービスを利用することができる。
【実施例７】  以下に説明する実施例７の通信中継装置１０００は、これまでの実施例１〜６で使用してきた仮想機器定義データの作成に、サービスに必要な機能を表すデータ「テンプレート」を利用する構成である。
本発明で言う「テンプレート」とは、通信サービスを利用するために必要な能力の記述であり、サービスの機能構成の情報ということもできる。そのようなテンプレートデータは、図１に示したテンプレート保持部１１０で保持され、仮想機器定義部１７がテンプレート保持部１１０のテンプレートデータとデバイス情報保持部１４のデバイスデータをもとに仮想機器定義データを作成する。
テンプレートデータは、入力部１５を用いて入力し、テンプレート保持部１１０に登録することも可能であるし、また、サービスが提供される外部ネットワーク１１３側からＵＲＬを指定してダウンロードするなどして入手、登録することもできる。
以下では、まず、ユーザが、入力部１５からテンプレートデータを入力するものとして説明する。
図２１は、テンプレート保持部１１０に保持されるテンプレートデータの例を示す図である。
テンプレート１は、ＴＶ電話機能を定義するもので、音声電話，映像入力，映像出力の３つの機能で構成されていることを表現している。
テンプレート２は、やはりＴＶ電話機能を定義しているが、電話型呼制御，音声入力，音声出力，映像入力，映像出力の５つに細分されたものである。
このように同じ機能でも、その機能のレベルによって、異なった表現が可能である。
たとえば、テンプレート２の定義そのものがなくても、音声電話機能を定義するテンプレート３があれば、テンプレート１と組み合わせて、テンプレート２と同様の仮想機器を構成することもできるような機能を仮想機器定義部１７にもたせることができる。
電話型呼制御機能についても、テンプレート４のように、発呼、着呼の機能にテンプレートを用いて、機能を分解することができ、階層的な機能の表現を可能にしている。
図２２は、仮想機器定義部１７で仮想機器定義データが作成されるまでの内部データの変遷を示す図である。
すなわち、仮想機器定義部１７で、図２１のテンプレート群と図５に示したデバイス情報データから、ＴＶ電話サービス１を指定して、図２２に示す処理にしたがって、仮想機器定義データが作成される。
（１）サービス名称「ＴＶ電話サービス１」のテンプレートとして、テンプレート１、またはテンプレート２が選択される。（図２１ではテンプレート２を選択）
（２）構成機能のうち、他のテンプレートのサービス機能があれば、機能をそれで詳細化する。
（３）デバイス情報保持部１４のもつデバイス情報データから、テンプレートデータの各機能をもつ機器が抽出される。
（４）仮想機器管理部１８より仮想機器ＩＤを発行してもらい、仮想機器名称がつけられて、仮想機器定義データフォーマットのデータが作成される。
ここで、デバイス情報保持部１４に新たなデバイスが登録された際に、仮想機器定義部１７にそれが伝えられ、仮想機器定義部１７は、そのデバイスがもつ能力を機能にもつテンプレートをテンプレート保持部１１０から抽出し、それを使って仮想機器を定義することができる。
このようにして、サービスを個々の機能を表現した抽象的なデータ（テンプレート）を扱えるようにすることで、テンプレートを使って、ユーザが自由に機器を設定でき、サービス利用の機器構成がカスタマイズしやすくなる。また、同じサービスを利用する際に、同じテンプレートに対して使用する機器構成を変えた定義も簡単に作ることができる。
新たな仮想機器を定義するためには、通信中継装置に新たな仮想機器作成の指示や、テンプレートや使用する機器をユーザが指定する必要があるため（図１のように入力部１５や表示部１６を使用する。
実施例７では以下のようにＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いている。
図２３は、このようなＧＵＩによる処理を説明するためのフローチャートである。また、図２４は、具体的に、テンプレートを指定し、それの各構成機能に内部機器をアサインしていく際のＧＵＩの例を示す図である。
仮想機器定義部１７は、ＧＵＩをもち、図２３および図２４に示す手順で、テンプレートから仮想機器を作成、登録する。
以下に、ユーザが仮想機器定義部１７に含まれるＧＵＩを用いて対話的に仮想機器を作成、登録する際の流れを示す。
図２３および図２４を参照して、まず、ユーザは「仮想機器作成」ボタンを押す（ステップＳ１０２）。
応じて、仮想機器作成画面が現れる。そこにはテンプレート保持部１１０が保持しているテンプレートから作成する仮想機器の利用可能なサービスのリストが表示される（ステップＳ１０４）。
ユーザは、リストからサービスを選択する（ステップＳ１０６）。
サービスに複数のテンプレートがある場合は（ステップＳ１０８）、複数のテンプレートが表示され、その中から選択する（ステップＳ１１０）。
一方、テンプレートがただ１つの場合は（ステップＳ１０８）、自動的にそのテンプレートが選択される。
続いて、機器設定画面が表示される。選択したテンプレートと機能のリストが表示される（ステップＳ１１２）。
ユーザが機能を選択すると、その機能を使用するための機器、もしくはテンプレート名が表示されるので、希望のものを選択する（ステップＳ１１４）。
機器を選択した場合は、機器が設定され、機能リストの表示に戻る（ステップＳ１１２）。なお、図２４は、ここまでの処理を示す。
テンプレートを選択した場合（ステップＳ１１４）は、テンプレートのデータを使って展開された機能リストが表示される（ステップＳ１１８）。
全ての機能に機器が選択されると（ステップＳ１２０）、登録ボタンが選択可能になる。ユーザが登録ボタンを押すと（ステップＳ１２２）、仮想機器管理部１８に登録される（ステップＳ１２４）。
すなわち、全ての機能に機器の指定が終わると、登録ボタンが現れ、選択すると仮想機器として登録可能になる。中止を選択すると登録されずに処理選択画面に戻る。
以上のような構成により、サービス利用のための仮想機器を組み立てるためのＧＵＩをもつため、ユーザが簡単にテンプレートと機器を選択して、サービス利用の仮想機器の構成を作ることができる。
［実施例７の変形例］
実施例７の変形例では、テンプレートデータは、サービスが提供される外部ネットワーク１１３側からサービス提供者により与えられる構成である。
したがって、実施例７の変形例の通信中継装置１０００によれば、新たなサービスに対するテンプレートをサービス提供者が作成し、配布できる。このため、すでに家庭内等に存在する機器を組み合わせてサービスを利用する方法を簡単にユーザに提供することができる。
テンプレート導入部１９は、入力部１５、表示部１６を用いたＧＵＩを持ち、それによって指定されたＵＲＬのテンプレートデータを外部ネットワーク１１３からダウンロードし、テンプレート保持部１１０にデータを追加する。
一方、デバイス情報保持部１４は、宅内機器の情報を登録する機能と登録されている機器のうちから能力に対するデフォルト機器を登録し、さらに、入力部１５および表示部１６を使用するためのＧＵＩを提供する。
図２５は、デバイス情報保持部１４が管理するデフォルト機器を管理するための登録テーブルの例を示す図である。
デバイス情報保持部１４が保持しているデバイス情報データ中の、能力のタイプ名と機器名称のペアでデフォルト機器が登録される。
図２６は、登録画面を示す図である。
デフォルト機器の一覧が表示された状態で、変更したい機器（映像出力のデフォルト機器「テレビ１」）を選択すると、選択可能な映像出力機器のリストが表示され、希望のものを選択するとその機器に変更される。登録ボタンを押すと、デバイス情報保持部１４の登録テーブルに登録される。
その上で、テンプレート保持部１１０は、新たなテンプレートが登録されると仮想機器定義部１７に連絡する機能をもつ。
仮想機器定義部１７は、連絡を受けると新たに追加されたテンプレートを指定して、仮想機器の作成を自動的に開始する。この処理は、基本的に、図２２で説明した処理と同様である。ただし、その際、図２２の仮想機器作成で、機器を選択するところでは、デバイス情報保持部１４がもつデフォルト機器登録テーブルを照会し、それを用いて仮想機器定義データを作成する。
以下の処理は、実施例７と同様であるので、その説明は繰り返さない。
以上のような構成により、新しいテンプレートが通信中継装置にダウンロードされた時に、その通信中継装置で各機能に指定されたデフォルト機器を用いて自動的に仮想機器の定義を作ることができるため、ユーザは仮想機器定義データを作成せずとも新しいサービスを利用できるようになる。
以上、実施例１〜実施例７の変形例においては、主にＴＶ電話サービスを利用するための仮想機器、テンプレートを例に説明したが、本発明は、これらの構成に限定されるものではない。
たとえば、幾つか他のサービスへの応用例を挙げると、たとえば、オンラインでのビデオ・オン・デマンドのようなサービスならば、仮想的なセットトップボックスを通信中継装置上に定義することにより、ＴＶとリモコンやＰＣなどを用いた制御機器を定義することも可能である。制御用の通信は、制細機器と宅外のサーバとの間で行ない、認証やプログラム選択を行ない、映像や音声の出力は外部のサーバから登録したＴＶへ送信されるようになる。
また、たとえば、ｗｅｂカメラとマイクからの映像と音声の入力を統合して、宅外に発信するようなサービスを考えると、ゲートウェイ上で音声と映像を統合して、ＭＰＥＧのような音声と映像を一体となったデータにして発信するようなことも上記の通信中継装置で可能である。
これまで、実施例１から実施例７までにおいて、本発明をホームゲートウェイ装置としてインターネット上のサービスを宅内ネットワーク上の複数の機器を用いて利用することを例に２つの異なるネットワークの間で中継する通信中継装置の実施例を説明したが、本発明の通信中継装置は、異なるネットワーク間での利用に限定するものではない。また、あらかじめ、仮想的な機器を中継装置において定義しておいて、それに従って中継するものに限定するものでもない。
たとえば、図２７は単一の宅内ネットワーク内で映像コンテンツを提供するサービスにおいて、リクエストで機器を指定して中継する構成の例である。
コンテンツコントローラ３００６は、通信中継装置３００２に、映像コンテンツサーバ３００１が保持するコンテンツＩＤと、それを視聴するために使用する機器を指定したリクエストを発信する。通信中継装置３００２は指定のコンテンツを受信するための通信セッションを映像コンテンツサーバ３００１に対して確立する。このセッションにおいてはＭＰＥＧ−２の音声付の映像コンテンツが通信中継装置３００２にストリーム配信される。一方、コンテンツを視聴する機器としてステレオＴＶ３００３が単独で指定した場合は、ステレオＴＶ３００３に上記のＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ  ２）映像コンテンツのデータを送信するためのセッションを送信する。コンテンツを視聴する機器として、映像はモノラルＴＶ３００４、音声はステレオ３００５とメディアごとに異なる機器を指定された場合は、ＭＰＥＧ２データから映像データと音声データを分離し、それぞれを送信するためのセッションをモノラルＴＶ３００４とステレオ３００５のそれぞれに確立し、映像コンテンツデータの中継を行なう。
図２８は、図２７で説明した処理を実施する通信中継装置３００２の構成を示す図である。
通信中継装置３００２は、ＴＣＰ／ＩＰをサポートする家庭内ＬＡＮに接続し、家庭内ＬＡＮに接続された機器との通信を行なう通信インタフェイス３１０１を備える。
リクエスト解析部３１０２は、通信インタフェイス３１０１のあらかじめ規定したリクエスト受信ポートで受信するデータを監視し、受信したデータから、リクエスト形式に従ってコンテンツサーバとコンテンツ、視聴機器の情報を抽出し、それを指定してソース通信部３１０３とターゲット通信部３１０４のそれぞれにセッション確立するよう要求を出す。
ソース通信部３１０３は、リクエスト解析部３１０２からの要求に従って、指定のコンテンツサーバ（映像コンテンツサーバ３００１）にコンテンツ受信のためのセッション確立の処理を行なう。
ターゲット通信部３１０４は、リクエスト解析部３１０２指定の視聴機器にコンテンツ受信のためのセッション確立要求を行う。このときにデータの種類を分けて異なる機器へのデータ送信セッションの確立が指定される場合がある。
リクエスト解析部３１０２は、ソース通信部３１０３、ターゲット通信部３１０４のそれぞれのセッション確立を確認すると、ソース通信部３１０３にコンテンツＩＤを指定して、コンテンツサーバ（映像コンテンツサーバ３００１）にコンテンツ送信開始を依頼させる。
また、確立したセッションを指定して、受信したデータを中継するよう通信中継部３１０５に指示する。この際、通信中継部３１０５は、確立したセッションでネゴシエーションされた情報から、受信したデータの分離中継やコーデック変換中継が必要と判断すると、それに従った分離、変換などの処理を行なって通信の中継を行なう。
なお、この実施例では、リクエスト解析部３１０２は解析した結果から直接ソース通信部３１０３とターゲット通信部３１０４にセッション確立の指示を出す。
図２９は中継のリクエストのフォーマットの例である。
図２９に示すリクエストフォーマットは、データ種ごとに指定した機器にデータを中継する情報であり、そのものが仮想機器情報に相当する。
図２９を参照して、リクエストフォーマットは、ソース側とターゲット側をそれぞれ指定でき、それそれで機器のＩＤ、接続、データ通信プロトコル、データ形式を含むデータ種、コンテンツの指定や認証のための補足情報で構成されている。図２９の例の場合は、ｓｏｕｒｃｅに続く｛｝内で記述の内容から、ｓｅｒｖｅｒＩＤの機器に対してＳＩＰでセッションを張って、ＲＴＰでＭＰＥＧ２のＡＶデータを通信する。通信するコンテンツは、ｃｏｎｔｅｎｔＩＤで指定のものでユーザ名ｐａｐａ、パスワードｐａｓｓｗｄで認証できるものである。中継先はｔａｒｇｅｔに続く｛｝内で、ｔａｒｇｅｔＩＤ１、ｔａｒｇｅｔＩＤ２の機器に、それぞれＳＩＰでセッションを張り、ＲＴＰでＭＰＥＧ２の映像、ｍｐ３の音声を送信する。図２７の例ならば、ｓｅｒｖｅｒＩＤで映像コンテンツサーバ３００１を指定し、ｔａｒｇｅｔＩＤ１、ｔａｒｇｅｔＩＤ２でモノラルＴＶ３００４、音声はステレオ３００５を指定することになる。
図２７から図２８までに説明した実施例のように、受信したリクエストを解析して、データ種ごとに指定の機器に張ったセッション間で通信を中継することができる。
通信中継装置３００２は、宅内のＡＶコンテンツ視聴以外にも利用可能である。たとえば、宅内の離れた部屋で映像コミュニケーションを行なうのに利用することもできる。
図３０は、宅内の離れた部屋で映像コミュニケーションを行なう場合の接続例を示す図である。
ＩＰ電話機３３０１から、ソース側として、音声送受信するＩＰ電話機３３０１、映像を出力するＴＶ３３０２、映像ソースを提供する映像サーバ３３０３を指定して、ＰＣ３３０５上のＴＶ電話クライアントに発呼することによって、映像サーバが提供する映像をＴＶ３３０２とＰＣ３３０５に出力しながら、音声会話を行なうことができる。
図３１は、図３０の中継を行なうときの最初に送信されるリクエストを示す図である。中継するセッションを指定するためには、このようにソースとターゲットの複数の組で指定する。これによって、音声はＩＰ電話機３３０１とＰＣ３３０５の間の双方向のデータ送受信と、映像サーバ３３０３の映像をＰＣ３３０５とＴＶ３３０２の両方への送信という中継をリクエストできる。
さらに、図３２に示すように、共有している映像に対して、一方で情報を付加して、相手と共有する場合がある。
たとえば、ＰＣ３３０５から「情報付加」のための中継切替リクエストを送信すると、通信中継装置３００２は、リクエストを受け付けたタイミングから映像サーバ３３０３からの原映像をＰＣ３３０５のみに送信し、ＰＣ３３０５でユーザのマウス操作によりフォーカスなどの追加情報を付加した加工映像をＰＣ３３０５に送信する。ＰＣ３３０５は加工映像をＴＶ３３０２とＰＣ３３０５に対してコミュニケーション用の映像として中継する。
図３３は、そのときにＰＣ３３０５から通信中継装置３００２に送信する中継切替リクエストの例を示す図である。ＩＰ電話機３３０１とＰＣ３３０５の音声通話用中継、映像サーバ３３０３からＰＣ３３０５に原映像を送信する原映像提供用中継、ＰＣ３３０５で加工した映像をコミュニケーション用に共有する加工映像共有用中継の、ソース、ターゲット情報の組３つで構成されている。
図２７から図３３に示した実施例は、実施例１から実施例７のように通信中継装置が、あらかじめデータの種類ごとに接続する機器の組を作成しておいて、それに対して接続するという静的な仮想機器構成に対して、接続要求リクエストを用いて実際に中継する際にデータの種類ごとに接続先を指定する動的な仮想機器構成の例と言える。また、具体的にリクエスト中に機器構成を指定しているが、具体的な機器は指定せず、実施例７で述べたテンプレートを利用して接続先のサービスに対応するテンプレートを選択し、それを用いて通信中継装置がサービス利用可能な機器選択して、接続し、通信を中継するという動的な仮想機器構成の実施例もある。
図３４は、サービスで通信するデータの種類に関する情報であるテンプレートとネットワークに接続する機器の情報（デバイス情報）をもとに、リクエストから動的に機器を選択してセッションを確立して通信中継することで複数の機器でサービスを利用可能にする通信中継装置３７００の構成を示す図である。
通信インタフェイス３７０１は、通信中継装置３７００とネットワークを接続し、ネットワーク上の装置と通信するためのインタフェイスである。インターネットと宅内ＬＡＮのように２つのネットワークに接続する場合は、通信インタフェイス３７０１内にそれぞれへの通信インタフェイスを持ち、それぞれを指定することで双方のネットワーク上の機器と通信することができる。
リクエスト解析部３７０２は、ネットワーク上の装置からの通信中継のリクエストを受信して、その内容を解析する。リクエスト解析部３７０２が受け付けるリクエストは利用するサービス名称をＳＩＰ  ＵＲＬのユーザ名に指定したＳＩＰの接続要求とし、図１０のテンプレートのなかだと「ＴＶ電話サービス１」が指定されると、「テンプレート１」、「テンプレート２」が選択される。複数選択された場合のために、同一サービス名のテンプレートはデフォルトで利用するものを指定してテンプレート管理部３７０４は保持している。
テンプレート選択部３７０３は、リクエスト解析部３７０２の解析結果をもとに、接続先の機器、もしくはそれと利用サービス種から仮想機器構成のためのテンプレートをテンプレート管理部３７０４から取得する。
テンプレート管理部３７０４は、接続先の機器、またはサービスの種類を指定して、保持するテンプレート、もしくは接続先機器、またはテンプレートサーバから利用可能なテンプレートを検索して、テンプレートをテンプレート選択部３７０３に返す。
たとえば、インターネット上のＴＶ電話サービスから着信する場合、デバイス情報管理部３７０５に問い合わせ、指定のＩＰ電話機がＴＶ電話サービスをサポートしないことが分かると、テンプレート管理部３７０４が持つテンプレート、もしくはインターネット上のテンプレートサーバから指定のＴＶ電話サービスに合致するテンプレートをダウンロードして、テンプレート選択部３７０３に返す。
テンプレート選択部３７０３は返されたテンプレートを指定して仮想機器構成部３７０６に仮想機器構成を依頼する。複数のテンプレートが返された場合には、接続先の機器、もしくが通信中継装置３７００からユーザにどのテンプレートを使用するか問い合わせる。仮想機器構成部３７０６はテンプレートに記述された各機能を満たす機器をデバイス情報管理部３７０５から選択して仮想機器定義データを作成する。テンプレートから仮想機器定義データを作成することについては実施例７と同様なので詳細は省略する。
作成された仮想機器定義データを指定してセッション確立部３７０７に通信中継のためのセッション確立を依頼する。
セッション確立部３７０７は、仮想機器定義データを構成する各機器に所定のデータを通信するためのセッション確立の要求を行う。仮想機器を構成する機器とのすべてのセッションが確立すると、リクエスト元とのセッションも確立して、すべてのセッションの情報を通信中継部３７０８に渡す。
通信中継部３７０８はセッション確立部３７０７から受け取ったセッション情報に従って各セッションで受信されるデータを適切なセッションに中継して送信する。なお、中継するデータのコーデックやフォーマットに違いがある場合には変換する機能を持ち、変換不能ならば外部からダウンロードして変換機能を追加する機能を含む。
以上のような図３４の構成の通信中継装置を実施することによって、仮想機器を指定せずに、サービスを指定して接続要求し、指定のサービスのテンプレートを利用して、動的に仮想機器情報データを作成して、請求項１から７と同様にサービス利用を可能にする中継を実施できる。
コンテンツ共有しての音声コミュニケーションでコンテンツにフォーカスなどの付加情報を付ける１つの方法を図３２、図３３で示したが、他に従来のセッションはそのままにして、映像に付加する付加情報と映像に付加するタイミング情報を中継装置に送信し、中継装置で蓄積した映像に情報付加した双方の映像出力装置に送信する実施例もある。図３５はその例での通信セッションとリクエスト送信を表した図である。
また、図３６Ａおよび図３６Ｂで示すように、リクエストによって中継するセッションを追加する実施例もある。図３６Ａでは、ＰＣとＩＰ電話機で音声通話を行なっていた状態において、ＩＰ電話機から映像サーバ３９０３とＴＶ３９０２を指定したリクエストを送信する。通信中継装置３００２はリクエストを解析して、現在のＰＣ３９０５とＩＰ電話３９０１の間で中継していた音声通話のセッションに加えて、図３６Ｂに示すように、映像サーバ３９０３から映像コンテンツを受信するためのセッションと、ＴＶで映像コンテンツ出力するためにＴＶ３９０２への映像送信のセッションを新たに張り、さらにＰＣ３９０５とのセッションは映像も送信できるものに更新することで、映像コンテンツを共有しながら通話コミュニケーションを続行する。
図３７は既に張ったセッションに新たにセッションを追加するメッセージの例を示す図である。先に説明した中継リクエストにおいて、既に確立しているセッションはセッションＩＤ（図３７では、３９０１ａ）で指定して、それに追加する中継の情報を記述する。図３７では、映像サーバ３９０３の映像をＰＣ３９０５とＴＶ３９０２とに中継することをリクエストする記述になっている。
このように、本発明では、最初から機器を選択して中継する以外に、動的に中継する機器を追加して、多くのデータ種ごとに機器を指定して接続、通信してサービス利用できるようにする通信中継装置を実現することができる。
動的に中継する機器を追加する実施例としては、たとえば、実施例１から７の仮想機器定義データを作成、登録する処理のリクエストを受信することをトリガーに、接続要求があったその時に動的に中継する機器を追加することで実現することができるので、仮想機器定義データなどの通信中継装置内部で扱うデータ形式などは同様のもので実施することができる。もちろん、本発明はこの実施のデータ形式などに限定されるものでもない。
これまで、データの種類について、音声データ、映像データといったデータのカテゴリを用いた例で説明したが、これに限るものではない。
たとえば、映像データについても、表示サイズの大きなデータと小さなデータで、大きいデータはＴＶに、小さなデータはＩＰ電話機の液晶ディスプレイにといったように、データの種類を規定することもできる。同様な分類としては、オーディオ系では、ステレオ・モノラルの違いやサンプリング周波数、コーデックの種類など多様な種類で規定することができる。映像についても、上記のサイズのほかに、コーデックの種類や色数などで分類することができる。他に、ストリーミング系のデータと静止画など静的なファイルデータ、制御系のメッセージデータなどでも分類が可能である。
図３８は、ビデオ・オン・デマンドサービスを、通信中継装置４１０２を用いて複数の機器で連携して利用する例を示す図である。この例のビデオ・オン・デマンドサービスは、ビデオ・オン・デマンドサービスサーバ４１０１が、コンテンツ情報参照やコンテンツ選択に利用可能なＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）上で動作するＥＰＧプログラムやコンテンツ情報データのファイルデータを提供し、それを用いて選択したプログラムのリクエストを受け付けると、課金のための認証処理を行なったうえで、コンテンツデータをストリーミングで送信するものである。
通信中継装置４１０２は、ビデオ・オン・デマンドサービス開始のリクエストをＰＤＡ４１０６から受信すると、ビデオ・オン・デマンドサービスサーバ４１０１に対してサービス利用のためのセッション確立を行なう。これによって確立するセッションは、図３８に示すように、ＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）を含むコンテンツ情報ファイルのダウンロード、コンテンツの指定、コンテンツストリーミングの制御、課金のための認証、課金のやりとり、実際にコンテンツデータのストリーミングという要素を含んでいる。
通信中継装置４１０２は、これらビデオ・オン・デマンドサービス利用セッションでの通信を要素ごとに接続先の機器を指定して中継することで、サービスの利用を可能にしている。
具体的には、通信中継装置４１０２により、ＥＰＧを含むコンテンツ情報ファイルは、リモコンとして使用するＰＤＡ４１０６にダウンロードされる。コンテンツの指定、コンテンツストリーミングの制御は、ＰＤＡ４１０６からのＨＴＴＰリクエスト送信により行なわれる。さらに、通信中継装置４１０２は、課金のための認証、課金のやりとりは携帯電話の課金サービスを利用するために携帯電話４１０５に、そして、コンテンツデータである映像はＴＶ４１０３に、コンテンツデータである音声はステレオ４１０４にと、それぞれの役割を担当する機器に接続して、それぞれの通信を中継して、サービスを利用できるようにしている。
さらに、ここまでは、ホームゲートウェイなど専用の中継装置として実施する形態で説明したが、それに限定するものでもない。ネットワーク上であるサービスを利用する装置がプラスアルファの機能を要求されたときに利用可能な機器に通信を中継するような実施例もある。
図３９は、ＩＰ電話機がＴＶ電話サービスの接続要求を受信したときに、ＴＶやｗｅｂカメラに通信を中継してＴＶ電話を実施する例である。この場合、ＩＰ電話機４２０１が本発明の通信中継装置に該当する。この場合、ＴＶ電話サービスにおける自分の映像の入力はｗｅｂカメラ４２０４から、相手の映像の出力はＴＶ４２０３と通信して行うが、音声の入出力はデータを中継することなく、自身の機能で行なう。つまり、サービスで通信されるすべてのデータを中継するものに限定されず、一部は自身で終端して処理して構わない。
図４０は図３９の例においてＴＶ電話の呼が成立するまでのシーケンス図である。
ＴＶ電話機４２０２は、ＩＰ電話機４２０１に対してＴＶ電話の発呼を行なう。セッション確立のプロトコルとしてＳＩＰを用いているので、映像と音声のメディアを指定してＩＮＶＩＴＥメッセージ（４３−１）によるセッション確立の要求がＩＰ電話機４２０１に送信される。ＩＰ電話機４２０１はＩＮＶＩＴＥメッセージ（４３−１）を受信すると、自身がサポートしていないメディア（ｖｉｄｅｏ）が含まれていることを知る。ＩＰ電話機４２０１は要求されたが、自身がサポートしていないメディアについて、ｖｉｄｅｏの入出力をサポートしている機器をネットワーク上で検索し、ＴＶ４２０３で映像の出力、ｗｅｂカメラ４２０４で映像の入力が可能なので、ＩＰ電話機４２０１の液晶ディスプレイの画面でユーザにＴＶ４２０３とｗｅｂカメラ４２０４を使用して通信するかを確認する。ユーザが了承すると、ＴＶ４２０３とｗｅｂカメラ４２０４のそれぞれに映像通信のセッション確立の要求を行う（４３−２ｏｕｔ，４３−２ｉｎ）。ＴＶ４２０３とｗｅｂカメラ４２０４はそれぞれ、ＩＰ電話機４２０１との映像データ送受信のセッション確立に対して応答する。メッセージ（４３−３ｏｕｔ）、（４３−３ｉｎ）のようにＯＫメッセージが返され、セッションが確立し、ＩＰ電話機４２０１としても音声通話のフックアップを行なうと、ＩＰ電話機４２０１はそれを受けてＩＮＶＩＴＥメッセージ（４３−１）に対する応答として、ＯＫメッセージ（４３−４）を返し、ＴＶ電話セッションをＴＶ電話機４２０２との間で確立させる。ＩＰ電話機４２０１で通常の音声会話をおこないつつ、ＩＰ電話機４２０１はｗｅｂカメラ４２０４の映像をＴＶ電話機４２０２に中継し、ＴＶ電話機４２０２からの映像データをＴＶ４２０３に送信して、ＴＶ電話としてのコミュニケーションを実現する。
図４１は、図３９の例における仮想機器定義データの例を示す図である。ＩＰ電話機４２０１が本発明の中継装置として振舞い、ＴＶ電話サービスを利用可能にする。ＴＶ電話としてはＭＰＥＧ２の音声、映像をやりとりするものであるが、ＩＰ電話機４２０１は受信したデータからＭＰＥＧ２オーディオをデコードして自身で音声電話の出力として出力、逆に音声入力をＭＰＥＧ２エンコードして映像とともにＴＶ電話サービスを介し、ＴＶ電話通話相手に向けて送信する。機能記述中の“ｏｗｎ”というのは自デバイスの機能を利用することを指定している。映像入力、出力については、他の例と同様で、ネットワークを介して指定の機器（ｗｅｂカメラ４２０４やＴＶ４２０３）と通信して、サービスを利用する。
なお、図３９から図４１で示した例では、自デバイスの機能を利用する設定を“ｏｗｎ”と規定したが、他に中継もせず、機能を利用するなどの処理も何もしない設定として“ｎｏｎｅ”を設定する例もある。これを用いたシーンの例には次のようなものがある。音声と映像を中継装置で受け付けるような場合で、音声はＩＰ電話機に中継し、映像は“ｎｏｎｅ”と設定することによって中継装置で終端し、中継装置自身で何も処理したり出力しない。この場合、音声のみの会話が実施される。その後、音声会話していたユーザが映像の中継を許可するためにＩＰ電話機を操作して映像出力先機器としてＴＶを指定したリクエストを中継装置に発信する。この映像中継許可のリクエストを中継装置が受信すると、映像データの中継先機器の設定を“ｎｏｎｅ”からリクエストで指定されたＴＶに変更し、それに従って接続中のセッションを確立しなおして、それ以降映像データを指定のＴＶに中継して、通話ユーザが送信された映像も見ることができるようにする。
この発明を詳細に説明し示してきたが、これは例示のためのみであって、限定となってはならず、発明の精神と範囲は添付の請求の範囲によってのみ限定されることが明らかに理解されるであろう。
【図１】
2004015932.tif 000003
【図２】
2004015932.tif 000004
【図３】
2004015932.tif 000005
【図４】
2004015932.tif 000006
【図５】
2004015932.tif 000007
【図６】
2004015932.tif 000008
【図７】
2004015932.tif 000009
【図８】
2004015932.tif 000010
【図９】
2004015932.tif 000011
【図１０】
2004015932.tif 000012
【図１１】
2004015932.tif 000013
【図１２】
2004015932.tif 000014
【図１３】
2004015932.tif 000015
【図１４】
2004015932.tif 000016
【図１５】
2004015932.tif 000017
【図１６】
2004015932.tif 000018
【図１７】
2004015932.tif 000019
【図１８】
2004015932.tif 000020
【図１９】
2004015932.tif 000021
【図２０】
2004015932.tif 000022
【図２１】
2004015932.tif 000023
【図２２】
2004015932.tif 000024
【図２３】
2004015932.tif 000025
【図２４】
2004015932.tif 000026
【図２５】
2004015932.tif 000027
【図２６】
2004015932.tif 000028
【図２７】
2004015932.tif 000029
【図２８】
2004015932.tif 000030
【図２９】
2004015932.tif 000031
【図３０】
2004015932.tif 000032
【図３１】
2004015932.tif 000033
【図３２】
2004015932.tif 000034
【図３３】
2004015932.tif 000035
【図３４】
2004015932.tif 000036
【図３５】
2004015932.tif 000037
2004015932.tif 000038
【図３７】
2004015932.tif 000039
【図３８】
2004015932.tif 000040
【図３９】
2004015932.tif 000041
【図４０】
2004015932.tif 000042
【図４１】
2004015932.tif 000043
【手続補正書】
【提出日】平成16年4月9日(2004.4.9)
【手続補正００１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
（削除）
【請求項５】
（削除）
【請求項６】
ネットワーク上で機器間の通信を中継する通信中継装置であって、
１つの通信サービスを利用するための仮想的な機器を定義する仮想機器情報を保持する手段を備え、
前記仮想機器情報は、通信するデータの種類ごとにデータ中継先となる機器の指定を含み、
前記仮想的な機器を利用する通信を、前記仮想機器情報内の中継機器情報に従ってデータの種類ごとに中継先の機器を選択して、少なくとも２つ以上の機器にデータを中継する手段と、
通信サービスごとに通信するデータの種類の記述を含むテンプレートを保持し、前記テンプレートを用いて前記通信サービスの通信するデータの種類ごとに仮想機器情報を作成する仮想機器定義手段とをさらに備える、通信中継装置。
【請求項７】
前記通信サービスのテンプレートを保持しないときには、装置外部から前記通信サービスのテンプレートをダウンロードする手段を備える、請求項６に記載の通信中継装置。
【請求項８】
（削除）
【請求項９】
ネットワーク上で機器間の通信を中継する通信中継装置であって、
１つの通信サービスを利用するための仮想的な機器を定義する仮想機器情報を保持する手段を備え、
前記仮想機器情報は、通信するデータの種類ごとに少なくとも１種類のデータの中継先となる機器と少なくとも１種類のデータの通信中継装置内での処理の指定を含み、
前記仮想的な機器を利用する通信の一部を前記仮想機器情報内の中継機器情報に従ってデータの種類ごとに中継先の機器を選択して中継する手段と、
通信サービスごとに通信するデータの種類の記述を含むテンプレートを保持し、
前記テンプレートを用いて前記通信サービスの通信するデータの種類ごとに仮想機器情報を作成する仮想機器定義手段とをさらに備える、通信中継装置。
【請求項１０】
前記通信サービスのテンプレートを保持しないときには、装置外部から前記通信サービスのテンプレートをダウンロードする手段を備える、請求項９に記載の通信中継装置。
【請求項１１】
データ中継時に中継するデータを中継先の機器が利用可能なフォーマットに変換して中継する機能を有することを特徴とする、請求項６，７，９、または１０のいずれか１項に記載の通信中継装置。
【請求項１２】
データ中継先の機器が利用可能なフォーマットに変換する機能を持たないときに、変換プログラムを外部からダウンロードする機能を有することを特徴とする、請求項１１に記載の通信中継装置。
【請求項１３】
受信したリクエストに従って通信するデータを中継することを特徴とする、請求項６または９に記載の通信中継装置。
【請求項１４】
通信データを、通信するデータが映像、音声、制御メッセージのいずれであるかとそれぞれの通信方向を利用して種類分けする、請求項６または９に記載の通信中継装置。
【請求項１５】
映像コーデックの種類、映像エンコード時に指定するパラメータ、映像の表示サイズ、映像の解像度、色数、静止画か動画かのいずれかを通信データの種類分けに用いる、請求項６または９に記載の通信中継装置。
【請求項１６】
音声コーデックの種類、音声エンコード時に指定するパラメータ、音声チャンネル数のいずれかを通信データの種類分けに用いる、請求項６または９に記載の通信中継装置。
【請求項１７】
（削除）
【請求項１８】
（削除）
【請求項１９】
外部ネットワーク上の第１の機器と通信を行うための外部通信インタフェースと、
内部ネットワーク上で、複数の第２の機器と通信を行うための内部通信インタフェースと、
前記内部ネットワーク上の複数の前記第２の機器を用いて前記外部ネットワーク上のサービスを利用可能にするための書換え可能な仮想機器定義データの保持および管理を行う仮想機器管理部とを備え、
前記仮想機器定義データは、前記サービスを利用するための複数の機能のうち少なくとも１つを、少なくとも１つの前記第２の機器の有する複数の機能の１部により定義しており、
前記内部ネットワーク上の複数の前記第２の機器を通信により利用するためのデバイス情報を保持するデバイス情報保持部と、
前記外部ネットワークと前記内部ネットワーク間の相互データ交換を行う通信中継部とをさらに備え、
前記通信中継部は、前記第１の機器と前記仮想機器定義データに含まれる複数の前記第２の機器との相互のデータ交換を、前記仮想機器定義データと前記デバイス情報とに基づいて行い、
前記サービスを構成する機能が記述されたデータであるテンプレートを保持するテンプレート保持部と、
前記テンプレート保持部が保持するテンプレートの各機能に対して前記デバイス情報保持部が保持するデバイスデータ割り当てることにより前記仮想機器定義データを作成し、前記仮想機器管理部に登録する仮想機器定義部とをさらに備える、通信中継装置。
【請求項２０】
前記通信中継部は、前記外部通信インタフェースを用いて通信データの送受信を行ない、受信したデータから、接続要求メッセージを抽出して出力し、さらに、
送信指示を受けて、応答メッセージを前記第１の機器に送信する外部通信部と、
前記内部通信インタフェースを用いて前記通信データの送受信を行ない、受信したデータから、前記応答メッセージを抽出して出力し、さらに、送信指示に従って前記接続要求メッセージを前記内部ネットワーク上の複数の前記第２の機器に送信する内部通信部と、
前記外部ネットワークからのメッセージを前記外部通信部を介して受け取り、前記仮想機器定義データに基づいて、前記第２の機器のうち前記接続要求メッセージを受け取るべき第２の機器への複数のリクエストを作成して前記内部通信部に出力し、前記内部通信部に対して前記送信指示を与えて前記内部ネットワークに送信した前記リクエストに対する応答をもとに、前記応答メッセージを作成し、前記外部通信部に送信するよう前記送信指示を出力し、さらに、前記サービス利用に必要な接続の確立および切断に関する情報を抽出するメッセージ中継部と、
前記メッセージ中継部から渡された情報をもとにサービス利用のためのデータ送受信に必要なセッション情報を管理するセッション管理部と、
前記セッション管理部の情報に従って、前記外部通信部と前記内部通信部で受信したデータを適切な相手に送信するためのデータ中継を行うデータ中継部とを含む、請求項１９に記載の通信中継装置。
【請求項２１】
前記メッセージ中継部は、１つの前記接続要求メッセージをもとに作成した複数のリクエストに対する応答を全て受けとった場合に、前記接続要求メッセージに対する前記応答メッセージを作成し送信する、請求項２０記載の通信中継装置。
【請求項２２】
前記メッセージ中継部は、１つの前記接続要求メッセージをもとに作成した複数のリクエストに対する最初の応答をもとに、前記接続要求メッセージに対する前記応答メッセージを作成し送信する、請求項２０に記載の通信中継装置。
【請求項２３】
前記仮想機器管理部が保持する仮想機器定義データは、送信するリクエストに対する応答から前記応答メッセージを作成する方法に関する応答作成情報を含み、
前記メッセージ中継部は、前記応答作成情報をもとに前記応答メッセージを作成する、請求項２０に記載の通信中継装置。
【請求項２４】
前記仮想機器定義データは、送受信の方向とデータの種類とに応じて、前記内部ネットワーク上のいずれの前記第２の機器と通信するかを示す情報を含む、請求項１９に記載の通信中継装置。
【請求項２５】
前記通信中継部は、受信したデータを送信先の機器が扱うことのできるデータに変換して送信するデータ変換部を含む、請求項２４記載の通信中継装置。
【請求項２６】
前記通信中継部は、受信したデータが含む複数種類のデータを抽出して、仮想機器定義データで指定された各データ種の送信先の機器に対して送信する、請求項２４記載の通信中継装置。
【請求項２７】
前記通信中継部は、前記内部ネットワーク上の複数の前記第２の機器から受信したデータを仮想機器定義データに従って１つのデータに統合し、前記外部ネットワーク上の機器に送信する、請求項２４記載の通信中継装置。
【請求項２８】
前記通信中継部は、受信したデータの別の形式への変換、受信したデータの複数のデータへの分離、および複数の受信データの一体のデータへの統合のいずれかを実現するために必要なライブラリプログラムを保持するライブラリ保持部を含み、
前記通信中継部は、前記ライブラリ保持部から必要な前記ライブラリプログラムを選択して、演算処理した結果を用いて送信する、請求項２５に記載の通信中継装置。
【請求項２９】
前記外部通信インタフェースを用いて、前記ライブラリプログラムを前記外部ネットワーク上の機器からダウンロードし、前記ライブラリ保持部にプログラムを追加することが可能なライブラリ導入部をさらに備え、
前記通信中継部は、前記ライブラリ保持部に必要なライブラリプログラムがない場合、前記ライブラリ導入部に入手要求を行う、請求項２８に記載の通信中継装置。
【請求項３０】
（削除）
【請求項３１】
表示手段と入力手段とをさらに備え、
前記仮想機器定義部は、前記表示手段と前記入力手段を用いるユーザインタフェイスを有し、前記ユーザインタフェイスにより、前記テンプレート保持部と前記デバイス情報保持部が保持する情報をユーザに提示し、
前記ユーザが提示された前記テンプレートの中から所望のテンプレートを選択することに応じて、さらに、当該所望のテンプレートの各機能に対して使用するデバイスを前記ユーザに選択させることにより、前記仮想機器定義データを生成する、請求項１９記載の通信中継装置。
【請求項３２】
（補正後）前記外部通信インタフェースを用いて新たなテンプレートを入手し、前記テンプレート保持部に追加するためのテンプレート導入部をさらに備える、請求項１９に記載の通信中継装置。
【請求項３３】
前記デバイス情報保持部は、各機能に対しデフォルトデバイスとして、前記内部ネットワーク上の前記第２の機器を登録し、
前記テンプレート保持部は、新たなテンプレートが追加されると前記仮想機器定義部に通知し、
前記仮想機器定義部は、新たなテンプレートが追加された通知を受けると前記デバイス情報保持部がもつデフォルトデバイスの情報をもとに前記仮想機器定義データの作成、登録を行う、請求項３２記載の通信中継装置。
【手続補正００２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
呼ぶ）やＴＶ電話サービス用の専用端末などが考えられる。それらがない場合にはＴＶ電話サービスを利用することはできなかった。
しかしながら、通信サービスはまったく新たな機能ばかりを要求するものではなく、既にある機器の能力が新しいサービスを利用するための能力の一部となることがしばしばである。新たなサービスに必要な機能は複数の機器に分かれてではあるが存在しており、それら機器単独では新たなサービスを利用するには機能が不足するため新たなサービスを利用できるようにすることができないという問題があった。
発明の開示
本発明の目的は、ネットワーク上のサービスを利用する際に、ネットワーク上の複数の機器にサービスに必要な機能ごと通信を接続し、各機器の機能を合わせてサービスを利用できるようにすることである。
上記のような目的を達成するために、この発明の１つの局面に従うと、ネットワーク上で機器間の通信を中継する通信中継装置であって、１つの通信サービスを利用するための仮想的な機器を定義する仮想機器情報を保持する手段を備え、仮想機器情報は、通信するデータの種類ごとにデータ中継先となる機器の指定を含み、仮想的な機器を利用する通信を、仮想機器情報内の中継機器情報に従ってデータの種類ごとに中継先の機器を選択して、少なくとも２つ以上の機器にデータを中継する手段と、通信サービスごとに通信するデータの種類の記述を含むテンプレートを保持し、テンプレートを用いて通信サービスの通信するデータの種類ごとに仮想機器情報を作成する仮想機器定義手段とをさらに備える。
この発明の他の局面に従うと、ネットワーク上で機器間の通信を中継する通信中継装置であって、１つの通信サービスを利用するための仮想的な機器を定義する仮想機器情報を保持する手段を備え、仮想機器情報は、通信するデータの種類ごとに少なくとも１種類のデータの中継先となる機器と少なくとも１種類のデータの通信中継装置内での処理の指定を含み、仮想的な機器を利用する通信の一部を仮想機器情報内の中継機器情報に従ってデータの種類ごとに中継先の機器を選択して中継する手段と、通信サービスごとに通信するデータの種類の記述を含むテンプレートを保持し、テンプレートを用いて通信サービスの通信するデータの種類ごとに仮想機器情報を作成する仮想機器定義手段とをさらに備える。
したがって、通信サービスが接続する仮想的な機器ごとに、通信するデータ種類ごとのデータ中継先の機器を設定することができるので、複数のサービスに対して複数の機器でのサービス利用が可能になる。


【手続補正００３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
また、通信中継装置自身が持つ情報を組み合わせたり、入出力手段やネットワークを介した情報を利用したりして、該通信サービスを利用するために使用する機器を決定することができる。
また、通信サービスごとに記述されたテンプレートに従ってデータ種ごとの接続先の機器を決めることによって、サービス利用可能な機器の組合せを作成することができる。
好ましくは、通信サービス利用のリクエストを受け付けると、仮想機器定義手段は通信サービスのテンプレートを用いて仮想機器情報を作成し、その仮想機器情報を用いて通信サービスの通信データを中継する
したがって、通信サービス利用のための接続要求を受け付けると、動的に該サービスのテンプレートを用いて仮想機器を構成して、それによって複数の機器でサービスが利用できる。
好ましくは、通信サービスのテンプレートを保持しないときには、装置外部から通信サービスのテンプレートをダウンロードする。
従って、サービス利用のための接続を受け付けて、それに該当するテンプレートがなくとも、通信中継装置が自発的に外部サーバーなどからテンプレートをダウンロードして、それを用いてサービスを利用できるような仮想機器を構成できる。
好ましくは、データの種類は、映像データ、音声データ、制御データとそれぞれの通信方向で区別される。
従って、音声、映像データをやりとりし、さらにサービスの制御を必要とするようなサービスを複数の機器に役割分担して利用できる。
好ましくは、データ中継時に中継するデータを中継先の機器が利用可能なフォーマットに変換して中継する。
従って、機器では扱えないフォーマットのデータでも、中継装置で扱えるフォーマットに変換して中継することによって、より多くのサービスを利用できる。


【手続補正００４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
好ましくは、データ中継先の機器が利用可能なフォーマットに変換する機能を持たないときに、変換プログラムを外部からダウンロードする。
従って、中継装置がデータ変換の機能を持たない場合でも、外部から変換プログラムが取得できれば、それを用いて、データ中継時のフォーマット変換が可能になる。
また、本発明のさらに他の局面に従うと、通信中継装置であって、外部ネットワーク上の第１の機器と通信を行うための外部通信インタフェースと、内部ネットワーク上で、複数の第２の機器と通信を行うための内部通信インタフェースと、内部ネットワーク上の複数の第２の機器を用いて外部ネットワーク上のサービスを利用可能にするための書換え可能な仮想機器定義データの保持および管理を行う仮想機器管理部とを備え、仮想機器定義データは、サービスを利用するための複数の機能のうち少なくとも１つを、少なくとも１つの第２の機器の有する複数の機能の１部により定義しており、内部ネットワーク上の複数の第２の機器を通信により利用するためのデバイス情報を保持するデバイス情報保持部と、外部ネットワークと内部ネットワーク間の相互データ交換を行う通信中継部とをさらに備え、通信中継部は、第１の機器と仮想機器定義データに含まれる複数の第２の機器との相互のデータ交換を、仮想機器定義データとデバイス情報とに基づいて行い、サービスを構成する機能が記述されたデータであるテンプレートを保持するテンプレート保持部と、テンプレート保持部が保持するテンプレートの各機能に対してデバイス情報保持部が保持するデバイスデータ割り当てることにより仮想機器定義データを作成し、仮想機器管理部に登録する仮想機器定義部とをさらに備える。
したがって、本発明の通信中継装置では、内部ネットワーク上には、機器単独では外部ネットワーク上の通信サービスを利用するに足る能力を持たない機器しかない場合も、複数の機器を統合した仮想機器を通信中継装置上に定義、登録することにより、当該サービスを利用することが可能になる。
また、本発明の通信中継装置によれば、サービスを個々の機能を表現した抽象的なデータ（テンプレート）を扱えるようにすることで、テンプレートを使って、ユーザが自由に機器を設定でき、サービス利用の機器構成がカスタマイズしやすくなる。また、同じサービスを利用する際に、同じテンプレートに対して使用する機器構成を変えた定義も簡単に作ることができる。
好ましくは、通信中継部は、外部通信インタフェースを用いて通信データの送受信を行ない、受信したデータから、接続要求メッセージを抽出して出力し、さらに、送信指示を受けて、応答メッセージを第１の機器に送信する外部通信部と、内部通信インタフェースを用いて通信データの送受信を行ない、受信したデータから、応答メッセージを抽出して出力し、さらに、送信指示に従って接続要求メッセージを内部ネットワーク上の複数の第２の機器に送信する内部通信部と、外部ネットワークからのメッセージを外部通信部を介して受け取り、仮想機器定義


【手続補正００５】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
好ましくは、通信中継部は、受信したデータの別の形式への変換、受信したデータの複数のデータへの分離、および複数の受信データの一体のデータへの統合のいずれかを実現するために必要なライブラリプログラムを保持するライブラリ保持部を含み、通信中継部は、ライブラリ保持部から必要なライブラリプログラムを選択して、演算処理した結果を用いて送信する。
したがって、本発明の通信中継装置によれば、データ変換などを行う機能をライブラリとして保持、管理できるようになっているため、後から新たな機能をライブラリとして追加することが可能である。
好ましくは、外部通信インタフェースを用いて、ライブラリプログラムを外部ネットワーク上の機器からダウンロードし、ライブラリ保持部にプログラムを追加することが可能なライブラリ導入部をさらに備え、通信中継部は、ライブラリ保持部に必要なライブラリプログラムがない場合、ライブラリ導入部に入手要求を行う。
したがって、本発明の通信中継装置によれば、ライブラリをダウンロードにより入手できるため、必要なライブラリを動的に入手することができる。
好ましくは、表示手段と入力手段とをさらに備え、仮想機器定義部は、表示手段と入力手段を用いるユーザインタフェイスを有し、ユーザインタフェイスにより、テンプレート保持部とデバイス情報保持部が保持する情報をユーザに提示し、ユーザが提示されたテンプレートの中から所望のテンプレートを選択することに




【国際調査報告】
2004015932.tif 000044
2004015932.tif 000045