JP2005073051A - 中継装置およびその中継プログラム - Google Patents

中継装置およびその中継プログラム Download PDF

Info

Publication number
JP2005073051A
JP2005073051A JP2003301488A JP2003301488A JP2005073051A JP 2005073051 A JP2005073051 A JP 2005073051A JP 2003301488 A JP2003301488 A JP 2003301488A JP 2003301488 A JP2003301488 A JP 2003301488A JP 2005073051 A JP2005073051 A JP 2005073051A
Authority
JP
Japan
Prior art keywords
data
communication data
reply
communication
relay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003301488A
Other languages
English (en)
Inventor
Akiyoshi Kawamura
晃好 河村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2003301488A priority Critical patent/JP2005073051A/ja
Publication of JP2005073051A publication Critical patent/JP2005073051A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 ファイアウォール内部の機器から外部の中継装置にアクセスするタイミング、および、その返信として外部の中継装置がデータを返信するタイミングを調整することができる中継装置、ならびにその中継プログラムを提供する。
【解決手段】 サーバ101が中継装置107へポーリングを発信した場合、クライアント109からサーバ101への中継データを含むリクエストを中継装置が既に受信しているときは、リクエストに基づいて返信データを作成してサーバ101へ送信する。一方、中継装置が未だにリクエストを受信していないときは、受信履歴テーブルのリクエストの受信回数Nに応じて、返信データの作成を待つ待機時間を決定する。待機時間の経過前にリクエストを受信すれば、受信したリクエストに基づいて返信データを作成する。これにより、ポーリングの返信としてのレスポンスが、リクエストに基づいて作成される確率が高くなるため、サーバ101と中継装置107との通信を効率良く行うことが可能となる。
【選択図】 図12

Description

