(57)【要約】【課題】異なる通信網の間で通信を行うにあたって、通信網の通信量を従来よりも低下させることにより通信システムのサービスの停止を回避することを可能にする。【解決手段】プロキシ装置１０は、第１の通信インターフェイス部１１と、第２の通信インターフェイス部１２と、処理部１００とを備える。第１の通信インターフェイス部１１は、第１の通信網ＮＴ１に接続されたサーバ２０との間で通信する。第２の通信インターフェイス部１２は、第２の通信網ＮＴ２に接続されたサブシステム３０との間で通信する。処理部１００は、サーバ２０からサブシステム３０に対する複数個の要求情報を含むパケットを第１の通信インターフェイス部１１が受信した場合に個々の要求情報に展開し、第２の通信インターフェイス部１２を通して要求情報をサブシステム３０に送信させる。【選択図】図１
2014022820.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信網に接続されたサーバとの間で通信する第１の通信インターフェイス部と、
第２の通信網に接続されたサブシステムとの間で通信する第２の通信インターフェイス部と、
前記サーバから前記サブシステムに対する複数個の要求情報を含むパケットを前記第１の通信インターフェイス部が受信した場合に個々の要求情報に展開し、前記第２の通信インターフェイス部を通して要求情報を前記サブシステムに送信させる処理部とを備える
ことを特徴とするプロキシ装置。
【請求項２】
前記第１の通信インターフェイス部はプッシュ型である第１の通信プロトコルでカプセル化された要求情報を前記サーバから受信し、
前記第２の通信インターフェイス部はオープン型である第２の通信プロトコルを用いて前記サブシステムとの通信を行う
ことを特徴とする請求項１記載のプロキシ装置。
【請求項３】
前記処理部は、前記第１の通信インターフェイス部が前記サーバからパケットを受信した時刻により、個々の要求情報を前記サブシステムに送信する順番を定める
ことを特徴とする請求項１又は２記載のプロキシ装置。
【請求項４】
前記第２の通信インターフェイス部は、前記サブシステムの処理能力に応じて要求情報が消失しないように前記サブシステムに要求情報を送信するタイミングを調節する
ことを特徴とする請求項１〜３のいずれか１項に記載のプロキシ装置。
【請求項５】
前記処理部は、
複数個の要求情報を保持する要求情報バッファと、
要求情報について前記サブシステムに送信する優先順位があらかじめ登録された順位記憶部とを備え、
前記第１の通信インターフェイス部が受信した要求情報の優先順位が前記要求情報バッファに保持されている要求情報よりも高い場合に、優先順位の高い要求情報を前記サブシステムに先に送信する
ことを特徴とする請求項１〜４のいずれか１項に記載のプロキシ装置。
【請求項６】
前記処理部は、同一の前記サブシステムに送信する複数個の要求情報が存在する場合、これらの要求情報を１個のパケットにまとめて該当する前記サブシステムに送信する
ことを特徴とする請求項１〜５のいずれか１項に記載のプロキシ装置。
【請求項７】
前記第２の通信インターフェイス部は、前記サブシステムから要求情報に対する応答情報を受け取る機能を有し、
前記第１の通信インターフェイス部は、前記サーバの処理能力に応じて応答情報が消失しないように前記サーバに応答情報を送信するタイミングを調節する
ことを特徴とする請求項１〜３のいずれか１項に記載のプロキシ装置。
【請求項８】
前記処理部は、前記第２の通信インターフェイス部が要求情報に対する応答情報を前記サブシステムから受け取り、同一の前記サーバに送信する複数個の応答情報が存在する場合、これらの応答情報を１個のパケットにまとめて該当する前記サーバに送信する
ことを特徴とする請求項１〜７のいずれか１項に記載のプロキシ装置。
【請求項９】
請求項１〜８のいずれか１項に記載のプロキシ装置と、
前記プロキシ装置に第１の通信網を介して接続されるサーバと、
前記プロキシ装置に第２の通信網を介して接続されるサブシステムとを備え、
前記サーバが発行した要求情報が前記プロキシ装置を介して前記サブシステムに送信され、前記サブシステムからの要求情報に対する応答情報が前記プロキシ装置を介して前記サーバに送信される
ことを特徴とする通信システム。
【請求項１０】
前記サーバと前記サブシステムと前記プロキシ装置とについて、制御と監視との少なくとも一方を行う統括管理装置をさらに備えることを特徴とする請求項９記載の通信システム。
【請求項１１】
コンピュータを、
第１の通信網に接続されたサーバとの間で通信する第１の通信インターフェイス部と、第２の通信網に接続されたサブシステムとの間で通信する第２の通信インターフェイス部と、前記サーバから前記サブシステムに対する複数個の要求情報を含むパケットを前記第１の通信インターフェイス部が受信した場合に個々の要求情報に展開し、前記第２の通信インターフェイス部を通して要求情報を前記サブシステムに送信させる処理部とを備えるプロキシ装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる通信網の間に介在し、異なる通信網の間で情報の伝送を制御するプロキシ装置、このプロキシ装置を用いた通信システム、プロキシ装置を実現するためのプログラムに関するものである。
【背景技術】
【０００２】
従来から、インターネットのような第１の通信網と、ＬＡＮ（Local Area Network）のような第２の通信網との間で通信を行う場合に、第１の通信網と第２の通信網との間のプロトコルの違いを吸収するためにプロキシ装置を用いる技術が提案されている（たとえば、特許文献１参照）。特許文献１には、それぞれＬＡＮに接続された通信装置の間でインターネットを介して通信を行うために、インターネットに接続したプロキシ装置（ＳＩＰ  Ｐｒｏｘｙ）を介して通信を行う技術が記載されている。すなわち、通信装置は、カプセル化を行うことにより、異なるプロトコルのネットワークを通したデータの伝送を可能にしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１６６４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プロキシ装置は、上述の構成のほかに、異なる通信網に接続された一方の通信装置から要求情報を送信し、他方の通信装置において要求情報に対する処理を行って応答情報を前記一方の通信装置に返送する場合にもプロトコルの変換を行うために用いられる。このような構成の通信システムにおいて、１台のプロキシ装置に対して、異なるプロトコルを用いる通信装置がそれぞれ複数台ずつ設けられている場合、要求情報あるいは応答情報が多量に発生する場合がある。
【０００５】
このような場合、要求情報や応答情報にそれぞれ１個のパケットを割り当てて通信を行うと、プロキシ装置に接続された通信網の通信量が増加し、またパケットの送受信を行うための通信処理量が増加することになる。すなわち、通信装置、プロキシ装置に負荷がかかり、通信網の通信量が増加するから、場合によっては通信システムのサービスが停止する可能性がある。
【０００６】
本発明は、異なる通信網の間で通信を行うにあたって、通信網の通信量を従来よりも低下させることにより通信システムのサービスの停止を回避することを可能にするプロキシ装置を提供することを目的とし、さらに、このプロキシ装置を用いた通信システムを提供し、プロキシ装置を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るプロキシ装置は、第１の通信網に接続されたサーバとの間で通信する第１の通信インターフェイス部と、第２の通信網に接続されたサブシステムとの間で通信する第２の通信インターフェイス部と、前記サーバから前記サブシステムに対する複数個の要求情報を含むパケットを前記第１の通信インターフェイス部が受信した場合に個々の要求情報に展開し、前記第２の通信インターフェイス部を通して要求情報を前記サブシステムに送信させる処理部とを備えることを特徴とする。
【０００８】
このプロキシ装置において、前記第１の通信インターフェイス部はプッシュ型である第１の通信プロトコルでカプセル化された要求情報を前記サーバから受信し、前記第２の通信インターフェイス部はオープン型である第２の通信プロトコルを用いて前記サブシステムとの通信を行うことが好ましい。
【０００９】
このプロキシ装置において、前記処理部は、前記第１の通信インターフェイス部が前記サーバからパケットを受信した時刻により、個々の要求情報を前記サブシステムに送信する順番を定めることが好ましい。
【００１０】
このプロキシ装置において、前記第２の通信インターフェイス部は、前記サブシステムの処理能力に応じて要求情報が消失しないように前記サブシステムに要求情報を送信するタイミングを調節することが好ましい。
【００１１】
このプロキシ装置において、前記処理部は、複数個の要求情報を保持する要求情報バッファと、要求情報について前記サブシステムに送信する優先順位があらかじめ登録された順位記憶部とを備え、前記第１の通信インターフェイス部が受信した要求情報の優先順位が前記要求情報バッファに保持されている要求情報よりも高い場合に、優先順位の高い要求情報を前記サブシステムに先に送信することが好ましい。
【００１２】
このプロキシ装置において、前記処理部は、同一の前記サブシステムに送信する複数個の要求情報が存在する場合、これらの要求情報を１個のパケットにまとめて該当する前記サブシステムに送信することが好ましい。
【００１３】
このプロキシ装置において、前記第２の通信インターフェイス部は、前記サブシステムから要求情報に対する応答情報を受け取る機能を有し、前記第１の通信インターフェイス部は、前記サーバの処理能力に応じて応答情報が消失しないように前記サーバに応答情報を送信するタイミングを調節することが好ましい。
【００１４】
このプロキシ装置において、前記処理部は、前記第２の通信インターフェイス部が要求情報に対する応答情報を前記サブシステムから受け取り、同一の前記サーバに送信する複数個の応答情報が存在する場合、これらの応答情報を１個のパケットにまとめて該当する前記サーバに送信することが好ましい。
【００１５】
本発明に係る通信システムは、上述したプロキシ装置と、  前記プロキシ装置に第１の通信網を介して接続されるサーバと、前記プロキシ装置に第２の通信網を介して接続されるサブシステムとを備え、前記サーバが発行した要求情報が前記プロキシ装置を介して前記サブシステムに送信され、前記サブシステムからの要求情報に対する応答情報が前記プロキシ装置を介して前記サーバに送信されることを特徴とする。
【００１６】
この通信システムにおいて、前記サーバと前記サブシステムと前記プロキシ装置とについて、制御と監視との少なくとも一方を行う統括管理装置をさらに備えることが好ましい。
【００１７】
本発明に係るプログラムは、コンピュータを、第１の通信網に接続されたサーバとの間で通信する第１の通信インターフェイス部と、第２の通信網に接続されたサブシステムとの間で通信する第２の通信インターフェイス部と、前記サーバから前記サブシステムに対する複数個の要求情報を含むパケットを前記第１の通信インターフェイス部が受信した場合に個々の要求情報に展開し、前記第２の通信インターフェイス部を通して要求情報を前記サブシステムに送信させる処理部とを備えるプロキシ装置として機能させるものである。
【発明の効果】
【００１８】
本発明の構成によれば、異なる通信網の間で通信を行うにあたって、複数個の要求情報を１個のパケットにまとめて伝送するから、通信網の通信量を従来よりも低下させることになり、通信システムのサービスの停止を回避することが可能になる。
【図面の簡単な説明】
【００１９】
【図１】実施形態１を示すブロック図である。
【図２】同上を用いる通信システムの構成例を示す図である。
【図３】同上の処理手順をシーケンス図で表した動作説明図である。
【図４】実施形態２の要部の動作を示す図である。
【発明を実施するための形態】
【００２０】
（実施形態１）
以下に説明する実施形態は、図２に示す構成の通信システムを例として説明する。図２に示す通信システムは、インターネットのような第１の通信網ＮＴ１に接続された複数台のサーバ２０と、第２の通信網ＮＴ２に接続された複数個のサブシステム３０とを含んでいる。第２の通信網ＮＴ２は、ＬＡＮ(Local Area Network）であって、サブシステム３０は、それぞれ第２の通信網ＮＴ２に接続された端末装置を備え、端末装置の下位階層に通信システムが構築されている。
【００２１】
このように階層化された通信システムを構築することにより、大規模な通信システムの構築が可能になる。たとえば、ビルのような建物内に存在する機器の監視と制御とを通信技術を用いて行う場合のように、監視対象や制御対象が多数個存在する場合であっても、通信システムの階層化によって容易に対応することが可能である。
【００２２】
第１の通信網ＮＴ１と第２の通信網ＮＴ２との間では、プロキシ装置１０を介してデータを伝送する。図示例のプロキシ装置１０は、第１の通信網ＮＴ１に接続されたサブシステム３０と第２の通信網ＮＴ２との間のデータ伝送を中継する機能を有し、プロキシ装置１０と第１の通信網ＮＴ１との間にはファイアウォール４０が介在する。
【００２３】
図示する構成例は、複数台のサブシステム３０がプロキシ装置１０を共用する構成を示している。図中にはプロキシ装置１０が１台だけ示されているが、第１の通信網ＮＴ１に複数台のプロキシ装置１０を接続し、プロキシ装置１０ごとに、第２の通信網ＮＴ２を介して複数台のサブシステム３０をそれぞれ接続してもよい。なお、１台のプロキシ装置１０に１台のサブシステム３０を接続することも可能であるが、本実施形態は１台のプロキシ装置１０に複数台のサブシステム３０が接続される場合のみ想定する。
【００２４】
複数の施設が存在する広範囲な地域において、上述した通信システムを用いると、施設ごとに配置された機器（図示せず）の監視と制御とが可能になる。たとえば、施設内に複数のサブシステム３０が構築されているときに、施設ごとに１台以上のプロキシ装置１０を設け、それぞれのプロキシ装置１０を第２の通信網ＮＴ２に接続することにより、上述した通信システムが構築される。したがって、第１の通信網ＮＴ１に接続されたサーバ２０は、サブシステム３０を通して施設に配置された多数台の機器の監視と制御とが可能になる。
【００２５】
一例として、１つの都市において、公共施設の建屋ごとあるいは領域ごとに照明機器が管理されている場合を想定する。建屋や領域の範囲が単位となって、照明制御システムがサブシステム３０として構築される。このようなシステムでは、照明制御システムごとにプロキシ装置１０を設けておけば、都市の公共照明を運営する団体（たとえば、市役所など）が、都市全体の照明制御システムを、第１の通信網ＮＴ１を通して一括して管理することが可能になる。すなわち、第１の通信網ＮＴ１にインターネットを用いるとすれば、インターネットを経由してサーバ２０から、照明機器の点灯・消灯の制御や、照明機器の点灯時間の監視などを行うことが可能になる。
【００２６】
この場合、いずれかのサーバ２０あるいは第１の通信網ＮＴ１に接続される端末装置が、プロキシ装置１０、サーバ２０、サブシステム３０の監視と制御との少なくとも一方を行う統括管理装置として用いられる。このような統括管理装置を用いることにより、都市の各所に存在する照明制御システムの管理（制御と監視との少なくとも一方）を、統括管理装置によって一括して行うことが可能になる。
【００２７】
プロキシ装置１０は、図１に示すように、第１の通信網ＮＴ１に接続するための第１の通信インターフェイス部（以下、通信インターフェイス部を「通信Ｉ／Ｆ」という）１１と、第２の通信網ＮＴ２に接続するための第２の通信Ｉ／Ｆ１２とを備える。第１の通信Ｉ／Ｆ１１は、プッシュ型である第１の通信プロトコルによる通信を行い、第２の通信Ｉ／Ｆ１２は、オープン型である第２の通信プロトコルによる通信を行う。第１の通信Ｉ／Ｆ１１と第２の通信Ｉ／Ｆ１２との間には、サーバ２０からの要求情報をサブシステム３０に送信し、サブシステム３０からの応答情報をサーバ２０に返送する処理部１００が設けられる。
【００２８】
第１の通信プロトコルは、たとえばComet通信を可能にするプロトコルが用いられ、ロングポーリングにより、見かけ上、サーバ２０からファイアウォール４０を超えてプロキシ装置１０にデータを伝送することを可能にする。ただし、サーバ２０とプロキシ装置１０との間で、サーバ２０からプロキシ装置１０に対する下り側の通信路が開通する時間は制限されている。制限された時間内にデータの伝送がなければタイムアウトになり、タイムアウト後にはサーバ２０からプロキシ装置１０への下り側の通信路は不通になる。当該通信路を再び開通させるにはプロキシ装置１０からサーバ２０への通信が必要になる。
【００２９】
サーバ２０は、サブシステム３０に対してアプリケーション層における要求情報を送信する。すなわち、サーバ２０はアプリケーション処理部２００においてサブシステム３０に対する要求情報を発行し、通信処理部２０１を通して要求情報を第１の通信網ＮＴ１に送出する。また、サーバ２０は、サブシステム３０から要求情報に対する応答情報を受信する際に、プロキシ装置１０を通してサブシステム３０からの応答情報を受け取る。プロキシ装置１０は１以上のサブシステム３０と通信可能になっている。
【００３０】
いま、プロキシ装置１０が存在しない場合を想定すると、複数のサブシステム３０が存在する場合に、サーバ２０は、個々のサブシステム３０と要求情報や応答情報を伝送することになるから、第１の通信網ＮＴ１を伝送されるパケット数の増加につながる。つまり、サーバ２０は、要求情報あるいは応答情報の内容であるペイロードとヘッダおよびトレーラとを備えたパケットを、サブシステム３０ごとに送信しなければならないから、第１の通信網ＮＴ１を伝送されるパケット数が増加することになる。
【００３１】
本実施形態は、サーバ２０からプロキシ装置１０にデータを伝送する場合に、サブシステム３０への要求情報を行うデータをまとめることにより、サブシステム３０が複数存在している場合でも、送信する要求情報を１個のパケットで伝送することを可能にしている。つまり、第１の通信網ＮＴ１を通してサーバ２０からプロキシ装置１０に伝送されるパケットのペイロードに、サブシステム３０に伝送するデータがカプセル化される。
【００３２】
そのため、サーバ２０の通信処理部２０１は、サブシステム３０に送信する要求情報をまとめてペイロードを生成する機能を有する。また、プロキシ装置１０は、サーバ２０から受信したペイロードを個々のサブシステム３０への要求情報に展開する要求処理部１０１を備える。
【００３３】
一方、プロキシ装置１０からサーバ２０にデータを伝送する上り側の通信に際しては、個々のサブシステム３０からの応答情報をペイロードとするパケットが伝送される。つまり、プロキシ装置１０は、第２の通信網ＮＴ２を通して受信したサブシステム３０から応答情報を、第１の通信網ＮＴ１のパケットとしてサーバ２０に伝送する。
【００３４】
以下、さらに具体的に説明する。ここでは、プロキシ装置１０とサーバ２０との間で、Comet通信（たとえば、Bayeux）の初期処理は、すでに完了しているものとする。すなわち、Comet通信を確立するために、プロキシ装置１０が通信しようとする目的のサーバ２０に対して、Comet通信のリクエストを送信し、サーバ２０とプロキシ装置１０との間でComet通信のための初期処理が行われているものとする。
【００３５】
サーバ２０は、上述したように、サブシステム３０に対して要求情報を発行し、サブシステム３０からの応答情報に対する処理を行うアプリケーション処理部２００と、第１の通信網ＮＴ１に接続するための通信処理部２０１とを備える。アプリケーション処理部２００は、階層化通信モデルにおけるアプリケーション層に相当する。このアプリケーション処理部２００は、何らかのイベントが入力されるとサブシステム３０に対する要求情報を発行し、またサブシステム３０からの応答情報に対して表示や報知のような適宜のサービスを提供する。
【００３６】
イベントは、たとえば、利用者によるスイッチの操作、図示しないセンサの状態変化などであり、サービスは、たとえば、図示しないモニタ装置への情報の提示、図示しない記憶装置への情報の格納などを意味する。また、アプリケーション処理部２００に入力されるイベントやアプリケーション処理部２００が提供するサービスは、サーバ２０と通信する装置から受け取ってもよい。たとえば、サブシステム３０から受信する応答情報をイベントとすること、あるいはサブシステム３０に送信する要求情報をサービスとすることも可能である。
【００３７】
ここでは、サーバ２０のアプリケーション処理部２００にイベントが入力され、アプリケーション処理部２００が、入力されたイベントに対して３台のサブシステム３０にそれぞれ要求情報を発行する場合を想定して説明する。アプリケーション処理部２００は、イベントとサブシステム３０に対する要求情報とをあらかじめ対応付けて記憶した関係記憶部（図示せず）を備え、イベントが入力されると、関係記憶部を参照することによりサブシステム３０への要求情報を発行する。アプリケーション処理部２００が発行した要求情報は、通信処理部２０１に入力される。
【００３８】
通信処理部２０１は、要求情報を一時的に記憶するバッファ（図示せず）を備え、アプリケーション処理部２００から要求情報が入力されるとバッファに保持し、かつ受付時間を計時する。さらに、通信処理部２０１は、受付時間が計時されている期間内にアプリケーション処理部２００から入力されるすべての要求情報をバッファに保持する。通信処理部２０１は、受付時間が満了すると、バッファに保持された要求情報をひとまとめにし、通信処理部２０１に送信を依頼する。通信処理部２０１は、バッファに保持された要求情報をペイロードとし、プロキシ装置１０に送信するためのヘッダおよびトレーラを付加したパケットを生成し、このパケットをプロキシ装置１０に送信する。
【００３９】
通信処理部２０１は、バッファに保持された要求情報を第１の通信網ＮＴ１に送出するときに受付時間を計時する内蔵時計（図示せず）をリセットし、アプリケーション処理部２００からの次の要求情報を待つ。つまり、通信処理部２０１は、内蔵時計をリセットした後にアプリケーション処理部２００から要求情報が入力されると、受付時間の計時を開始し、受付時間が計時されている期間内に入力された要求情報をまとめて第１の通信網ＮＴ１に送出する。
【００４０】
図２にはプロキシ装置１０を１台だけ記載しているが、複数台のプロキシ装置１０が用いられることが多い。したがって、アプリケーション処理部２００は、要求情報を送信するプロキシ装置１０を特定するために、要求情報と併せて、プロキシ装置１０の宛先情報を通信処理部２０１に引き渡すことが望ましい。プロキシ装置１０が１台しか存在しないシステムであれば、宛先情報は省略することが可能である。
【００４１】
上述したように、受付時間の計時中に複数の要求情報が発生したときには、複数の要求情報をひとつにまとめ、通信処理部２０１は、まとめた要求情報をペイロードとするパケットを生成して、宛先情報で指示されたプロキシ装置１０に転送する。したがって、このパケットのペイロードは、１以上のサブシステム３０に宛てた要求情報を含むことができる。
【００４２】
一方、プロキシ装置１０の第１の通信Ｉ／Ｆ１１が、サーバ２０からのパケットを受け取ると、第１の通信Ｉ／Ｆ１１は、パケットからヘッダとペイロードとを取り出して要求処理部１０１に引き渡す。ヘッダは、送信元のサーバ２０を識別するための情報を含み、ペイロードは、要求情報を送信する相手先であるサブシステム３０と、サブシステム３０に対する要求情報とを含んでいる。
【００４３】
要求処理部１０１は、パケットのヘッダから送信元のサーバ２０の識別情報（アドレスなど）を取り出し、パケットのペイロードからサブシステム３０の識別情報（アドレスなど）とサブシステム３０に対する要求情報とを抽出する。ここに、サーバ２０の識別情報は、たとえばＩＰアドレスが用いられるが、サブシステム３０の識別情報は、ＩＰアドレス、ＭＡＣアドレスなどのほか、第２の通信網ＮＴ２において識別可能な情報であればよい。
【００４４】
上述のように、要求処理部１０１は、サーバ２０から受け取ったパケットから、サブシステム３０ごとの要求情報と、サブシステム３０の識別情報と、送信元のサーバ２０の識別情報とを抽出し、要求情報バッファ１０２に格納する。さらに、要求処理部１０１は、これらの情報を要求情報バッファ１０２から第２の通信Ｉ／Ｆ１２に引き渡す。第２の通信Ｉ／Ｆ１２は、要求処理部１０１から引き渡された情報を用いてサブシステム３０ごとに送信するパケットを生成する。すなわち、送信元をサーバ２０とし、指定されたサブシステム３０を送信先として、サブシステム３０ごとに要求情報を含むパケットを第２の通信網ＮＴ２に送出する。
【００４５】
ここに、要求処理部１０１は、第１の通信Ｉ／Ｆ１１から情報を受け取った順序で、第２の通信Ｉ／Ｆ１２に情報を引き渡す。要求処理部１０１が第２の通信Ｉ／Ｆ１２に情報を引き渡す順序は、ＦＩＦＯ（First In First Out）処理によって定めるか、あるいは、第１の通信Ｉ／Ｆ１１から要求処理部１０１が情報を受信した時刻を用いて定める（この点については、実施形態２で説明する）。
【００４６】
ところで、サーバ２０は、サブシステム３０に要求情報を送信したとき、サブシステム３０からの応答情報を期待している。サーバ２０とサブシステム３０との間の通信をプロキシ装置１０が中継する場合、サブシステム３０からプロキシ装置１０が受け取る応答情報を、サブシステム３０への要求情報を発行したサーバ２０に返送する必要がある。そのため、プロキシ装置１０は、要求情報を発行した送信元のサーバ２０の識別情報と、要求情報ごとに付与した要求識別情報とを対応付けて記憶する応答情報バッファ１０４を備える。
【００４７】
応答情報バッファ１０４は、サブシステム３０への要求情報ごとに、（要求識別情報、サーバの識別情報）の組を記憶する。要求識別情報は、要求情報を識別できればよいから、たとえば、要求処理部１０１が扱った要求情報の順番を表す番号が用いられる。要求識別情報は、プロキシ装置１０からサブシステム３０に要求情報を送信する際のパケットに付加され、また、サブシステム３０からプロキシ装置１０に応答情報を返送する際のパケットにも付加される。したがって、応答情報を受け取ったプロキシ装置１０は、要求識別情報を応答情報バッファ１０４と照合することにより、応答情報を返送すべきサーバ２０の識別情報を取得でき、適切なサーバ２０に応答情報を返送することが可能になる。
【００４８】
プロキシ装置１０は、サーバ２０から受け取った要求情報をサブシステム３０に送信し、サブシステム３０はプロキシ装置１０から受信した要求情報に応じた処理を行う。ここに、サブシステム３０は、第２の通信網ＮＴ２を通して通信するための通信処理部３０１と、要求情報を処理して応答情報を発行するアプリケーション処理部３００とを備える。サブシステム３０は、要求情報を受けたプロキシ装置１０の識別情報を記憶し、記憶しているプロキシ装置１０に、要求情報に対する応答情報を返送する機能を有する。
【００４９】
プロキシ装置１０からサブシステム３０に送信される要求情報には要求識別情報が付随し、サブシステム３０はプロキシ装置１０から要求情報を受け取ると、応答情報を返送するプロキシ装置１０とともに要求識別情報も記憶する。また、サブシステム３０は、プロキシ装置１０に応答情報を返送する際に、要求情報に付随して受け取った要求識別情報を付加する。
【００５０】
一方、サブシステム３０がプロキシ装置１０を指定して応答情報を返送すると、指定されたプロキシ装置１０の第２の通信Ｉ／Ｆ１２は、サブシステム３０からの応答情報と要求識別情報とを受け取る。第２の通信Ｉ／Ｆ１２は、サブシステム３０から受け取った応答情報と要求識別情報とを、プロキシ装置１０に設けられた応答処理部１０３に与える。応答処理部１０３は、要求識別情報を用いて応答情報を返送すべきサーバ２０の識別情報を抽出する。
【００５１】
応答処理部１０３は、抽出したサーバ２０の識別情報を用いて、サブシステム３０から受け取った応答情報をサーバ２０に送信するためのデータを生成し、第１の通信Ｉ／Ｆ１１を通してサーバ２０に伝送するパケットを送出させる。つまり、第１の通信網ＮＴ１は第１の通信プロトコルによる通信（たとえば、Comet通信）を行うから、プロキシ装置１０は、サブシステム３０からの応答情報を含むパケットを、第１の通信プロトコルに適合するように組み立てる。
【００５２】
応答処理部１０３は、サーバ２０の通信処理部２０１と同様の機能を有しており、１台のサーバ２０に伝送する応答情報が複数個存在する場合には、応答情報をサーバ２０ごとに振り分けてまとめる。まとめられる応答情報は、１つのサブシステム３０から受け取った応答情報に限らず、複数のサブシステム３０から受け取った応答情報であってもよい。まとめられた応答情報は、応答情報バッファ１０４に一時的に保持される。応答処理部１０３は、応答情報バッファ１０４に応答情報が格納されていない状態から最初に応答情報を格納した後、所定の待機時間内に格納された応答情報をひとまとめにする。
【００５３】
なお、サーバ２０が１台しか存在しない場合、応答処理部１０３は、サーバ２０の識別情報を抽出する必要がなく、既知の１台のサーバ２０にサブシステム３０からの応答情報を送信すればよい。また、応答処理部１０３は、１個の応答情報のみを応答情報バッファ１０４に保持させてもよい。
【００５４】
上述のように、応答処理部１０３が送り先のサーバ２０ごとに応答情報をまとめると、第１の通信Ｉ／Ｆ１１はサーバ２０ごとにまとめた応答情報を１個のパケットにし、第１の通信網ＮＴ１に送出する。このパケットを受け取ったサーバ２０は、通信処理部２０１により、パケットから個々の応答情報を抽出する。したがって、サーバ２０は、要求情報に対して受け取った応答情報を用いて、種々のサービスを提供することが可能になる。
【００５５】
以上説明したように、サーバ２０は、サブシステム３０に対する複数の要求情報をまとめて１個のパケットでプロキシ装置１０に送信し、プロキシ装置１０は、このパケットを個々のサブシステム３０に対する要求情報に展開する。また、プロキシ装置１０は、複数のサブシステム３０からの応答情報を、返送するサーバ２０ごとに１個のパケットにまとめて送信し、サーバ２０は、このパケットを個々の応答情報に展開する。したがって、サーバ２０とプロキシ装置１０との間で第１の通信網ＮＴ１を通して行う通信の通信量（通信処理数）を、個々の要求情報や個々の応答情報ごとにパケットを送信する場合に比較して大幅に低減させることが可能になる。
【００５６】
上述した動作を図３にまとめて示す。まず、サーバ２０のアプリケーション処理部２００が複数の要求情報を発行すると、通信処理部２０１は、これらの要求情報を統合する（Ｐ１）。統合された要求情報は１個のパケットでプロキシ装置１０に送信される（Ｐ２）。プロキシ装置１０は、パケットに含まれる要求情報を展開し（Ｐ３）、展開した要求情報をサブシステム３０に送信する（Ｐ４）。サブシステム３０は、プロキシ装置１０から要求情報を受け取るとアプリケーション処理部３００において要求情報に対する処理を行い（Ｐ５）、応答情報を発行してプロキシ装置１０に送信する（Ｐ６）。１台のサーバ２０に対して複数個の応答情報が存在する場合には、これらの応答情報を統合し（Ｐ７）、それぞれのサーバ２０に送信する（Ｐ８）。
【００５７】
上述したように、サーバ２０が複数個の要求情報を発行する場合に、これらの要求情報を１個のパケットにまとめているから、第１の通信網ＮＴ１における通信量を低減させることが可能になる。また、通信処理部２０１および第１の通信Ｉ／Ｆ１１において、通信処理量が低減されることになる。その結果、通信システムが提供するサービスの停止を回避することが可能になる。
【００５８】
（実施形態２）
実施形態１は、要求情報に付随する要求識別情報として、要求処理部１０１が扱った要求情報の順番を表す番号を用いる場合を例に挙げた。ただし、短時間に発生する要求情報について時間順で処理を行う場合、システムの動作を正しく安定に動作させるには、プロキシ装置１０が受信した順番通りに要求情報に対する処理を行うことが必要になる場合がある。
【００５９】
本実施形態は、第１の通信Ｉ／Ｆ１１がサーバ２０から第１のプロトコルによるパケットを受信した時刻を要求情報に付加することによって、プロキシ装置１０が要求情報を受信した順番通りにサブシステム３０に要求情報を送信することを可能にしている。第１の通信Ｉ／Ｆ１１がパケットを受信した時刻は、プロキシ装置１０の内蔵時計（図示せず）が計時している時刻を用いるか、サーバ２０がパケットを送信した時刻を用いる。ただし、複数台のサーバ２０が存在する場合は、別に設けた標準時刻サーバ（たとえば、ＮＴＰサーバ）が計時している時刻を用いて、すべてのサーバ２０の内蔵時計が計時する時刻を一致させておく必要がある。
【００６０】
いま、プロキシ装置１０が、第１の通信網ＮＴ１に接続された３台のサーバ２０のうちの２台からそれぞれ要求情報を含むパケットを受け取ったとする。ここで、図４に示すように、一方のパケットには３個の要求情報Ｄ１１，Ｄ１２，Ｄ１３が含まれ、他方のパケットには３個の要求情報Ｄ２１，Ｄ２２，Ｄ２３が含まれているものとする。以下では、一方のパケットに含まれる要求情報Ｄ１１，Ｄ１２，Ｄ１３がこの順番で発行され、他方のパケットに含まれる要求情報Ｄ２１，Ｄ２２，Ｄ２３がこの順番で発行された場合を想定する。
【００６１】
パケットごとの要求情報Ｄ１１，Ｄ１２，Ｄ１３、Ｄ２１，Ｄ２２，Ｄ２３は、要求処理部１０１により個々の要求情報Ｄ１１，Ｄ１２，Ｄ１３、Ｄ２１，Ｄ２２，Ｄ２３に展開され要求情報バッファ１０２に保持される。プロキシ装置１０の第１の通信Ｉ／Ｆ１１が一方のパケットを受信した時刻が、他方のパケットを受信した時刻に先行した場合、図４に示すように、要求情報バッファ１０２には、要求情報Ｄ１１，Ｄ１２，Ｄ１３が先に格納される（上側ほど時間が早いことを表している）。
【００６２】
図示例では、第１のＩ／Ｆ１１が一方のパケットを受信した１秒後に他方のパケットを受信した場合を示している。また、１個のパケット内に含まれる要求情報にも時間順があり、図の左側ほど時間が早いことを表している。つまり、要求情報Ｄ１１は要求情報Ｄ１２よりも先に発行されており、要求情報Ｄ２２は要求情報Ｄ２３よりも先に発行されたことを表している。
【００６３】
プロキシ装置１０の処理部１００は、第１のＩ／Ｆ１１がサーバ２０からパケットを受信すると、要求情報の受信時刻を取得し、受信時刻の早いほうから要求情報バッファ１０２に要求情報を格納する。また、１つのパケットに複数の要求情報が含まれている場合は、受信時刻に加えて要求情報が発行された順番を考慮して要求情報バッファ１０２に要求情報を格納する。要求情報バッファ１０２には、要求情報に対応付けて受信時刻と順番とを含む受信時刻情報が格納される。このようにして要求情報バッファ１０２に格納された要求情報は、要求情報バッファに格納された順番でサブバッファに送信される。
【００６４】
プロキシ装置１０は、要求情報をサブシステム３０に送信する際に、実施形態１と同様に、発行したサーバ２０の識別情報をサブシステム３０に引き渡す。このとき、サーバ２０の識別情報だけではなく、要求情報に対応付けた受信時刻情報も併せてサブシステム３０に引き渡してもよい。
【００６５】
このように、受信時刻情報を用いることによって、複数のサーバ２０から短時間内に要求情報を受け取った場合でも、要求情報を順番にサブシステム３０に引き渡すことが可能になる。他の構成および動作は実施形態１と同様である。
【００６６】
（実施形態３）
本実施形態では、プロキシ装置１０からサブシステム３０に送信する要求情報が一時的に過多になった場合に、サブシステム３０において要求情報のオーバフローが生じるのを防止する動作について説明する。要求情報のオーバーフローは、特定のサブシステム３０に対する要求情報が集中的に発生した場合や、サブシステム３０の処理能力が低い場合などに生じる可能性がある。サブシステム３０において要求情報のオーバフローが生じると、溢れた要求情報は、サブシステム３０で処理されずに消失することになる。
【００６７】
このような場合に備えてプロキシ装置１０における第２の通信Ｉ／Ｆ１２は、サブシステム３０の処理能力に応じて要求情報を送信する機能を備える。たとえば、サブシステム３０が要求情報を１個ずつ処理する処理能力しかない場合、第２の通信Ｉ／Ｆ１２は、１個の要求情報をサブシステム３０に送信し、この要求情報に対する応答情報を受信した後に、次の要求情報を送信するという動作を行う。このような動作を行うことにより、サブシステム３０において複数の要求情報を同時的に処理する必要がなくなり、要求情報の消失を防止することが可能になる。
【００６８】
上述した例では、サブシステム３０が要求情報を１個ずつ処理する処理能力しかない場合について説明したが、サブシステム３０の処理能力が高ければ、第２の通信Ｉ／Ｆ１２はサブシステム３０の処理能力の範囲内で複数個の要求情報を同時的に送信してもよい。この場合、プロキシ装置１０からサブシステム３０に送信するパケットは、１個ずつ要求情報を含む形式と、複数個の要求情報を含む形式とのどちらを採用してもよい。いずれの場合も、サブシステム３０ごとに単位時間当たりに送信する要求情報の個数をプロキシ装置１０にあらかじめ設定可能にしておくことが望ましい。あるいはまた、サブシステム３０ごとに、単位時間に送信する要求情報の総量をあらかじめ設定可能にしてもよい。
【００６９】
プロキシ装置１０からサブシステム３０に対して単位時間内に複数個の要求情報を送信する場合、プロキシ装置１０はこれらの要求情報に対する応答情報をサブシステム３０から受信した後に、次の要求情報を送信する。この動作により、サブシステム３０での要求情報のオーバーフローが防止される。他の構成および動作は上述した実施形態と同様である。
【００７０】
（実施形態４）
上述した実施形態では、プロキシ装置１０が要求情報を受信した順番でサブシステム３０に要求情報を送信している。しかしながら、サブシステム３０の種類や要求情報の種類によっては、送信待ちである要求情報に優先してサブシステム３０に送信しなければならない場合がある。このような場合に備えて、本実施形態では、プロキシ装置１０においてサブシステム３０の種類と要求情報の種類との少なくとも一方に応じた優先順位の設定を可能にしている。すなわち、プロキシ装置１０の処理部１００に、要求情報を送信するサブシステム３０の種類と要求情報の種類との少なくとも一方について、優先順位を対応付けた順位記憶部（図示せず）を設けている。処理部１００は、サーバ２０から受け取った要求情報（サブシステム３０の種類と要求情報の種類との少なくとも一方）について順位記憶部と照合する。そして、要求情報バッファ１０２に保持している要求情報よりも優先順位が高い要求情報であれば、要求情報バッファ１０２に保持されている要求情報の待ち行列に優先してサブシステム３０に送信する。
【００７１】
上述の動作では、サブシステム３０の種類と要求情報の種類との少なくとも一方について優先順位を設定している。これに対して、要求情報バッファ１０２において、特定のサブシステム３０に送信する要求情報の個数が閾値を超えている場合に、当該特定のサブシステム３０に送信する要求情報の優先順位を高める動作を採用してもよい。
【００７２】
本実施形態は、要求情報バッファ１０２が保持している要求情報の順番に割り込んで他の要求情報を優先的にサブシステム３０に送信可能にしている。したがって、サブシステム３０に緊急度の高い機器が含まれる場合、プロキシ装置１０の処理安定性を確保する場合、生存確認コマンドを送信する場合などにおいて、要求情報を適切なタイミングで送信することが可能になる。他の構成および動作は上述した各実施形態と同様である。
【００７３】
（実施形態５）
上述した各実施形態では、プロキシ装置１０からサブシステム３０に要求情報を送信する際には、１個の要求情報を１個のパケットに含めている。ただし、実施形態３でも触れたように、１個のサブシステム３０に送信する１個のパケットに複数個の要求情報を含めて送信することも可能である。
【００７４】
そこで、本実施形態のプロキシ装置１０における第２のＩ／Ｆ１２は、要求情報バッファ１０２に保持されている要求情報の中に、同じサブシステム３０に送信する要求情報が存在するときに、１個のパケットにまとめて送信する機能を有している。すなわち、第２の通信Ｉ／Ｆ１２は、要求情報バッファ１０２で待ち行列となっている要求情報に、同じサブシステム３０に送信する要求情報が含まれ、その個数が所定の閾値を超えていることを条件として複数個の要求情報をまとめる機能を有する。待ち行列となっている要求情報は、所定の受付時間内に要求情報バッファ１０２に保持された要求情報を意味する。第２の通信Ｉ／Ｆ１２は、まとめた要求情報を１個のパケットで送信し、このパケットを受信したサブシステム３０は、パケットに含まれる要求情報を個々の要求情報に展開して、アプリケーション処理部３００における処理を実行する。
【００７５】
以上のように、本実施形態は、プロキシ装置１０からサブシステム３０に送信するパケットにおいて、複数個の要求情報をまとめているから、第２の通信網ＮＴ２における通信量が低減され、また、通信処理の回数も低減されることになる。他の構成および動作は上述した実施形態と同様である。
【００７６】
（実施形態６）
実施形態３では、サブシステム３０の処理能力によっては要求情報にオーバーフローが生じる可能性があることについて説明したが、サーバ２０についても同様に応答情報にオーバーフローが生じる可能性がある。サーバ２０の負荷を分散させるためにロードバランサを設けることも考えられるが、コスト高になるために実用的ではない。
【００７７】
そこで、本実施形態では、プロキシ装置１０がサーバ２０に応答情報を返送するタイミングを、サーバ２０の処理能力に応じて調節する機能を有する。サーバ２０が応答情報を１個ずつ受け取る処理能力しかない場合、第１の通信Ｉ／Ｆ１１は、１個の応答情報をサーバ２０に送信し、この応答情報をサーバ２０が受け取ったことを確認した後に、次の応答情報を送信するという動作を行う。この動作を行うことにより、サーバ２０が複数の応答情報を同時的に受け取ることがなくなり、応答情報の消失が防止される。
【００７８】
なお、サーバ２０が複数個の応答情報を同時的に受け取ることが可能な場合には、単位時間当たりにサーバ２０に送信する応答情報の個数をプロキシ装置１０にあらかじめ設定しておけばよい。あるいはまた、サーバ２０ごとに、単位時間に送信する応答情報の総量があらかじめ設定されるようにしてもよい。
【００７９】
上述のように、プロキシ装置１０がサーバ２０に応答情報を送信するタイミングを調節することにより、サーバ２０での応答情報のオーバーフローが防止される。他の構成および動作は上述した実施形態と同様である。
【符号の説明】
【００８０】
１０  プロキシ装置
１１  第１の通信インターフェイス部
１２  第２の通信インターフェイス部
２０  サーバ
３０  サブシステム
１００  処理部
１０２  要求情報バッファ
ＮＴ１  第１の通信網
ＮＴ２  第２の通信網
【図１】
2014022820.tif 000003
【図２】
2014022820.tif 000004
【図３】
2014022820.tif 000005
【図４】
2014022820.tif 000006