(57)【要約】【課題】サーバのリソース消費量を少なく抑え、かつネットワーク構成によらずにＮＡＴ越え通信を可能とする双方向通信システムを実現する。【解決手段】ネットワークを介して接続されたサーバ３００と複数のクライアント機器２００とから構成され、クライアント機器２００は、自身に対する接続要求の有無をサーバに定期的に問い合わせるポーリングを行う呼制御部と、サーバ３００とデータ通信を行うデータ通信部とを有し、サーバ３００は、クライアント機器２００からのポーリングを処理する呼制御部と、クライアント機器２００からのデータ通信を中継するデータ通信部と、接続要求先および接続要求元のクライアント機器情報を管理するデータベースを有するデータ通信システムにより、解決できる。【選択図】図６
2008225570.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたサーバと複数のクライアント機器とから構成されたデータ通信システムにおいて、
前記クライアント機器は、自身に対する接続要求の有無を前記サーバに定期的に問い合わせるポーリングを行う呼制御部と、前記サーバとデータ通信を行うデータ通信部とを有し、
前記サーバは、前記クライアント機器からの前記ポーリングを処理する呼制御部と、前記クライアント機器からの前記データ通信を中継するデータ通信部と、接続要求先および接続要求元のクライアント機器情報を管理するデータベースを有することを特徴とするデータ通信システム。
【請求項２】
請求項１に記載のデータ通信システムであって、
前記サーバは、前記クライアント機器からの前記ポーリング処理時において、該クライアント機器に対する接続要求が無い場合には該クライアントとサーバ間の接続を切断し、該クライアント機器に対する接続要求がある場合には該クライアントと前記データ通信を開始することを特徴とするデータ通信システム。
【請求項３】
ネットワークを介してサーバと接続されたクライアント機器において、
自身に対する接続要求の有無を前記サーバに定期的に問い合わせるポーリングを行う呼制御部と、前記サーバとデータ通信を行うデータ通信部とを有し、
前記呼制御部は、ポーリング時において自身に対する接続要求が無い場合には、前記サーバとの接続を切断し、自身に対する接続要求がある場合には、前記データ通信部にデータ通信処理を命令し、
前記データ通信部は、前記呼制御部から命令に応じて前記サーバとのデータ通信を開始することを特徴とするクライアント機器。
【請求項４】
請求項３に記載のクライアント機器であって、
前記データ通信部は、他のクライアント機器と通信を開始する場合に、前記サーバに対して接続要求を通知することを特徴とするクライアント機器。
【請求項５】
ネットワークを介して複数のクライアント機器と接続されたサーバであって、
前記複数のクライアント機器からの定期的なポーリング処理を行う呼制御部と、クライアント機器からのデータ通信を中継するデータ通信部と、接続要求先および接続要求元のクライアント機器情報を管理するデータベースとを有し、
前記呼制御部は、クライアント機器から前記ポーリング処理が行われた場合に該クライアント機器が接続要求先として登録されているかを該クライアント機器に返信し、
前記データ通信部は、クライアント機器の認証およびクライアント機器からの通信データの中継を行うことを特徴とするサーバ。
【請求項６】
請求項５に記載のサーバであって、
さらに、データベースを有し、
前記データ通信部は、クライアント機器から接続要求を受信した場合に、接続要求先クライアント機器および接続要求元クライアント機器を前記データベースに登録することを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信システム、クライアント機器およびサーバに関し、特にネットワーク構成によらず機器同士が双方向で通信可能なデータ通信システム、クライアント機器およびサーバに関する。
【背景技術】
【０００２】
ブロードバンドの普及に伴い、インターネットを用いた様々な通信サービスが多く提供されている。さらにネットワーク対応の通信端末の普及も進み、近年の傾向として、ウェブサイトの閲覧や音楽・映像配信等の従来のサーバ−クライアント型サービスに対し、ＩＰ電話やファイル共有等のＰ２Ｐ型サービスが増加しつつある。
【０００３】
Ｐ２Ｐ型サービスを実現するための課題の一つに、ＮＡＴ（Network Address Translator）越え問題がある。通常、企業内や家庭内のネットワーク機器は、セキュリティ対策やＩＰアドレスの枯渇回避のため、ルータ等のＮＡＴ機器を介してインターネットに接続されている。ＮＡＴ機器は、外側（インターネット側）から機器が接続されている内側（プライベートネットワーク側）への通信を制限するため、ＮＡＴ内の機器から他のＮＡＴ内の機器への直接的な通信は行えない。ＮＡＴ越え問題の解決策として、ＮＡＴ機器にポートフォワーディング設定を行うことが一般的である。しかし、ネットワークの専門知識が必要となるため、各家庭のユーザが自分のＮＡＴに対して設定するのは必ずしも容易ではない。そこで、ユーザが意識せずＮＡＴ越えを実現するための手法として、（１）サーバを経由させる中継方式、（２）ＵＰｎＰ（Universal Plug & Play）、（３）Ｈｏｌｅ Ｐｕｎｃｈｉｎｇの３つが知られている。ただし、（２）および（３）についてはＮＡＴの種類やネットワーク構成によってはＮＡＴ越えを実現できない場合が生じる。このため、確実にＮＡＴ越えを行いたい場合には（１）の中継方式が用いられることが多い。
【０００４】
中継方式では、まずクライアントがサーバにアクセスし、接続（セッション）を確立する。通常、サーバからクライアントへの通信を行う場合はＮＡＴにより通信が遮断されてしまうが、特許文献１のように、クライアントとサーバ間のセッションを維持し続けることにより、クライアントからサーバへの要求に対する返信として、サーバからクライアントへの通信を行うことが可能となる。このように、全クライアントがサーバとセッションを維持し続けることにより、任意のクライアント間の通信がサーバ経由で可能となる。
【０００５】
【特許文献１】特開２００２−０４１３７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１の場合、自身への接続待ちで通信していないクライアントであっても、サーバとのセッションを維持し続ける必要がある。この結果、無駄にサーバのリソースを消費してしまう。すなわち、サーバの設備コストが、通信しているクライアント数ではなく待機しているクライアントも含めた全クライアント数に依存する。このため、全クライアント数に対する同時に通信するクライアント数の割合が小さい場合に、必要以上のシステムコストがかかるという問題がある。
【０００７】
本発明は、上記の問題を解決するために為されたものであり、サーバのリソース消費量を少なく抑え、かつネットワーク構成によらずにＮＡＴ越え通信を可能とする双方向通信システムを実現する事を目的とする。
【課題を解決するための手段】
【０００８】
上記課題は、ネットワークを介して接続されたサーバと複数のクライアント機器とから構成され、クライアント機器は、自身に対する接続要求の有無をサーバに定期的に問い合わせるポーリングを行う呼制御部と、サーバとデータ通信を行うデータ通信部とを有し、サーバは、クライアント機器からのポーリングを処理する呼制御部と、クライアント機器からのデータ通信を中継するデータ通信部と、接続要求先および接続要求元のクライアント機器情報を管理するデータベースを有するデータ通信システムにより、解決できる。
【０００９】
また、ネットワークを介してサーバと接続され、自身に対する接続要求の有無をサーバに定期的に問い合わせる処理を行う呼制御部と、サーバとデータ通信を行うデータ通信部とを有し、呼制御部は、ポーリング時において自身に対する接続要求が無い場合には、サーバとの接続を切断し、自身に対する接続要求がある場合には、データ通信部にデータ通信処理を命令し、データ通信部は、呼制御部から命令に応じてサーバとのデータ通信を開始するクライアント機器により、解決できる。
【００１０】
さらに、ネットワークを介して複数のクライアント機器と接続され、複数のクライアント機器からの定期的なポーリング処理を行う呼制御部と、クライアント機器からのデータ通信を中継するデータ通信部と、接続要求先および接続要求元のクライアント機器情報を管理するデータベースを有し、呼制御部は、クライアント機器からポーリング処理が行われた場合に該クライアント機器が接続要求先として登録されているかを該クライアント機器に返信し、データ通信部は、クライアント機器の認証およびクライアント機器からの通信データの中継を行うサーバにより、達成できる。
【発明の効果】
【００１１】
本発明によれば、サーバの負荷を抑えつつ、あらゆるネットワーク構成においても設定レスでクライアント機器同士の双方向通信を実現することができる。これにより、システムインテグレートの簡便性向上およびシステムコストの低減化が実現可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について、実施例を用い図面を用いて説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。図１は双方向通信システムの構成を説明するブロック図である。図１において、双方向通信システム１００は、サーバ３００と、２台のルータ１１０と、ルータ１１０とそれぞれ接続された２台のクライアント機器２００、サーバ３００とルータ１１０とを接続するネットワーク１０１とから構成されている。また、サーバ３００は、クライアント機器からのポーリングを処理する呼制御部３１０と、クライアント機器の認証および通信データの転送を行うデータ通信部３２０と、各種情報が格納されたテーブルを管理するデータベース（ＤＢ）３３０とから構成される。また、クライアント機器２００は、サーバ３００へのポーリングを行う呼制御部２１０と、サーバとのデータ通信を行うデータ通信部２２０とから構成される。ネットワーク１０１は、電波、光、電気信号等を用いて互いの装置間でメッセージやパケットを交換するためのネットワークである。
【００１３】
図２を参照して、クライアント機器のハードウェア構成を説明する。ここで、図２はクライアント装置のハードウェアブロック図である。なお、サーバ３００のハードウェア構成は、クライアント機器２００と同じであり、説明を省略する。
【００１４】
図２において、クライアント機器２００は、ＥＰＲＯＭ２０１、ＣＰＵ２０２、メインメモリ２０３、周辺制御装置２０４、不揮発性記憶装置２０５、ＬＡＮ Ｉ/Ｆ２０６、リアルタイムクロック（ＲＴＣ）２０７、バス２０８から構成されている。ＥＰＲＯＭ２０１、ＣＰＵ２０２、メインメモリ２０３、周辺制御装置２０４は、バス２０８を介して相互に接続されている。不揮発性記憶装置２０５、ＬＡＮ Ｉ/Ｆ２０６、リアルタイムクロック２０７は、それぞれ周辺制御装置２０４と接続されている。不揮発性記憶装置２０５は、磁気ディスク装置、フラッシュＲＯＭ等から構成される。リアルタイムクロック２０７はクライアント機器が現在時刻を取得する際に利用する。ＥＰＲＯＭ２０１にはブートプログラムが保存されており、クライアント機器２００が起動すると、このブートプログラムに応じてＣＰＵ２０２が動作する。ブートプログラムは、不揮発性記憶装置２０５からＯＳのカーネルをメインメモリ２０３へロードし、ＯＳを起動する。ＯＳが起動するとＯＳはクライアント機器２００−１を制御するプログラムのロード・実行を行う。クライアント機器２００を制御するプログラムは、周辺制御装置２０４を介して、ＬＡＮ Ｉ/Ｆへの信号の送受信を行い、サーバ３００と通信を行う。なおＩ/ＦはＬＡＮに限らず、必要に応じてＢｌｕｅｔｏｏｔｈやＰＬＣ（Power Line Communications）等を追加してもよい。
【００１５】
次に、サーバ３００内のＤＢ３３０が管理しているテーブルおよびそのデータ構成について、図３および図４を用いて説明する。なお、テーブルの各項目は、必要に応じて項目数が増減してもよい。
【００１６】
図３は認証データ管理テーブルを説明する図である。認証データ管理テーブル３５０は、クライアント機器の識別子である機器ＩＤとその認証に用いる認証データの組み合わせを管理するテーブルであり、機器ＩＤと認証データが格納される領域によって構成される。機器ＩＤ３０１の列は、クライアント機器を一意に識別するための識別子である機器ＩＤが格納される領域である。機器ＩＤ３０２の列は、クライアント機器の認証に用いる認証データが格納される領域である。図３において、最上レコードは、機器ＩＤが「０００００１」であるクライアント機器の認証データが「jaowe4rjfewa」であることを示している。
【００１７】
図４は接続フラグ管理テーブルを説明する図である。接続フラグ管理テーブル４００は、接続要求先および接続要求元のクライアント機器の機器ＩＤを管理するテーブルであり、接続要求先機器ＩＤと接続要求元機器ＩＤが格納される領域によって構成される。接続要求先機器ＩＤ４０１の列は、接続要求先のクライアント機器の機器ＩＤが格納される領域である。接続要求元機器ＩＤ４０２の列は、接続要求元のクライアント機器の機器ＩＤが格納される領域である。図４において、最上レコードは、機器ＩＤが「０００００２」であるクライアント機器から、機器ＩＤが「０００００１」であるクライアント機器に対する接続要求が送信されていることを示す。なお、機器ＩＤが接続要求先機器ＩＤ４０１にあることを、以下の説明では機器ＩＤのフラグが立っていると記載する。
【００１８】
以下、図５および図６を用いて、ポーリング処理およびデータ通信処理の詳細を説明する。図５は双方向通信システムにおけるポーリングのシーケンス図である。最初に、クライアント機器２００−１は、自身の機器ＩＤをサーバ３００へ送信する（Ｓ５０１）。続いて、サーバ３００は、接続フラグ管理テーブル４００を参照し、受信した機器ＩＤが接続要求先機器ＩＤに登録されているか（接続フラグが立っているか）をチェックする（Ｓ５０２）。このとき接続フラグが立っていないので、クライアント機器２００−１に対し接続要求が無いことを通知する（Ｓ５０３）。続いて、クライアント機器２００−１は、サーバ３００との通信セッションを切断する（Ｓ５０４）。そして、一定時間待機後、再度ステップ５０１〜ステップ５０４を繰り返す。なお、ステップ５０５以降は、ステップ５０１〜ステップ５０４の繰り返しのため説明を省略する。
【００１９】
図６は、双方向通信システムにおける接続要求からデータ通信完了を行うまでの一連の処理を説明するシーケンス図である。最初に、クライアント機器２００−１は、クライアント機器２００−２と通信を開始する際に、接続要求メッセージ、クライアント機器２００−２の機器ＩＤ、自身を認証するための認証データをサーバ３００に送信する（Ｓ６０３）。続いて、サーバ３００は、認証データ管理テーブル３５０を参照し、受信した認証データを用いてクライアント機器２００−１の認証を行う（Ｓ６０４）。認証後、サーバ３００は、接続フラグ管理テーブル４００に、クライアント機器２００−１の機器ＩＤとクライアント機器２００−２の機器ＩＤを登録する（Ｓ６０５）。
【００２０】
続いて、クライアント機器２００−２は、ポーリングを行うため自身の機器ＩＤをサーバ３００に送信する（Ｓ６０６）。サーバ３００は、接続フラグ管理テーブル４００を参照し、受信した機器ＩＤが接続要求先機器ＩＤとして登録されているかどうかを調べる（Ｓ６０７）。この場合、ステップ６０７で登録されているので、サーバ３００は、クライアント機器２００−２に対して接続要求があることを通知する（Ｓ６０８）。続いて、クライアント機器２００−２は、自身を認証するための認証データをサーバ３００に送信する（Ｓ６０９）。認証データを受信したサーバ３００は、認証データ管理テーブル３５０を参照し、受信した認証データを用いてクライアント機器２００−２の認証を行う（Ｓ６１０）。認証後、サーバ３００は、クライアント機器２００−１とクライアント機器２００−２の間の通信データを転送する準備を行う（Ｓ６１１）。そして、サーバ３００は、クライアント機器２００−１に対し、データ通信準備が整ったことを通知する（Ｓ６１２）。続いて、クライアント機器２００−１は、クライアント機器２００−２に送信したいデータをサーバ３００に送信する（Ｓ６１３）。サーバ３００は、受信したデータをクライアント機器２００−２に送信する（Ｓ６１４）。
【００２１】
同様に、クライアント機器２００−２は、クライアント機器２００−１に送信したいデータをサーバ３００に送信する（Ｓ６１５）。サーバ３００は、受信したデータをクライアント機器２００−１に送信する（Ｓ６１６）。
【００２２】
データ通信が終了すると、クライアント機器２００−１は通信終了要求をサーバ３００に送信する（Ｓ６１７）。続いて、サーバ３００は、通信終了要求をクライアント機器２００−２に送信する（Ｓ６１８）。続いて、クライアント機器２００−２は、サーバ３００との通信セッションを切断する（Ｓ６１９）。サーバ３００は、クライアント機器２００−２との通信セッションが切断されると、接続フラグ管理テーブル４００から、クライアント機器２００−１とクライアント機器２００−２のデータを削除し、クライアント機器２００−１に対してクライアント機器２００−２との通信セッションが切断されたことを通知する（Ｓ６２０）。続いて、クライアント機器２００−１は、サーバ３００との通信セッションを切断する（Ｓ６２１）。なお、通話終了要求はクライアント機器２００−２が送信しても良い。
【００２３】
次に、双方向通信システムにおけるサーバの呼制御部およびデータ通信部の詳細な処理手順を図７ないし図９を用いて説明する。ここで、図７はサーバの呼制御部の処理手順を説明するフローチャートである。
【００２４】
図７において、サーバ３００の呼制御部３１０は、クライアント機器からのポーリングの受信待ち状態にある（Ｓ７０１）。クライアント機器２００から機器ＩＤを受信すると、呼制御部３１０は、クライアント機器の機器ＩＤを取得する（Ｓ７０２）。呼制御部３１０は、接続フラグ管理テーブル４００を参照し、取得した機器ＩＤが登録されているかを調べる（Ｓ７０３）。登録されていれば（ＹＥＳ）、機器ＩＤを送信したクライアント機器２００へ接続要求ありメッセージを送信し（Ｓ７０４）、ポーリング受信処理継続を判定する（Ｓ７０５）。通常は継続する（ＹＥＳ）なので、ステップ７０１に遷移する。なお、ステップ７０５でＮＯのとき、処理を終了する。ステップ７０３でＮＯのとき、機器ＩＤを送信したクライアント機器２００へ接続要求なしメッセージを送信し（Ｓ７０５）、ステップ７０６に遷移する。
【００２５】
図８はデータ通信部のデータ転送準備処理のフローチャートである。図８において、サーバ３００のデータ通信部３２０は、クライアント機器からの認証データを受信を待ち（Ｓ８０１）、受信すると認証データ管理テーブル３５０を参照し、受信した認証データから、正当なクライアント機器であるか判定する（Ｓ８０２）。ＹＥＳのとき、データ通信部３２０は、クライアント機器２００からの受信データ中に、他のクライアント機器への接続要求メッセージが含まれるかを調べる（Ｓ８０３）。含まれていれば（ＹＥＳ）、データ通信部３２０は、受信データから接続要求元クライアント機器の機器ＩＤを取得する（Ｓ８０４）。データ通信部３２０は、受信データから接続要求先クライアント機器の機器ＩＤを取得する（Ｓ８０５）。データ通信部３２０は、取得した接続要求元機器ＩＤおよび接続要求先機器ＩＤを、接続フラグ管理テーブルに登録する（Ｓ８０６）。データ通信部３２０は、認証データ受信処理を継続するかどうかを調べる（Ｓ８０７）。通常はＹＥＳなので、データ通信部３２０は、ステップ８０１へ戻る。ステップ８０７で継続しない場合（ＮＯ）、データ通信部３２０は、処理を終了する。
【００２６】
ステップ８０２でＮＯならば、データ通信部３２０は、認証データを送信したクライアント機器に認証失敗メッセージを送信し（Ｓ８０８）、ステップ８０７に遷移する。また、ステップ８０３でＮＯならば、データ通信部３２０は、データ転送処理に遷移し（Ｓ８０９）、終了後、ステップ８０７に遷移する。なお、ステップ８０９のデータ転送処理は、図９を参照して以下に説明する。
【００２７】
図９はデータ通信部のデータ転送処理を説明するフローチャートである。図９において、サーバ３００のデータ通信部３２０は、図８においてサーバ３００に接続してきたクライアント機器（接続フラグ管理テーブルに接続要求先として登録されているクライアント機器）の機器ＩＤを取得する（Ｓ９０１）。データ通信部３２０は、接続フラグ管理テーブル４００を参照し、取得した機器ＩＤに対応した接続要求元クライアント機器に対し、テータ転送準備完了メッセージを送信する（Ｓ９０２）。データ通信部３２０は、一方のクライアント機器から送信されてきたデータを他方のクライアント機器に転送する（Ｓ９０３）。データ通信部３２０は、クライアント機器から通信終了要求メッセージを受信したかどうかを調べる（Ｓ９０４）。通信終了要求メッセージを受信していない場合は、データ通信部３２０は、ステップ９０３へ戻り、受信した場合は、通信終了要求を送信していないクライアント機器に、通信終了要求メッセージを転送する（Ｓ９０５）。データ通信部３２０は、通信が終了したクライアント機器の機器ＩＤを接続フラグ管理テーブルから削除する（Ｓ９０６）。データ通信部３２０は、通信終了要求元クライアント機器に通信切断許可メッセージを送信し（Ｓ９０７）、図８のステップ８０７に遷移する。
【００２８】
次に、双方向通信システムにおけるクライアント機器の呼制御部およびデータ通信部の詳細な処理手順を図１０ないし図１２を用いて説明する。ここで、図１０は呼制御部の処理手順を説明するフローチャートである。図１０において、クライアント機器２００の呼制御部２１０は、ポーリング処理のためにサーバ３００に自身の機器ＩＤを送信する（Ｓ１０１）。呼制御部２１０は、サーバからメッセージを受信する（Ｓ１０２）。呼制御部２１０は、受信したメッセージが「接続要求あり」かどうかを判定する（Ｓ１０３）。接続要求ありの場合（ＹＥＳ）、呼制御部２１０は、データ通信部２２０に通信処理を開始するように命令する（Ｓ１０４）。呼制御部２１０は、サーバ３００との通信を切断する（Ｓ１０５）。なお、ステップ１０５は、呼制御部２１０としての処理であり、データ通信部２２０とサーバ３００との通信は継続している。
【００２９】
呼制御部２１０は、一定時間待機する（Ｓ１０６）。この一定時間待機は、ポーリング間隔の制御用であり、ポーリング間隔は、１回/秒〜１回/分程度である。呼制御部２１０は、ポーリング処理を継続するかどうかを判定する（Ｓ１０７）。通常は継続するので（ＹＥＳ）、呼制御部２１０は、ステップ１００１へ遷移する。ステップ１０７で継続しない場合、呼制御部２１０は、処理を終了する。なお、ステップ１０３でＮＯのとき、呼制御部２１０は、ステップ１０４をジャンプして、ステップ１０５に遷移する。
【００３０】
図１１は接続要求があった場合のデータ通信部の動作を説明するフローチャートである。データ通信部２２０は、呼制御部２３０から通信開始命令を受け取る（Ｓ１１１）。データ通信部２２０は、サーバに自身の認証データを送信する（Ｓ１１２）。データ通信部２２０は、認証が成功したかどうかを判定する（Ｓ１１３）。認証成功であれば、データ通信部２２０は、サーバ３００とデータ通信を行う（Ｓ１１４）。データ通信部２２０は、通信切断要求の送受信が行われたかを判定する（Ｓ１１５）。送受信が行われなかった場合、データ通信部２２０は、ステップ１１４へ戻る。送受信が行われた場合は、データ通信部２２０は、通信切断要求を自身から送信したかどうか判定する（Ｓ１１６）。自身が送信した場合、データ通信部２２０は、サーバからの通信切断許可メッセージの受信待ちを行う（Ｓ１１７）。切断許可メッセージを受信したら、データ通信部２２０は、サーバとの通信を切断して（Ｓ１１８）、終了する。なお、ステップ１１６でＮＯのとき、ステップ１１７をジャンプして、ステップ１１８に遷移する。
【００３１】
図１２は他のクライアント機器へ接続要求を行う場合のデータ通信部の動作を説明するフローチャートである。データ通信部２２０は、接続要求先クライアント機器の機器ＩＤ、自身の認証データ、接続要求メッセージを、サーバに送信する（Ｓ１２１）。データ通信部２２０は、認証が成功したかどうかを判定する（Ｓ１２２）。認証成功であれば（ＹＥＳ）、データ通信部２２０は、サーバからのデータ通信準備完了メッセージの受信待ちを行う（Ｓ１２３）。データ通信部２２０は、サーバ３００とデータ通信を行う（Ｓ１２４）。データ通信部２２０は、通信切断要求の送受信が行われたかどうか判定する（Ｓ１２５）。送受信が行われた場合、データ通信部２２０は、通信切断要求を自身が送信したかどうかを判定する（Ｓ１２６）。自身が送信した場合、データ通信部２２０は、サーバからの通信切断許可メッセージの受信待ちを行う（Ｓ１２７）。通信切断許可メッセージを受信したら、データ通信部２２０は、サーバ３００との通信を切断して（Ｓ１２８）、終了する。
【００３２】
ステップ１２２がＮＯのとき、データ通信部２２０は、ステップ１２８に遷移する。ステップ１２５がＮＯのとき、データ通信部２２０は、ステップ１２４に遷移する。ステップ１２６がＮＯのとき、データ通信部２２０は、ステップ１２７をジャンプして、ステップ１２８に遷移する。
【図面の簡単な説明】
【００３３】
【図１】双方向通信システムの構成を説明するブロック図。
【図２】クライアント装置のハードウェアブロック図。
【図３】認証データ管理テーブルを説明する図。
【図４】接続フラグ管理テーブルを説明する図。
【図５】双方向通信システムにおけるポーリングのシーケンス図。
【図６】双方向通信システムにおける接続要求からデータ通信完了を行うまでの一連の処理を説明するシーケンス図。
【図７】サーバの呼制御部の処理手順を説明するフローチャート。
【図８】データ通信部のデータ転送準備処理のフローチャート。
【図９】データ通信部のデータ転送処理を説明するフローチャート。
【図１０】呼制御部の処理手順を説明するフローチャート。
【図１１】接続要求があった場合のデータ通信部の動作を説明するフローチャート。
【図１２】他のクライアント機器へ接続要求を行う場合のデータ通信部の動作を説明するフローチャート。
【符号の説明】
【００３４】
１００…双方向通信システム、１０１…ネットワーク、１１０…ルータ、２００…クライアント機器、２０１…ＥＰＲＯＭ、２０２…ＣＰＵ、２０３…メインメモリ、２０４…周辺制御装置、２０５…不揮発性記憶装置、２０６…ＬＡＮ Ｉ/Ｆ、２０７…リアルタイムクロック、２０８…バス、２１０…呼制御部、２２０…データ通信部、３００…サーバ、３１０…呼制御部、３２０…データ通信部、３３０…データベース、３５０…認証データ管理テーブル、４００…接続フラグ管理テーブル。
【図１】
2008225570.tif 000003
【図２】
2008225570.tif 000004
【図３】
2008225570.tif 000005
【図４】
2008225570.tif 000006
【図５】
2008225570.tif 000007
【図６】
2008225570.tif 000008
【図７】
2008225570.tif 000009
【図８】
2008225570.tif 000010
【図９】
2008225570.tif 000011
【図１０】
2008225570.tif 000012
【図１１】
2008225570.tif 000013
【図１２】
2008225570.tif 000014