この発明は、複数の通信機器間でのデータ通信システムにおいてデータを中継する中継装置および中継プログラムに関し、特にファイアーウォールが存在するデータ通信システムにおける中継装置および中継プログラムに関する。
インターネットなどの外部ネットワークから、例えば、企業内LAN(Local Area Network)への不正な侵入を防止する手段として、外部ネットワークと企業内LANの境界にファイアウォール(Firewall)を設置する方法がある。この場合、外部ネットワークに接続された機器からファイアウォール内部の企業内LANに接続された機器にアクセスするには、ファイアウォールを通過できるアクセス手段を用いなければならない。
しかし、外部ネットワークの機器からファイアウォールを通過してファイアウォール内部の企業内LANに接続された機器にアクセスするには、企業内LANに接続された機器の利用者などが、ファイアウォールに対して、外部ネットワークの機器毎にファイアウォールの通過を許可する設定を行なわなければならなかった。そこで、ファイアウォールに対して、新たな設定を行なわずに外部ネットワークの機器からファイアウォール内部の機器にアクセス可能な方法として、特開2002−135858号公報がある。
これは、通常のファイアウォールの設定は、ファイアウォールの内部の機器から外部の機器に向けてのアクセスを要求したときのみ、ファイアウォールの通過を認めるようにしており、外部の機器から内部の機器に対してのアクセス要求は拒絶するようになっている。ファイアウォールの内部の機器から外部の機器に向けてのアクセスでは、内部の機器から外部の機器への方向の通信と外部の機器からの返信としての通信を一組として取り扱うため、内部の機器からの通信の返信として、外部の機器からファイアウォール内に向けての通信を許すことになる。
そこで、ファイアウォール外に外部の機器として中継装置を設置する。ファイアウォール内部の機器から外部の中継装置にアクセスし、その返信として外部の中継装置からデータを受信することにより、新たにファイアウォールに対し、通過を許可する設定を行なうことなく、外部の機器と通信を行なうことができる。
しかしながら、従来の技術では、ファイアウォール内部の機器から外部の中継装置にアクセスするタイミング、および、その返信として外部の中継装置がデータを返信するタイミングについては考慮されていない。
外部の中継装置が返信する返信データは、所定の情報に基づいて作成される。ここでは、所定の情報は他の機器から受信したデータであることを想定している。
外部の中継装置からの内部の機器へのデータの返信が、所定の時間で定期的に行なわれると、以下の問題が生じる。
上記の所定の時間が短く設定された場合、ファイアウォール内部の機器から外部の中継装置にアクセスが行なわれ、他の機器からの情報を受信する前に直ちに、中継装置が返信データを返信することになる。すると、内部の機器は、中継装置が他の機器からの情報を受信したかを確認するため、再び、中継装置にアクセスしなければなない。これにより、内部の機器と中継装置とを接続するネットワークのトラフィックが増加しデータ通信の効率が悪くなる。
また、上記の所定の時間が長く設定された場合、内部の機器から外部の中継装置にアクセスが行なわれ、相当な時間が経過した後に、外部の中継装置が返信データを返信することになる。すると、中継装置は他の機器から情報を受信しているにも関わらず、返信データを返信しないため内部の機器と外部の中継装置との適切な通信応答が実現できないこととなる。
一方、返信データを受信した内部の機器が、中継装置にアクセスするタイミングが、所定の時間で定期的に行なわれると以下の問題が生じる。
この所定の時間が固定であると、中継装置に他の機器から情報を頻繁に受信している場合であっても、所定の期間が経過しないと、内部の機器は中継装置にアクセスしないことになる。特に、所定の時間が長い場合は、内部の機器が返信データを受信するまでの時間が長くなるため、通信応答が悪くなる。
特開2002−135858号公報
この発明は上述の問題点を解決するためになされたもので、この発明の目的は、ファイアウォール内部の機器から外部の中継装置にアクセスするタイミング、および、その返信として外部の中継装置がデータを返信するタイミングを調整することにより、ネットワーク負荷の軽減と適切な通信応答を実現する中継装置、並びにその中継プログラムを提供することである。
上述の目的を達成するために、この発明のある局面に従った、第1通信データの返信としての返信データを、第2通信データを使用して作成する中継装置は、第1の装置から発信された第1通信データと第2の装置から発信された第2通信データとを含む通信データを受信するための受信手段と、受信手段により受信した前記第2通信データのうち、少なくとも返信データの作成に未使用の未使用データを記憶するための通信データ保持手段と、通信データと通信データを受信した受信時刻とを関連付けて記憶するための受信履歴保持手段と、通信データ保持手段に未使用データが存在するか否かを確認するための返信データ生成制御手段とを備え、前記返信データ生成制御手段は、1)通信データ保持手段に未使用データが存在することに応じて、返信データの作成開始を指示するための手段と、2)通信データ保持手段に未使用データが存在しないことに応じて、受信履歴保持手段に記憶された、所定の時間内の第2通信データの受信頻度に対応する待機時間の経過後に、返信データの作成開始を指示するための手段とを含み、返信データ生成制御手段に制御されて、通信データ保持手段を参照し、第1通信データの返信として返信データを作成するための返信データ生成手段と、返信データ生成手段により作成された返信データを前記第1の装置に返信するための返信手段とを備える。
この発明に従えば、第2通信データに基づいて、第1通信データの返信としての返信データを作成し、第1の装置に返信する。返信データの作成に使用される第2通信データが、通信データ保持手段に存在する場合は、返信データを作成し、通信データ保持手段に存在しない場合は、受信履歴保持手段の第2通信データの受信回数に応じて、待機時間を設定する。待機時間が経過するまで、第2通信データの受信を待ち、第2通信データを受信した場合は、返信データを作成する。第2通信データを受信しなかった場合は、待機時間が経過後に、返信データの作成に使用する第2通信データが存在しなかった旨の返信データを作成する。中継装置は、作成した返信データを第1の装置に返信する。
好ましくは、返信データ生成制御手段は、第1通信データを受信し、通信データ保持手段に未使用データが存在しない場合、受信履歴保持手段に記憶した第2通信データと第2通信データの受信時刻から、所定の時間内に第2通信データを受信した回数を求め、受信した回数の増加に応じて、待機時間を延長するための手段をさらに含む。
この発明に従えば、過去の第2通信データの受信回数に応じて、今後、第2通信データを受信するまでの時間を予測して待機時間を設定する。過去の第2通信データの受信回数に応じて待機時間を設定することにより、第1の装置は第2通信データに基づいて作成された返信データを受信する確率が高くなる。よって、第1の装置は中継装置に第1通信データを発信する回数を減らすことが可能となる。その結果、第1の装置と中継装置との通信効率が向上する。
好ましくは、返信データ生成制御手段は、通信データ保持手段に記憶された第1通信データの内容を解析するための通信データ解析手段をさらに含み、第1通信データが第2通信データを要求する内容であると通信データ解析手段が解析した場合、待機時間を延長するための手段をさらに含む。
この発明に従えば、中継装置は、第1通信データの内容に応じて、受信履歴保持手段を参照して設定した待機時間をさらに延長する。これにより、第1の装置は第2通信データに基づいた返信データを受信する確率がさらに高くなる。第1の装置は中継装置に第1通信データを発信する回数を減らすことが可能となる。その結果、第1の装置と中継装置との通信効率が向上する。
好ましくは、返信データ生成制御手段は、受信履歴保持手段に記憶した第2通信データと第2通信データの受信時刻から、所定の時間内に第2通信データを受信した回数を求め、受信した回数の増加に応じて、第1の装置が返信データを受信してから再び第1通信データを発信するまでの時間を指定する発信時間情報を設定するための発信時間設定手段をさらに含み、返信データ生成手段は、発信時間情報を含む返信データを作成するための手段を含む
この発明に従えば、受信履歴保持手段の第2通信データの受信回数から、第1の装置が再び第1通信データを発信するまでの発信時間情報を設定する。第1の装置は、発信時間情報を含む返信データを受信すると、発信時間情報の時間が経過後に第1通信データを中継装置に発信する。このとき、中継装置が第2通信データを受信していれば、第1通信データの返信データを第2通信データに基づいて作成し、送信する。その結果、第2通信データの受信回数に応じて、中継装置は、第1の装置から中継装置への第1通信データの適度な発信タイミングをコントロールするため、適切な通信応答を実現することが可能となる。
好ましくは、受信手段および返信手段は、ハイパーテキストトランスファープロトコル(HTTP: HyperText Transfer Protocol)を利用して通信を行なう。
この発明に従えば、文書、画像、映像などさまざま情報をWWW(World Wide Web)を利用して、通信することが可能となる。
好ましくは、返信データ生成手段は、返信データを暗号化する暗号化手段を含み、暗号化手段で暗号化され、受信手段により受信された通信データを復号化する復号化手段をさらに備える。
この発明に従えば、中継装置は、暗号化された通信データを受信し、暗号化した返信データを返信することにより、ネットワーク上で通信データおよび返信データの盗聴、改竄、または、なりすましを防ぐことができる。
好ましくは、暗号化手段は、セキュアソケットレイア(SSL:Secure Socket Layer)を利用して暗号化を行なう。
この発明に従えば、通信内容の暗号化、なりすましを防止する通信相手の認証と、伝送中に通信データおよび返信データの改竄が無いかを調べることが可能となる。公開鍵方式で暗号化を行なうことにより、高速な暗号化を実現することができる。
この発明の他の局面に従うと、第1の装置から発信された第1通信データの返信として、第2の装置から発信された第2通信データを使用して返信データを作成し、送信する中継方法をコンピュータに実行させるためのプログラムであって、第1通信データと第2通信データとを含む前記通信データのうち、少なくとも受信した第2通信データを通信データ記憶装置に格納するステップと、通信データと通信データを受信した受信時刻とを関連付けて受信履歴記憶装置に格納するステップと、通信データ記憶装置に、返信データの作成に未使用の第2通信データである未使用データが存在するか否かを確認するためのステップと、通信データ記憶装置に未使用データが存在することに応じて、返信データの作成開始を指示するためのステップと、通信データ記憶装置に未使用データが存在しないことに応じて、受信履歴記憶装置に記憶された、所定の時間内の第2通信データの受信頻度に対応する待機時間の経過後に、返信データの作成開始を指示するためのステップと、返信データの作成開始の指示を受けて、通信データ記憶装置を参照し、第1通信データの返信として返信データを作成するためのステップと、第1通信データの返信として作成された返信データを、第1の装置に返信するためのステップとをコンピュータに実行させる。
この発明に従えば、第2通信データに基づいて、第1通信データの返信としての返信データを作成し、第1の装置に返信する。返信データの作成の対象となる第2通信データが、通信データ保持手段に存在する場合は、返信データを作成し、通信データ保持手段に存在しない場合は、受信履歴保持手段の第2通信データの受信回数に応じて、待機時間を設定する。待機時間が経過するまで、第2通信データの受信を待ち、第2通信データを受信した場合は、返信データを作成する。第2通信データを受信しなかった場合は、待機時間が経過後に返信データを作成する。作成した返信データを第1の装置に返信する。
この発明によれば、待機時間を設定することにより、所定の時間で定期的に返信データを作成して送信する場合に比べ、第1の装置は第2通信データに基づいて作成された返信データを受信する確率が高くなる。第1の装置が、第2通信データに基づいて作成された返信データを受信すると、第1の装置と中継装置とにおいて、1度の第1通信データとその返信データの受け渡しで、有効に情報の伝達ができたことになる。1度のデータの受け渡しで、有効に情報伝達ができれば、第1の装置は中継装置に第1通信データを発信する回数を減らすことが可能となる。その結果、第1の装置と中継装置との通信効率が向上する。
あるいは、中継プログラムをコンピュータに実行させた場合に、第1の装置は第2通信データに基づいた返信データを受信する確率が高くなる。第1の装置は中継装置に第1通信データを発信する回数を減らすことが可能となる。その結果、中継プログラムをコンピュータに実行させることにより、第1の装置と中継装置との通信効率が向上する。
以下、本発明の実施の形態を図面を用いて説明する。なお、図中において同一符号は、同一または相当する部材を示す。従って、重複する説明は繰り返さない。
[第1の実施の形態]
図1は、第1の実施の形態におけるデータ通信システムの構成図である。図1を参照して、データ通信システムはサーバ101と、第1ファイアウォール105と、中継装置107と、第2ファイアウォール108と、クライアント109とを含む。中継装置107は、受信した通信データに基づいて後述するタイミングで返信データを作成して返信する装置である。サーバ101はサービス提供部102と、ポーリング部103とを含む。クライアント109はアプリケーション110と、リクエスト部111とを含む。サービス提供部102は、クライアント109の要求に応じた処理を行なうもので、例えば、POP(Post Office Protocol)サーバ、WWWサーバ、FTP(File Transfer Protocol)サーバなどである。ポーリング部103は、サーバ101から中継装置107へ通信データを発信する。ここでサーバ101から中継装置107に発信する通信データをポーリングという。アプリケーション110は、サーバ101にサービスを要求するアプリケーションで、例えば、メールソフトやWWWブラウザなどである。リクエスト部111は、クライアント109から中継装置107へ通信データを発信する。ここでクライアント109から中継装置107に発信する通信データをリクエストという。従って、通信データは、ポーリングとリクエストとを含む。
中継装置107と第1ファイアウォール105、中継装置107と第2ファイアウォール108はインターネットなどのネットワーク106を介して接続される。ネットワーク106は、HTTPを利用して通信してもよい。ここでネットワーク106はインターネットに限らずLAN(Local Area Network)、専用線などのネットワークを含む。サーバ101と第1ファイアウォール105、クライアント109と第2ファイアウォール108はLAN(Local Area Network)などのネットワーク104を介して接続される。また中継装置107に接続するサーバ101、クライアント109は、それぞれ2台以上存在しもよい。サーバ101、クライアント109、第1ファイアウォール105、第2ファイアウォール108、中継装置107はパーソナルコンピュータ、ワークステーション、携帯端末などの一般的なコンピュータである。そのハード構成および動作は周知であるためここでは説明を繰り返さない。
図2は、第1の実施の形態におけるデータ通信システムのデータの流れを示す概念図である。ここで、サーバ101とクライアント109が、中継装置107を介して通信する場合を例に説明する。図2を参照して、サーバ101は、クライアント109からサーバ101に宛てたリクエストが存在するかを確認するためのポーリング1を中継装置107に発信する(F1)。ここで、ポーリング1のデータについて説明する。図3は、第1の実施の形態におけるポーリング1のデータの一例を示す図である。図3を参照して、ポーリング1のデータは、パラメータ「POST」と、パラメータ「mode」と、パラメータ「src_id」と、パラメータ「dst_id」と、パラメータ「data」とを含む。パラメータ「POST」は、ネットワーク106上での中継装置107のホスト名を含む。例えば、「POST http://relayserver.×××.ne.jp/cgi/relayHTTP/1.1」の「
1061874209566_0
」が、中継装置107のホスト名である。これにより、サーバ101は、ネットワーク106上の中継装置107を特定することができる。パラメータ「mode」は、通信データがポーリングかリクエストかを区別するためのデータ種別を示す。例えば、「mode=polling」は、通信データがポーリングであることを意味する。パラメータ「src_id」は、通信データの発信元を特定する情報を示す。例えば、「src_id=SERVER_NAME101」は、通信データがサーバ101から発信されたことを意味する。パラメータ「dst_id」は、後述する中継データを中継装置107を介して返信する返信先を特定する情報を示す。例えば、「dst_id=NULL」は、中継データを返信する返信先がないことを意味する。パラメータ「data」は、パラメータ「dst_id」で特定される返信先に返信する中継データを示す。例えば、「data=NULL」は、返信先に返信する中継データがないことを意味する。
次に、図2の中継装置107は、クライアント109からサーバ101に宛てたリクエスト1を受信するか、後述する待機時間が経過するまで、ポーリング1の返信としての返信データを作成せずに待機する。ここで、ポーリングの返信としての返信データ、または、リクエストの返信としての返信データをレスポンスという。
クライアント109が、サーバ101に宛てたリクエスト1を中継装置107に発信する(F2)。ここで、リクエスト1のデータについて説明する。図4は、第1の実施の形態におけるリクエスト1のデータの一例を示す図である。図4を参照して、「POST http://relayserver.×××.ne.jp/cgi/relayHTTP/1.1」は中継装置107を特定し、「mode=request」は通信データがリクエストであることを意味し、「src_id=CLIENT_NAME109」は通信データがクライアント109から発信されたことを意味し、「dst_id=SERVER_NAME101」は中継データの返信先がサーバ101であることを意味し、「data=demand_data1」は中継データがdemand_data1であることを意味する。ここで、demand_data1にはサーバ101に対し具体的なサービス提供を要求する情報が示される。例えば、demand_data1はサーバ101のサービスを利用するために必要なユーザ名、パスワード、またはWWWのコマンドなどである。
図2に戻って、中継装置107は、待機時間が経過するのを待つことなく、クライアント109からサーバ101に宛てたリクエスト1を受信すると、ポーリング1に対するレスポンス1をリクエスト1に基づいて作成し、サーバ101へ返信する(F3)。
ここで、中継装置107が作成したレスポンス1のデータについて説明する。図5は、第1の実施の形態における中継データを含むリクエスト1のデータの一例を示す図である。図5を参照して、「src_id=CLIENT_NAME109&data=demand_data1」は、クライアント109から中継データとしてのdemand_data1に該当するサービスの要求がなされていることを意味する。
なお、ポーリング1を受信後に待機時間が経過してもリクエスト1を受信しない場合、中継装置107は、中継データを含まないレスポンス1を作成する。図6は、第1の実施の形態における中継データを含まないリクエスト1のデータの一例を示す図である。図6を参照して、「src_id=NULL&data=NULL」は、どのクライアントからもサーバ101への中継データがないことを意味する。サーバ101はサービス提供を要求されていないこととなる。
図2のサーバ101は、リクエスト1を受信後にリクエスト1に含まれる中継データの要求に応答する情報を含んだポーリング2を中継装置107に発信する(F4)。ここで、ポーリング2のデータについて説明する。図7は、第1の実施の形態におけるポーリング2のデータの一例を示す図である。図7を参照して、「mode=polling&src_id=SERVER_NAME101&dst_id=CLIENT_NAME109&data=result_data1」は、サーバ101からクライアント109へ中継データとしてresult_data1を、中継装置107へ発信するポーリングであること意味する。ここで、result_data1にはクライアント109から要求したサービスに対する具体的な応答としての情報が示される。例えば、result_data1はサービス結果の通知、クライアント109へのパスワード要求、または電子メールの本文などである。
中継装置107は、ポーリング2に含まれる中継データをリクエスト1のレスポンス2としてクライアント109に返信する(F5)。ここで、レスポンス2のデータについて説明する。図8は、第1の実施の形態におけるレスポンス2のデータの一例を示す図である。図8を参照して、「src_id=SERVER_NAME101&data=result_data1」は、サーバ101からの中継データがresult_data1に該当する応答であることを意味する。
ポーリングに対するレスポンスは、第1ファイアウォール105の内部のサーバ101からの通信データの返信としての返信データであるため、サーバ101の利用者などが、新たにファイアウォールに設定を施すことなくファイアウォールを通過することができる。リクエストに対するレスポンスにおいても同様である。
図9は、第1の実施の形態における中継装置の構成を示すブロック図である。図9を参照して、中継装置107は、サーバ101からポーリングを受信する第1受信部301と、クライアント109からリクエストを受信する第2受信部302と、受信した通信データを記憶する通信データ保持部303と、通信データと受信時間とを関連付けて記憶する受信履歴保持部304と、通信データ保持部303と受信履歴保持部304に記憶した情報から返信データを作成するタイミングを決定する返信データ生成制御部305と、通信データ保持部303に記憶した通信データに基づいてレスポンスを作成する返信データ生成部306と、サーバ101からのポーリングに対するレスポンスをサーバ101へ返信する第1返信部307と、クライアント109からのリクエストに対するレスポンスをクライアント109へ返信する第2返信部308とを含む。
通信データ保持部303は、第1受信部301および第2受信部302で受信した通信データを記憶する。記憶された通信データは、返信データ生成部306で返信データを作成するときに使用される。図10は、第1の実施の形態における通信データ保持部に記憶された通信データ保持テーブルの一例を示す図である。図10を参照して、通信データ保持テーブルは、受信ID項目と、モード項目と、発信元項目と、返信先項目と、中継データ項目とを含み、各項目は関連付けて記憶されている。受信ID項目は、通信データを受信した順番に応じて通信データごとに付与された番号を記憶する。モード項目は、通信データのパラメータ「mode」に対応した値を記憶する。発信元項目は、通信データのパラメータ「src_id」に対応した値を記憶する。返信先項目は、通信データのパラメータ「dst_id」に対応した値を記憶する。中継データ項目は、通信データのパラメータ「data」に対応した値を記憶する。例えば、通信データ保持テーブルの受信ID項目が「ID1」と関連付けられた情報は、サーバ101からのポーリングであって、返信先と中継データがない通信データを1番目に受信したことを意味する。
受信履歴保持部304は、受信した通信データを受信した受信時刻と関連付けて記憶する。受信履歴保持部304に記憶された受信履歴は、返信データ生成制御部305によって返信データを作成するタイミングを決定するのに使用される。図11は、第1の実施の形態における受信履歴保持部に記憶した受信履歴テーブルの一例を示す図である。図11を参照して、受信履歴テーブルは、履歴ID項目と、受信時刻項目と、モード項目と、発信元項目と、返信先項目と、中継データ項目とを含み、各項目は関連付けて記憶されている。履歴ID項目は、通信データを受信した順番に応じて通信データごとに付与された番号を記憶する。受信時刻項目は、通信データを受信した時刻を記憶する。例えば、受信履歴テーブルの履歴ID項目が「ID2」と関連付けられた情報は、中継装置107が、モードがリクエストで発信元のクライアント109から返信先のサーバ101への中継データがdemand_data1である内容の通信データを10時33分13秒に受信したことを意味する。
返信データ生成制御部305は、通信データ保持テーブルと受信履歴テーブルとの情報に従って、返信データを作成するタイミングを決定する。ここでは、サーバ101のポーリングに対するレスポンスを作成するタイミングを決定する場合について説明する。中継装置107がポーリングを受信すると、返信データ生成制御部305は通信データ保持テーブルを参照する。通信データ保持テーブルに返信先がサーバ101であるリクエストが存在する場合、返信データ生成制御部305は返信データ生成部306にレスポンスの作成を命令する。一方、通信データ保持テーブルに返信先がサーバ101であるリクエストが存在しない場合、返信データ生成制御部305は待機時間を決定するために受信履歴テーブルを参照する。例えば、受信履歴テーブルに受信時刻が過去30分以内であって、返信先がサーバ101でモードがリクエストである情報の数を受信回数としてカウントする。返信データ生成制御部305は待機時間を式T*(N+1)から計算する。Tは予め定められた時間であり、Nは受信回数である。ここで、図11の受信履歴テーブルが過去30分以内の受信履歴である場合、返信先項目が「SERVER_NAME101」であってモード項目が「request」である通信データを中継装置107が受信した回数は、履歴ID項目が「ID2」と「ID5」の2回であるため、N=2となる。よって、Tを30秒とすると待機時間は30*(2+1)=90秒となる。よって、返信データ生成制御部305は、待機時間を決定してから90秒経過すると返信データ生成部306にレスポンスの作成を命令する。
図12は、第1の実施の形態における中継装置がポーリングに対するレスポンスを返信する処理の流れを示すフローチャートである。図12を参照して、第1受信部301がポーリングを受信すると、返信データ生成制御部305は、通信データ保持テーブルにサーバ101へ返信する中継データを含むリクエストが存在するか否かを判定するパラメータFlagに0をセットする(S101)。返信データ生成制御部305は、通信データ保持テーブルを参照してサーバ101へ返信する中継データを含むリクエストが存在するか否かを調べる(S102)。
サーバ101へ返信する中継データを含むリクエストが存在する場合、返信データ生成制御部305は、返信データ生成部306にレスポンスの作成を命令する(S108)。返信データ生成部306は、通信データ保持テーブルを参照してサーバ101へ返信する中継データを含めたレスポンスを作成する(S109)。返信データ生成部306は、作成したレスポンスをサーバ101へ返信する命令を第1返信部307に行なう(S110)。第1返信部307は、レスポンスをサーバ101に返信する(S111)。
ステップS102で、サーバ101へ返信する中継データを含むリクエストが通信データ保持テーブルに存在しない場合、返信データ生成制御部305は、パラメータFlagに1がセットされているかを判定する(S103)。パラメータFlagに1がセットされている場合、ステップS107の処理を行なう。パラメータFlagに1がセットされていない場合、パラメータFlagに1をセットする(S104)。受信履歴テーブルを参照して、受信時刻が過去30分以内であって、返信先がサーバ101の中継データを含むリクエストの受信回数Nをカウントする(S105)。受信回数Nを使用して、式T*(N+1)から返信データを作成するまでの待機時間を決定する(S106)。返信データ生成制御部305は、待機時間の決定から待機時間が経過するまでの間、通信データ保持テーブルを参照してサーバ101へ返信する中継データを含むリクエストが存在するかを調べる(S107)。待機時間が経過する前に、中継装置107がリクエストを受信し、通信データ保持テーブルにサーバ101へ返信する中継データを含むリクエストが存在した場合、待機時間の経過を待たずにステップS108を実行する。ステップS107で、中継装置107がリクエストを受信せずに待機時間が経過した場合、待機時間の経過後にステップS108を実行する。このとき、返信データ生成部306は、サーバ106サーバ101へ返信する中継データが存在しない旨のレスポンスを作成する(S109)。ここで、ステップS101〜ステップS110までの処理をサーバ101への返信制御処理としてステップS100とする。
次に、クライアント109へ返信する中継データを含むサーバ101からのポーリングを受信したときの返信データ生成制御部305の処理について説明する。図13は、第1の実施の形態における中継装置がリクエストに対するレスポンスを返信する処理の流れを示すフローチャートである。図13を参照して、第2受信部302がポーリングを受信すると、返信データ生成制御部305は、通信データ保持テーブルにサーバ101からクライアント109へ返信する中継データを含むポーリングが存在するか否かを調べる(S201)。
通信データ保持テーブルにクライアント109へ返信する中継データを含むポーリングが存在しない場合、中継装置107がリクエストを受信し、通信データ保持テーブルにクライアント109へ返信する中継データを含むリクエストが存在するまで、通信データ保持テーブルの参照を繰り返す。
一方、通信データ保持テーブルにクライアント109へ返信する中継データを含むポーリングが存在する場合、返信データ生成制御部305は返信データ生成部306にレスポンスの作成を命令する(S202)。返信データ生成部306は、クライアント109へ返信する中継データを含むレスポンスを作成する(S203)。返信データ生成部306は、作成したレスポンスをクライアント109へ返信する命令を第2返信部308に行なう(S204)。第2返信部308は、レスポンスをクライアント109に返信する(S205)。
ここで、ステップS201〜ステップS204までの処理をクライアント109への返信制御処理としてステップS200とする。
図14は、第1の実施の形態における中継装置の処理の流れを示すフローチャートである。図14を参照して、サーバ101からのポーリング、またはクライアント109からのリクエストを受信する(S301)。受信した通信データを通信データ保持テーブルに一時的に保持する(S302)。受信した通信データを受信時刻と関連付けて受信履歴テーブルを更新する(S303)。
受信した通信データがポーリングか否かを判断する(S304)。受信した通信データがポーリングでない場合は、クライアント109への返信処理を行なう(S200)。受信した通信データがポーリングの場合は、サーバ101への返信制御処理を行なう(S100)。第1返信部307はサーバ101へのレスポンスを返信し、第2返信部308はクライアント109へのレスポンスを返信する(S305)。通信データ保持部303は、レスポンスを返信した通信データを通信データ保持テーブルから削除して、通信データ保持テーブルを更新する(S306)。例えば、サーバ101から受信したポーリングに対してレスポンスを返信した場合は、通信データ保持テーブルからポーリングを削除する。なお、レスポンスを返信した通信データを通信データ保持テーブルから削除せずに、通信データ保持テーブルの通信データごとにレスポンスを返信したことを意味するフラグを設けて、レスポンスを返信したことを管理してもよい。
以上、説明したように、本実施の形態における中継装置107においては、サーバ101からのポーリングを受信し、クライアント109からサーバ101へ返信する中継データが通信データ保持テーブルに存在することに応じて、直ちにレスポンスを作成してサーバ101へ返信する。一方、サーバ101へ返信する中継データが存在しないことに応じて、受信履歴テーブルを参照して待機時間を決定し、待機時間が経過するまでレスポンスを作成せず、リクエストの受信を待つこととなる。待機時間が経過するまでにリクエストを受信すると、サーバ101への中継データを含むレスポンスを作成して返信する。待機時間を設定することにより、1回のポーリングに対して、中継データを含むレスポンスを返信する確率が高くなり、サーバ101のポーリングの発信回数を減少することが可能となり、サーバ101と中継装置107との間のネットワークの負荷を軽減することができる。
[第2の実施の形態]
図15は、第2の実施の形態における中継装置の構成を示すブロック図である。図15を参照して、返信データ生成制御部305は、通信データ解析部309を含む。通信データ解析部309は、通信データ保持部303の通信データの内容を解析する。通信データの解析は、通信データ保持部303の通信データの内容が、サーバ101からクライアント109に対して、クライアント109からの応答を要求するポーリングに該当するか否かを判断する。例えば、サーバ101からクライアント109に対し、クライアント109のパスワードを要求するポーリングが該当する。
通信データ解析部309が、上記の条件に該当するポーリングであると判断すると、返信データ生成制御部305は、このポーリングに対するレスポンスを作成するまでの待機時間を式T*(N+1)+αにより決定する。ここで、αは待機時間をさらに延長する時間を表すパラメータである。サーバ101からパスワードを要求する中継データを含むリクエストに対するレスポンスを、クライアント109が受信すると、クライアント109はパスワードを含むリクエストを中継装置107へ発信すると考えられる。そこで、返信データ生成制御部305は、待機時間をさらに延長した時間が経過するまで、クライアント109からのリクエストを受信するのを待つ。リクエストを受信後、サーバ101のポーリングに対するレスポンスを作成してサーバ101へ返信する。これにより、サーバ101は、クライアント109のパスワードを含むレスポンスを受信するする確率が高くなる。サーバ101は、クライアント109のパスワードを含むレスポンスを受信すると、再びパスワードを含むレスポンスを要求するためのポーリングを発信する必要がなくなるため、サーバ101と中継装置107との間のネットワーク106の負荷を軽減することができる。
図16は、第2の実施例における中継装置がポーリングに対するレスポンスを返信する処理の流れを示すフローチャートである。図16を参照して、ステップS105で、返信データ生成制御部305は受信履歴テーブルを参照し、受信時刻が過去30分以内であって、サーバ101へ返信する中継データを含むリクエストの受信回数Nをカウントする。次に、通信データ解析部309は、通信データ保持部303の通信データの内容を解析する(S401)。返信データ生成制御部305は、解析の結果に応じてレスポンスを作成するでの待機時間を決定する(S106)。例えば、T=30秒、受信回数Nが2回、α=10秒であって、解析の結果が待機時間を延長する場合、式T*(N+1)+αより、待機時間は30*(2+1)+10=100秒となる。
以上、説明したように、本実施の形態における中継装置107においては、通信データの内容に応じて、待機時間をさらに延長する。これにより、中継装置107は、リクエストを受信してから、レスポンスを作成する確率が高くなる。
サーバ101のポーリングに対するレスポンスは、リクエストの受信を待つクライアント109からの中継データを含む確率が高くなる。サーバ101は、再び中継装置107へのポーリングを発信する回数が減少するため、サーバ101と中継装置107との間のネットワークの負荷を軽減することが可能となる。
[第3の実施の形態]
図17は、第3の実施の形態における中継装置の構成を示すブロック図である。図17を参照して、中継装置107は復号化部310を含み、返信データ生成部306は暗号化部311を含む。復号化部310は、受信した通信データのうち、暗号化されている通信データを復号化する。なお、復号化部310は、第1受信部301および第2受信部302に含まれていてもよい。暗号化部311は、返信データ生成部306により作成された返信データを暗号化する。通信データおよび返信データの暗号化は、SSLによって行なわれてもよい。
以上、説明したように、本実施の形態における中継装置107においては、暗号化された通信データを受信し、暗号化した返信データを返信することにより、ネットワーク106上で通信データおよび返信データの盗聴、改竄、または、なりすましを防ぐことができる。
[第4の実施の形態]
図18は、第4の実施の形態における中継装置の構成を示すブロック図である。図18を参照して、返信データ生成制御部305は、発信時間設定部312を含む。発信時間設定部312は、受信履歴テーブルを参照して、受信時刻が過去30分以内であって、サーバ101へ返信する中継データを含むリクエストの受信回数N’をカウントする。受信回数N’を使用して、式T’/(N’+1)から発信時間を決定する。T’は予め定められた時間である。発信時間は、サーバ101が中継装置107からレスポンスを受信してから、再び中継装置へポーリングを発信するまでの時間である。例えば、T’=15秒で、受信回数N’=2とすると、発信時間は15/(2+1)=5秒となる。
返信データ生成部306は、発信時間設定部312が決定した発信時間を含めたポーリングに対するレスポンスを作成する。
図19は、第4の実施の形態におけるポーリングに対するリクエストのデータの一例である。図19を参照して、パラメータ「ptime」は発信時間を表す発信時間情報である。サーバ101は、パラメータ「ptime=5」を含むレスポンスを受信すると、受信してから5秒後に中継装置107へポーリングを発信する。
図20は、第4の実施例における中継装置がポーリングに対するレスポンスを返信する処理の流れを示すフローチャートである。図20を参照して、ステップS106において、返信データ生成制御部305が待機時間を決定すると、発信時間設定部312は、受信履歴テーブルを参照して、受信回数N’に応じた発信時間を決定する(S501)。
以上、説明したように、本実施の形態における中継装置107においては、受信履歴テーブルを参照し、受信回数N’が多くなるに従って、今後もサーバ101へ中継データを返信するリクエストを受信する確率が高いと考え、発信時間を短く決定する。サーバ101は、発信時間情報を含むレスポンスを受信すると、発信時間の経過後にポーリングを発信する。これにより、中継装置107は、リクエストの受信回数N’により、サーバ101のポーリングの発信タイミングをコントロールできるため、リクエストの中継データを効率良くサーバ101へ返信することが可能となる。これにより、サーバ101と中継装置107との間で、適切な通信応答を実現することが可能となる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
第1の実施の形態におけるデータ通信システムの構成図である。 第1の実施の形態におけるデータ通信システムのデータの流れを示す概念図である。 第1の実施の形態におけるポーリング1のデータの一例を示す図である。 第1の実施の形態におけるリクエスト1のデータの一例を示す図である。 第1の実施の形態における中継データを含むリクエスト1のデータの一例を示す図である。 第1の実施の形態における中継データを含まないリクエスト1のデータの一例を示す図である。 第1の実施の形態におけるポーリング2のデータの一例を示す図である。 第1の実施の形態におけるレスポンス2のデータの一例を示す図である。 第1の実施の形態における中継装置の構成を示すブロック図である。 第1の実施の形態における通信データ保持部に記憶された通信データ保持テーブルの一例を示す図である。 第1の実施の形態における受信履歴保持部に記憶した受信履歴テーブルの一例を示す図である。 第1の実施の形態における中継装置がポーリングに対するレスポンスを返信する処理の流れを示すフローチャートである。 第1の実施の形態における中継装置がリクエストに対するレスポンスを返信する処理の流れを示すフローチャートである。 第1の実施の形態における中継装置の処理の流れを示すフローチャートである。 第2の実施の形態における中継装置の構成を示すブロック図である。 第2の実施例における中継装置がポーリングに対するレスポンスを返信する処理の流れを示すフローチャートである。 第3の実施の形態における中継装置の構成を示すブロック図である。 第4の実施の形態における中継装置の構成を示すブロック図である。 第4の実施の形態におけるポーリングに対するリクエストのデータの一例である。 第4の実施例における中継装置がポーリングに対するレスポンスを返信する処理の流れを示すフローチャートである。
符号の説明
101 サーバ、102 サービス提供部、103 ポーリング部、104 ネットワーク、105 第1ファイアウォール、106 ネットワーク、107 中継装置、108 第2ファイアウォール、109 クライアント、110 アプリケーション、111 リクエスト部、301 第1受信部、302 第2受信部、303 通信データ保持部、304 受信履歴保持部、305 返信データ生成制御部、306 返信データ生成部、307 第1返信部、308 第2返信部、309 通信データ解析部、310 復号化部、311 暗号化部、312 発信時間設定部。

