(57)【要約】  サーバ装置においてクライアント装置との間に確立することができるコネクション数が制限されている場合、多くのクライアント装置と同時に双方向通信を行えるようにする。  複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備え、中継装置が、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備える。
2008050585.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント装置と、サーバ装置と、中継装置とを備え、
前記複数のクライアント装置が、それぞれ、前記サーバ装置との間に確立された上りコネクションを介して前記サーバ装置へデータを送信するクライアント側通信部を備え、
前記サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して前記中継装置に送信するサーバ側通信部を備え、
前記中継装置が、前記サーバ装置から送られてきたデータを前記複数のクライアント装置との間に確立された下りコネクションを介して前記複数のクライアント装置へ送信する中継装置側通信部を備えたことを特徴とする双方向通信システム。
【請求項２】
複数のクライアント装置と、複数のサーバ装置と、中継装置とを備え、
前記複数のクライアント装置が、それぞれ、前記複数のサーバ装置との間に確立された上りコネクションを介して前記複数のサーバ装置へデータを送信するクライアント側通信部を備え、
前記複数のサーバ装置が、それぞれ、クライアント装置へ送信すべきデータを中継線を介して前記中継装置に送信するサーバ側通信部を備え、
前記中継装置が、前記複数のサーバ装置から送られてきたデータを前記複数のクライアント装置との間に確立された下りコネクションを介して前記複数のクライアント装置へ送信する中継装置側通信部を備えたことを特徴とする双方向通信システム。
【請求項３】
請求項１または２記載の双方向通信システムにおいて、
前記サーバ側通信部が、前記複数のクライアント装置から送られてきた他のクライアント装置宛のデータを、前記中継線を介して前記中継装置へ送信することを特徴とする双方向通信システム。
【請求項４】
請求項３記載の双方向通信システムにおいて、
前記上りコネクションが、ＨＴＴＰのＰＯＳＴ要求を用いたものであり、
前記下りコネクションが、ＨＴＴＰのＧＥＴ要求を用いたものであることを特徴とする双方向通信システム。
【請求項５】
請求項４記載の双方向通信システムにおいて、
前記中継装置側通信部が、前記複数のクライアント装置から送られてきたＨＴＴＰのＧＥＴ要求を保持し、該保持しているＨＴＴＰのＧＥＴ要求の中に、その要求元のクライアント装置が前記サーバ装置から送られてきたデータの送信先にするクライアント装置と一致するＨＴＴＰのＧＥＴ要求が含まれている場合、前記ＨＴＴＰのＧＥＴ要求に対する応答として前記クライアント装置に前記データを返却することを特徴とする双方向通信システム。
【請求項６】
複数のクライアント装置と、サーバ装置と、中継装置とを備え、前記複数のクライアント装置が、それぞれ、前記サーバ装置との間に確立された上りコネクションを介して前記サーバ装置へデータを送信するクライアント側通信部を備え、前記中継装置が、前記サーバ装置から送られてきたデータを前記複数のクライアント装置との間に確立された下りコネクションを介して前記複数のクライアント装置へ送信する中継装置側通信部を備えた双方向通信システムの構成要素であるサーバ装置であって、
クライアント装置へ送信すべきデータを中継線を介して前記中継装置に送信するサーバ側通信部を備えたことを特徴とするサーバ装置。
【請求項７】
請求項６記載のサーバ装置において、
前記サーバ側通信部が、前記複数のクライアント装置から送られてきた他のクライアント装置宛のデータを、前記中継線を介して前記中継装置へ送信することを特徴とするサーバ装置。
【請求項８】
複数のクライアント装置と、サーバ装置と、中継装置とを備え、前記複数のクライアント装置が、それぞれ、前記サーバ装置との間に確立された上りコネクションを介して前記サーバ装置へデータを送信するクライアント側通信部を備え、前記サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して前記中継装置に送信するサーバ側通信部を備えた双方向通信システムの構成要素である中継装置であって、
前記サーバ装置から送られてきたデータを前記複数のクライアント装置との間に確立された下りコネクションを介して前記複数のクライアント装置へ送信する中継装置側通信部を備えたことを特徴とする中継装置。
【請求項９】
請求項８記載の中継装置において、
前記中継装置側通信部が、前記複数のクライアント装置から送られてきたＨＴＴＰのＧＥＴ要求を保持し、該保持しているＨＴＴＰのＧＥＴ要求の中に、その要求元のクライアント装置が前記サーバ装置から送られてきたデータの送信先にするクライアント装置と一致するＨＴＴＰのＧＥＴ要求が含まれている場合、前記ＨＴＴＰのＧＥＴ要求に対する応答として前記クライアント装置に前記データを返却することを特徴とする中継装置。
【請求項１０】
複数のクライアント装置が、それぞれ自クライアント装置とサーバ装置との間に確立された上りコネクションを介して前記サーバ装置へデータを送信し、
前記サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置へ送信し、
前記中継装置が、前記サーバ装置から送られてきたデータを自装置と前記複数のクライアント装置との間に確立された下りコネクションを介してクライアント装置へ送信することを特徴とする双方向通信方法。
【請求項１１】
複数のクライアント装置と、サーバ装置と、中継装置とを備え、前記複数のクライアント装置が、それぞれ、前記サーバ装置との間に確立された上りコネクションを介して前記サーバ装置へデータを送信するクライアント側通信部を備え、前記中継装置が、前記サーバ装置から送られてきたデータを前記複数のクライアント装置との間に確立された下りコネクションを介して前記複数のクライアント装置へ送信する中継装置側通信部を備えた双方向通信システムの構成要素であるサーバ装置をコンピュータにより実現するためのプログラムであって、
前記コンピュータを、クライアント装置へ送信すべきデータを中継線を介して前記中継装置に送信するサーバ側通信部として機能させるためのプログラム。
【請求項１２】
請求項１１記載のプログラムにおいて、
前記サーバ側通信部が、前記複数のクライアント装置から送られてきた他のクライアント装置宛のデータを、前記中継線を介して前記中継装置へ送信することを特徴とするプログラム。
【請求項１３】
複数のクライアント装置と、サーバ装置と、中継装置とを備え、前記複数のクライアント装置が、それぞれ、前記サーバ装置との間に確立された上りコネクションを介して前記サーバ装置へデータを送信するクライアント側通信部を備え、前記サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して前記中継装置に送信するサーバ側通信部を備えた双方向通信システムの構成要素である中継装置をコンピュータにより実現するためのプログラムであって、
前記コンピュータを、前記サーバ装置から送られてきたデータを前記複数のクライアント装置との間に確立された下りコネクションを介して前記複数のクライアント装置へ送信する中継装置側通信部として機能させるためのプログラム。
【請求項１４】
請求項１３記載のプログラムにおいて、
前記中継装置側通信部が、前記複数のクライアント装置から送られてきたＨＴＴＰのＧＥＴ要求を保持し、該保持しているＨＴＴＰのＧＥＴ要求の中に、その要求元のクライアント装置が前記サーバ装置から送られてきたデータの送信先にするクライアント装置と一致するＨＴＴＰのＧＥＴ要求が含まれている場合、前記ＨＴＴＰのＧＥＴ要求に対する応答として前記クライアント装置に前記データを返却することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置とクライアント装置との間で双方向通信を行う技術に関し、特に、サーバ装置において同時に確立することができるコネクション数が制限されている場合に、より多くのクライアント装置との間で双方向通信を行えるようにする技術に関する。
【背景技術】
【０００２】
サーバ装置とクライアント装置との通信に関連する技術として、サーバ装置とクライアント装置との間に上りコネクション及び下りコネクションを確立し、サーバ装置とクライアント装置との間で双方向通信を行うということは知られている（例えば、特許文献１、２参照）。【０００３】
図１は上記特許文献に記載された双方向通信システムの構成例を示すブロック図であり、サーバ装置９１０と、このサーバ装置９１０に接続された複数のクライアント装置９４０、９５０とから構成され、クライアント装置９４０、９５０が、ＨＴＴＰのみを伝送する手段を含み構成されたＨＴＴＰ通信手段９９０を介してサーバ装置９１０と接続されている。【０００４】
この図１に示した双方向通信システムでは、サーバ装置９１０とクライアント装置９４０、９５０との間の双方向通信を可能にするため、次のようにしている。すなわち、サーバ装置９１０からクライアント装置９４０、９５０に対するデータ送信をリアルタイムに行うことを可能にするための、ＨＴＴＰのＧＥＴメソッドを用いた下りコネクションと、クライアント装置９４０、９５０からサーバ装置９１０に対するデータ送信をリアルタイムに行うことを可能にするための、ＨＴＴＰのＰＯＳＴメソッドを用いた上りコネクションとを予め確立しておく。【０００５】
そして、クライアント装置９４０、９５０内の通信部９４２、９５２は、クライアントアプリケーションプログラム（クライアントＡＰ）９４１、９５１からサーバ装置９１０へデータを送信することが要求されると、上りコネクションを介してサーバ装置９１０へデータを送信する。また、サーバ装置９１０内の通信部９１２は、サーバアプリケーションプログラム（サーバＡＰ）９１１からクライアント装置９４０、９５０へデータを送信することが要求されると、下りコネクションを介してクライアント装置９４０、９５０へデータを送信する。
【特許文献１】特許第３４７８２００号公報
【特許文献２】特開２００４−５４２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した上記特許文献に記載された技術によれば、サーバ装置９１０と複数のクライアント装置９４０、９５０との間で双方向通信を行うことが可能になるが、次のような問題がある。すなわち、サーバ装置９１０においては、コネクションを確立するために使用できるリソースの制限や、通信部９１２を実現するために使用した、ＨＴＴＰを解釈し処理することができるＷＷＷサーバの仕様などにより、同時に確立することができるコネクション数が制限される場合があり、このような場合、双方向通信を行えるクライアント装置の台数が少なくなってしまう。【０００７】
そこで、本発明の目的は、サーバ装置において同時に確立することができるコネクション数が制限されている場合であっても、多くのクライアント装置との間で同時に双方向通信を行えるようにすることにある。
【課題を解決するための手段】
【０００８】
本発明にかかる第１の双方向通信システムは、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備え、中継装置が、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備える。【０００９】
本発明にかかる第２の双方向通信システムは、複数のクライアント装置と、複数のサーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、複数のサーバ装置との間に確立された上りコネクションを介して複数のサーバ装置へデータを送信するクライアント側通信部を備え、複数のサーバ装置が、それぞれ、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備え、中継装置が、複数のサーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備える。【００１０】
本発明にかかるサーバ装置は、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、中継装置が、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備えた双方向通信システムの構成要素であるサーバ装置であって、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備える。【００１１】
本発明にかかる中継装置は、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備えた双方向通信システムの構成要素である中継装置であって、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備える。【００１２】
本発明にかかる双方向通信方法は、複数のクライアント装置が、それぞれ自クライアント装置とサーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信し、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置へ送信し、中継装置が、サーバ装置から送られてきたデータを自装置と複数のクライアント装置との間に確立された下りコネクションを介してクライアント装置へ送信する。【００１３】
本発明にかかる第１のプログラムは、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、中継装置が、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備えた双方向通信システムの構成要素であるサーバ装置をコンピュータにより実現するためのプログラムであって、コンピュータを、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部として機能させる。【００１４】
本発明にかかる第２のプログラムは、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備えた双方向通信システムの構成要素である中継装置をコンピュータにより実現するためのプログラムであって、コンピュータを、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部として機能させる。
【発明の効果】
【００１５】
本発明によれば、サーバ装置において同時に確立することができるコネクション数が制限されている場合であっても、多くのクライアント装置との間で同時に双方向通信を行うことが可能になるという効果を得ることができる。その理由は、クライアント装置からサーバ装置へデータを送信する場合には、クライアント装置とサーバ装置との間に確立された上りコネクションを介してデータを送信し、サーバ装置からクライアント装置へデータを送信する場合には、サーバ装置が中継装置に対して、クライアント装置へ送信すべきデータを送信し、中継装置がクライアント装置との間に確立された下りコネクションを介してクライアント装置へデータを送信するようにしているからである。即ち、サーバ装置においては、クライアント装置と双方向通信を行うために必要となる上りコネクション及び下りコネクションの内の、上りコネクションだけを確立すれば良いので、サーバ装置において上りコネクション及び下りコネクションの両方を確立しなければならなかった特許文献記載の技術に比較して、同時に双方向通信を行うことができるクライアント装置の台数が２倍になる。
【発明を実施するための最良の形態】
【００１６】
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。【００１７】
〔第１の実施の形態〕
図２を参照すると、本発明にかかる双方向通信システムの第１の実施の形態は、サーバ装置１１０と、下り通信中継装置１３０と、複数台のクライアント装置１４０、１５０とから構成されている。同図では、２台のクライアント装置１４０、１５０のみ図示されているが、サーバ装置１１０が同時に確立できるコネクション数の制限の範囲内であれば、クライアント装置の台数を３台以上とすることも可能である。【００１８】
サーバ装置１１０は、サーバＡＰ１１１を含むと共に、下り通信中継装置１３０とクライアント装置１４０、１５０との通信部１１２を含んでいる。【００１９】
下り通信中継装置１３０は、サーバ装置１１０とクライアント装置１４０、１５０との通信部１３２を含んでいる。サーバ装置１１０及び下り通信中継装置１３０は、ＤＭＺと呼ばれるファイヤウォールによって外部ネットワーク（インターネット）から隔離されているので、その間の通信は独自のプロトコルを利用することができる。【００２０】
クライアント装置１４０、１５０は、クライアントＡＰ１４１、１５１を含むと共に、サーバ装置１１０と下り通信中継装置１３０との通信部１４２、１５２を含んでいる。【００２１】
クライアントＡＰ１４１からサーバＡＰ１１１にデータを送信する場合は、クライアント装置１４０内の通信部１４２からサーバ装置１１０内の通信部１１２に対して、送信すべきデータをＨＴＴＰボディ部に持つＨＴＴＰのＰＯＳＴ要求（単に、ＰＯＳＴ要求と記す場合もある）が送信される。また、クライアントＡＰ１５１からサーバＡＰ１１１へデータを送信する場合も同様の動作が行われる。同図において、クライアントＡＰからサーバＡＰへの上りデータの流れは、実線矢印で示されている。【００２２】
逆に、サーバＡＰ１１１からクライアントＡＰ１４１にデータを送信する場合は、先ず、サーバ装置１１０内の通信部１１２から下り通信中継装置１３０内の通信部１３２に対して、中継線を介して独自のプロトコルによってデータが送信される。次に、下り通信中継装置１３０内の通信部１３２からクライアント装置１４０内の通信部１４２に対して、既に通信部１４２から送られてきているＨＴＴＰのＧＥＴ要求（単にＧＥＴ要求と記す場合もある）に対するＨＴＴＰのＧＥＴ応答（単にＧＥＴ応答と記す場合もある）として上記データが送信される。また、サーバＡＰ１１１からクライアントＡＰ１５１へデータを送信する場合も同様の動作が行われる。同図おいて、サーバＡＰからクライアントＡＰへの下りデータの流れは、破線矢印で示されている。【００２３】
次に、図３を参照してサーバ装置１１０と、下り通信中継装置１３０と、クライアント装置１４０、１５０の構成および動作について詳細に説明する。【００２４】
図３を参照すると、サーバ装置１１０の通信部１１２は、データ送信手段２１３と、ＨＴＴＰ  ＰＯＳＴ要求受信手段２１７と、ＨＴＴＰ  ＰＯＳＴ要求解析手段２１５と、ＨＴＴＰ  ＰＯＳＴ応答作成手段２１４と、ＨＴＴＰ  ＰＯＳＴ応答送信手段２１６を含み、データ受信手段２１１とデータ送信手段２１２と関連付けられている。データ受信手段２１１は、図３では図示を省略したサーバＡＰにクライアント装置から送られてきたデータを渡し、データ送信手段２１２は、上記サーバＡＰから渡されたクライアント装置への送信データをデータ送信手段２１３に渡す機能を有する。なお、サーバ装置１１０はコンピュータにより実現可能であり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータを、サーバ装置１１０として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、データ受信手段２１１、データ送信手段２１２、データ送信手段２１３、ＨＴＴＰ  ＰＯＳＴ応答作成手段２１４、ＨＴＴＰ  ＰＯＳＴ要求解析手段２１５、ＨＴＴＰ  ＰＯＳＴ応答送信手段２１６、及びＨＴＴＰ  ＰＯＳＴ要求受信手段２１７を実現する。【００２５】
下り通信中継装置１３０の通信部１３２は、データ受信手段２３１と、送信データ保管手段２３２と、ＨＴＴＰ  ＧＥＴ要求受信手段２３６と、送信先特定手段２３４と、ＨＴＴＰ  ＧＥＴ応答作成手段２３３と、ＨＴＴＰ  ＧＥＴ応答送信手段２３５とを含んでいる。下り通信中継装置１３０は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータを下り通信中継装置１３０として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、データ受信手段２３１、送信データ保管手段２３２、ＨＴＴＰ  ＧＥＴ応答作成手段２３３、送信先特定手段２３４、ＨＴＴＰ  ＧＥＴ応答送信手段２３５、及びＨＴＴＰ  ＧＥＴ要求受信手段２３６を実現する。【００２６】
クライアント装置１４０の通信部１４２は、ＨＴＴＰ  ＰＯＳＴ要求作成手段２４４と、ＨＴＴＰ  ＰＯＳＴ要求送信手段２４２と、ＨＴＴＰ  ＰＯＳＴ応答受信手段２４１と、ＨＴＴＰ  ＰＯＳＴ応答解析手段２４３と、ＨＴＴＰ  ＧＥＴ要求作成手段２４８と、ＨＴＴＰ  ＧＥＴ要求送信手段２４６と、ＨＴＴＰ  ＧＥＴ応答受信手段２４５と、ＨＴＴＰ  ＧＥＴ応答解析手段２４７とを含み、データ送信手段２４９とデータ受信手段２５０と関連付けられている。データ送信手段２４９は、図３では図示を省略したクライアントＡＰから渡された送信データを通信部１４２に渡し、データ受信手段２５０は、下り通信中継装置１３０を介してサーバ装置１１０から送られてきたデータを上記クライアントＡＰに渡す機能を有する。なお、クライアント装置１４０は、コンピュータによって実現可能であり、コンピュータにより実現する場合は、例えば次のようにする。コンピュータをクライアント装置１４０として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、ＨＴＴＰ  ＰＯＳＴ応答受信手段２４１、ＨＴＴＰ  ＰＯＳＴ要求送信手段２４２、ＨＴＴＰ  ＰＯＳＴ応答解析手段２４３、ＨＴＴＰ  ＰＯＳＴ要求作成手段２４４、ＨＴＴＰ  ＧＥＴ応答受信手段２４５、ＨＴＴＰ  ＧＥＴ要求送信手段２４６、ＨＴＴＰ  ＧＥＴ応答解析手段２４７、ＨＴＴＰ  ＧＥＴ要求作成手段２４８、データ送信手段２４９、及びデータ受信手段２５０を実現する。【００２７】
＜クライアント装置からサーバ装置へデータを送信する場合の動作＞
クライアント装置１４０のデータ送信手段２４９からサーバ装置１１０のデータ受信手段１１１に対してデータを送信する場合は、次のように動作する。【００２８】
先ず、クライアント装置１４０において、クライアントＡＰ１４１がデータ送信手段２４９を介して通信部１４２に送信すべきデータを受け渡す。これにより、通信部１４２内のＨＴＴＰ  ＰＯＳＴ要求作成手段２４４が、送信すべきデータをＨＴＴＰボディ部に持つＨＴＴＰのＰＯＳＴ要求を作成する。作成されたＨＴＴＰのＰＯＳＴ要求は、ＨＴＴＰ  ＰＯＳＴ要求送信手段２４２からサーバ装置１１０へと送信され、これを契機にしてクライアント装置１４０とサーバ装置１１０との間に上りコネクションが確立される。その際、ＨＴＴＰのトラフィックのみを伝送する手段を含み構成されたＨＴＴＰ通信手段２９０を通過することができる。【００２９】
サーバ装置１１０においては、ＨＴＴＰ  ＰＯＳＴ要求受信手段２１７がクライアント装置１４０から送られてきたＨＴＴＰのＰＯＳＴ要求を受信する。その後、ＨＴＴＰ  ＰＯＳＴ要求解析手段２１５が、ＨＴＴＰ  ＰＯＳＴ要求受信手段２１７で受信されたＨＴＴＰのＰＯＳＴ要求を解析し、ＨＴＴＰボディ部からデータを取り出す。更に、ＨＴＴＰ  ＰＯＳＴ要求解析手段２１５は、取り出したデータをデータ受信手段２１１を介してサーバＡＰ１１１に渡すと共に、ＰＯＳＴ要求の解析に成功した旨をＨＴＴＰ  ＰＯＳＴ応答作成手段２１４に通知する。これにより、ＨＴＴＰ  ＰＯＳＴ応答作成手段２１４は、返信すべきＨＴＴＰのＰＯＳＴ応答（単にＰＯＳＴ応答と記す場合もある）を作成する。作成されたＰＯＳＴ応答は、ＨＴＴＰ  ＰＯＳＴ応答送信手段２１６からクライアント装置１４０へと送信される。【００３０】
クライアント装置１４０においてはＨＴＴＰ  ＰＯＳＴ応答受信手段２４１が、サーバ装置１１０から送られてきたＰＯＳＴ応答を受信する。ＨＴＴＰ  ＰＯＳＴ応答解析手段２４３は、ＨＴＴＰ  ＰＯＳＴ応答受信手段２４１が受信したＰＯＳＴ応答を解析し、サーバ装置１１０へのデータ送信に成功した旨をデータ送信手段２４９を介してクライアントＡＰ１４１に通知する。これにより、クライアント装置１４０とサーバ装置１１０との間の下りコネクションは消滅する。【００３１】
＜サーバ装置からクライアント装置へデータを送信する場合の動作＞
サーバ装置１１０のデータ送信手段２１２からクライアント装置１４０のデータ受信手段２５０にデータを送信する場合は、次のように動作する。【００３２】
先ず、クライアント装置１４０においてデータ受信手段２５０が、ＨＴＴＰ  ＧＥＴ要求作成手段２４８に対してデータを受信するように依頼する。これにより、ＨＴＴＰ  ＧＥＴ要求作成手段２４８は、ＨＴＴＰのＧＥＴ要求を作成する。作成されたＧＥＴ要求は、ＨＴＴＰ  ＧＥＴ要求送信手段２４６から下り通信中継装置１３０へと送信され、これを契機としてクライアント装置１４０と下り通信中継装置１３０との間に下りコネクションが確立する。その際、ＨＴＴＰのトラフィックのみを伝送する手段を含み構成されたＨＴＴＰ通信手段２９０を通過することができる。【００３３】
下り通信中継装置１３０においては、ＨＴＴＰ  ＧＥＴ要求受信手段２３６が、クライアント装置１４０から送られてきたＧＥＴ要求を受信し、送信先特定手段２３４に受け渡す。送信先特定手段２３４は、渡されたＧＥＴ要求を、クライアント装置１４０への下りコネクションを示す情報として内部に保持する。【００３４】
一方、サーバ装置１１０においては、サーバＡＰ１１１が、クライアント装置１４０へ送信すべきデータを、データ送信手段２１２を介してデータ送信手段２１３に受け渡す。このデータは、データ送信手段２１３から下り通信中継装置１３０へと送信される。その際、通信手段２９５を通過するが、この通信手段２９５にはＨＴＴＰのみを伝送する手段を含むといった制限は存在しないため、独自のプロトコルに基づいた通信手段となる。【００３５】
下り通信中継装置１３０においては、データ受信手段２３１が、サーバ装置１１０から送られてきたデータを受信し、送信先特定手段２３４に対して、上記受信したデータの送信先となるクライアント装置１４０との間に下りコネクションが確立しているか否かを問い合わせる。【００３６】
これにより、送信先特定手段２３４は、保持しているＧＥＴ要求の中に、クライアント装置１４０から送られてきたＧＥＴ要求が存在するか否かを調べる。そして、そのようなＧＥＴ要求が存在する場合は、クライアント装置１４０との間に下りコネクションが確立している旨の応答をデータ受信手段２３１に返し、更に、保持しているＧＥＴ要求の内、クライアント装置１４０から送られてきているＧＥＴ要求を送信先特定手段２３４の管理下から削除する。これに対して、そのようなＧＥＴ要求が存在しない場合は、クライアント装置１４０との間に下りコネクションが確立していない旨の応答を返す。【００３７】
そして、データ受信手段２３１は、下りコネクションが確立している旨の応答が返された場合は、クライアント装置１４０への送信データを、送信先特定手段２３４を介してＨＴＴＰ  ＧＥＴ応答作成手段２３３に受け渡す。ＨＴＴＰ  ＧＥＴ応答作成手段２３３は、送信すべきデータをＨＴＴＰボディ部に持つＨＴＴＰのＧＥＴ応答を作成する。作成されたＧＥＴ応答は、ＨＴＴＰ  ＧＥＴ応答送信手段２３５からクライアント装置１４０へと送信される。【００３８】
クライアント装置１４０では、ＨＴＴＰ  ＧＥＴ応答受信手段２４５が、下り通信中継装置１３０から送られてきたＧＥＴ応答を受信し、ＨＴＴＰ  ＧＥＴ応答解析手段２４７が、上記ＧＥＴ応答を解析してそのＨＴＴＰボディ部からデータを抽出し、抽出したデータをデータ受信手段２５０を介してクライアントＡＰ１４１に渡す。これにより、クライアント装置１４０と下り通信中継装置１３０との間の下りコネクションは消滅する。【００３９】
これに対して、送信先特定手段２３４からデータの送信先にするクライアント装置１４０との間に下りコネクションが確立していない旨の応答が返された場合は、上記データを送信データ保管手段２３２に一旦格納する。そして、送信データ保管手段２３２に格納されている送信データの処理タイミング（一般的にはＧＥＴ要求を受信したタイミング）になると、データ受信手段２３１は、送信データ保管手段２３２に格納されているデータの内の１つに注目し、そのデータの送信先とするクライアント装置との間に下りコネクションが確立しているか否かを送信先特定手段２３４に問い合わせる。【００４０】
そして、送信先特定手段２３４から下りコネクションが確立している旨の応答が返された場合は、送信データ保管手段２３２から注目しているデータを取り出し、送信先特定手段２３４を介してＨＴＴＰ  ＧＥＴ応答作成手段２３３に渡す。これに対して、下りコネクションが確立していない旨の応答が返された場合は、次の処理タイミングになるのを待つ。【００４１】
次に、図４のフローチャートを参照して、サーバ装置１１０からクライアント装置１４０へデータを送信する場合の動作について詳細に説明する。【００４２】
先ず、クライアント装置１４０から下り通信中継装置１３０に対してＨＴＴＰのＧＥＴ要求を送信しておく（ステップＳ３１１）。より具体的には、クライアント装置１４０内のデータ受信手段２５０が、ＨＴＴＰ  ＧＥＴ要求作成手段２４８に対してデータの受信を依頼し、これにより、ＨＴＴＰ  ＧＥＴ要求作成手段２４８がＧＥＴ要求を作成し、作成したＧＥＴ要求をＨＴＴＰ  ＧＥＴ要求送信手段２４６を利用して下り通信中継装置１３０へ送信する。【００４３】
下り通信中継装置１３０は、クライアント装置１４０から送られてきたＧＥＴ要求を受信すると、クライアント装置１４０へ送信すべきデータが発生するまでの間、上記ＧＥＴ要求をブロックする（ステップＳ３２１）。より具体的には、下り通信中継装置１３０内のＨＴＴＰ  ＧＥＴ要求受信手段２３６が、クライアント装置１４０からのＧＥＴ要求を受信し、送信先特定手段２３４が上記ＧＥＴ要求を内部に保持する。【００４４】
一方、サーバ装置１１０からクライアント装置１４０へ送信すべきデータを送信する場合は、そのデータを独自のプロトコルで下り通信中継装置１３０に送信する（ステップＳ３３１）。より具体的には、データ送信手段２１３が、データ送信手段２１２を介してサーバＡＰ１１１から渡されたデータを下り通信中継装置１３０に送信する。ここで、サーバ装置１１０からクライアント装置１４０へ送信すべきデータとしては、他のクライアント装置からサーバ装置１１０へ送られてきたクライアント装置１４０宛のデータや、サーバ装置１１０のデータ更新時にクライアント装置１４０へ送信することになっているデータ等が挙げられる。【００４５】
下り通信中継装置１３０は、クライアント装置１４０へ送信すべきデータを受信すると（ステップＳ３２２）、ブロックされているＧＥＴ要求の中から送信先クライアント装置１４０を送信元にしているＧＥＴ要求を検索する（ステップＳ３２３）。より具体的には、データ受信手段２３１が送信先特定手段２３４に対して、クライアント装置１４０との間に下りコネクションが確立しているか否かを問い合わせ、これにより送信先特定手段２３４が保持しているＧＥＴ要求を検索し、保持しているＧＥＴ要求の中に、クライアント装置１４０から送られてきているＧＥＴ要求が存在する場合は、クライアント装置１４０との間の下りコネクションが確立していると判断する。【００４６】
次に、検索されたＧＥＴ要求に対するＧＥＴ応答を作成し、送信すべきデータをＧＥＴ応答のＨＴＴＰボディ部に格納した上で送信する（ステップＳ３２４）。より具体的には、データ受信手段２３１が、クライアント装置１４０へ送信すべきデータを送信先特定手段２３４を介してＨＴＴＰ  ＧＥＴ応答作成手段２３３へ渡し、ＨＴＴＰ  ＧＥＴ応答作成手段２３３が送信すべきデータをＨＴＴＰボディ部に格納したＧＥＴ応答を作成し、ＨＴＴＰ  ＧＥＴ応答送信手段２３５を利用してクライアント装置１４０へ送信する。【００４７】
クライアント装置１４０は、ＧＥＴ応答を受信すると（ステップＳ３１２）は、そのＨＴＴＰボディ部からデータを取り出し、クライアントＡＰ１４１に渡す（ステップＳ３１３）。より具体的には、ＨＴＴＰ  ＧＥＴ応答受信手段２４５がＧＥＴ応答を受信し、ＨＴＴＰ  ＧＥＴ応答解析手段２４７がＧＥＴ応答のＨＴＴＰボディ部からデータを取り出し、データ受信手段２５０を介してクライアントＡＰ１４１に渡す。【００４８】
最後に、クライアント装置１４０は、次の下りデータを受信するために、再度ＨＴＴＰのＧＥＴ要求を下り通信中継装置１３０へ送信しておく（ステップＳ３１１）。【００４９】
図５〜図８は、クライアント装置Ａ、Ｂ上にクライアントＡＰとして存在するチャットＡＰの間でサーバ装置１１０上にサーバＡＰとして存在するチャットサーバＡＰを経由してテキストを交換する際のデータ例である。【００５０】
クライアント装置Ａからクライアント装置Ｂへテキストを送信する場合のデータが図５に示されている。このデータをサーバ装置１１０に送信する場合、図６に示すようなＨＴＴＰのＰＯＳＴ要求に変換される。【００５１】
ＨＴＴＰのＰＯＳＴ要求を受信したサーバ装置は、図６に示されているＨＴＴＰのＰＯＳＴ要求から図５に示されているデータを取り出し、このデータを下り通信中継装置１３０に転送する。【００５２】
下り通信中継装置１３０では、図５に示されているデータから送り先がクライアント装置Ｂであることを認識する。【００５３】
一方、クライアント装置Ａ、ＢはチャットサーバＡＰからのデータを受信するために、あらかじめＨＴＴＰのＧＥＴ要求を下り通信中継装置１３０に対して送信するが、その際のＧＥＴ要求が図７に示されている。下り通信中継装置１３０では、データの送り先であるクライアント装置ＢからのＨＴＴＰのＧＥＴ要求に対するＧＥＴ応答としてデータを送信するが、その際のＧＥＴ応答が図８に示されている。【００５４】
＜第１の実施の形態の効果＞
本実施の形態によれば、サーバ装置１１０において同時に確立することができるコネクション数が制限されている場合であっても、多くのクライアント装置との間で同時に双方向通信を行うことが可能になるという効果を得ることができる。その理由は、クライアント装置１４０、１５０からサーバ装置１１０へデータを送信する場合には、クライアント装置１４０、１５０とサーバ装置１１０との間に確立された上りコネクションを介してデータを送信し、サーバ装置１１０からクライアント装置１４０、１５０へデータを送信する場合には、サーバ装置１１０が下り通信中継装置１３０に対して、クライアント装置１４０、１５０へ送信すべきデータを送信し、下り通信中継装置１３０がクライアント装置１４０、１５０との間に確立された下りコネクションを介してクライアント装置１４０、１５０へデータを送信するようにしているからである。即ち、サーバ装置１１０においては、クライアント装置１４０、１５０と双方向通信を行うために必要となる上りコネクション及び下りコネクションの内の、上りコネクションだけを確立すれば良いので、サーバ装置１１０において上りコネクション及び下りコネクションの両方を確立しなければならなかった従来の技術に比較して、同時に双方向通信を行うことができるクライアント装置の台数が２倍になる。【００５５】
〔第２の実施の形態〕
次に、本発明にかかる双方向通信システムの第２の実施の形態について詳細に説明する。本実施の形態は、複数台のサーバ装置が、１台の下り通信中継装置を共有することを特徴としている。【００５６】
図９を参照すると、本実施の形態は、２台のサーバ装置８１０、８２０と、下り通信中継装置８３０と、４台のクライアント装置８４０、８５０、８６０、８７０とから構成されている。同図では２台のサーバ装置８１０、８２０のみ図示されているが、３台以上のサーバ装置を利用して構成してもなんら問題はない。また、４台のクライアント装置８４０、８５０、８６０、８７０のみ図示されているが、同時に確立できるコネクション数の制限の範囲内であれば、クライアント装置の台数は５台以上であっても構わない。【００５７】
サーバ装置８１０、８２０は、サーバＡＰ８１１、８２１を含むと共に、下り通信中継装置８３０とクライアント装置８４０、８５０、８６０、８７０との通信部８１２、８２２を含んでいる。下り通信中継装置８３０は、サーバ装置８１０、８２０とクライアント装置８４０、８５０、８６０、８７０との通信部８３２を含んでいる。クライアント装置８４０、８５０、８６０、８７０は、クライアントＡＰ８４１、８５１、８６１、８７１を含むと共に、サーバ装置８１０、８２０と下り通信中継装置８３０との通信部８４２、８５２、８６２、８７２を含んでいる。なお、サーバ装置８１０、８２０は図２に示したサーバ装置１１０と同様の構成を有し、下り通信中継装置８３０は図２に示した下り通信中継装置１３０と同様の構成を有し、クライアント装置８４０、８５０、８６０、８７０は、図２に示したクライアント装置１４０と同様の構成を有する。また、サーバ装置、クライアント装置、下り通信中継装置は、第１の実施の形態と同様に、コンピュータによって実現可能である。【００５８】
ここで、サーバ装置８１０に含まれるサーバＡＰ８１１およびサーバ装置８２０に含まれるサーバＡＰ８２１は、クライアントＡＰとの間で双方向通信を必要とする同一アプリケーションプログラムか、あるいは、サーバＡＰとしては異なるアプリケーションプログラムであるが、同一のクライアントＡＰとの間で双方向通信が可能な（より具体的には、下り通信中継装置８３０からの下りコネクションが共有可能な）サーバＡＰである。【００５９】
クライアントＡＰ８４１からサーバＡＰ８１１にデータを送信する場合は、クライアント装置８４０内の通信部８４２からサーバ装置８１０内の通信部８１２へＨＴＴＰのＰＯＳＴメソッドによるＨＴＴＰ要求（ＨＴＴＰのＰＯＳＴ要求）が送信される。図中において、クライアントＡＰからサーバＡＰへの上りデータの流れは実線矢印で示されている。【００６０】
逆に、サーバＡＰ８１１からクライアントＡＰ８４１にデータを送信する場合は、まず、サーバ装置８１０内の通信部８１２から下り通信中継装置８３０内の通信部８３２へ独自のプロトコルによりデータが送信される。次に、クライアント装置８４０内の通信部８４２から下り通信中継装置８３０内の通信部８３２へ予め送信されていたＨＴＴＰのＧＥＴメソッドによるＨＴＴＰ要求（ＨＴＴＰのＧＥＴ要求）に対するＨＴＴＰ応答として送信される。図９において、サーバＡＰからクライアントＡＰへの下りデータの流れは破線矢印で示されている。【００６１】
ここで、本実施の形態をチャットシステムに適用した場合について説明する。【００６２】
例えばクライアント装置８４０、８５０がサーバ装置８１０を利用してチャットを行っているとし、クライアント装置８６０、８７０がサーバ装置８２０を利用してチャットを行っているとする。クライアント装置８４０から送信されたテキストはサーバ装置８１０および下り通信中継装置８３０を経由してクライアント装置８５０に到達する。同様に、クライアント装置８６０から送信されたテキストはサーバ装置８２０および下り通信中継装置８３０を経由してクライアント装置８７０に到達する。このようにしてクライアント装置８４０、８５０とクライアント装置８６０、８７０はチャットのための独立したグループを形成している。【００６３】
ここで、さらに、クライアント装置８４０、８５０間で実施されているチャットにクライアント装置８６０も参加させるためにメッセージを送信したいとする。図１のようなサーバ装置とクライアント装置の構成を２組あるいは複数組用意する場合には、それぞれの組が独立しているため、このようなメッセージの送信を実現することができない。一方、本実施の形態では、このような場合であっても、例えばクライアント装置８４０から送信された招待メッセージはサーバ装置８１０および下り通信中継装置８３０を経由してクライアント装置８６０に到達する。これは複数のサーバ装置からのデータであっても、下り通信中継装置８３０を経由することで、単一のサーバ装置からのデータのように取り扱うことができるからである。【００６４】
＜第２の実施の形態の効果＞
本実施の形態によれば、第１の実施の形態で得られる効果に加え、複数台のサーバ装置と双方向通信を行う際の、クライアント装置８４０、８５０、８６０、８７０の負荷を低減することが可能になるという効果を得ることができる。その理由は、次の通りである。第１の実施の形態では、１台のサーバ装置１１０に対して１台の下り通信中継装置１３０が用意されている。このため、クライアント装置が複数台（ｊ台）のサーバ装置と双方向通信を行うためには、サーバ装置毎に用意されているｊ台の下り通信中継装置との間に下りコネクションを確立する必要があり、そのためには、ｊ台の下り通信中継装置それぞれに対してＨＴＴＰのＧＥＴ要求を送信しなければならない。これに対して、本実施の形態では、複数台のサーバ装置８１０、８２０が１台の下り通信中継装置８３０を共有しているので、クライアント装置８４０、８５０、８６０、８７０は、１台の下り通信中継装置８３０に対してＨＴＴＰのＧＥＴ要求を送信するだけで良く、負荷が低減する。【００６５】
このように、本発明が適用される第１の双方向通信システムは、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備え、中継装置が、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備えたことを特徴としている。【００６６】
また、本発明が適用される第２の双方向通信システムは、複数のクライアント装置と、複数のサーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、複数のサーバ装置との間に確立された上りコネクションを介して複数のサーバ装置へデータを送信するクライアント側通信部を備え、複数のサーバ装置が、それぞれ、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備え、中継装置が、複数のサーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備えたことを特徴としている。【００６７】
また、上記の双方向通信システムにおいて、サーバ側通信部が、複数のクライアント装置から送られてきた他のクライアント装置宛のデータを、中継線を介して中継装置へ送信することを特徴としている。【００６８】
また、上記の双方向通信システムにおいて、上りコネクションが、ＨＴＴＰのＰＯＳＴ要求を用いたものであり、下りコネクションが、ＨＴＴＰのＧＥＴ要求を用いたものであることを特徴としている。【００６９】
また、上記の双方向通信システムにおいて、中継装置側通信部が、複数のクライアント装置から送られてきたＨＴＴＰのＧＥＴ要求を保持し、保持しているＨＴＴＰのＧＥＴ要求の中に、その要求元のクライアント装置がサーバ装置から送られてきたデータの送信先にするクライアント装置と一致するＨＴＴＰのＧＥＴ要求が含まれている場合、ＨＴＴＰのＧＥＴ要求に対する応答としてクライアント装置にデータを返却することを特徴としている。【００７０】
また、本発明が適用されるサーバ装置は、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、中継装置が、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備えた双方向通信システムの構成要素であるサーバ装置であって、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備えたことを特徴としている。【００７１】
また、上記のサーバ装置において、サーバ側通信部が、複数のクライアント装置から送られてきた他のクライアント装置宛のデータを、中継線を介して中継装置へ送信することを特徴としている。【００７２】
また、本発明が適用される中継装置は、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備えた双方向通信システムの構成要素である中継装置であって、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備えたことを特徴としている。【００７３】
また、上記の中継装置において、中継装置側通信部が、複数のクライアント装置から送られてきたＨＴＴＰのＧＥＴ要求を保持し、保持しているＨＴＴＰのＧＥＴ要求の中に、その要求元のクライアント装置がサーバ装置から送られてきたデータの送信先にするクライアント装置と一致するＨＴＴＰのＧＥＴ要求が含まれている場合、ＨＴＴＰのＧＥＴ要求に対する応答としてクライアント装置にデータを返却することを特徴としている。【００７４】
また、本発明が適用される双方向通信方法は、複数のクライアント装置が、それぞれ自クライアント装置とサーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信し、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置へ送信し、中継装置が、サーバ装置から送られてきたデータを自装置と複数のクライアント装置との間に確立された下りコネクションを介してクライアント装置へ送信する。【００７５】
また、本発明が適用される第１のプログラムは、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、中継装置が、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部を備えた双方向通信システムの構成要素であるサーバ装置をコンピュータにより実現するためのプログラムであって、コンピュータを、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部として機能させることを特徴としている。【００７６】
また、上記のプログラムにおいて、サーバ側通信部が、複数のクライアント装置から送られてきた他のクライアント装置宛のデータを、中継線を介して中継装置へ送信することを特徴としている。【００７７】
また、本発明が適用される第２のプログラムは、複数のクライアント装置と、サーバ装置と、中継装置とを備え、複数のクライアント装置が、それぞれ、サーバ装置との間に確立された上りコネクションを介してサーバ装置へデータを送信するクライアント側通信部を備え、サーバ装置が、クライアント装置へ送信すべきデータを中継線を介して中継装置に送信するサーバ側通信部を備えた双方向通信システムの構成要素である中継装置をコンピュータにより実現するためのプログラムであって、コンピュータを、サーバ装置から送られてきたデータを複数のクライアント装置との間に確立された下りコネクションを介して複数のクライアント装置へ送信する中継装置側通信部として機能させることを特徴としている。【００７８】
また、上記のプログラムにおいて、中継装置側通信部が、複数のクライアント装置から送られてきたＨＴＴＰのＧＥＴ要求を保持し、保持しているＨＴＴＰのＧＥＴ要求の中に、その要求元のクライアント装置がサーバ装置から送られてきたデータの送信先にするクライアント装置と一致するＨＴＴＰのＧＥＴ要求が含まれている場合、ＨＴＴＰのＧＥＴ要求に対する応答としてクライアント装置にデータを返却することを特徴としている。【００７９】
このように、本発明では、クライアント装置からサーバ装置へデータを送信する場合は、クライアント装置が、自装置とサーバ装置との間に確立された上りコネクションを用いて直接サーバ装置へデータを送信する。これに対して、サーバ装置からクライアント装置へデータを送信する場合は、サーバ装置が、クライアント装置へ送信すべきデータを中継装置へ送信し、中継装置がクライアント装置との間に確立されている下りコネクションを介してクライアント装置へ前記サーバ装置から送られてきたデータを送信する。【００８０】
本発明によれば、クライアント装置間でテキストを送受信する際にサーバ装置を仲介させるためのサーバおよびクライアントプログラムといった用途に適用できる。また、クライアント装置間でＷＥＢページを同期する際に、ＷＥＢページ上での変更内容を送受信するためのサーバおよびクライアントプログラムといった用途にも適用できる。また、クライアント装置間での映像音声を送受信するＷＥＢ会議装置およびプログラムといった用途に適用できる。【００８１】
以上、実施形態を参照して本願発明を説明したが、本願発明は、上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【００８２】
この出願は、２００６年１０月２６日に出願された日本出願特願２００６−２９１２０３を基礎とする優先権を主張し、その開示を全てここに取り込む。
【図面の簡単な説明】
【００８３】
【図１】関連技術における双方向通信システムを説明するためのブロック図である。
【図２】本発明にかかる双方向通信システムの第１の実施の形態の構成例を示すブロック図である。
【図３】サーバ装置１１０、下り通信中継装置１３０、クライアント装置１４０の構成例を示すブロック図である。
【図４】サーバ装置１１０からクライアント装置１４０へデータを送信する際の処理例を示すフローチャートである。
【図５】クライアント装置Ａがクライアント装置Ｂへ送信するデータの一例を示した図である。
【図６】ＨＴＴＰのＰＯＳＴ要求の一例を示した図である。
【図７】ＨＴＴＰのＧＥＴ要求の一例を示した図である。
【図８】ＨＴＴＰのＧＥＴ応答の一例を示した図である。
【図９】本発明にかかる双方向通信システムの第２の実施の形態の構成例を示すブロック図である。
【符号の説明】
【００８４】
１１０，８１０，８２０    サーバ装置
１１１，８１１，８２１    サーバＡＰ
１１２，８１２，８２２    通信部
２１１    データ受信手段
２１２    データ送信手段
２１３    データ送信手段
２１４    ＨＴＴＰ  ＰＯＳＴ応答作成手段
２１５    ＨＴＴＰ  ＰＯＳＴ要求解析手段
２１６    ＨＴＴＰ  ＰＯＳＴ応答送信手段
２１７    ＨＴＴＰ  ＰＯＳＴ要求受信手段
１３０，８３０    下り通信中継装置
１３２，８３２    通信部
２３１    データ受信手段
２３２    送信データ保管手段
２３３    ＨＴＴＰ  ＧＥＴ応答作成手段
２３４    送信先特定手段
２３５    ＨＴＴＰ  ＧＥＴ応答送信手段
２３６    ＨＴＴＰ  ＧＥＴ要求受信手段
１４０，１５０，８４０，８５０，８６０，８７０    クライアント装置
１４１，１５１，８４１，８５１，８６１，８７１    クライアントＡＰ
１４２，１５２，８４２，８５２，８６２，８７２    通信部
２４１    ＨＴＴＰ  ＰＯＳＴ応答受信手段
２４２    ＨＴＴＰ  ＰＯＳＴ要求送信手段
２４３    ＨＴＴＰ  ＰＯＳＴ応答解析手段
２４４    ＨＴＴＰ  ＰＯＳＴ要求作成手段
２４５    ＨＴＴＰ  ＧＥＴ応答受信手段
２４６    ＨＴＴＰ  ＧＥＴ要求送信手段
２４７    ＨＴＴＰ  ＧＥＴ応答解析手段
２４８    ＨＴＴＰ  ＧＥＴ要求作成手段
２４９    データ送信手段
２５０    データ受信手段
【図１】
2008050585.tif 000003
【図２】
2008050585.tif 000004
【図３】
2008050585.tif 000005
【図４】
2008050585.tif 000006
【図５】
2008050585.tif 000007
【図６】
2008050585.tif 000008
【図７】
2008050585.tif 000009
【図８】
2008050585.tif 000010
【図９】
2008050585.tif 000011
【国際調査報告】
2008050585.tif 000012
2008050585.tif 000013
2008050585.tif 000014