(57)【特許請求の範囲】
【請求項１】
複数の種類のデータを通信する通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む、通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、
前記通信サービスの通信を、前記仮想機器情報内の前記中継機器情報に従ってデータの種類ごとに前記データ中継相手機器に中継する中継手段と、
ネットワークへの新たな機器の追加を検出する機器追加検出手段と、
通信サービスごとに通信する複数のデータの種類の記述を含む情報を保持し、前記情報を用いて前記通信サービスの通信するデータの種類ごとの通信中継先機器を指定する仮想機器情報を作成する仮想機器定義手段とを備え、
前記仮想機器定義手段は、前記機器追加検出手段が検出した機器を含む新たな仮想機器情報を作成する仮想機器追加手段を含む、通信中継装置。
【請求項２】
複数の種類のデータを通信する通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む、通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、
前記通信サービスの通信を、前記仮想機器情報内の前記中継機器情報に従ってデータの種類ごとに前記データ中継相手機器に中継する中継手段と、
ネットワークへの新たな機器の追加を検出する機器追加検出手段と、
通信サービスごとに通信する複数のデータの種類の記述を含む情報を保持し、前記情報を用いて前記通信サービスの通信するデータの種類ごとの通信中継先機器を指定する仮想機器情報を作成する仮想機器定義手段とを備え、
前記仮想機器定義手段は、前記仮想機器情報保持手段が保持する仮想機器情報を前記機器追加検出手段が検出した機器を用いるように変更する仮想機器変更手段を含む、通信中継装置。
【請求項３】
複数の種類のデータを通信する通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、
前記通信サービスの通信を、前記仮想機器情報内の前記中継機器情報に従ってデータの種類ごとに前記データ中継相手機器に中継する中継手段と、
ネットワークからの機器の削除を検出する機器削除検出手段と、
通信サービスごとに通信する複数のデータの種類の記述を含む情報を保持し、前記情報を用いて前記通信サービスの通信するデータの種類ごとの通信中継先機器を指定する仮想機器情報を作成する仮想機器定義手段とを備え、
前記仮想機器定義手段は、前記仮想機器情報保持手段から前記機器削除検出手段が検出した機器を含む仮想機器情報を削除する仮想機器削除手段を含む、通信中継装置。
【請求項４】
複数の種類のデータを通信する通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む、通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、
前記通信サービスの通信を、前記仮想機器情報内の前記中継機器情報に従ってデータの種類ごとに前記データ中継相手機器に中継する中継手段と、
ネットワークからの機器の削除を検出する機器削除検出手段と、
通信サービスごとに通信する複数のデータの種類の記述を含む情報を保持し、前記情報を用いて前記通信サービスの通信するデータの種類ごとの通信中継先機器を指定する仮想機器情報を作成する仮想機器定義手段とを備え、
前記仮想機器定義手段は、前記仮想機器情報保持手段が保持する仮想機器情報のうち、前記機器削除検出手段が検出した機器を含む仮想機器情報を利用可能な機器を用いて変更する仮想機器修正手段を含む、通信中継装置。
【請求項５】
複数の種類のデータを通信する通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、
前記通信サービスの通信を、前記仮想機器情報内の前記中継機器情報に従ってデータの種類ごとに前記データ中継相手機器に中継する中継手段と、
通信サービスごとに通信する複数のデータの種類の記述を含む情報を保持し、前記情報を用いて前記通信サービスの通信するデータの種類ごとの通信中継先機器を指定する仮想機器情報を作成する仮想機器定義手段とを備え、
前記仮想機器定義手段は、データ中継相手機器として選択するための条件、優先度に関する情報である優先機器指定情報を保持し、前記優先機器指定情報に従って中継相手となる機器を選択して仮想機器情報を作成する、通信中継装置。
【請求項６】
ネットワーク上の機器から機器が提供する機器に関する情報を収集する機器情報収集手段と、
前記機器情報収集手段が収集した情報から機器情報が変化したことを検出する機器情報変化検出手段と、
前記機器情報変化検出手段が変化を検出した機器を含む仮想機器情報を前記優先機器指定情報にしたがって更新する仮想機器順応手段とを、さらに備えることを特徴とする、請求項５に記載の通信中継装置。
【請求項７】
データ中継相手機器として選択するための条件、優先度に関する情報である優先機器指定情報を前記通信中継装置上に保持し、
前記仮想機器追加手段は、前記優先機器指定情報に従って機器を選択して仮想機器情報を作成することを特徴とする、請求項１に記載の通信中継装置。
【請求項８】
データ中継相手機器として選択するための条件、優先度に関する情報である優先機器指定情報を前記通信中継装置上に保持し、
前記仮想機器変更手段は、前記機器追加検出手段が検出した機器を用いるように前記優先機器指定情報に従って機器を選択して仮想機器情報を変更することを特徴とする、請求項２に記載の通信中継装置。
【請求項９】
データ中継相手機器として選択するための条件、優先度に関する情報である優先機器指定情報を前記通信中継装置上に保持し、
前記仮想機器修正手段は、前記機器削除検出手段が検出した機器の代わりに使用する機器を前記優先機器指定情報に従って選択して仮想機器情報を更新することを特徴とする、請求項４に記載の通信中継装置。
【請求項１０】
前記優先機器指定情報は、通信サービスごとに設定することが可能なことを特徴とする、請求項５から請求項９のいずれかに記載の通信中継装置。
【請求項１１】
前記優先機器指定情報は、複数の通信データ種についてのデータ中継相手機器間の関係に基づく情報であることを特徴とする、請求項５から請求項１０のいずれかに記載の通信中継装置。
【請求項１２】
前記優先機器指定情報は、複数の通信データ種についてのデータ中継相手機器の位置情報に基づいて優先して使用する機器の組み合わせを決定することができる情報である、請求項１１に記載の通信中継装置。
【請求項１３】
前記優先機器指定情報は、複数の通信データ種についてのデータ中継相手機器間の距離に基づいて優先して使用する機器の組み合わせを決定することができる情報である、請求項１１に記載の通信中継装置。
【請求項１４】
ユーザに入力を求め、ユーザが入力した情報を用いてデータ中継相手機器を決定するユーザ補助入力手段を備える、請求項１から請求項１３のいずれかに記載の通信中継装置。
【請求項１５】
前記ユーザ補助入力手段は、一意に決定されなかった複数の機器の情報を表示し、そのなかからユーザ入力からユーザが指定した機器を判別してデータ中継相手機器に決定するユーザインタフェイスであることを特徴とする、請求項１４に記載の通信中継装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上の２つの機器間で通信の中継処理を行なう通信中継装置の構成に関する。より特定的には、通信を中継する装置を用いることによってネットワーク上の１つのサービスを複数の機器が協調して利用することを可能にする通信中継装置に関する。
【０００２】
【従来の技術】
従来、インターネットとＬＡＮ（Local Area Network）などのように２つのネットワークを相互に接続し、通信を中継する機器として、「ゲートウェイ」がある。ゲートウェイを用いると、例えば、宅外のインターネットに繋がった機器とパソコンなどの宅内ＬＡＮ上の機器との間で通信し、宅内から宅外のサービスや情報を利用することができる。
【０００３】
ところで、通信を用いたサービスを利用するためには、一般には、サービスを利用するための複数の機能をもった１つの機器が必要である。そのような機器がない場合、新たなサービスを利用するためには、通信機能をもつ汎用的な機器にそうしたサービス利用のために必要な機能を追加するか、サービスを利用する機能を持った専用の機器を導入する必要がある。
【０００４】
このため、ユーザとして新たなサービスを導入する場合のコストは大きい。また、サービス提供者にとっても、新たに考案したサービスごとに新たな機器やソフトウェアを開発、提供していたのでは時間とコストがかかり、新たなサービスのアイデアを実践することを容易ではなくしている。
【０００５】
特開平９−２２４０８１号公報（特許文献１）には、ホームゲートウェイ装置であって、その上で複数の外線通信と内線通信を回線の違いをもとに通信の交換制御を行なうホームゲートウェイ装置が開示されている。
【０００６】
一方、特開平１０−２２４４０８号公報（特許文献２）に開示された通信システムは、データ種を区別して通信を制御したり、送信先の機能によってデータを変換したりするシステムである。
【０００７】
さらに、特開２０００−３５８０６１号公報（特許文献３）には、外部ネットワークと内部ネットワークの間でデータをフォーマットし、かつルーティングするような通信中継装置が開示されている。
【０００８】
しかしながら、以上の従来の技術には、複数の機器に対してデータ種によって通信先を切り替えたり、振り分けたりすることは含まれていない。
【０００９】
複数の機器を組み合わせる技術については、特開平１１−２８２６４１号公報（特許文献４）のシステムが開示されている。このシステムでは、デバイスが所定のデバイスと接続されているかを判断して、単独機能の機器として働くか、所定のデバイスと接続して協調して働くかを切り替える。たとえば、プリンタとスキャナがＩＥＥＥ１３９４バスで接続されていることを判断して、複写機として働く。ただし、端末自身が特定の機器と接続されているかどうかを判断し、端末自身の振舞いを切り替えるというものであり、データを中継して、データの種類によって中継先の機器を切り替えたりするものではない。
【００１０】
また、特開２００１―３５６９７６号公報（特許文献５）は、ネットワークに接続された機器の機能を合わせた複合機能に関連する。これは機能を統合すること自体の技術ではなく、機器の単体機能のほかに、単体機能を合わせて実現される複合機能を表示することができるというユーザインタフェイスに関する技術が開示されている。
【００１１】
また、自身の存在や自身を操作するための情報を他の機器に通知する技術は、既に存在しており、代表的なものにユニバーザルプラグアンドプレイ(Universal Plug and Play、以下、「ＵＰｎＰ」と略す)の技術がある。ユニバーザルプラグアンドプレイ対応の機器は常にその時点でネットワークに接続されている他の機器の存在や機器を操作するための情報を得ることができる。
【００１２】
【特許文献１】
特開平９−２２４０８１号公報
【００１３】
【特許文献２】
特開平１０−２２４４０８号公報
【００１４】
【特許文献３】
特開２０００−３５８０６１号公報
【００１５】
【特許文献４】
特開平１１−２８２６４１号公報
【００１６】
【特許文献５】
特開２００１−３５６９７６号公報
【００１７】
【発明が解決しようとする課題】
一般に、通信を用いたサービスはまったく新たな機能ばかりを要求するものではなく、既にある機器の能力が新しいサービスを利用するための能力の一部となることもしばしばである。そこで、サービスを利用するために、複数の機器を機能を組み合わせて利用することを考えるとき、同一の機能をもった機器でサービスに適した機器がどれなのかはサービスの詳細を定義しているサービス提供側にはわかっても、ユーザには分かりにくいものであり、同種の能力を持った機器が複数ある場合にはどの機器が最もサービスに適しているかは利用してみないとユーザには分からないので、どの機器を使用すればよいか判断できない。
【００１８】
また、ユーザがサービスを利用するために使用するネットワーク上の機器については、その時々で使用できる機器、ネットワークにつながっている機器が変わったり、機器自体の状態も変わったりするものもあるため、あらかじめ、機器の組合せを設定しても、サービスを利用しようとしたときの状況に一致していないため、サービスを利用できないという状況が起こりうるという課題があった。
【００１９】
例えば、テレビ（以下、ＴＶと呼ぶ）電話サービスを例に説明すると、一方にはＴＶ電話のサービスを利用することができる機器が導入されており、通話相手となる他方のネットワーク上に同じようにＴＶ電話サービスを利用可能な機器がなく、通信の中継を行なう通信中継装置を導入し、通信中継装置上でＴＶ電話を構成する個々の機能を持った機器を組み合わせた仮想的な機器を定義してサービスを利用する場合に、ネットワーク上に新たに機器が追加されたとき、または既存の機器が削除されたときには、また、機器が通信可能でない状態にあるとき、ユーザが通信中継装置上で複数の機器を組み合わせた仮想機器の登録状態を修正しない限り、現状に即したサービス利用環境に更新することができなかった。
【００２０】
また、サービスによって、同じ種類のデータでも特徴が異なる可能性があり、たとえば、ＴＶ電話のような場合、相手は携帯電話のような液晶パネルを想定した小さなサイズの画像データを送るものかもしれないし、家族みんなが見られるようなＴＶ電話するような大きな画像データを送るものかもしれない。機器の組合せを決めるときにどの機器を利用するか判断するためにはこうしたサービスの特徴を知る必要があり、どういったデータ種類の通信がサービスに含まれるかだけでは判断できないことがあった。
【００２１】
以上、ネットワーク上のサービスとして課題を説明したが、これはサービスと呼ばれるものに限らない。一般に機器間で通信を行なう際に、それぞれの機器が十分な機能を持っていて初めて、意味のある通信を行なうことができる。どちらかの機器が機能不足であれば、データを受信することもできないかもしれないし、受信できたとしてもそのデータが機器の扱うことのできないものであればデータの受け渡しを行った意味がなくないので、やりとりするデータを十分に扱えるだけの機器に協調動作させることが必要になる。その際にサービスに対する機器の適正度の違いやネットワーク上の機器構成の変化により、利用できるサービスの状況が変化することは同様に存在する課題である。
【００２２】
本発明は、上記のような問題点を解決するためになされたものであって、その目的は、通信するデータの種類ごとにデータ中継先の機器を指定し、適切な複数の機器を適応的に選択して、１つのサービスを利用可能にするような機能をもった通信中継装置を提供することである。
【００２３】
【課題を解決するための手段】
したがって、この発明の１つの局面に従うと、通信中継装置であって、通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む、通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、通信サービスの通信を、仮想機器情報内の中継機器情報に従ってデータの種類ごとに指定の機器相手に中継する中継手段と、ネットワークへの新たな機器の追加を検出する機器追加検出手段と、機器追加検出手段が検出した機器を含む新たな仮想機器情報を作成する仮想機器追加手段とを備える。
【００２４】
あるいは、この発明の他の局面に従うと、通信中継装置であって、通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む、通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、通信サービスの通信を、仮想機器情報内の中継機器情報に従ってデータの種類ごとに指定の機器相手に中継する中継手段と、ネットワークへの新たな機器の追加を検出する機器追加検出手段と、仮想機器情報保持手段が保持する仮想機器情報を機器追加検出手段が検出した機器を用いるように変更する仮想機器変更手段とを備える。
【００２５】
したがって、新たな機器がネットワークに追加されると自動的にその機器を用いて構成可能な仮想機器を定義してサービスを利用可能にでき、または、自動的に定義済みの仮想機器を新たに追加された機器を含む構成に変更でき、それによって、新しく追加された機器を用いてサービスを利用可能にできる。
【００２６】
この発明のさらに他の局面に従うと、通信中継装置であって、通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、通信サービスの通信を、仮想機器情報内の中継機器情報に従ってデータの種類ごとに指定の機器相手に中継する中継手段と、ネットワークからの機器の削除を検出する機器削除検出手段と、仮想機器情報保持手段から機器削除検出手段が検出した機器を含む仮想機器情報を削除する仮想機器削除手段とを備える。
【００２７】
この発明のさらに他の局面に従うと、通信中継装置であって、通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む、通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、通信サービスの通信を、仮想機器情報内の中継機器情報に従ってデータの種類ごとに指定の機器相手に中継する中継手段と、ネットワークからの機器の削除を検出する機器削除検出手段と、仮想機器情報保持手段が保持する仮想機器情報のうち、機器削除検出手段が検出した機器を含む仮想機器情報を利用可能な機器を用いて変更する仮想機器修正手段とを備える。
【００２８】
したがって、機器がネットワーク上に存在しなくなったために利用できなくなった仮想機器は自動的に通信中継装置から削除したり、または、代替となる機器で置き換えて、従来利用できていたサービスが利用可能な状態を維持したりすることができる。
【００２９】
この発明のさらに他の局面に従うと、通信中継装置であって、通信サービスに対して、通信するデータの種類ごとにデータ中継相手機器を指定する中継機器情報を内部に含む通信サービス利用のための仮想機器情報を保持する仮想機器情報保持手段と、通信サービスの通信を、仮想機器情報内の中継機器情報に従ってデータの種類ごとに指定の機器相手に中継する中継手段と、データ中継相手機器として選択するための条件、優先度に関する情報である優先機器指定情報を保持し、優先機器指定情報に従って中継相手となる機器を選択して仮想機器情報を作成する仮想機器定義手段とを備える。
【００３０】
したがって、通信中継装置上で仮想機器を定義する際に、同機能を持つ機器間でより優先して使用したい機器でサービスを利用することができるようになる。
【００３１】
また、好ましくは、通信中継装置は、ネットワーク上の機器から機器が提供する機器に関する情報を収集する機器情報収集手段と、前期機器情報収集手段が収集した情報から機器情報が変化したことを検出する機器情報変化検出手段と、機器情報変化検出手段が変化を検出した機器を含む仮想機器情報を優先機器指定情報にしたがって更新する仮想機器順応手段をさらに備える。
【００３２】
したがって、機器の状況が異なった場合に、より適切な機器に構成を変えて、サービスを利用することができる。
【００３３】
さらに、好ましくは、通信サービスごとに異なる優先機器指定情報を設定できるようにする。
【００３４】
したがって、サービスごとに適する機器のタイプ、機能などを設定できるので、サービスの機能を十分実施できる機器を優先して組み合わせてサービスが利用できるようになる。
【００３５】
好ましくは、上記の優先機器指定情報は、複数の通信データ種についてのデータ中継相手機器間の関係に基づく情報を含む。
【００３６】
したがって、データ種のみならず、サービスを複数の機器で組み合わせて利用するのに適した機器間の関係を指定することができる。
【００３７】
好ましくは、上記データ中継相手機器間の関係は、機器の位置関係や機器間の距離に基づくものを含む。
【００３８】
したがって、近くになければサービス利用に不都合な機器の組合せを避けることができる。
【００３９】
さらに、好ましくは、ユーザに入力を求め、ユーザが入力した情報を用いてデータ中継相手機器を決定するユーザ補助入力手段を備える。
【００４０】
したがって、通信中継装置はユーザに問い合わせ、データ中継相手機器選択のアドバイスを受けて、ユーザの意見を反映して機器選択することができる。
【００４１】
さらに、好ましくは、ユーザ補助入力手段は、一意に決定されなかった複数の機器の情報を表示し、そのなかからユーザ入力からユーザが指定した機器を判別してデータ中継相手機器に決定するユーザインタフェイスである。
【００４２】
したがって、通信中継装置が絞り込んだり、優先順位付けた候補のなかから、ユーザが希望のデータ中継相手機器を指定して、サービスを利用できるように設定できる。
【００４３】
【発明の実施の形態】
以下に、本発明の実施の形態を図にしたがって説明する。
【００４４】
ただし、本発明の具体的な構成を説明するために、その前提として、最初に、用語について定義をしておく。
【００４５】
「仮想機器情報」は通信中継装置上でサービスを利用するための仮想的な機器を定義するための情報であるが、本実施例においては「仮想機器定義データ」呼んでいる。また、仮想機器情報内にあり、中継先の機器を指定する「中継機器情報」は、本実施形態においては、仮想機器定義データ内に「機能」として記述している情報に相当する。
【００４６】
また、本実施の形態ではＳＩＰ（Session Initiation Protocol、以後「ＳＩＰ」と略す）を用いた「セッション」に基づいて通信を行なう。ただし、本発明の適用範囲は、以下に説明する実施の形態の構成に限定されるものではない。
【００４７】
（実施の形態１）
図１は、本発明の実施の形態１の通信中継装置１００の機能ブロック図であり、通信中継装置１００の構成と、通信中継装置１００のネットワークへの接続を表している。
【００４８】
図１を参照して、通信中継装置１００は、インターネットなどの宅外のネットワークを介して通信を行なうための外部通信インタフェース部１０１と、家庭内ＬＡＮなどの宅内ネットワークなどを介して宅内の機器と通信を行なうための内部通信インタフェース部１０２と、外部通信インタフェース部１０１と内部通信インタフェース部１０２を用いて、宅外ネットワーク上の機器と宅内ネットワーク上の機器との通信を中継する通信中継部１０３と、宅内のネットワークに接続している機器の情報（デバイス情報）を保持、管理する機能を持ち、新たな機器の追加や削除などの更新があった時には仮想機器定義部や仮想機器管理部に通知する機能を持つ、デバイス情報保持部１０４と、ユーザが中継機器内の機能を利用するためのキーボード、もしくはボタン、マウスなどの入力部１０５と、ユーザに通信中継装置内で持っている情報を表示するための液晶パネルなどの表示部１０６とを備える。
【００４９】
通信中継装置１００は、さらに、仮想機器定義に必要なユーザとの対話を入力部１０５と表示部１０６を用いて行なう機能を含み、さらに、デバイス情報保持部１０４から保持する内部機器の情報に更新があったときに、仮想機器を定義、削除、又は修正、変更する機能を持つ仮想機器定義部１０７と、仮想機器定義部１０７において定義された仮想機器に関する情報を保持、管理する仮想機器管理部１０８と、外部通信インタフェース部１０１を使って、宅外ネットワーク上のサービスプロバイダなどのサーバ機よりサービスの機能を定義したサービステンプレートデータを機器上に取り込むテンプレート導入部１０９と、テンプレート導入部１０９が入手したテンプレートデータを中継機器上の利用可能なサービスのテンプレートとして保持、管理するテンプレート保持部１１０と、内部ネットワーク１１５内で、新たな機器が内部機器として接続されたこと、又は既存の内部機器が削除されたことを検出し、デバイス情報保持部１０４に通知する機能を持つ内部機器検出部１１１と、内部機器検出部１１１により接続が検出された新たな内部機器が持っている機能を収集する機能を持ち、さらに内部機器の情報であるデバイス情報を作成し、デバイス情報保持部１０４に登録する機能と、通信可能な内部機器の情報を定期的に収集して、デバイス情報保持部１０４が保持するデバイス情報の変化を検出し、知らせる機能を持つ内部機器機能収集部１１２とを備える。
【００５０】
このような通信中継装置１００により、外部ネットワーク１１３上にあるサービス１１４を内部ネットワーク１１５上の複数の内部機器１１６、１１７が共同して利用することを可能にする。
【００５１】
すなわち、以下に詳しく説明するように、仮想機器定義部１０７内では、「仮想機器を追加する機能」、「仮想機器を変更する機能」、「仮想機器を削除する機能」、「仮想機器を修正する機能」、「仮想機器を定義する機能」および「仮想機器を順応する機能」が実現され、仮想機器定義部１０７内では、「ユーザによる補助入力のための機能」の一部が実現され、仮想機器管理部１０８内では、「仮想機器情報を保持する機能」が実現され、内部機器検出部１１１内では、「機器の追加を検出する機能」および「機器の削除を検出する機能」が実現され、内部機器機能収集部１１２内では、「機器情報を収集する機能」と「機器情報の変化を検出する機能」が実現されている。しかし、これらについても、以上のような機能を実現するためには、以下の実施の形態の構成に限定されるものではない。
【００５２】
また、本実施の形態において、「ユーザによる補助入力の機能」の他の一部は、通信中継装置１００の表示部１０２、入力部１０５をもちいたユーザインタフェイスで実施しているが、それに限定するものではない。たとえば、通信を用いて、他の装置に選択候補の情報を出力し、その中からユーザが選択した結果を通信で受け取り、それを用いてもよい。
【００５３】
なお、図１で言う通信中継装置から見た「外部ネットワーク」とは、提供される通信サービスのある側のネットワーク、「内部ネットワーク」とは、通信中継装置を介してサービスを利用するための機器が接続されている側のネットワークである。
【００５４】
以下では、まず、サービスに必要な機能を表現するデータ「テンプレート」を利用して仮想機器定義データを作成し、通信中継装置１００に登録し、これによって、内部ネットワーク上の複数の機器との通信の中継を行って当該サービスを利用することを可能にする通信中継装置１００の動作について説明する。
【００５５】
このような動作は、以下に説明する実施の形態１に限らず、他の実施の形態にも共通な本発明の通信中継装置の基本部分の実施例となる。
【００５６】
以下、本発明で言う「テンプレート」とは、通信サービスを利用するために必要な能力の記述であり、サービスの機能構成の情報ということもできる。そのようなテンプレートデータは、図１に示したテンプレート保持部１１０で保持され、仮想機器定義部１０７がテンプレート保持部のテンプレートデータとデバイス情報保持部１０４のデバイス情報をもとに仮想機器定義データを作成する。
【００５７】
ユーザが、ＧＵＩ（Graphical User Interface）を含む入力部を用いてサービスに関する情報を入力すると、それをもとにテンプレートデータが通信中継装置１００内部で作成され、テンプレート保持部１０４に登録される。また、ユーザがＵＲＬ（Uniform Resource Locater）を指定することによって、サービスが提供される外部ネットワークからサービスに関する情報をダウンロードして、それをもとにテンプレートデータを作成し、登録することもできる。
【００５８】
図２は、テンプレート保持部１１０に保持されるテンプレートデータの例を示す概念図である。図２では、４つのテンプレートデータの例（テンプレート１からテンプレート４）が示されている。
【００５９】
図２を参照して、テンプレート１は、ＴＶ電話機能を定義するもので、音声電話, 映像入力, 映像出力の３つの機能で構成されていることを表現している。
【００６０】
テンプレート２は、やはりＴＶ電話機能を定義しているが、電話型呼制御,  音声入力,  音声出力,  映像入力,  映像出力の５つに細分されたものである。このように、同じサービス、機能でも、異なったテンプレートとして表現可能である。
【００６１】
また、仮想機器定義部１０７は、音声電話機能を定義するテンプレート３とテンプレート１と組み合わせて仮想機器を構成することもできる機能も持つ。電話型呼制御機能についても、テンプレート４用いて、発呼、着呼の機能を用いた表現に読み換えることができる。これによって、機能の階層的な表現を可能にしている。
【００６２】
図３は、デバイス情報保持部１０４に格納される、内部ネットワーク（宅内ネットワーク）１１５上のデバイス情報を示す図である。
【００６３】
図３を参照して、デバイス情報には、内部機器１は、ＩＰ電話１で、プライベートＩＰアドレスは192.168.1.1であることが記述される。入力音声は、ＲＴＰ（Real-time Transport Protocol）、G.711で送信する。出力音声はＲＴＰ、G.711で受信する。発呼はＳＩＰを用いて行なう。着呼はＳＩＰを用いて行なう。
【００６４】
さらに、デバイス情報には、内部機器２は、ｗｅｂカメラ１で、アドレスは192.168.1.2であることが記述される。入力映像は、接続にはＳＩＰを用い、ＲＴＰでH.261形式のデータを送信する。
【００６５】
さらに、デバイス情報には、内部機器３は、テレビ１で、アドレスは192.168.1.3であることが記述される。出力データ出力映像は、接続にはSIPを用い、RTPでH.261データを受信する。
【００６６】
デバイス情報はデバイス情報保持部１０４に格納され、一方、仮想機器定義データは仮想機器管理部１０８内に格納される。
【００６７】
図４は、仮想機器定義部１０７で仮想機器定義データが作成される処理における内部でのデータの変遷を示す図である。
【００６８】
仮想機器定義部１０７で、図２のテンプレート群と図３に示したデバイス情報から、ＴＶ電話サービス１を指定して、図４に示す処理に従って、仮想機器定義データが作成される。
【００６９】
（１）使用テンプレートの選択
まず、サービス名称「ＴＶ電話サービス１」のテンプレートとして、ユーザがテンプレート２を指定したため、テンプレート２が仮想機器作成の元になるテンプレートデータとして選択される。
【００７０】
（２）テンプレートの詳細化
次に、（１）で選択されたテンプレートの構成機能で、他のテンプレートで定義されているものがないか検索し、そのようなものが存在すれば、仮想機器定義部１０７は、見つかったテンプレートで構成機能を変換する。図４の場合、具体的には、「テンプレート２」の構成機能の１つである「電話型呼制御」という機能が別のテンプレート４でよりプリミティブな機能構成が定義されていたため、テンプレート４を用いて「電話型呼制御」を「着呼」、「発呼」の２つの機能に置き換えたテンプレート（図４では詳細化テンプレートと呼ぶ）が作成される。
【００７１】
（３）機器の割り当て
さらに、デバイス情報保持部１０４のもつデバイス情報から、詳細化テンプレートの各機能をもつ機器が抽出される。利用可能なデバイスが複数ある場合には、仮想機器定義部１０７は、ユーザに選択を要求し、テンプレートの各構成機能に具体的な機器を割り当てた機器マッピングテンプレートのデータを作成する。図４では、音声入出力、および発呼、着呼の機能にはＩＰ電話１が、映像出力にはテレビ１が、映像入力にはｗｅｂカメラ１が割り当てられた機器マッピングテンプレートが作成されている。
【００７２】
（４）仮想機器データ作成
仮想機器管理部１０８が発行した仮想機器ＩＤと、ユーザが設定した仮想機器名称を用いて、仮想機器定義部１０７は、機器マッピングテンプレートを仮想機器定義データフォーマットのデータに変換する。
【００７３】
このように、サービスを個々の機能を表現した抽象的なデータ（テンプレート）を扱えるようにすることで、テンプレートを使って、ユーザが自由に機器を設定でき、サービス利用の機器構成がカスタマイズしやすくなる。また、同じサービスを利用する際に、同じテンプレートに対して使用する機器構成を変えた定義も簡単に作ることができる。
【００７４】
新たな仮想機器を定義するためには、通信中継装置１００に新たな仮想機器作成の指示や、テンプレートや使用する機器をユーザが指定する必要があるため、図１のように入力部１０５や表示部１０６を使用する。
【００７５】
以下では、通信中継装置１００で用いられるＧＵＩ（Graphical User Interface）について説明する。
【００７６】
図５は、ＧＵＩを用いた仮想機器定義の処理を説明するためのフローチャートである。また、図６は、具体的に、テンプレートを指定し、それの各構成機能に内部機器をアサインしていく際のＧＵＩの表示例を示す図である。
【００７７】
以下に、ユーザが仮想機器定義部に含まれるＧＵＩを用いて対話的に仮想機器を作成、登録する際の流れを図５および図６を参照して説明する。
【００７８】
まず、ユーザは「仮想機器作成」ボタンを押す（ステップＳ１０２）。
応じて、仮想機器作成画面が現れる。そこにはテンプレート保持部１１０が保持しているテンプレートから作成する仮想機器の利用可能なサービスのリストが表示される（ステップＳ１０４）。
【００７９】
ユーザは、リストからサービスを選択する（ステップＳ１０６）。
サービスに複数のテンプレートがある場合は（ステップＳ１０８）、複数のテンプレートが表示され、その中から選択する（ステップＳ１１０）。
【００８０】
一方、テンプレートがただ１つの場合は（ステップＳ１０８）、自動的にそのテンプレートが選択される。
【００８１】
続いて、機器設定画面が表示される。選択したテンプレートと機能のリストが表示される（ステップＳ１１２）。
【００８２】
ユーザが機能を選択すると、その機能を使用するための機器、もしくはテンプレート名が表示されるので、希望のものを選択する（ステップＳ１１４）。
【００８３】
テンプレートを選択した場合（ステップＳ１１６）は、テンプレートのデータを使って展開された機能リストが表示される（ステップＳ１１８、Ｓ１１２）。
【００８４】
その上で選択した機能に対応する機器を選択した場合は（ステップＳ１１４，Ｓ１１６）、機器が設定され、全ての機能に機器を設定済みでないと（ステップＳ１２０）、機能リストの表示に戻る（ステップＳ１１４）。なお、図６は、ここまでの処理を示す。
【００８５】
全ての機能に機器が選択されると（ステップＳ１２０）、登録ボタンが選択可能になる。
【００８６】
ユーザが登録ボタンを押すと（ステップＳ１２２）、仮想機器管理部１０８に登録される（ステップＳ１２４）。
【００８７】
すなわち、全ての機能に機器の指定が終わると、登録ボタンが現れ、選択すると仮想機器として登録可能になる。中止を選択すると登録されずに処理選択画面に戻る。
【００８８】
以上のような構成により、サービス利用のための仮想機器を組み立てるためのＧＵＩをもつため、ユーザが簡単にテンプレートと機器を選択して、サービス利用の仮想機器の構成を作ることができる。
【００８９】
図７は、前記の処理により仮想機器管理部に登録されたＴＶ電話サービスの仮想機器７の定義データを示す図である。図７の仮想機器定義データ内で「機能」を記述している部分が「中継機器情報」に相当するものである。
【００９０】
「仮想機器定義データ」においては、仮想機器の名前（ＩＤ）が「ＴＶ電話１」で、「ＴＶ電話サービス」を利用し、「ＴＶ電話機能」を実現するものであることが記述されている。
【００９１】
さらに、図７に示した「仮想機器定義データ」においては、発呼、着呼機能はＳＩＰで行い、宅内のＩＰ電話１に中継する。この場合、ＳＩＰを用いるため、仮想機器の名前にＳＩＰアドレスとして使用可能なものを設定する。
【００９２】
なお、本実施の形態の説明では、説明のために簡略して「ＴＶ電話１」のような機器の名称記述にしているが、実際には通信プロトコルにあわせたアドレスを名称として設定する。例えば、「ＴＶ電話１」はtvtel1@gatewayといったＳＩＰアドレスが実装時の名称となる。
【００９３】
一方、音声入力、音声出力は、ＲＴＰ（Realtime Transport Protocol）を用いてデータを送信する。エンコードは、G.711を用いる。
【００９４】
映像出力は、ＲＴＰを用いてデータ受信する。データはH.261コーデックである。映像入力は、ＲＴＰを用いてデータ送信する。データはH.261形式である。
【００９５】
音声入出力、映像入出力、発呼、着呼の全てが必要であることの記述である。
図８は、通信中継装置１００の通信中継部１０３内の詳細構成を示す機能ブロック図である。
【００９６】
通信中継部１０３は、このような構成によって、接続要求時にデータ送受信するための情報をやりとりし、データ送受信のセッションを管理し、データ通信の中継を行なう。
【００９７】
図９は、ＴＶ電話サービス利用時に実施されるデータ通信の例を示す図である。
【００９８】
以下、図８と図９を参照して、通信中継部において行われるメッセージ、およびデータの中継について説明する。
【００９９】
まず、図８を参照して、通信中継部１０３において、外部通信部１０３１は、外部通信インタフェース部１０１が受信したパケットを受け取り、パケットを解析して、受信メッセージを抽出した上で、メッセージ中継部１０３２に受け渡し、外部通信インタフェース部１０１を用いて外部ネットワーク１１３上の機器に対してメッセージ中継部１０３２の作成したメッセージの送信を行い、また、外部ネットワーク１１３から特定のポートに届いたデータをデータ中継部１０３５に受け渡し、さらに、外部機器に対しポートを指定してデータ中継部１０３５から受けたデータを送信する。
【０１００】
図８および図９に示した例では、外部通信部１０３１は、外部ネットワーク１１３上のＴＶ電話機１（６−１）が送信した接続要求メッセージを抽出し、メッセージ中継部１０３２に受け渡し、さらに、メッセージ中継部１０３２の作成した接続要求応答を送信させる。
【０１０１】
メッセージ中継部１０３２は、外部通信部１０３１、内部通信部１０３３から、受信したリクエストや応答などのメッセージを受け取り、中継処理を行なう。中継処理としては、メッセージの内容を解析し、メッセージの宛先である仮想機器定義データの情報を仮想機器管理部１０８から、それに使用されている宅内機器に関する情報をデバイス情報保持部１０４から取得し、それをもとにメッセージ送信先を決定し、新たなメッセージを作成する。そして、外部通信部１０３１、内部通信部１０３３にメッセージ送信の依頼を行なう。
【０１０２】
また、メッセージ中継部１０３２は、メッセージを中継する際にメッセージから得られた情報をもとに、宅内機器と宅外機器との間でデータ送受信の接続が張られたり、解消したりすることに関する情報をセッション管理部１０３４に受け渡す。
【０１０３】
図１０は、ＴＶ電話サービスにおいて、内部ネットワーク１１５側の機器に対する着呼があった場合の接続確立までの流れを示す図である。
【０１０４】
図１０に示すセッション確立までの例では、メッセージ中継部１０３２は、接続要求メッセージ（１）からＴＶ電話１の定義情報をもとに、（３）−ａ、（３）−ｂ、（３）−ｃの接続要求メッセージ（接続リクエスト）を作成し、それぞれの機器に送信するよう内部通信部１０３３に指令し、さらに、内部通信部１０３３から受け取る応答（４）−ａ、（４）−ｂ、（４）−ｃをもとに、接続要求応答メッセージ（６）を作成して、外部通信部１０３１に送信を指示する。
【０１０５】
図８において、内部通信部１０３３は、内部通信インタフェース部１０２が受信したパケットを受け取り、パケットを解析して、受信メッセージを抽出し、メッセージ中継部１０３２に受け渡し、さらに、内部通信インタフェース部１０２を用いて内部ネットワーク１１５上の機器に対してメッセージ中継部１０３２の作成したメッセージの送信を行い、また、内部ネットワーク１１５から特定のポートに届いたデータをデータ中継部１０３５に受け渡し、内部機器に対しポートを指定してデータ中継部１０３５から受けたデータを送信する。
【０１０６】
内部通信部１０３３は、メッセージ中継部１０３２が作成した（３）−ａ、（３）−ｂ、（３）−ｃの接続リクエストを各機器に送信し、さらに、各機器から受信した応答（４）−ａ、（４）−ｂ、（４）−ｃをメッセージ中継部１０３２に受け渡す。
【０１０７】
セッション管理部１０３４は、メッセージ中継部１０３２からデータ送受信の接続の確立や解消についての情報を取得し、通信中継装置上でのデータの中継のためのセッション情報を保持、管理し、データ中継部１０３５にどのようにデータ中継するかの指示を行なう。なお、セッション情報については図１２の説明で後述する。
【０１０８】
図１１は、内部ネットワーク１１５側の機器からの発呼する場合の接続確立までの流れを示す図である。
【０１０９】
内部ネットワーク１１５側の機器からの発呼するためには、IP電話１（６−６）からＳＩＰ接続要求が通信中継装置１００に対して送信される。その際、ＩＰ電話１（６−６）は、発信時に通信中継装置１００に対し、どの仮想機器で外部発信するかを指定する必要がある。IP電話１（６−６）は、接続要求メッセージ内の"From:"から始まる行（以後、「Fromフィールド」と呼ぶ）に接続要求元となるアドレス（図１１では、"ＴＶ電話１"が設定されている）を設定して、接続要求する機能をもつ。通信中継装置は接続要求メッセージ中のFromフィールドから接続要求を行った機器のアドレスが分かり、そのアドレスを発呼機能として仮想機器を検索して利用する。
【０１１０】
図１１では、ＴＶ電話を発呼機能としている仮想機器において、サービス利用に必要なすべての機器（webカメラ１（６−５）、テレビ１（６−７））への接続要求を行い、全てと接続確立した後、ＴＶ電話機１（6−1）に接続要求が送信される。
【０１１１】
図１２は、図９のＴＶ電話の場合で、メッセージ中継部１０３２から受け渡された情報をもとに作成するセッション情報データの例を示す図である。
【０１１２】
図１２を参照して、セッションを識別するためのセッション識別情報sessionIDは、図７のＴＶ電話の例では、呼識別情報call-IDを利用する。メッセージ中継部１０３２より、ＴＶ電話の確立した時点で、以下の情報がセッション管理部１０３４に送られる。
・外部音声送信先（12345@ＴＶ電話, ＴＶ電話機:port2-1A, RTP, G.711）
・外部映像送信先（12345@ＴＶ電話, ＴＶ電話機:port2-1V, RTP, H.261）
・外部からの音声受信ポート（12345@ＴＶ電話, port2-3Ao, RTP, G.711）
・外部からの映像受信ポート（12345@ＴＶ電話, port2-3Vo, RTP, H.261）
・内部音声送信先（12345@ＴＶ電話, ＩＰ電話１:port2-6A, RTP, G.711）
・内部映像送信先（12345@ＴＶ電話, テレビ1:port2-7V, RTP, H.261）
・内部からの音声受信ポート(12345@ＴＶ電話, port2-3Ai, RTP, G.711)
・内部からの映像受信ポート(12345@ＴＶ電話, port2-3Vi, RTP, H.261)
セッション管理部１０３４は、この情報をもとに内部と外部で同種のデータを中継するように組み合わせて、データ通信を中継するためのセッション情報データを作成する。
【０１１３】
データ中継部１０３５は、セッション管理部１０３４で作成、管理されているセッション情報に従って、外部通信部１０３１、内部通信部５−２と連携して、外部通信インタフェース部１０１、内部通信インタフェース部１０２を使用してデータの送受信を行なう。
【０１１４】
セッション管理部１０３４では、セッション情報データによってセッションを管理する。
【０１１５】
図１２に示したセッション情報データのデータフォーマットは、セッション管理部１０３４がセッションを識別するためのIDと、データを中継するための中継情報からなる。「中継情報」は、データ種別（audio, video, etc）ごとに、外部ネットワーク１１３から内部ネットワーク１１５へのデータ送信(OUT→IN)と内部ネットワークから外部ネットワークへのデータ通信(IN→OUT)の２種類の中継の定義を含む。
【０１１６】
それぞれの中継の定義は、特に限定されないが、例えば、以下のように記述する。
【０１１７】
（ (データ送信元の機器, 中継装置でデータを受けるポート, プロトコル, データ形式),
(データ送信先の機器, データ送信先機器がデータを受けるポート, プロトコル, データ形式) ）
データ中継部１０３５は、セッション管理部１０３４が保持しているセッション情報データ内で、データを受信することになっているポートを監視し、届いたデータはセッション情報データで指定されている送り先の機器のポートに送信する。
【０１１８】
以上のように、メッセージ中継部１０３２で、図８の接続処理を行い、その結果を受けたセッション管理部１０３４が図１２のセッション情報データをもってセッションの管理を行い、データ中継部１０３５がセッション管理部１０３４の持つ図１２のセッション情報データに基づいて図７に示すデータ送受信を行なう。
【０１１９】
つまり、以上の説明の例では、図１０、および図１１はＴＶ電話の例での接続確立までの流れを示し、それによって図９のようなＴＶ電話のデータ送受信が行われる。
【０１２０】
以上の説明をもとに、図１０を用いて、接続要求、応答のメッセージについて詳しく説明する。
【０１２１】
図１０において、メッセージは、メッセージデータそのものではなく、それに含まれる主要な情報を書き出したものである。また、接続にはＳＩＰを用いた例であるが、それに限るものではない。
【０１２２】
（１）ＴＶ電話機６−１より、通信中継装置１００上の「仮想機器１」に対し、ＳＩＰを用いて接続要求（発呼）を行なう。接続要求メッセージ中には、ＴＶ電話機６−１が音声、および映像のデータを受けるポート情報(port6-1A, port6-1V)を含む。
【０１２３】
（２）通信中継装置１００は、通信中継部５−７で接続要求メッセージを受け取る。メッセージから「ＴＶ電話１」への接続要求であることが分かるので、仮想機器管理部１０８の仮想機器定義データを参照する。通信中継装置１００は、発呼、着呼機器、音声入出力機器がＩＰ電話１、映像入力機器がｗｅｂカメラ１、映像出力機器がテレビ１であることを認識する。
【０１２４】
（３）通信中継装置１００の通信中継部１０３は、着呼機能デバイスであるＩＰ電話１、ｗｅｂカメラ１、テレビ１に関する情報をデバイス情報保持部１０４から入手し、ＩＰ電話１に対し音声入出力の接続リクエスト（（３）−ａ）、ｗｅｂカメラ１に映像入力用の接続リクエスト（（３）−ｂ）、ｗｅｂカメラ１に映像出力用の接続リクエスト（（３）−ｃ）を行なう。接続リクエスト内には接続後、通信中継装置１００がデータを受けるポート情報が含まれる。ＩＰ電話１には音声受信ポート(port6-3Ai)、ｗｅｂカメラ１には映像受信ポート(port6-3Vi)が指定される。
【０１２５】
（４）ＩＰ電話１は、通信中継装置１００からの接続リクエストを受信し、呼び出し音を鳴らし、ユーザがフックアップすると通信中継部５−７に応答を返し(（４）−ａ)、データ通信可能になる。この応答には音声を受信するポート情報(port6-6A)が含まれる。ｗｅｂカメラ１は映像入力用の接続要求を受け、それに含まれる映像データの送信先を確認し、応答を返す(（４）−ｂ)と同時に、そこに接続リクエスト内にあった映像データ送信先に映像の送信を開始する。テレビ１は映像出力用の接続リクエストを受け、映像データを送信する先のポート情報(port6-7V)を含む応答を返す(（４）−ｃ)。
【０１２６】
（５）通信中継部１０３は、送信した３つの接続リクエストに対して、全ての応答を受け取ると、ＴＶ電話機６１に返す応答メッセージを作成する。全てがＯＫならばＯＫを返し、いずれかがＯＫでなければ接続失敗を返す。ＯＫの場合、応答メッセージには通信中継装置１００がＴＶ電話１として音声データ、映像データを受け付けるポート情報(port6-3Ao, port6-3Vo)を含む。
【０１２７】
（６）  （５）で作成した応答をＴＶ電話機６−１に送信する。
以上説明したＴＶ電話サービスの例では、図８に示したように、接続要求（接続リクエスト）に対し、全ての機器への要求に対する応答を受けて初めてサービス利用可能とすることが必要であり、通信中継装置１００内の通信中継部１０３は、送信した全てのリクエストからの応答を待って、ＴＶ電話機に応答を返す。
【０１２８】
このような構成によって、リクエスト、応答の送受信を行い、それによってデータ送受信を行なうための情報をセッションとして管理するため、それを用いて指定機器へのデータ送受信の制御することができ、複数機器でのサービス利用が可能になる。さらに、仮想機器定義データに含まれる全ての機器と通信可能になってはじめて利用開始できるようなサービスを利用できるようになる。
【０１２９】
以上、説明した実施の形態１の構成によって、サービスに必要な機能を表現するデータ「テンプレート」を利用して仮想機器定義データを作成し、通信中継装置に登録、それを用いて張られたセッションに従って、通信中継装置がデータ通信の中継を行なうことで、外部ネットワーク上の機器と当該通信サービスを、内部ネットワーク上の複数の機器を統合して使用することによって、利用することができるようになる。
【０１３０】
（実施の形態２）
次に、実施の形態２について説明する。
【０１３１】
実施の形態２では、新たな機器が内部機器として接続されたとき又は既存の内部機器が削除されたときに、デバイス情報および仮想機器定義データを更新するものであり、以下はそれについての説明である。したがって、実施の形態２の通信中継装置のハードウェア構成は、実施の形態１の通信中継装置１００の構成と同様であり、実施の形態２の通信中継装置は、実施の形態１とは、以下に説明するような動作を制御する構成が異なる。
【０１３２】
以下、新たに機器が接続される場合について、内部機器検出部１１１による新たな機器の接続の検出、デバイス情報および仮想機器定義データの更新手順を説明する。
【０１３３】
図１３は、新たな機器の接続の検出、デバイス情報および仮想機器定義データの更新手順を示すフローチャート図である。
【０１３４】
図１３を参照して、内部機器検出部１１１は、内部ネットワーク１１５内に新たに内部機器が接続されると、新たに機器が接続されたことを検出する(ステップＳ０００１)。内部機器検出部１１１は、内部機器機能収集部１１２に対して、新たに接続された機器の名称およびアドレスが記述された機器情報を通知する。なお、検出方法については後述する。
【０１３５】
内部機器機能収集部１１２は、内部機器検出部１１１から新たに接続された機器の機器情報を受けると、機器に対し機器が持つ能力の情報である機能情報通知の要請を行い、機能情報を収集する。そして、収集した機能情報と機器情報を用いて、デバイス情報を作成する(ステップＳ０００２)。
【０１３６】
図１４は、収集した機器情報と機能情報からのデバイス情報の作成を説明する図である。図１４では、機器検出時に取得した機器情報と、それを用いて収集した機能情報を合わせて、中継装置上で管理するデバイス情報が作成できることを示している。機器情報が持つ機器名称（テレビ１）とアドレス（192.168.1.3）、機能情報が持つ能力に関する情報（接続プロトコルはＳＩＰをサポートし、ＲＴＰによるH.261コーデックの映像出力を行なう能力を持つ）をマージして、右側の内部機器２に関するデバイス情報を作成している。
【０１３７】
図１３にもどって、さらに、内部機器機能収集部１１２は、新たに接続された内部機器のデバイス情報をデバイス情報保持部に登録して、デバイス情報保持部１０４を更新する(ステップＳ０００３)。
【０１３８】
図１５は、通信中継装置が保持するデバイス情報の更新を説明するための概念図である。
【０１３９】
図の左上は、内部機器検出部１１１、内部機器機能収集部１１２による内部機器の情報（デバイス情報）更新前にデバイス情報保持部１０４が保持しているデバイス情報である。内部機器１（ＩＰ電話１）と内部機器２（webカメラ１）が登録されている。内部機器検出部１１１により内部機器３（テレビ１）が検出されると、内部機器機能収集部１１２によって、図１５の下部に示した新たに検出された内部機器３のデバイス情報が作成され、デバイス情報保持部１０４に登録された結果、図１５の右上部に示すように、内部機器１（ＩＰ電話１）と内部機器２（webカメラ１）に加えて、内部機器３（テレビ１）のデバイス情報がデバイス情報保持部１０４に追加保持される。
【０１４０】
デバイス情報保持部１０４は、新たに接続された内部機器のデバイス情報が登録されると、仮想機器定義部１０７に対して、新たに接続された内部機器が持つ能力を通知する。
【０１４１】
図１３にもどって、仮想機器定義部１０７は、デバイス情報保持部１０４から新たに接続された内部機器が持つ能力を通知されると、前記内部機器を構成要素とする仮想機器を、テンプレートを用いて構成する(ステップＳ０００４)。仮想機器の構成方法については後述する。
【０１４２】
仮想機器定義部１０７は、テンプレートに構成機能として記述された全ての能力に対して、内部機器が割り当てられたか判別することにより、仮想機器が構成されたかどうかを判定する(ステップＳ０００５)。判定した結果、仮想機器が構成された場合は、仮想機器を仮想機器管理部１０８に登録し(ステップＳ０００６)、仮想機器が構成されなかった場合は終了する。
【０１４３】
次に、図１３のステップＳ０００１について、新たな機器の接続や既存の機器の削除を検出する方法を用いる。
【０１４４】
すなわち、内部機器検出部１１１は、内部機器に対して機器情報の通知を要請するブロードキャストメッセージを送信することで、新たな機器接続や既存の機器削除の検出を行なう。内部機器検出部１１１は、一定時間間隔で、内部機器に対してブロードキャストメッセージを送信し、内部機器検出部はブロードキャストメッセージの返信として、機器名称およびアドレスが記述された機器情報の通知を受け取ることで検出することができる。機器情報の通知を受け取ると、機器情報リストを作成し、前回の機器検出時の機器情報リストと比較することで、新たな機器が接続されたか、既存の機器が削除されたかを検出することができる。
【０１４５】
図１６は、ある機器検出の前後での内部機器に関する機器情報リストを示している。
【０１４６】
左側の「以前の機器情報リスト」は前回の機器検出時に検出された機器（内部機器１（ＩＰ電話１）と内部機器２（webカメラ１））のリストであり、右側の「現在の機器情報リスト」は今回の機器検出で検出された機器（内部機器１（ＩＰ電話１）と内部機器３（テレビ１））のリストである。内部機器検出部はこの２つのリストを比較して、「以前の機器情報リスト」にあって「現在の機器情報リスト」にない内部機器２（webカメラ１）がネットワーク上から削除され、「以前の機器情報リスト」にはなかったが「現在の機器情報リスト」に存在する内部機器３（テレビ１）が新たにネットワーク上に追加されたと判断できる。
【０１４７】
図１７は、図１３のステップＳ０００４の仮想機器を構成する手順を説明するためのフローチャートである。
【０１４８】
また、図１８は、新たにネットワークに接続された内部機器（テレビ１）のデバイス情報を示す図である。
【０１４９】
さらに、図１９は、新たに接続された機器の各能力を検索キーとして、テンプレートを検索する手続きを示す概念図である。
【０１５０】
仮想機器の構成は、新たに接続された機器が持つ能力を構成要素として記述したテンプレートを検索し、構成機能として記述された能力に対して、内部機器を割り当てることにより行なう。この手続きを、以下、図１７〜図１９を参照して説明する。
【０１５１】
まず、図１９のように仮想機器定義部１０７は、新たに接続された機器の各能力（たとえば、映像出力）を検索キーとして、テンプレート保持部１１０から構成機能として能力を持つテンプレートを検索する(ステップＳ００１１)。
【０１５２】
図１９の例では、内部機器として図１８に示すようなデバイス情報を持つテレビ１が新たにネットワークに接続される。テレビの機器能力は「映像出力」であり、テンプレート保持部１１０が保持するテンプレートデータの中から構成機能として「映像出力」を持つテンプレート２を検索結果として取得する。
【０１５３】
検索した結果、適合するテンプレートが存在しない場合は、仮想機器作成作業を終了する。適合するテンプレートが存在する場合は、テンプレートに構成機能として記述された能力を読み取る(ステップＳ００１２)。なお、ここで適合するテンプレートが複数存在した場合については、それぞれのテンプレートごとにステップＳ００１３からステップＳ００１６までの処理を行なう。
【０１５４】
次に、仮想機器定義部１０７は、テンプレートに構成機能として記述されたそれぞれの能力を検索keyとして、デバイス情報保持部１０４で保持されているデバイス情報から能力を持つ内部機器を検索する(ステップＳ００１３)。
【０１５５】
検索した結果、適合する内部機器が存在しない場合は、仮想機器作成作業を終了する。適合する内部機器が存在する場合は、テンプレートに構成機能として記述された能力に対して内部機器を割り当てる(ステップＳ００１４)。同じ能力を持つ複数の内部機器が存在する場合は、ユーザに複数の内部機器とその情報を提示し、そのなかからユーザに使用する機器を選択させ、ユーザが選択した機器を能力に割り当てる。
【０１５６】
仮想機器定義部１０７は、テンプレートに構成機能として記述された全ての能力に対し、内部機器が割り当てられたかを検査する(ステップＳ００１５)。割り当てられた場合は、仮想機器ＩＤと仮想機器名称を付けて仮想機器定義データを作成し、仮想機器作成作業を終了する(ステップＳ００１６)。全ての能力に対して割り当てられない場合は、仮想機器作成作業を終了する。
【０１５７】
次に、図２０は、通信中継装置が管理する内部ネットワーク１１５内で既存の内部機器が削除された場合の更新手順を説明するフローチャートである。
【０１５８】
なお、図２０のステップＳ００２１において、新たな機器の接続や既存の機器の削除を検出する方法も、図１７で説明したのと同様である。
【０１５９】
図２０を参照して、内部機器検出部１１１は、内部ネットワーク１１５内で内部機器１１７が削除されると、機器が削除されたことを検出する(ステップＳ００２１)。
【０１６０】
内部機器検出部１１１は、検出結果から削除された機器の機器名称を取得する(ステップＳ００２２)。内部機器検出部１１１は削除された機器の機器名称をデバイス情報保持部１０４に通知し、デバイス情報保持部１０４は、デバイス情報から削除された機器名称を持つデバイス情報を削除し、仮想機器定義部１０７に対して機器が削除されたことを通知する(ステップＳ００２３)。
【０１６１】
仮想機器定義部１０７は、既存の内部機器が削除されたことおよびその削除された内部機器の機器名称を通知されると、仮想機器管理部１０８から削除された機器を構成要素として持つ仮想機器を検索する(ステップＳ００２５)。
【０１６２】
検索した結果、適合する仮想機器が存在する場合は、仮想機器定義部１０７は削除された内部機器が割り当てられた能力を持つ機器をデバイス情報保持部１０４から検索する(ステップＳ００２６)。その結果、適合する内部機器が存在する場合は、削除された機器を内部機器に置き換えることで仮想機器定義データを修正する(ステップＳ００２７)。適合する内部機器が見つからない場合は、仮想機器管理部１０８から上述した仮想機器定義データを削除する(ステップＳ００２８)。
【０１６３】
図２１、図２２および図２３は、仮想機器データを変更する例を示す概念図である。
【０１６４】
図２１はネットワーク上から削除された内部機器２４（テレビ１）のデバイス情報である。
【０１６５】
図２２は削除された機器に割り当てられていた能力を持つ別の内部機器２５（テレビ２）のデバイス情報である。デバイス情報保持部１０４では、テレビ１がネットワーク上から削除する前にはテレビ１、テレビ２の両方のデバイス情報を保持していたが、テレビ１がネットワークから削除されたことを検出するとテレビ１のデバイス情報は削除され、テレビ２のデバイス情報は以前のまま保持される。
【０１６６】
図２３は、ＴＶ電話サービスを利用するための仮想機器２６（ＴＶ電話１）において、映像出力機能を受け持つテレビ１（図２１）がネットワーク上から削除されたために、ネットワーク上に存在する同じ映像出力機能を持った内部機器をデバイス情報保持部１０４から検索し、その結果、得られたテレビ２のデバイス情報（図２２）を用いて仮想機器２６を定義するデータを変更したことを示している。
【０１６７】
以上のような手順で、内部ネットワーク１１５内で、新しく機器が接続された場合や既存の内部機器が削除された場合に、仮想機器定義データを追加、修正又は削除して状況に合わせて登録内容を更新する。
【０１６８】
以上、説明した第２の実施の形態によって、内部ネットワーク上に新しく機器が追加された場合や、存在していた機器が内部ネットワークから外された場合に、通信中継装置上に新たな仮想機器を登録したり、既に存在していたが利用できなくなった仮想機器を削除したり、無くなった内部ネットワーク上の機器の代わりに同じ能力をもつ他の機器を用いて引き続きサービスを利用できるように仮想機器の定義を変更したりすることができ、内部ネットワーク上の機器の変化に自動的に対応することができる。
【０１６９】
（実施の形態３）
続いて、実施の形態３では、テンプレートに対して、サービスに適した機器を選択するための条件や優先度を記述することにより、通信中継装置は同じ種類の能力を持つ複数の内部機器の中からサービスに適した機器を選択して仮想機器を構成する。したがって、実施の形態３の通信中継装置のハードウェア構成も、実施の形態１の通信中継装置１００の構成と同様であり、実施の形態３の通信中継装置は、実施の形態１とは、以下に説明するような動作を制御する構成が異なる。
【０１７０】
図２４は、条件および優先度を含むテンプレートの例を示す図である。
図２４では、ＴＶ電話サービスを実現するために必要な能力と、そのサービスに適した仮想機器を構成するための条件や優先度が記述されている。これにおける「条件」とは、機器を選択する際の必須となる条件であって、この機能に使用される機器は必ずこの条件を満たさなければならない。「優先度」は、機器を選択する際に優先されるべき機器を選択するための情報である。
【０１７１】
図２４の例では、「条件」は映像出力機能を持つ機器は、画面サイズが１０〜２０インチで、「優先度」は画面サイズにおいてより大きいものを選択すべきということを示している。本実施の形態では、デバイス情報は機器の特徴に関する情報を含むので、テンプレート内の条件や優先度はこの情報と比較して、機器選択のために使用される。
【０１７２】
図２５は、機器を選択するための条件や優先度を含むテンプレート指定した時に仮想機器を構成する手順を示すフローチャートである。
【０１７３】
図２５を参照して、仮想機器定義部１０７は、テンプレートに記述されている能力、条件や優先度を読み取る(ステップＳ００５１)。
【０１７４】
テンプレートに含まれる仮想機器構成に必要な各能力に対し、デバイス情報保持部１０４で保持されたデバイス情報からその能力を持つ内部機器を検索する。適合する内部機器が見つからない場合は、仮想機器作成作業を終了する(ステップＳ００５２)。
【０１７５】
能力ごとに検索された内部機器がテンプレート内に記述された条件に適合するか判定する。条件を満たす内部機器がない場合には仮想機器構成を終了する。(ステップＳ００５３)。能力ごとに条件に適合する内部機器が複数ある場合には、テンプレート内の優先度を用いて最も優先される内部機器を決定し、テンプレートの能力に対して内部機器を割り当てる(ステップＳ００５４)。
【０１７６】
優先度で最も優先するものが決まらない場合は条件を満たすもののなかから任意に１つを選択する。
【０１７７】
仮想機器定義部１０７は、テンプレートの全ての能力に対し内部機器を割り当てられたかを調べる(ステップＳ００５５)。割り当てられた場合は、仮想機器ＩＤと仮想機器名称および作成するために使用したテンプレートＩＤを付けた仮想機器定義データを作成し、仮想機器作成作業を終了する(ステップＳ００５６)。全ての能力に対して割り当てられない場合は、仮想機器定義データの作成を中止し、仮想機器作成作業を終了する。
【０１７８】
図２６は、ステップＳ００５６において作成されるようなテンプレートＩＤを付けた仮想機器定義データを示す図である。後に詳しく説明するように、テレビ２の画面サイズがテレビ１よりも大きいことに基づき、仮想機器１ではテレビ２が採用されている。
【０１７９】
図２７および図２８は、テンプレートに記述する条件や優先度の例を示す図である。
【０１８０】
図２７は、記述された条件順に機器を優先して内部機器を選択するテンプレート例である。条件には、映像出力は画面サイズが１０，１５，２０インチの順で記述されているため、画面サイズが１０インチのものを最優先に、ない場合には１５インチのもの、さらにない場合には２０インチのものを優先するものとする。
【０１８１】
図２８は、優先度に記述された値に近い内部機器を優先して選択するテンプレートの例であり、映像出力機器にはなるべく画面サイズが２５インチに近いものを優先するよう指定されている。
【０１８２】
また、ほかに、たとえば、「映像出力 ｛音声出力と同一機器｝」や「音声出力 ｛映像出力と同一機器｝」のように、他の機能に使用する機器との関係を優先度情報に記述することも可能である。
【０１８３】
上述した図２６では、条件および優先度が記述された図２４に示すテンプレート１を用いて仮想機器を構成する例を示している。映像出力の能力を持つ内部機器を割り当てる場合は、内部機器の中から条件１０〜２０インチを満たすものをデバイス情報保持部１０４から検索し、図２６の左側に示す内部機器１（テレビ１）と内部機器２（テレビ２）が選択され、その中から優先度により画面サイズのより大きい１５インチのテレビ２の方がテンプレート１を用いた仮想機器１の映像出力機器にとして選択されている。
【０１８４】
以上のようにして、テンプレートに記述されたサービスに適した機器を選択するための条件や優先度を用いることで、通信中継装置は同じ種類の能力を持つ内部機器の中から機器を選択し、サービスに適した仮想機器を構成する。
【０１８５】
（実施の形態４）
次に、実施の形態４では、内部ネットワーク１１５内で、新たな機器が内部機器として接続されたとき又は既存の内部機器が削除されたときに、テンプレートに記述されている条件や優先度に従い、対象の仮想機器を新たに作成したり、再構成したりする。また、再構成ができない場合は対象の仮想機器を削除する。したがって、実施の形態４の通信中継装置のハードウェア構成も、実施の形態１の通信中継装置１００の構成と同様であり、実施の形態４の通信中継装置は、実施の形態１とは、以下に説明するような動作を制御する構成が異なる。
【０１８６】
まず、新たに機器が接続される場合について説明する。この場合、新たな機器が持つ能力を構成要素とするテンプレートを検索し、テンプレートが存在する場合は、テンプレートから新たな機器を用いて仮想機器を構成する必要がある。
【０１８７】
新たな機器を用いて仮想機器を構成する方法は、図１３に示したステップＳ０００４において、図２５で示した手順で、仮想機器の構成を実施する場合であるので、詳細な説明は省略する。
【０１８８】
以下では、新たな機器が接続された時に、新たな機器を用いて既存の仮想機器を再構成する方法について述べる。
【０１８９】
図２９は、仮想機器を再構成する手順を示すフローチャート図である。
ステップＳ００６１からステップＳ００６３の処理は、第２の実施の形態の図１３のステップＳ０００１からステップＳ０００３までの処理と同様なので説明は省略する。
【０１９０】
さらに、図３０は、ステップＳ００６４の新たに機器が接続された場合の仮想機器の再構成を示すフローチャートである。
【０１９１】
図３０を参照して、仮想機器定義部１０７は、新しく接続された機器がもつ能力を必要とする仮想機器を仮想機器管理部１０８から検索する(ステップＳ００７１)。
【０１９２】
検索した結果、適合する仮想機器が見つからない場合は、仮想機器再構成作業を終了する。適合する仮想機器が見つかった場合、仮想機器定義部１０７は仮想機器定義データに記述された仮想機器作成に用いたテンプレートをテンプレート保持部１１０から取得し、テンプレートに記述された条件や優先度を読み取る(ステップＳ００７２)。
【０１９３】
新しく接続された機器がテンプレートに記述された条件に合致するか判定する(ステップＳ００７３)。判定した結果、条件に合致する場合は、優先度に基いて、能力に対して割り当てられている機器より新しく接続された機器が優先されるかどうかを判定する(ステップＳ００７４)。
【０１９４】
接続された機器が優先されない場合は、仮想機器再構成作業を終了する。判定した結果、新しく接続された機器が優先される場合は、能力に対して割り当てられた現在の機器を、新しく接続された機器で置き換える(ステップＳ００７５)。
【０１９５】
テンプレートデータには、それぞれサービスに使用する機器を選択する際の選択基準になる条件や優先度情報の記述を追加することができる。本実施の形態において、条件や優先度といった「優先機器指定情報」はテンプレートデータ内に持たせているが、発明としてはそれに限定するものではない。たとえば、仮想機器定義部にユーザが直接登録するといった形態も可能である。
【０１９６】
図３１は、テンプレートデータの構成の例を示す図である。図３１のテンプレート６１においては、ＴＶ電話サービス６１が、音声電話、映像入力、映像出力の３つの機能で構成されることのほかに、映像出力機能は画面サイズが１０〜２０インチの機器であることという映像出力機器の条件や、画面サイズが「より大きいもの」を優先して使用することという機器選択の優先度が記述されている。映像入力機能については、解像度が１００〜２００万画素であることという条件とともに、より高解像度な機器を優先するべきであることが記述されている。
【０１９７】
また、本実施の形態においてはデバイス情報に特徴情報を追加することを可能にしている。
【０１９８】
図３２および図３３は内部機器のデバイス情報を示す図である。
図３２および図３３では、特徴情報として映像出力機能の画面サイズについての情報を保持しており、テレビ６２が１５インチ、テレビ６３が２０インチの画面サイズを持ったものであることが分かる。
【０１９９】
図３４は、追加された内部機器の能力をもとに、仮想機器を再構成する例を示す図である。
【０２００】
図３１が仮想機器を構成する際に使用されたテンプレートデータであり、図３２は映像出力として仮想機器に割り当てられていた内部機器（テレビ）６２であるものとする。また、図３３は新しくネットワークに接続された内部機器（テレビ）６３であるものとする。
【０２０１】
２０インチのテレビである内部機器６３は、テンプレート６１の１０〜２０インチという条件を満たし、「より大きなもの」という優先度により従来割り当てられていた１５インチのテレビである内部機器６２よりも優先される。そのため、図３４の仮想機器６４の映像出力は、テレビ６２よりも適していると判断される新しく接続されたテレビ６３に置き換えられる。
【０２０２】
次に、通信中継装置が管理する内部ネットワーク１１５内で既存の内部機器が削除された場合の処理について説明する。
【０２０３】
図３５は、既存の内部機器が削除された場合の処理の手順を示すフローチャート図である。
【０２０４】
ステップＳ００８１からステップＳ００８３までの処理は、図２０に示したステップＳ００２１からステップＳ００２３までの処理と同様のため、説明は省略する。
【０２０５】
図３６は、図３５のステップＳ００８４の機器が削除された場合の仮想機器再構成の処理を示すフローチャートである。
【０２０６】
仮想機器定義部１０７は、既存の内部機器が削除されたことおよびその削除された内部機器の機器名称を通知されると、削除された機器を含む仮想機器を仮想機器管理部１０８から検索する(ステップＳ００９１)。
【０２０７】
検索した結果、適合する仮想機器が存在しない場合は、仮想機器再構成を終了する。適合する仮想機器が存在する場合は、仮想機器定義データから削除された機器が割り当てられていた能力を読み取る(ステップＳ００９２)。
【０２０８】
仮想機器定義部１０７は、デバイス情報保持部１０４から、ステップＳ００９２で読み取った能力を持つ内部機器を検索する(ステップＳ００９３)。
【０２０９】
検索した結果、ステップＳ００９２で読み取った能力を持つ内部機器が存在しない場合は、仮想機器管理部１０８から仮想機器を削除して仮想機器再構成を終了する(ステップＳ００９８)。
【０２１０】
ステップＳ００９２で読み取った能力を持つ内部機器が存在する場合は、仮想機器定義部１０７は仮想機器定義データに記述された仮想機器作成に用いたテンプレートをテンプレート保持部１１０から検索し、テンプレートに記述された条件や優先度を読み取る(ステップＳ００９４)。
【０２１１】
仮想機器定義部１０７は、同じ能力を持つ他の内部機器がテンプレートに記述された条件に合致するかどうか判定する(ステップＳ００９５)。
【０２１２】
判定した結果、条件に合致するものがない場合は、仮想機器管理部１０８から仮想機器を削除して仮想機器再構成を終了する(ステップＳ００９８)。
【０２１３】
条件に合致するものがある場合は、仮想機器定義部１０７はテンプレートに記述された優先度に従い、最も優先される内部機器を１つ選択する(ステップＳ００９６)。
【０２１４】
仮想機器定義データから、削除された内部機器をステップＳ００９６で選択された内部機器で置き換える (ステップＳ００９７)。
【０２１５】
以下に、機器が削除されたときの再構成を具体的なデータ例を用いて説明する。
【０２１６】
図３７は、ＴＶ電話サービス６５を利用するためのテンプレート６５を示す図である。
【０２１７】
ＴＶ電話サービス１が音声電話、映像入力、映像出力の機能で構成されることと同時に、映像出力機能について画面サイズが１０〜２０インチであることという条件と、そのなかでもなるべく大きい画面サイズの機器を優先して使用することと規定されている。また、映像入力機能についても、解像度１００〜２００万画素を持った機器に制限されており、かつそのなかでもより高解像度のものを優先して使用することと規定されている。
【０２１８】
図３８および図３９は、内部機器の構成を示す図である。
図３８のテレビ６６は、ＳＩＰ、ＲＴＰを用いてH.261コーデックの映像を出力する機能をもった画面サイズ１５インチの映像出力機器である。
【０２１９】
図３９のテレビ６７は、やはりＳＩＰ、ＲＴＰを用いてH.261コーデックの映像を出力する機能をもった映像出力機器であるが、画面サイズは１０インチである。
【０２２０】
最初に仮想機器６８が作成された時には、内部機器６６、内部機器６７ともにネットワーク上に存在しており、テンプレート６５の「より大きな画面サイズのものを優先して使用する」という意味の優先度に従ったために内部機器６６が選択され、内部機器６７は選択されず、図４０左側の仮想機器６８が作成された。
【０２２１】
仮想機器６８で使用されているテレビ６６がネットワーク上から削除されたことを検出されると、代替の映像出力機能を持った機器としてテレビ６７がテンプレートの条件、優先度に従って代替の機器として選択され、仮想機器６８が変更される。
【０２２２】
図４０は、このような仮想機器の変更の手続きを示す図である。
図３８、図３９の２つの映像出力機能を持った機器が内部ネットワークに存在していたときに、図３７のテンプレート６５を使って仮想機器を構成した場合、図３７の条件、優先度の記述により、画面サイズ１０〜２０インチでより画面サイズの大きい映像出力機能を持った機器である図３８の内部機器６６（テレビ６６）がテレビ６７より優先されて使用され、図４０の左側の仮想機器６８が作成された。しかし、内部ネットワーク上からテレビ６６がなくなったので、通信中継装置はそのことを検出して、テレビ６６を使用している仮想機器６８の映像出力機能に対し、テレビ６６の代替となる機器をテンプレート６５に従って選択し、結果、テレビ６７をテレビ６６の代わりに設定する（図４０右側の仮想機器６８）。このことでテレビ６６がなくなっても、引き続き代替となる機器であるテレビ６７を用いてこのサービスを利用し続けることが可能になる。
【０２２３】
以上のような手順で、内部ネットワーク１１５内で、機器構成が変化した際にも、テンプレートに記述された条件や優先度に則って、通信中継装置上で仮想機器の新規作成、再構成、削除が行われる。
【０２２４】
また、本実施の形態は、ネットワーク上の機器の存在を検出して仮想機器を組替えるとしているが、通信サービス利用時の接続要求に対するネゴシエーション時にセッションが確立できない内部機器がある場合に仮想機器の構成を動的に組替えること実施もある。内部機器とのセッションが確立できないときには、その機器はネットワーク上に存在しないものと同様に判定し、動的に他の内部機器に置き換えた仮想機器に変更する。この場合、通信中継部が機器削除検出手段の機能を持ち、仮想機器の変更を指令し、仮想機器の変更に成功した場合、通信中継部は新たな仮想機器に従ってデータ通信セッションの確立をリトライして、セッションが確立されれば通信サービスを利用することができる。
【０２２５】
なお、機器間の関係を条件、優先度に利用する具体例を以下に述べる。この例は機器の位置や距離をもとに優先して利用する機器を選択する例である。
【０２２６】
図４１は、ビデオオンデマンドのサービスについてのテンプレート７０である。ビデオオンデマンドのサービスを利用するために必要な機能として、映像出力、音声出力、発呼、制御の４つの機能が定義されている。また、このテンプレート７０を用いる仮想機器を構成する条件として、映像出力機能を提供する機器と音声出力機能を提供する機器は同室にあること、映像出力機能を提供する機器と音声出力機能を提供する機器は２ｍ以内にあること、優先度として、映像出力機能を提供する機器と音声出力機能を提供する機器は近距離なものほど優先することが記述されている。
【０２２７】
図４２は、部屋１および部屋２における内部機器の位置関係を示す図であり、図４３はそのときに宅内ネットワーク上に存在している機器（内部機器７１から７４）のデバイス情報の一覧である。
【０２２８】
内部機器７１のデバイス情報には、特徴情報に位置情報を含み、部屋１内の座標(200,100)の位置に配置されていることが登録されている。内部機器７２も同様に部屋１の座標(300,100)の位置に、内部機器７３は部屋１の座標(400,400)の位置にあることが分かる。また、内部機器７５は部屋２にあることが分かるので、唯一の映像出力機器である内部機器７１とは別の部屋にある。
【０２２９】
図４４は、テンプレート７０から図４３に示した宅内機器が配置された状態で作成された仮想機器７３を示す図である。
【０２３０】
映像出力機器としてmpeg2-videoを出力可能なテレビ７１が選択された後、音声出力機器はテンプレート７０内の条件に従って、別の部屋にあるステレオ７５は除外され、同一室内３ｍ以内に存在する音声出力機能を持った機器のなかから、ラジカセ７３よりも近くにあるステレオ７２が優先して選択されている。
【０２３１】
この結果、図４５に示すように、リモコン７４からのＳＩＰによる接続開始の要求（発呼）、httpによる制御コード送信をビデオオンデマンドのサーバに中継し、それに従って送信されるmpeg2のビデオコンテンツから取り出したmpeg2映像はテレビ７１に、mpeg2オーディオはステレオ７２に中継してビデオ視聴を行っている。
【０２３２】
上記の例では、機器が配置された部屋の情報とその部屋内での配置座標を用いて機器の位置を表していた。他にも機器の位置を表す情報はあり、たとえば、利用しているネットワークへのアクセスポイントを位置情報と考え、同じアクセスポイントや近くのアクセスポイントを利用している機器を近距離にある機器として優先するようなことも可能である。
【０２３３】
図４６は、複数の機能間の関係で条件もしくは優先度が記述されているテンプレートの場合の機器選択のフローである。
【０２３４】
まず、この処理では、仮想機器データを作成、修正する際に、テンプレートの条件、もしくは優先度に組で記述されている機能について、その機能の組を実現する機器の組合せをすべて作成する（ステップＳ７５０１）。
【０２３５】
次に、各機器の組合せごとにデバイス情報から条件にマッチするかを確認し、条件に合わない機器組合せは削除する（ステップＳ７５０２）。残った機器組合せで、デバイス情報をもとに、優先度でもっとも上位のものを選択する（ステップＳ７５０３）。複数の機器組合せが選択された場合は（ステップＳ７５０４）、その組合せをユーザに提示する（ステップＳ７５０５）。ユーザの入力に基づき選択する１つの機器組合せを選択する（ステップＳ７５０５）。決定した組合せの各機器を仮想機器の機能に設定する（ステップＳ７５０６）。
【０２３６】
上記のように位置情報を扱う実施においては各機器は位置情報を保持したり、更新したりする機能が必要になる。一例として、機器に無線タグ（ＲＦ−ＩＤ）を付けて位置の利用を実施することができる。たとえば、機器設置時などに設置位置の情報を機器情報とともに無線タグに登録したり、近くにあるアンテナや他の機器から無線タグ上の機器と位置の情報を取得して利用したりすることができる。携帯機器などのように場所を移動する機器は動的に近くにある機器の情報取得し、近くにある機器として通信中継装置に知らせたり、近くのアンテナ位置をもとに自身の位置情報の更新するのに利用したりすることができる。それをもとに通信中継装置内のデバイス情報における位置情報を更新したり、通信中継装置に直接的に近傍にある機器を知らせたりして、通信中継装置上で今現在の機器の位置を利用できるようにできる。
【０２３７】
図４７は、無線タグを用いて位置を扱うテンプレートの例を示す図である。この例での優先度の記述「無線タグ近傍」は、映像出力する機器と音声出力する機器が双方が持つ無線タグで通信可能なもの同士ということを意味している。
【０２３８】
図４８は、無線タグを利用した実施例でのデバイス情報のリストである。図４８では、無線タグ通信可能な機器の名称が「無線タグ近傍」に登録されている。この状況では、映像出力機能をもつ内部機器７７０１(ＴＶ７７０１)と音声出力機能を持つ内部機器７７０２（ステレオ７７０２）の組合せのみが無線タグで通信可能なので、テンプレート76を利用する仮想機器には、内部機器７７０１と内部機器７７０２が用いられる。
【０２３９】
図４９は、無線タグに書き込まれる情報を示す図である。図４９に示す情報が機器情報として無線タグから通信中継装置に送信される。内部機器７７０１を例にしており、機器の情報を、名称、ＩＰアドレス、中継する通信データに関する情報である機能、機器の属性情報がコロン（：）をはさんで属性キーワードと値のペアで表記する形式になっている。この例では、「無線タグ近傍」のキーワードが無線タグで通信可能として検出された機器を表している。
【０２４０】
たとえば、携帯可能な機器など移動可能な機器を用いていた場合、サービス利用中に場所を移動したために組み合わせて利用していた機器と一緒ではサービス利用が困難になる場合がある。たとえば、携帯型のＶｏＩＰ（Voice Over Internet Protocol）端末を用いてサービス開始時に近くにあったＴＶを用いてＴＶ電話サービスを利用していたが、ＶｏＩＰ端末を持って他の部屋に移動してしまうと音声通話は続行できるが、ＴＶ電話開始時に用いていたＴＶの映像出力を見ることができなくなる。通信中継装置が内部機器機能収集部１１２の機能を拡張し、以前から存在していたデバイスからもデバイスの情報を受け取るようにすることでデバイス情報を更新し、デバイス情報が更新された機器を用いている仮想機器がテンプレート内の条件や優先度の情報に基づいて仮想機器の更新を行なうこともできる。
【０２４１】
図５０は、内部機器の情報更新に対応して仮想機器を修正する処理のフローチャートである。
【０２４２】
図５０を参照して、内部機器機能収集部１１２は、定期的に宅内ネットワークに対し機能情報要求のメッセージをブロードキャスト送信する（ステップＳ８００１）。内部機器機能収集部１１２はブロードキャスト送信した各機器からの応答を受信する（ステップＳ８００２）と、それをデバイス情報保持部１０４に知らせる。
【０２４３】
デバイス情報保持部１０４は保持しているデバイス情報を比較し、新たな機器があれば追加、情報が変更されていれば保持しているデバイス情報を修正し、デバイス情報の更新を行なう（ステップＳ８００３）。更新した際に作成した情報が更新された機器のリストを仮想機器管理部１０８に送信すると、仮想機器管理部１０８はそのリストに含まれる機器を利用している仮想機器データを自身が保持しているデータから抽出する（ステップＳ８００４）。
【０２４４】
抽出した各仮想機器データに対して、それのもとになったテンプレートを用いて、デバイス情報保持部１０４が保持する最新のデバイス情報を用いて、各機能に最適な機器を再判定する（ステップＳ８００５）。再判定の結果、仮想機器データに設定されていた機器と異なる機器が選択された機能については、新たに選択された機器で置き換え（ステップＳ８００６）、仮想機器データの登録を更新する（ステップＳ８００７）。登録を更新した仮想機器データを用いて現在通信を中継しているかものがあるかを通信中継部１０３に問い合わせると、通信中継部１０３は通信を中継しているセッション情報データに対応するものがあるか否かを返すので、それをもとに判定する（ステップＳ８００８）。通信中の仮想機器があれば、新しい仮想機器データを通信中継部１０３に提供すると、接続先が異なるセッションについて、新しい接続先にセッションを張り、従来のセッションを解放した（ステップＳ８００９）後、データを新しいセッションの方に中継する（ステップＳ８０１０）。
【０２４５】
なお、機器間の関係については位置や距離に限定するものではない。機器の機能、性能によって組み合わせる機器の優先度を指定することは可能である。たとえば、２０インチ以上の映像出力機器を用いる場合には高品質の音声も提供できるように、音声出力にはモノラルよりもステレオ出力できる機器を優先するといったように、任意の属性を用いてルールを記述することも可能である。
【０２４６】
なお、本実施の形態では、仮想機器の定義はテンプレートを用いて、通信中継機器上で行っているが、仮想機器定義手段はそれに限定されるものではない。たとえば、仮想機器定義手段が、サービス提供者に対し通信可能な機器などの仮想機器情報を作成する為に必要な情報を提供して、仮想機器情報の作成を依頼し、作成された仮想機器情報をダウンロードして、仮想機器の登録を行なうことも可能である。
【０２４７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０２４８】
【発明の効果】
以上説明したとおり、本発明によれば、通信するデータの種類ごとにデータ中継先の機器を指定して、複数の機器を用いて１つのサービスを利用可能にするような機能をもった通信中継装置において、新たな機器がネットワークに追加されると自動的にその機器を含む新たな仮想機器を定義し、新たなサービスを利用可能にしたり、自動的に定義済みの仮想機器を新たに追加された機器を含む構成に変更したりでき、それによって、新しく追加された機器を用いて複数の機器でサービスを利用できる。
【０２４９】
あるいは、ネットワークから機器が切り離されたり、通信できなくなったときには、仮想機器は自動的に通信中継装置から削除したり、または仮想機器自体は削除せずに代替となる機器を用いるように仮想機器の定義を変更することで従来利用できていたサービスを引き続き利用できるよう対応することができる。
【０２５０】
あるいは、機器の状態が変わった場合には、先に作成した機器の組合せよりも現在の状況にマッチしたよりよい機器の組合せに仮想機器を変更してサービスを利用できる。
【０２５１】
あるいは、通信中継装置上で仮想機器を定義したり、変更したりする際に、優先機器指定情報に基づいて機能ごとに優先して使用すべき機器の特徴を設定することができ、環境やサービスにあわせてより適切な機器を優先してサービスに使用できるようにでき、また、必要ならばユーザに入力を仰ぐことによって好ましい機器を用いてサービスを利用できる。
【図面の簡単な説明】
【図１】  通信中継装置１００の機能ブロック図である。
【図２】  テンプレート保持部１１０に保持されるテンプレートデータの例を示す概念図である。
【図３】  デバイス情報保持部１０４に格納される、内部ネットワーク１１５上のデバイス情報を示す図である。
【図４】  仮想機器定義部１０７で仮想機器定義データが作成される処理における内部でのデータの変遷を示す図である。
【図５】  ＧＵＩを用いた仮想機器定義の処理を説明するためのフローチャートである。
【図６】  仮想機器を構成する際に使用されるＧＵＩの例を示す図である。
【図７】  仮想機器管理部に登録されたＴＶ電話サービスの仮想機器７の定義データを示す図である。
【図８】  通信中継部１０３の詳細構成を示す機能ブロック図である。
【図９】  ＴＶ電話サービス利用時に実施されるデータ通信の例を示す図である。
【図１０】  ＴＶ電話サービスにおいて、内部ネットワーク１１５側の機器に対する着呼があった場合の接続確立までの流れを示す図である。
【図１１】  内部ネットワーク１１５側の機器からの発呼する場合の接続確立までの流れを示す図である。
【図１２】  図９のＴＶ電話の場合で、メッセージ中継部１０３２から受け渡された情報をもとに作成するセッション情報データの例を示す図である。
【図１３】  新たな機器の接続の検出、デバイス情報および仮想機器定義データの更新手順を示すフローチャート図である。
【図１４】  収集した機器情報と機能情報からのデバイス情報の作成を説明する図である。
【図１５】  通信中継装置が保持するデバイス情報の更新を説明するための概念図である。
【図１６】  ある機器検出の前後での内部機器に関する機器情報リストを示している。
【図１７】  図１３のステップＳ０００４の仮想機器を構成する手順を説明するためのフローチャートである。
【図１８】  新たにネットワークに接続された内部機器（テレビ１）のデバイス情報を示す図である。
【図１９】  新たに接続された機器の各能力を検索キーとして、テンプレートを検索する手続きを示す概念図である。
【図２０】  通信中継装置が管理する内部ネットワーク１１５内で既存の内部機器が削除された場合の更新手順を説明するフローチャートである。
【図２１】  仮想機器データを変更する例を示す第１の概念図である。
【図２２】  仮想機器データを変更する例を示す第２の概念図である。
【図２３】  仮想機器データを変更する例を示す第３の概念図である。
【図２４】  条件および優先度を含むテンプレートの例を示す図である。
【図２５】  機器を選択するための条件や優先度を含むテンプレート指定した時に仮想機器を構成する手順を示すフローチャートである。
【図２６】  ステップＳ００５６において作成されるようなテンプレートＩＤを付けた仮想機器定義データを示す図である。
【図２７】  テンプレートに記述する条件や優先度の例を示す第１の図である。
【図２８】  テンプレートに記述する条件や優先度の例を示す第２の図である。
【図２９】  仮想機器を再構成する手順を示すフローチャート図である。
【図３０】  ステップＳ００６４の新たに機器が接続された場合の仮想機器の再構成を示すフローチャートである。
【図３１】  テンプレートデータの構成の例を示す図である。
【図３２】  内部機器のデバイス情報を示す第１の図である。
【図３３】  内部機器のデバイス情報を示す第２の図である。
【図３４】  追加された内部機器の能力をもとに、仮想機器を再構成する例を示す図である。
【図３５】  既存の内部機器が削除された場合の処理の手順を示すフローチャート図である。
【図３６】  図３５のステップＳ００８４の機器が削除された場合の仮想機器再構成の処理を示すフローチャートである。
【図３７】  ＴＶ電話サービス６５を利用するためのテンプレート６５を示す図である。
【図３８】  内部機器の構成を示す第１の図である。
【図３９】  内部機器の構成を示す第２の図である。
【図４０】  仮想機器の変更の手続きを示す図である。
【図４１】  ビデオオンデマンドのサービスについてのテンプレート７０である。
【図４２】  部屋１および部屋２における内部機器の位置関係を示す図である。
【図４３】  宅内ネットワーク上に存在している機器のデバイス情報の一覧である。
【図４４】  テンプレート７０から図４３に示した宅内機器が配置された状態で作成された仮想機器７３を示す図である。
【図４５】  テレビ７１およびステレオ７２等に中継してビデオ視聴を行なう構成を説明する図である。
【図４６】  複数の機能間の関係で条件もしくは優先度が記述されているテンプレートの場合の機器選択のフローである。
【図４７】  無線タグを用いて位置を扱うテンプレートの例を示す図である。
【図４８】  無線タグを利用した実施例でのデバイス情報のリストである。
【図４９】  無線タグに書き込まれる情報を示す図である。
【図５０】  内部機器の情報更新に対応して仮想機器を修正する処理のフローチャートである。
【符号の説明】
１００  通信中継装置、１０１  外部通信インタフェース部、１０２  内部通信インタフェース部、１０３  通信中継部、１０４  デバイス情報保持部、１０５  入力部、１０６  表示部、１０７  仮想機器定義部、１０８  仮想機器管理部、１０９  テンプレート導入部、１１０  テンプレート保持部、１１１  内部機器検出部、１１２  内部機器機能収集部、１１３  外部ネットワーク、１１４サービス、１１５  内部ネットワーク、１１６，１１７  内部機器。
【図１】
0004807927.tif 000002
【図２】
0004807927.tif 000003
【図３】
0004807927.tif 000004
【図４】
0004807927.tif 000005
【図５】
0004807927.tif 000006
【図６】
0004807927.tif 000007
【図７】
0004807927.tif 000008
【図８】
0004807927.tif 000009
【図９】
0004807927.tif 000010
【図１０】
0004807927.tif 000011
【図１１】
0004807927.tif 000012
【図１２】
0004807927.tif 000013
【図１３】
0004807927.tif 000014
【図１４】
0004807927.tif 000015
【図１５】
0004807927.tif 000016
【図１６】
0004807927.tif 000017
【図１７】
0004807927.tif 000018
【図１８】
0004807927.tif 000019
【図１９】
0004807927.tif 000020
【図２０】
0004807927.tif 000021
【図２１】
0004807927.tif 000022
【図２２】
0004807927.tif 000023
【図２３】
0004807927.tif 000024
【図２４】
0004807927.tif 000025
【図２５】
0004807927.tif 000026
【図２６】
0004807927.tif 000027
【図２７】
0004807927.tif 000028
【図２８】
0004807927.tif 000029
【図２９】
0004807927.tif 000030
【図３０】
0004807927.tif 000031
【図３１】
0004807927.tif 000032
【図３２】
0004807927.tif 000033
【図３３】
0004807927.tif 000034
【図３４】
0004807927.tif 000035
【図３５】
0004807927.tif 000036
【図３６】
0004807927.tif 000037
【図３７】
0004807927.tif 000038
【図３８】
0004807927.tif 000039
【図３９】
0004807927.tif 000040
【図４０】
0004807927.tif 000041
【図４１】
0004807927.tif 000042
【図４２】
0004807927.tif 000043
【図４３】
0004807927.tif 000044
【図４４】
0004807927.tif 000045
【図４５】
0004807927.tif 000046
【図４６】
0004807927.tif 000047
【図４７】
0004807927.tif 000048
【図４８】
0004807927.tif 000049
【図４９】
0004807927.tif 000050
【図５０】
0004807927.tif 000051