Claims (8)

  1. 第1通信データの返信としての返信データを、第2通信データを使用して作成する中継装置であって、
    第1の装置から発信された前記第1通信データと第2の装置から発信された前記第2通信データとを含む通信データを受信するための受信手段と、
    前記受信手段により受信した前記第2通信データのうち、少なくとも前記返信データの作成に未使用の未使用データを記憶するための通信データ保持手段と、
    前記通信データと前記通信データを受信した受信時刻とを関連付けて記憶するための受信履歴保持手段と、
    前記通信データ保持手段に前記未使用データが存在するか否かを確認するための返信データ生成制御手段とを備え、
    前記返信データ生成制御手段は、
    1)前記通信データ保持手段に前記未使用データが存在することに応じて、前記返信データの作成開始を指示するための手段と、
    2)前記通信データ保持手段に前記未使用データが存在しないことに応じて、前記受信履歴保持手段に記憶された、所定の時間内の前記第2通信データの受信頻度に対応する待機時間の経過後に、前記返信データの作成開始を指示するための手段とを含み、
    前記返信データ生成制御手段に制御されて、前記通信データ保持手段を参照し、前記第1通信データの返信として前記返信データを作成するための返信データ生成手段と、
    前記返信データ生成手段により作成された返信データを前記第1の装置に返信するための返信手段とを備えた、中継装置。
  2. 前記返信データ生成制御手段は、
    前記第1通信データを受信し、前記通信データ保持手段に前記未使用データが存在しない場合、前記受信履歴保持手段に記憶した前記第2通信データと前記第2通信データの前記受信時刻から、前記所定の時間内に前記第2通信データを受信した回数を求め、前記受信した回数の増加に応じて、前記待機時間を延長するための手段をさらに含む、請求項1に記載の中継装置。
  3. 前記返信データ生成制御手段は、前記通信データ保持手段に記憶された前記第1通信データの内容を解析するための通信データ解析手段をさらに含み、
    前記第1通信データが前記第2通信データを要求する内容であると前記通信データ解析手段が解析した場合、前記待機時間を延長するための手段をさらに含む、請求項1または請求項2に記載の中継装置。
  4. 前記返信データ生成制御手段は、前記受信履歴保持手段に記憶した前記第2通信データと前記第2通信データの前記受信時刻から、前記所定の時間内に前記第2通信データを受信した回数を求め、前記受信した回数の増加に応じて、前記第1の装置が前記返信データを受信してから再び前記第1通信データを発信するまでの時間を指定する発信時間情報を設定するための発信時間設定手段をさらに含み、
    前記返信データ生成手段は、前記発信時間情報を含む前記返信データを作成するための手段を含む、請求項1〜請求項3のいずれかに記載の中継装置。
  5. 前記受信手段および前記返信手段は、ハイパーテキストトランスファープロトコルを利用して通信を行なう、請求項1に記載の中継装置。
  6. 前記返信データ生成手段は、前記返信データを暗号化する暗号化手段を含み、
    前記暗号化手段で暗号化され、前記受信手段により受信された通信データを復号化する復号化手段をさらに備えた、請求項1に記載の中継装置。
  7. 前記暗号化手段は、セキュアソケットレイアを利用して暗号化を行なう、請求項1に記載の中継装置。
  8. 第1の装置から発信された第1通信データの返信として、第2の装置から発信された第2通信データを使用して返信データを作成し、送信する中継方法をコンピュータに実行させるための中継プログラムであって、
    前記第1通信データと前記第2通信データとを含む前記通信データのうち、少なくとも受信した前記第2通信データを通信データ記憶装置に格納するステップと、
    前記通信データと前記通信データを受信した受信時刻とを関連付けて受信履歴記憶装置に格納するステップと、
    前記通信データ記憶装置に、前記返信データの作成に未使用の前記第2通信データである未使用データが存在するか否かを確認するためのステップと、
    前記通信データ記憶装置に前記未使用データが存在することに応じて、前記返信データの作成開始を指示するためのステップと、
    前記通信データ記憶装置に前記未使用データが存在しないことに応じて、前記受信履歴記憶装置に記憶された、所定の時間内の前記第2通信データの受信頻度に対応する待機時間の経過後に、前記返信データの作成開始を指示するためのステップと、
    前記返信データの作成開始の指示を受けて、前記通信データ記憶装置を参照し、前記第1通信データの返信として前記返信データを作成するためのステップと、
    前記第1通信データの返信として作成された前記返信データを、前記第1の装置に返信するためのステップとを備える、中継プログラム。
