(57)【要約】【課題】メッセージ転送時の遅延を低減する。【解決手段】実施形態の通信装置は、接続確立部と、転送部と、転送情報生成部と、を備える。接続確立部は、端末装置から、少なくとも当該端末装置の端末識別情報を含む接続確立要求を受信し、当該端末装置との間に通信接続を確立するとともに、接続確立要求に含まれる端末識別情報と、当該端末装置との間に確立した通信接続を示す端末接続情報とを対応付けて記憶部に格納する。転送部は、一の端末装置から他の端末装置へ送信するメッセージを一の端末装置から受信し、一の端末装置の端末識別情報に対応する端末接続情報と、他の端末装置の端末識別情報に対応する端末接続情報とを含む転送情報に基づき、当該転送情報を含むメッセージを他の端末装置に転送する。転送情報生成部は、転送部または接続確立部からの要求に基づき、転送情報を生成する。【選択図】図１
2015170041.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して端末装置と通信する通信装置であって、
端末装置から、少なくとも当該端末装置の端末識別情報を含む接続確立要求を受信し、当該端末装置との間に通信接続を確立するとともに、前記接続確立要求に含まれる端末識別情報と、当該端末装置との間に確立した通信接続を示す端末接続情報とを対応付けて記憶部に格納する接続確立部と、
一の端末装置から他の端末装置へ送信するメッセージを一の端末装置から受信し、一の端末装置の端末識別情報に対応する前記端末接続情報と、他の端末装置の端末識別情報に対応する前記端末接続情報とを含む転送情報に基づき、当該転送情報を含む前記メッセージを他の端末装置に転送する転送部と、
前記転送部または前記接続確立部からの要求に基づき、前記転送情報を生成する転送情報生成部と、を備えることを特徴とする通信装置。
【請求項２】
前記転送部は、一の端末装置から受信した前記メッセージに前記転送情報が含まれていない場合に、前記転送情報生成部に対して前記転送情報の生成を要求し、前記転送情報生成部により生成された前記転送情報を前記メッセージに付加して他の端末装置に転送することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記接続確立部は、一の端末装置から、他の端末装置の端末識別情報を含む前記接続確立要求を受信した際に、前記転送情報生成部に対して前記転送情報の生成を要求し、
前記転送情報生成部は、前記接続確立部の要求に応じて生成した前記転送情報を、前記接続確立部が確立した通信接続を介して一の端末装置に通知することを特徴とする請求項１に記載の通信装置。
【請求項４】
ネットワークを介して端末装置と通信する複数の通信装置と、接続調整装置と、を含む通信システムであって、
前記複数の通信装置のそれぞれは、請求項１〜３のいずれか一項に記載の通信装置であり、
前記接続調整装置は、前記複数の通信装置のうち、端末装置が通信接続を確立すべき通信装置を指示する接続指示情報を生成する接続先指示部を備え、
端末装置は、前記接続調整装置に対して接続要求を送信し、当該接続要求に対する応答として前記接続調整装置から受信した前記接続指示情報に基づき、指示された通信装置に対して前記接続確立要求を送信することを特徴とする通信システム。
【請求項５】
ネットワークを介して端末装置と通信する通信装置において実行される通信方法であって、
前記通信装置の接続確立部が、端末装置から、少なくとも当該端末装置の端末識別情報を含む接続確立要求を受信し、当該端末装置との間に通信接続を確立するとともに、前記接続確立要求に含まれる端末識別情報と、当該端末装置との間に確立した通信接続を示す端末接続情報とを対応付けて記憶部に格納する工程と、
前記通信装置の転送部が、一の端末装置から他の端末装置へ送信するメッセージを一の端末装置から受信し、一の端末装置の端末識別情報に対応する前記端末接続情報と、他の端末装置の端末識別情報に対応する前記端末接続情報とを含む転送情報に基づき、当該転送情報を含む前記メッセージを他の端末装置に転送する工程と、
前記通信装置の転送情報生成部が、前記転送部または前記接続確立部からの要求に基づき、前記転送情報を生成する工程と、を含むことを特徴とする通信方法。
【請求項６】
ネットワークを介して端末装置と通信する手段を備えるコンピュータに、
端末装置から、少なくとも当該端末装置の端末識別情報を含む接続確立要求を受信し、当該端末装置との間に通信接続を確立するとともに、前記接続確立要求に含まれる端末識別情報と、当該端末装置との間に確立した通信接続を示す端末接続情報とを対応付けて記憶部に格納する接続確立部の機能と、
一の端末装置から他の端末装置へ送信するメッセージを一の端末装置から受信し、一の端末装置の端末識別情報に対応する前記端末接続情報と、他の端末装置の端末識別情報に対応する前記端末接続情報とを含む転送情報に基づき、当該転送情報を含む前記メッセージを他の端末装置に転送する転送部の機能と、
前記転送部または前記接続確立部からの要求に基づき、前記転送情報を生成する転送情報生成部の機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、通信システム、通信方法およびプログラムに関する。
【背景技術】
【０００２】
従来、確立した通信接続を維持することで再接続コストをなくし、低遅延化を実現するＷｅｂ標準の通信プロトコルとして、ＷｅｂＳｏｃｋｅｔが知られている。ＷｅｂＳｏｃｋｅｔは、例えば、スマートフォンなどの端末からサーバを介して、ネットワークに接続された機器に制御コマンドを送信して機器を制御する、いわゆるスマートリモコンなどのアプリケーションで利用されている。このようなアプリケーションでは、リアルタイム性が強く求められるため、サーバが端末からのメッセージ（制御コマンドなど）を機器に転送する際の遅延を、可能な限り低減することが求められている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２１１７６６号公報
【非特許文献】
【０００４】
【非特許文献１】山口  秀夫，宮里  系一郎，“「ＷｅｂＳｏｃｋｅｔ」の活用でリモコンをスマートに”，日経エレクトロニクス  ｎｏ．１１０８，日本，日経ＢＰ社，２０１３年５月１３日，ｐ．７１−７９
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、メッセージ転送時の遅延を低減することができる通信装置、通信システム、通信方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の通信装置は、ネットワークを介して端末装置と通信する通信装置であり、接続確立部と、転送部と、転送情報生成部と、を備える。接続確立部は、端末装置から、少なくとも当該端末装置の端末識別情報を含む接続確立要求を受信し、当該端末装置との間に通信接続を確立するとともに、前記接続確立要求に含まれる端末識別情報と、当該端末装置との間に確立した通信接続を示す端末接続情報とを対応付けて記憶部に格納する。転送部は、一の端末装置から他の端末装置へ送信するメッセージを一の端末装置から受信し、一の端末装置の端末識別情報に対応する前記端末接続情報と、他の端末装置の端末識別情報に対応する前記端末接続情報とを含む転送情報に基づき、当該転送情報を含む前記メッセージを他の端末装置に転送する。転送情報生成部は、前記転送部または前記接続確立部からの要求に基づき、前記転送情報を生成する。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態の通信装置を示す構成図。
【図２】接続管理テーブルの一例を示す概念図。
【図３】第１実施形態の通信装置の動作を示すシーケンス図。
【図４】メッセージのデータ形式の一例を示す概念図。
【図５】転送部の処理手順を示すフローチャート。
【図６】第２実施形態の通信装置を示す構成図。
【図７】第２実施形態の通信装置の動作を示すシーケンス図。
【図８】第３実施形態の通信システムを示す構成図。
【図９】端末管理テーブルの一例を示す概念図。
【図１０】通信装置および接続調整装置のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【０００８】
（第１実施形態）
図１は、第１実施形態の通信装置１０Ａを示す構成図である。図１に示す通信装置１０Ａは、ネットワーク４０を介して端末装置２０，３０と通信し、端末装置２０と端末装置３０との間で送受信されるメッセージの転送を行う。なお、図１では便宜上、２つの端末装置２０，３０のみを図示しているが、端末装置の数は任意である。
【０００９】
通信装置１０Ａは、典型的には、一般的なコンピュータシステムとしてのハードウェア構成（ＣＰＵ、主記憶部、補助記憶部、通信インタフェース）を備えるサーバ装置として実現される。しかし、通信装置１０Ａは、例えば、ＰＣ（パーソナルコンピュータ）、デジタルテレビ、ハードディスクレコーダ、スレートＰＣ、スマートフォンなどのデジタル機器として実現されてもよい。また、通信装置１０Ａは、様々な構成上のバリエーション（ＣＰＵ、主記憶部、補助記憶部などの構成数や容量、接続インタフェース規格など）をとり得るものとする。さらに、通信装置１０Ａは、クラウドシステム上で動作する仮想マシンとして実現されてもよい。
【００１０】
本実施形態では、通信装置１０Ａは、ネットワーク４０としてのインターネット上に設置されたサーバ装置であるものとする。
【００１１】
端末装置２０，３０は、メッセージの送受信を行う端末装置である。これら端末装置２０，３０は、例えば、ＰＣ、ＳＴＢ（セットトップボックス）、デジタルテレビ、ハードディスクレコーダ、タブレット端末、スマートフォンなどのデジタル機器である。しかし、端末装置２０，３０は、通信装置１０Ａとネットワーク４０を介して通信できる機能を備えていれば、どのような形態の機器であってもよい。例えば、端末装置２０，３０は、ブロードバンドルータのような中継装置であってもよいし、白物家電やセンサのように、データ処理能力が低い機器であってもよい。
【００１２】
本実施形態では、端末装置２０としてスマートフォン、端末装置３０としてデジタルテレビを用いることを想定する。特に、スマートフォンからデジタルテレビに対して制御コマンドをメッセージとして送信し、デジタルテレビをリアルタイム・低遅延で制御する、いわゆるスマートリモコンのアプリケーションを想定する。
【００１３】
以下、通信装置１０Ａの機能的な構成要素について具体的に説明する。通信装置１０Ａは、図１に示すように、通信部１１と、接続確立部１２Ａと、転送部１３Ａと、転送情報生成部１４Ａと、記憶部１５とを備える。
【００１４】
通信部１１は、ネットワーク４０を介して端末装置２０，３０と通信する機能ブロックである。具体的には、通信部１１は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）からＴＣＰ／ＩＰ通信スタックを含む機能コンポーネントである。ＴＣＰ／ＩＰスタックは、ＮＩＣ上にハードウェアで実装されたものであってもよいし、オペレーティングシステム（ＯＳ）上に実装される、あるいは、ドライバとして実装されるソフトウェアであってもよい。また、トランスポート層は、ＴＣＰに限定されるものではなく、例えばＵＤＰなどであってもよい。また、物理・ＭＡＣ層は、イーサネット（登録商標）だけでなく、Ｗｉｆｉなどの無線、ＩｎｆｉｎｉＢａｎｄなどであってもよい。
【００１５】
接続確立部１２Ａは、端末装置２０，３０から、少なくとも端末識別情報を含む接続確立要求を受信し、この接続確立要求に応じて端末装置２０，３０との間に通信接続を確立するとともに、端末装置２０，３０からの接続確立要求に含まれる端末識別情報と、端末装置２０，３０との間に確立した通信接続を示す端末接続情報とを対応付けて、記憶部１５に格納する。例えば、接続確立部１２Ａは、端末装置２０から端末装置２０の端末識別情報を含む接続確立要求を受信すると、端末装置２０との間の通信接続を確立し、端末装置２０の端末識別情報と端末接続情報とのペアを、例えば、記憶部１５が保持する後述の接続管理テーブルのエントリに登録する。同様に、接続確立部１２Ａは、端末装置３０から端末装置３０の端末識別情報を含む接続確立要求を受信すると、端末装置３０との間の通信接続を確立し、端末装置３０の端末識別情報と端末接続情報とのペアを、例えば、記憶部１５が保持する後述の接続管理テーブルのエントリに登録する。
【００１６】
接続確立部１２Ａが端末装置２０，３０との間で確立する通信接続は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ベースの通信コネクションであることを想定している。しかし、適用可能な通信接続はこの限りではなく、コネクションあるいはセッションの概念のある通信プロトコルであればよい。例えば、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）によって構築されたＵＤＰ通信セッションであってもよい。また、ＴＬＳ・ＳＳＬといったＴＣＰ上で利用される暗号プロトコルであってもよい。本実施形態では、接続確立部１２Ａは、ＴＣＰないしＴＬＳコネクションを、ＷｅｂＳｏｃｋｅｔプロトコルを利用して確立するものとする。
【００１７】
端末識別情報は、端末装置２０，３０に対して一意に割り当てられた固有の識別情報である。端末識別情報は、実際に端末装置２０，３０のデバイス自体を識別する情報であってもよいし、通信コネクションの端点を識別する情報であってもよい。前者の場合は、ＭＡＣアドレスや製品のシリアルナンバーのように、予め端末装置２０，３０に埋め込まれた情報であってもよいし、ＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）のように、端末装置２０，３０上でも独自に生成可能な一意のＩＤであってもよい。また、端末装置２０，３０の登録時に、通信装置１０Ａあるいは通信装置１０Ａを含む通信システムの別構成要素が生成・付与する独自ＩＤ（ＵＵＩＤも含む）であってもよい。また、後者の場合は、端末装置２０，３０のＩＰアドレスとポート番号の組であってもよいし、デバイス単位よりもさらに細かい粒度で通信システムが払い出す独自のクライアントＩＤであってもよい。つまり、端末識別情報は、後述の端末接続情報のように通信接続ごとに変化する情報ではなく、端末装置２０，３０あるいは端末装置２０，３０が実行するアプリケーションに対して割り当てられる不変の情報である。
【００１８】
端末接続情報は、接続確立部１２Ａが端末装置２０，３０との間に確立した通信接続を識別するための情報である。具体的には、端末接続情報としては、例えば、通信ソケットＩＤや、通信ソケットに関する情報の格納先を示すアドレス（ポインタ）情報などを利用することができる。前者の通信ソケットＩＤは、具体的には、通信装置１０Ａのファイルシステムが通信ソケットにアクセスするためのファイルディスクリプタである。後者のアドレス（ポインタ）情報は、具体的には、通信装置１０ＡのＯＳ（オペレーションシステム）内のソケットバッファ（通信ソケットＩＤなどの通信ソケットに関する情報を格納するオブジェクト）へのポインタである。
【００１９】
図２は、記憶部１５が保持する接続管理テーブルＴ１の一例を示す概念図である。図２に示すように、接続管理テーブルＴ１の各エントリには、通信装置１０Ａが通信接続を確立している端末装置２０，３０の端末識別情報と端末接続情報とが対応付けて格納されている。接続確立部１２Ａは、上述したように、端末装置２０，３０との間の通信接続を確立するたびに、この接続管理テーブルＴ１のエントリに、通信接続を確立した端末装置２０，３０の端末識別情報と端末接続情報のペアを登録する。接続管理テーブルＴ１のエントリに登録された情報は、該当する通信接続が遮断されると消去される。ＷｅｂＳｏｃｋｅｔプロトコルは、確立した通信接続を維持するが、通信接続を遮断する明示的な操作があると、通信接続が遮断される。また、ネットワーク４０における何らかの要因で通信接続が遮断される場合もある。このような場合、接続確立部１２Ａは、通信接続の遮断を検知すると、記憶部１５が保持する接続管理テーブルＴ１の該当するエントリの情報を消去する。
【００２０】
転送部１３Ａは、端末装置２０，３０のうちの一方が他方に送信するメッセージを受信し、送信元の端末装置との間に確立した端末接続情報と、宛先の端末装置との間に確立した端末接続情報とを含む転送情報に基づいて、この転送情報を含むメッセージを宛先の端末装置に転送する。このとき、転送部１３Ａは、送信元の端末装置から受信したメッセージに転送情報が含まれているか否かを確認し、当該メッセージに転送情報が含まれていない場合に、転送情報生成部１４Ａに対して転送情報の生成を要求する。そして、転送部１３Ａは、転送情報生成部１４Ａにより生成された転送情報を、送信元の端末装置から受信したメッセージに付加して、宛先の端末装置に転送する。一方、送信元の端末装置から受信したメッセージに転送情報が含まれている場合には、転送部１３Ａは、そのメッセージをそのまま宛先の端末装置に転送する。
【００２１】
転送情報に含まれる端末装置２０，３０の端末接続情報は、それぞれ、端末装置２０，３０の端末識別情報に対応付けられて、記憶部１５が保持する接続管理テーブルＴ１に格納されている。
【００２２】
転送情報生成部１４Ａは、転送部１３Ａからの要求に基づき、メッセージの送受信を行う端末装置２０，３０それぞれの端末接続情報を含む上述した転送情報を生成する。本実施形態では、メッセージの送信元の端末装置の端末接続情報と宛先の端末装置の端末接続情報との組み合わせを転送情報とするが、これ以外にも、例えばそれぞれの端末識別情報や可読な端末名などを、転送情報に含めるようにしてもよい。転送情報生成部１４Ａは、メッセージ内に転送情報が含まれていないことを転送部１３Ａが検知した場合に呼び出され、転送情報を生成する。
【００２３】
次に、図３を参照しながら、第１実施形態の通信装置１０Ａの動作を説明する。図３は、第１実施形態の通信装置１０Ａの動作を示すシーケンス図である。図中の「ｃｌｉｅｎｔ＿ｉｄ」は端末識別情報、「ｓｏｃｋｅｔ」は端末接続情報、「ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ」は転送情報をそれぞれ表している。また、「ｄｓｔ＿」は宛先を表している。なお、図２では、端末装置２０（スマートフォン）から端末装置３０（デジタルテレビ）に対してメッセージとして制御コマンドを送信するスマートリモコンのアプリケーションを想定している。
【００２４】
まず、端末装置３０（デジタルテレビ）から通信装置１０Ａに対して接続確立要求が送信される（ステップＳ１０１）。この接続確立要求には、端末装置３０の端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）が含まれている。
【００２５】
通信装置１０Ａの接続確立部１２Ａは、端末装置３０から接続確立要求を受信すると、この接続確立要求に応じて端末装置３０との間の通信接続を確立し、接続確立要求に含まれていた端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）と、端末装置３０との間に確立した通信接続を示す端末接続情報（ｓｏｃｋｅｔ）とのペアを、記憶部１５が保持する接続管理テーブルＴ１のエントリに登録する（ステップＳ１０２）。
【００２６】
次に、端末装置２０（スマートフォン）から通信装置１０Ａに対して接続確立要求が送信される（ステップＳ１０３）。この接続確立要求には、端末装置２０の端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）と、端末装置２０がメッセージの宛先として指定する端末装置３０の端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）とが含まれている。
【００２７】
なお、端末装置２０（スマートフォン）がメッセージの宛先として指定する端末装置３０（デジタルテレビ）の端末識別情報を取得する方法としては、以下の方法が考えられる。例えば、本実施形態の通信システムの機能として、ユーザの所有機器情報を管理し、端末装置２０の登録時や接続要求時に、同一ユーザの所有機器（この場合、端末装置３０）を提示して、この端末装置３０の端末識別情報を通信システム側（通信装置１０Ａ内の別機能や通信システム内の別装置など）が端末装置２０に通知する。あるいは、端末装置２０のユーザが手動で、端末装置３０の端末識別情報を端末装置２０に設定する構成としてもよい。また、端末装置２０を宅内ＬＡＮなどに接続する際に、宅内ＬＡＮに接続されている端末装置３０の発見・ペアリングを自動で実行し、端末装置３０の端末識別情報を端末装置２０に設定するようにしてもよい。
【００２８】
通信装置１０Ａの接続確立部１２Ａは、端末装置２０から接続確立要求を受信すると、この接続確立要求に応じて端末装置２０との間の通信接続を確立し、接続確立要求に含まれていた端末装置２０の端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）と、端末装置２０との間に確立した通信接続を示す端末接続情報（ｓｏｃｋｅｔ）とのペアを、記憶部１５が保持する接続管理テーブルＴ１のエントリに登録する（ステップＳ１０４）。
【００２９】
次に、端末装置２０から通信装置１０Ａに対して、端末装置３０宛の送信メッセージが送信される（ステップＳ１０５）。この送信メッセージは、例えば、スマートリモコンのアプリケーションにより端末装置２０（スマートフォン）から端末装置３０（デジタルテレビ）を操作するための制御コマンドである。
【００３０】
本実施形態で想定するＷｅｂＳｏｃｋｅｔ通信により送受信されるメッセージのデータ形式の一例を図４に示す。端末装置２０（スマートフォン）と端末装置３０（デジタルテレビ）との間で送受信されるメッセージは、図４（ａ）に示すように、例えば２ｂｙｔｅのＷｅｂＳｏｃｋｅｔヘッダと、例えば１ｂｙｔｅの転送情報タイプと、例えば１６ｂｙｔｅの転送情報または宛先情報と、メッセージ本体とで構成される。転送情報タイプと転送情報または宛先情報とメッセージ本体とが、メッセージのペイロードにあたる。なお、メッセージのデータ形式に拡張性を持たせるために、バージョン番号をペイロードに含めるようにしてもよい。転送情報タイプは、当該メッセージのペイロードに転送情報が含まれているか否か、および、含まれている場合の転送情報の形式を示している。宛先情報は、転送情報が含まれていない場合に転送情報の代わりに格納される情報であり、メッセージの送信元の端末装置の端末識別情報と宛先の端末装置の端末識別情報とを含む。
【００３１】
ステップＳ１０５で端末装置２０から送信される端末装置３０宛の送信メッセージは、図４（ｂ）に示すように、転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）が含まれておらず、その代わりに、送信元の端末装置２０（スマートフォン）の端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）と宛先の端末装置３０（デジタルテレビ）の端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）とを組み合わせた宛先情報が含まれている。
【００３２】
通信装置１０Ａの転送部１３Ａは、端末装置２０から送信メッセージを受信すると、当該メッセージに転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）が含まれているか否かを確認する(ステップＳ１０６）。ここでは、送信メッセージに転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）が含まれていない。このため、転送部１３Ａは、送信メッセージに含まれる宛先の端末装置３０の端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）をキーとして、記憶部１５が保持する接続管理テーブルＴ１のエントリを検索し、この端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）に対応する端末接続情報（ｄｓｔ＿ｓｏｃｋｅｔ）を取得する（ステップＳ１０７）。そして、転送部１３Ａは、送信元の端末装置２０の端末接続情報（ｓｏｃｋｅｔ）と宛先の端末装置３０の端末接続情報（ｄｓｔ＿ｓｏｃｋｅｔ）とを転送情報生成部１４Ａに渡して転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）の生成を要求し、この要求に応じて転送情報生成部１４Ａが生成した転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）を転送情報生成部１４Ａから受け取る（ステップＳ１０８）。そして、転送部１３Ａは、端末装置２０から受信した送信メッセージに、転送情報生成部１４Ａが生成した転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）を宛先情報の代わりに付加して、宛先の端末装置３０に転送する（ステップＳ１０９）。
【００３３】
なお、図３に示す例では、転送部１３Ａが、宛先の端末装置３０の端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）をもとに端末装置３０の端末接続情報（ｄｓｔ＿ｓｏｃｋｅｔ）を記憶部１５から取得している。しかし、転送情報生成部１４Ａが転送部１３Ａから端末装置３０の端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）を受け取り、記憶部１５から端末装置３０の端末接続情報（ｄｓｔ＿ｓｏｃｋｅｔ）を取得して転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）を生成する構成としてもよい。
【００３４】
ステップＳ１０９で端末装置３０に転送される送信メッセージは、図４（ｃ）に示すように、宛先情報の代わりに、送信元の端末装置２０（スマートフォン）の端末接続情報（ｓｏｃｋｅｔ）と宛先の端末装置３０（デジタルテレビ）の端末接続情報（ｄｓｔ＿ｓｏｃｋｅｔ）とを組み合わせた転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）が含まれている。
【００３５】
端末装置３０は、端末装置２０から送信されて通信装置１０Ａにより転送された送信メッセージを受信すると、通信装置１０Ａに対して応答メッセージ（Ａｃｋメッセージ）を送信する（ステップＳ１１０）。この応答メッセージは、図４（ｄ）に示すように、送信メッセージの転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）をそのままのかたちで含んでおり、転送情報タイプが変更されている。しかし、送信メッセージと応答メッセージとで転送情報タイプを共通とし、転送情報の送信元と宛先とを入れ替えるようにしてもよい。
【００３６】
通信装置１０Ａの転送部１３Ａは、端末装置３０から応答メッセージを受信すると、当該メッセージに転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）が含まれているか否かを確認する（ステップＳ１１１）。ここでは、応答メッセージに転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）が含まれている。このため、転送部１３Ａは、メッセージに含まれる転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）をもとに、応答メッセージの宛先である端末装置２０の通信接続（通信ソケット）を特定し、ここに応答メッセージをそのまま書き出すのみで、応答メッセージを端末装置２０に転送することができる（ステップＳ１１２）。
【００３７】
端末装置３０から端末装置２０への応答メッセージには、以上のように、転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）が含まれている。したがって、この応答メッセージを受信した端末装置２０は、その後、端末装置３０宛の送信メッセージ（制御コマンド）を送信する際に、転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）を含んだかたちで送信メッセージを送信することができる。このため、通信接続が遮断されない限りは、転送情報を改めて生成する必要はない。
【００３８】
なお、図３に示す例では、端末装置２０（スマートフォン）からの送信メッセージを受信した端末装置３０（デジタルテレビ）が、送信メッセージに対する応答メッセージ（Ａｃｋメッセージ）を送信するようにしているが、応答メッセージの送信を行わない構成も考えられる。この構成の場合、端末装置２０は、端末装置３０から何らかのメッセージが送信されない限り、転送情報を含んだ送信メッセージを送信できない。そこで、この構成の場合には、通信装置１０Ａの転送情報生成部１４Ａが転送情報を生成した段階で、この転送情報を端末装置２０に通知する仕組みを持たせることが望ましい。
【００３９】
図５は、第１実施形態の通信装置１０Ａにおける転送部１３Ａの処理手順を示すフローチャートである。
【００４０】
転送部１３Ａは、転送すべきメッセージを受信すると（ステップＳ２０１）、受信したメッセージのペイロードを解析して（ステップＳ２０２）、メッセージに転送情報が含まれているか否かを判定する（ステップＳ２０３）。そして、受信したメッセージに転送情報が含まれていない場合（ステップＳ２０３：Ｎｏ）、転送部１３Ａは、メッセージから宛先の端末装置の端末識別情報を取得し（ステップＳ２０４）、この端末識別情報をキーとして記憶部１０５が保持する接続管理テーブルＴ１を検索する（ステップＳ２０５）。
【００４１】
このとき、宛先の端末装置と通信装置１０Ａとの間の通信接続が未だ確立されておらず、接続管理テーブルＴ１のエントリに宛先の通信端末に関する情報が登録されていない場合がある。また、一度確立された宛先の端末装置との間の通信接続が遮断されたことで、接続管理テーブルＴ１のエントリが削除されている場合もある。そこで、転送部１３Ａは、接続管理テーブルＴ１の検索により宛先の端末装置の端末接続情報が取得できたか否かを判定し（ステップＳ２０６）、宛先の端末装置の端末接続情報が取得できない場合は（ステップＳ２０６：Ｎｏ）、メッセージの送信元の端末装置に対して、メッセージを転送できなかったことを示すエラーを通知する（ステップＳ２０７）。
【００４２】
一方、宛先の端末装置の端末接続情報が取得できた場合（ステップＳ２０６：Ｙｅｓ）、転送部１３Ａは、送信元の端末装置の端末接続情報と、宛先の端末装置の端末接続情報とを転送情報生成部１４Ａに渡して転送情報の生成を要求し、転送情報生成部１４Ａが生成した転送情報を取得する（ステップＳ２０８）。そして、転送部１３Ａは、ステップＳ２０１で受信したメッセージに、転送情報生成部１４Ａが生成した転送情報を付加して、宛先の端末装置に転送する（ステップＳ２０９）。
【００４３】
また、ステップＳ２０１で受信したメッセージに転送情報が含まれている場合（ステップＳ２０３：Ｙｅｓ）、転送部１３Ａは、この転送情報から宛先の端末装置の通信接続（通信ソケット）を特定し、ステップＳ２０１で受信したメッセージをそのままこの通信ソケットに書き出すことで、宛先の端末装置に転送する（ステップＳ２０９）。
【００４４】
このとき、通信装置１０Ａと宛先の端末装置との間に確立された通信接続が、例えばネットワーク４０上のネットワーク機器などによって遮断され、その通信接続の遮断を通信装置１０Ａが認識していない場合がある。このような場合は、通信装置１０Ａがメッセージを転送する処理を行っても、宛先の端末装置にメッセージが転送されない。そこで、転送部１３Ａは、ステップＳ２０９で宛先の端末装置にメッセージを転送した後、メッセージが正常に転送できたか否かを判定する（ステップＳ２１０）。そして、宛先の端末装置にメッセージが正常に転送できていない場合は（ステップＳ２１０：Ｎｏ）、メッセージの送信元の端末装置に対して、メッセージを転送できなかったことを示すエラーを通知する（ステップＳ２０７）。一方、宛先の端末装置にメッセージが正常に転送できた場合は（ステップＳ２１０：Ｙｅｓ）、そのまま処理を終了する。
【００４５】
以上のように、本実施形態の通信装置１０Ａは、端末装置２０と端末装置３０との間で送受信されるメッセージに含まれる転送情報に基づいて、メッセージの転送を行う。このため、転送情報生成部１４Ａが転送情報を一度生成すれば、その後は、転送すべきメッセージに含まれる転送情報から宛先の端末装置の通信接続を特定し、そこにメッセージを書き出すのみでメッセージの転送を行うことができるので、メッセージ転送時の遅延を低減することができる。
【００４６】
すなわち、従来技術では、メッセージの転送を行う通信装置は、メッセージの転送を行う際に、その都度、主記憶部にアクセスして宛先の通信接続を特定する。このため、メッセージの転送のたびに主記憶部へのアクセスや排他制御を行う必要があり、これらを要因とする遅延が発生していた。これに対し、本実施形態によれば、転送情報が生成された後は、主記憶部にアクセスすることなくメッセージの転送を行うことができるので、メッセージ転送時の遅延を低減することができる。
【００４７】
（第２実施形態）
次に、第２実施形態について説明する。上述した第１実施形態では、端末装置２０から端末装置３０に対してメッセージを最初に送信するときに転送情報を生成していた。これに対し、第２実施形態では、端末装置２０からの接続確立要求に応じて端末装置２０との間に通信接続を確立する際に、転送情報を生成する。以下、第１実施形態と共通の構成要素には同一の符号を付して重複した説明を省略し、本実施形態に特徴的な部分についてのみ説明する。
【００４８】
図６は、第２実施形態の通信装置１０Ｂを示す構成図である。通信装置１０Ｂは、図６に示すように、通信部１１と、接続確立部１２Ｂと、転送部１３Ｂと、転送情報生成部１４Ｂと、記憶部１５とを備える。通信部１１および記憶部１５は、第１実施形態と同様である。
【００４９】
接続確立部１２Ｂは、第１実施形態の接続確立部１２Ａと同様に、端末装置２０，３０からの接続確立要求に応じて端末装置２０，３０との間に通信接続を確立し、端末識別情報と端末接続情報とのペアを、記憶部１５が保持する接続管理テーブルＴ１のエントリに登録する。この際、通信装置１０Ｂの接続確立部１２Ｂは、端末装置２０から、端末装置２０の端末識別情報と端末装置３０の端末識別情報とを含んだ接続確立要求を受信すると、端末装置２０との間の通信接続を確立するとともに、転送情報生成部１４Ｂに対して、転送情報の生成を要求する。
【００５０】
例えば、接続確立部１２Ｂは、端末装置２０からの接続確立要求に含まれる端末装置３０の端末識別情報をキーとして、記憶部１５が保持する接続管理テーブルＴ１のエントリを検索し、端末装置３０の端末識別情報に対応する端末接続情報を取得する。そして、接続確立部１２Ｂは、端末装置２０との間の通信接続の確立により得られる端末接続情報と、記憶部１５から取得した端末装置３０の端末接続情報とを転送情報生成部１４Ｂに渡して、転送情報の生成を要求する。
【００５１】
転送情報生成部１４Ｂは、接続確立部１２Ｂからの要求に応じて呼び出され、メッセージの送受信を行う端末装置２０，３０それぞれの端末接続情報を含む上述した転送情報を生成する。そして、転送情報生成部１４Ｂは、生成した転送情報を端末装置２０に通知する。これにより、端末装置２０は、端末装置３０宛に送信メッセージを送信する際に、最初のメッセージ送信時から転送情報を含んだメッセージを送信することができる。
【００５２】
なお、以上の説明では、接続確立部１２Ｂが、端末装置２０からの接続確立要求に含まれる端末装置３０の端末識別情報をもとに端末装置３０の端末接続情報を記憶部１５から取得し、端末装置２０の端末接続情報と端末装置３０の端末接続情報とを転送情報生成部１４Ｂに渡して、転送情報の生成を要求している。しかし、接続確立部１２Ｂが、端末装置２０の端末接続情報または端末識別情報と、端末装置３０の端末識別情報とを転送情報生成部１４Ｂに渡して転送情報の生成を要求し、転送情報生成部１４Ｂが、記憶部１５から端末装置３０の端末接続情報を取得して転送情報を生成する構成としてもよい。
【００５３】
転送部１３Ｂは、端末装置２０，３０のうちの一方が他方に送信するメッセージを受信し、受信したメッセージに含まれる転送情報に基づいて、宛先の端末装置にメッセージを転送する。本実施形態では、上述したように端末装置２０，３０間でメッセージの送受信が行われる前に転送情報が生成されるので、最初のメッセージ送信時から転送情報を含んだメッセージの送信が行われる。したがって、転送部１３Ｂは、第１実施形態の転送部１３Ａのように、メッセージに転送情報が含まれているか否かを確認する必要がない。転送部１３Ｂは、受信したメッセージに含まれる転送情報から宛先の通信接続（通信ソケット）を特定し、そこにメッセージを書き出すのみで、メッセージの転送を行うことができる。
【００５４】
次に、図７を参照しながら、第２実施形態の通信装置１０Ｂの動作を説明する。図７は、第２実施形態の通信装置１０Ｂの動作を示すシーケンス図である。図中の「ｃｌｉｅｎｔ＿ｉｄ」は端末識別情報、「ｓｏｃｋｅｔ」は端末接続情報、「ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ」は転送情報をそれぞれ表している。また、「ｄｓｔ＿」は宛先を表している。なお、図７では、端末装置２０（スマートフォン）から端末装置３０（デジタルテレビ）に対してメッセージとして制御コマンドを送信するスマートリモコンのアプリケーションを想定している。
【００５５】
まず、端末装置３０（デジタルテレビ）から通信装置１０Ｂに対して接続確立要求が送信される（ステップＳ３０１）。この接続確立要求には、端末装置３０の端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）が含まれている。
【００５６】
通信装置１０Ｂの接続確立部１２Ｂは、端末装置３０から接続確立要求を受信すると、この接続確立要求に応じて端末装置３０との間の通信接続を確立し、接続確立要求に含まれていた端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）と、端末装置３０との間に確立した通信接続を示す端末接続情報（ｓｏｃｋｅｔ）とのペアを、記憶部１５が保持する接続管理テーブルＴ１のエントリに登録する（ステップＳ３０２）。
【００５７】
次に、端末装置２０（スマートフォン）から通信装置１０Ｂに対して接続確立要求が送信される（ステップＳ３０３）。この接続確立要求には、端末装置２０の端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）と、端末装置２０がメッセージの宛先として指定する端末装置３０の端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）とが含まれている。
【００５８】
通信装置１０Ｂの接続確立部１２Ｂは、端末装置２０から接続確立要求を受信すると、この接続確立要求に応じて端末装置２０との間の通信接続を確立し、接続確立要求に含まれていた端末装置２０の端末識別情報（ｃｌｉｅｎｔ＿ｉｄ）と、端末装置２０との間に確立した通信接続を示す端末接続情報（ｓｏｃｋｅｔ）とのペアを、記憶部１５が保持する接続管理テーブルＴ１のエントリに登録する（ステップＳ３０４）。また、このとき接続確立部１２Ｂは、端末装置２０からの接続確立要求に含まれる端末装置３０の端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）をキーとして、記憶部１５が保持する接続管理テーブルＴ１のエントリを検索し、この端末識別情報（ｄｓｔ＿ｃｌｉｅｎｔ＿ｉｄ）に対応する端末接続情報（ｄｓｔ＿ｓｏｃｋｅｔ）を取得する（ステップＳ３０５）。
【００５９】
次に、接続確立部１２Ｂは、端末装置２０の端末接続情報（ｓｏｃｋｅｔ）と端末装置３０の端末接続情報（ｄｓｔ＿ｓｏｃｋｅｔ）とを転送情報生成部１４Ｂに渡して転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）の生成を要求する（ステップＳ３０６）。この要求に応じて、転送情報生成部１４Ｂは、端末装置２０の端末接続情報（ｓｏｃｋｅｔ）と端末装置３０の端末接続情報（ｄｓｔ＿ｓｏｃｋｅｔ）とを含む転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）を生成し、生成した転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）を端末装置２０に通知する（ステップＳ３０７）。
【００６０】
次に、端末装置２０から通信装置１０Ｂに対して、端末装置３０宛の送信メッセージが送信される（ステップＳ３０８）。この送信メッセージは、例えば、スマートリモコンのアプリケーションにより端末装置２０（スマートフォン）から端末装置３０（デジタルテレビ）を操作するための制御コマンドである。この送信メッセージには、転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）が含まれている。
【００６１】
通信装置１０Ｂの転送部１３Ｂは、端末装置２０から送信メッセージを受信すると、当該メッセージに含まれる転送情報（ｆｏｒｗａｒｄｉｎｇ＿ｈｅａｄｅｒ）をもとに、送信メッセージの宛先である端末装置３０の通信接続（通信ソケット）を特定する。そして、この通信ソケットに、端末装置２０から受信した送信メッセージをそのまま書き出して、端末装置３０に送信メッセージを転送する（ステップＳ３０９）。
【００６２】
以上のように、本実施形態の通信装置１０Ｂは、上述した第１実施形態の通信装置１０Ａと同様に、端末装置２０と端末装置３０との間で送受信されるメッセージに含まれる転送情報に基づいて、メッセージの転送を行う。したがって、第１実施形態の通信装置１０Ａと同様に、メッセージの転送を行うたびに主記憶部にアクセスして宛先を特定する必要がなく、メッセージ転送時の遅延を低減することができる。
【００６３】
（第３実施形態）
次に、第３実施形態について説明する。第３実施形態は、第１実施形態の通信装置１０Ａまたは第２実施形態の通信装置１０Ｂを複数台備えた通信システムにおいて、端末装置２０，３０の接続先となる通信装置を指示する接続調整装置を設けた例である。なお、以下では、本実施形態の通信システムが備える通信装置を通信装置１０と表記する。端末装置２０，３０は、通信装置１０に対して接続確立要求を行う前に接続調整装置にアクセスして、接続先となる通信装置１０の指定を受ける以外は、第１実施形態および第２実施形態と同様である。以下、本実施形態に特徴的な部分についてのみ説明する。
【００６４】
図８は、第３実施形態の通信システムを示す構成図である。本実施形態の通信システムは、複数の通信装置１０のうちで、端末装置２，３０の接続先となる通信装置１０を指示する接続調整装置５０を備える。
【００６５】
接続調整装置５０は、通信装置１０と同様に、一般的なコンピュータとしてのハードウェア構成を有し、機能的な構成要素として、図８に示すように、通信部５１と、接続指示部５２と記憶部５３とを備える。
【００６６】
通信部５１は、第１実施形態の通信装置１０Ａや第２実施形態の通信装置１０Ｂが備える通信部１１と同様である。
【００６７】
記憶部５３は、本実施形態の通信システムに登録された端末装置を管理するための端末管理テーブルＴ２を保持する。図９は、記憶部５３が保持する端末管理テーブルＴ２の一例を示す概念図である。図９に示すように、端末管理テーブルＴ２の各エントリには、本実施形態の通信システムに登録された端末装置ごとに、当該端末装置の端末識別情報と、当該端末装置が接続されている通信装置１０を識別する通信装置識別情報と、当該端末装置が相互に通信可能な端末群を識別するグループ識別情報と、当該端末装置の機種名などの属性情報とが対応付けて格納されている。
【００６８】
端末識別情報、グループ識別情報および属性情報は、本実施形態の通信システムを利用するユーザが所有機器（端末装置２０，３０）を登録する際に、端末管理テーブルＴ２のエントリに格納される。通信装置識別情報は、端末装置２０，３０と通信装置１０との間の通信接続が確立された際に、端末装置２０，３０の端末識別情報が格納されているエントリに格納される。なお、グループ識別情報や属性情報は必須ではなく、少なくとも端末識別情報と通信装置識別情報とが対応付けられたかたちで、端末管理テーブルＴ２のエントリに格納されていればよい。
【００６９】
グループ識別情報は、具体的には、所有者ＩＤなどによって実現されることを想定しているが、この限りではない。相互通信可能な機器リスト、あるいは、相互通信不可な機器リスト、を其々ＡＣＬ（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）的に保持する構成であってもよい。
【００７０】
端末管理テーブルＴ２は、１つのデータベーステーブルで構成されてもよいが、複数のテーブル、複数のデータベースにまたがって構成されるものであってよい。また、データベースの種類も問わない。リレーショナルデータベースであってもよいし、キーバリューストアであってもよいし、独自フォーマットで実現されたファイルであってもよい。また、端末管理テーブルＴ２は、不揮発化してもよいし、メモリ上で保持されていてもよく、実装形態は問わないものとする。
【００７１】
接続指示部５２は、端末装置２０，３０からの接続要求を受信すると、記憶部５３が保持する端末管理テーブルＴ２に基づき、通信システムが備える複数の通信装置１０のうち、接続すべき通信装置１０を指示する。すなわち、接続指示部５２は、接続調整装置５０に対して接続要求を送信した端末装置２０，３０に対し、接続を確立すべき通信装置１０のＵＲＬやＩＰアドレスとポート番号のペア情報などを通知して、この通信装置１０への接続を指示する。
【００７２】
具体的には、接続指示部５２は、宛先の端末装置を指定しない接続要求については、通信システムが備える複数の通信装置１０のうち、収容接続数に余裕がある通信装置１０を、何らかのルールに則るか、あるいは、ランダムに選択して指示する。何らかのルールとは、収容接続数の余裕の程度を用いてもよいし（この場合、接続調整装置５０は、通信装置１０の空リソースを収集する手段を備える。同時に、通信装置１０も接続調整装置５０に空リソース情報を提供する手段を備える）、接続要求、あるいは、記憶部５３が保持する端末管理テーブルＴ２に含まれる属性情報（例えば、端末の設置場所（国、地域など））を用いてもよいし、あるいは、それまでの端末装置２０，３０の通信履歴・頻度情報などを蓄積しておいて、この情報を用いてもよい。最後に挙げたケースは、例えば、高頻度でデジタルテレビを遠隔操作するスマートフォンについては、応答性能の高い通信装置１０への接続を指示するなどのユースケースが考えられる。
【００７３】
また、接続指示部５２は、宛先の端末装置を指定した接続要求については、宛先の端末装置が未だ通信装置１０に接続されていない場合には、エラー応答し、宛先の端末装置がいずれかの通信装置１０に接続されている場合には、接続先の通信装置１０に接続するように指示する。また、宛先の端末装置が接続されている通信装置１０への接続が認められていない場合には、エラー応答する。
【００７４】
本実施形態の通信システムでは、端末装置２０，３０は、通信装置１０に対して接続確立要求を行う前に、接続調整装置５０に対して接続要求を送信する。そして、端末装置２０，３０は、この接続要求に対する応答として接続調整装置５０から送信（通知）された接続指示情報（接続を確立すべき通信装置１０のＵＲＬやＩＰアドレスとポート番号のペア情報など）を受信し、受信した接続指示情報に基づき、接続調整装置５０から指示された通信装置１０に対して接続確立要求を送信する。それ以降の動作は、上述した第１実施形態や第２実施形態と同様である。
【００７５】
以上のように、本実施形態の通信システムでは、複数の通信装置１０を用いるシステム構成をとることで、第１実施形態や第２実施形態で述べた遅延要因の解消を、より大規模な多数の端末装置を収容するシステムにおいても展開することができる。
【００７６】
なお、上述した第１実施形態の通信装置１０Ａ、第２実施形態の通信装置１０Ｂおよび第３実施形態の接続調整装置５０の各機能的な構成要素は、例えば、汎用のコンピュータシステムを基本ハードウェアとして用いて実行されるプログラム（ソフトウェア）により実現することができる。
【００７７】
図１０は、通信装置１０Ａ，１０Ｂおよび接続調整装置５０のハードウェア構成の一例を示す図である。通信装置１０Ａ，１０Ｂおよび接続調整装置５０は、図１０に示すように、ＣＰＵ１０１と、主記憶部１０２と、補助記憶部１０３と、通信インタフェース１０４と、各部を接続するバス１０５とを含んだ汎用のコンピュータシステムとして構成される。なお、補助記憶装置１０３は、有線または無線によるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などで各部に接続されてもよい。
【００７８】
上述した通信装置１０Ａ，１０Ｂおよび接続調整装置５０の各機能的な構成要素は、例えば、ＣＰＵ１０１が、主記憶部１０２を利用して、補助記憶部１０３などに格納されたプログラムを実行することによって実現される。このプログラムは、例えば、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷ、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃなど）、半導体メモリ、またはこれに類する記録媒体に記録されて提供される。プログラムを記録する記録媒体は、コンピュータシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。
【００７９】
また、上記プログラムを、コンピュータシステムにあらかじめインストールすることで実現してもよいし、ネットワークを介して配布される上記のプログラムをコンピュータシステムに適宜インストールするように構成してもよい。また、上記のプログラムを外部のサーバコンピュータ上で実行させ、ネットワークを介してその結果をクライアントコンピュータとして構成された通信装置１０Ａ，１０Ｂおよび接続調整装置５０が受け取る構成としてもよい。
【００８０】
上記のコンピュータシステムで実行されるプログラムは、上述した通信装置１０Ａ，１０Ｂおよび接続調整装置５０の各機能的な構成要素を含むモジュール構成となっており、ＣＰＵ１０１がこのプログラムを適宜読み出して実行することにより、上述した通信装置１０Ａ，１０Ｂおよび接続調整装置５０の各機能的な構成要素が主記憶部１０２上にロードされ、主記憶部１０２上に生成されるようになっている。
【００８１】
なお、上述した通信装置１０Ａ，１０Ｂおよび接続調整装置５０の各機能的な構成要素は、プログラム（ソフトウェア）により実現するだけでなく、その一部または全部を、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの専用のハードウェアにより実現することもできる。
【００８２】
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８３】
１０Ａ，１０Ｂ  通信装置
１１  通信部
１２Ａ，１２Ｂ  接続確立部
１３Ａ，１３Ｂ  転送部
１４Ａ，１４Ｂ  転送情報生成部
１５  記憶部
２０，３０  端末装置
４０  ネットワーク
５０  接続調整装置
５１  通信部
５２  接続指示部
５３  記憶部
Ｔ１  接続管理テーブル
Ｔ２  端末管理テーブル
【図１】
2015170041.tif 000003
【図２】
2015170041.tif 000004
【図３】
2015170041.tif 000005
【図４】
2015170041.tif 000006
【図５】
2015170041.tif 000007
【図６】
2015170041.tif 000008
【図７】
2015170041.tif 000009
【図８】
2015170041.tif 000010
【図９】
2015170041.tif 000011
【図１０】
2015170041.tif 000012