JP2003301488A 2003-08-26 2003-08-26 中継装置およびその中継プログラム Withdrawn JP2005073051A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003301488A JP2005073051A (ja) 2003-08-26 2003-08-26 中継装置およびその中継プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003301488A JP2005073051A (ja) 2003-08-26 2003-08-26 中継装置およびその中継プログラム

Publications (1)

Publication Number Publication Date
JP2005073051A true JP2005073051A (ja) 2005-03-17

Family

ID=34406098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003301488A Withdrawn JP2005073051A (ja) 2003-08-26 2003-08-26 中継装置およびその中継プログラム

Country Status (1)

Country Link
JP (1) JP2005073051A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009089238A (ja) * 2007-10-02 2009-04-23 Brother Ind Ltd 通信システム、情報処理装置及びプログラム
JP2014059716A (ja) * 2012-09-18 2014-04-03 Ricoh Co Ltd 要求伝達装置、機器、要求伝達システム、要求伝達方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009089238A (ja) * 2007-10-02 2009-04-23 Brother Ind Ltd 通信システム、情報処理装置及びプログラム
JP2014059716A (ja) * 2012-09-18 2014-04-03 Ricoh Co Ltd 要求伝達装置、機器、要求伝達システム、要求伝達方法、及びプログラム

Similar Documents

Publication Publication Date Title
US6959393B2 (en) System and method for secure message-oriented network communications
US7509678B2 (en) Central console for monitoring configuration status for remote devices
US8599695B2 (en) Selective internet priority service
US6044402A (en) Network connection blocker, method, and computer readable memory for monitoring connections in a computer network and blocking the unwanted connections
US8438614B2 (en) Communication system, relay apparatus, terminal apparatus and computer readable medium
US7925693B2 (en) NAT access control with IPSec
US10742586B2 (en) Assured encrypted delivery
US8375421B1 (en) Enabling a virtual meeting room through a firewall on a network
CN101199187A (zh) 用于网络节点之间通信最优化的系统和方法
US7746824B2 (en) Method and apparatus for establishing multiple bandwidth-limited connections for a communication device
US8370630B2 (en) Client device, mail system, program, and recording medium
US9444807B2 (en) Secure non-geospatially derived device presence information
JP4492248B2 (ja) ネットワークシステム、内部サーバ、端末装置、プログラム、およびパケット中継方法
US6742039B1 (en) System and method for connecting to a device on a protected network
US20030172303A1 (en) Method and system for accelerating the conversion process between encryption schemes
US10158610B2 (en) Secure application communication system
JP2011035535A (ja) 通信遮断装置、サーバ装置、方法およびプログラム
GB2423679A (en) E-mail server with encryption / decryption and signing / verification capability
JP4183664B2 (ja) 認証方法、サーバ計算機、クライアント計算機、および、プログラム
Cui Comparison of IoT application layer protocols
JP2006277752A (ja) コンピュータ遠隔管理方法
RU2365044C2 (ru) Способ и устройство для доставки ключей
JP2010272951A (ja) 共有鍵配信管理方法及び共有鍵配信管理サーバー
JP2005073051A (ja) 中継装置およびその中継プログラム
JP2007267064A (ja) ネットワークセキュリィテイ管理システム、暗号化通信の遠隔監視方法及び通信端末。

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061107