Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4144882B2 - 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体 - Google Patents
[go: Go Back, main page]

JP4144882B2 - 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体 - Google Patents

情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体 Download PDF

Info

Publication number
JP4144882B2
JP4144882B2 JP2004145648A JP2004145648A JP4144882B2 JP 4144882 B2 JP4144882 B2 JP 4144882B2 JP 2004145648 A JP2004145648 A JP 2004145648A JP 2004145648 A JP2004145648 A JP 2004145648A JP 4144882 B2 JP4144882 B2 JP 4144882B2
Authority
JP
Japan
Prior art keywords
server
request message
client
destination
request
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.)
Expired - Fee Related
Application number
JP2004145648A
Other languages
English (en)
Other versions
JP2005327137A (ja
Inventor
明彦 大木
隆文 木下
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004145648A priority Critical patent/JP4144882B2/ja
Priority to US11/127,703 priority patent/US7711956B2/en
Priority to CN200510068768A priority patent/CN100586120C/zh
Publication of JP2005327137A publication Critical patent/JP2005327137A/ja
Application granted granted Critical
Publication of JP4144882B2 publication Critical patent/JP4144882B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体に関する。特に本発明は、情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体に関する。
従来、例えば携帯電話、PDA(Personal Digital Assistant)、又はPC(Personal Computer)等の情報端末から、インターネット上のWebサーバ等のサーバ装置を無線によりアクセス可能とするために、無線通信網とインターネットとの間を、プロキシ装置により接続する方法が採られている。プロキシ装置は、情報端末及びサーバ装置の間の通信を中継する。すなわち、プロキシ装置は、サーバ装置へのリクエストを含む要求メッセージを情報端末から受信して、サーバ装置へ送信し、リクエストの処理結果を含む応答メッセージをサーバ装置から受信して、情報端末へ返信する。そしてプロキシ装置は、通信を中継する際に、コンテンツフィルタリングやコンテンツ変換等のサービスを提供するサービスゲートウェイとしても機能する(例えば特許文献1参照)。
情報端末が使用者により携帯される場合、使用者が一時的にサービス圏外に移動したり、通信状態の悪い場所を通過したりする等により、情報端末との間の無線通信が遮断されることがある。このような不安定な通信状態において情報端末との間の通信を効率良く行うことを目的として、情報端末からの要求に対するサーバ装置からの応答メッセージをプロキシ装置上に一時的に記憶しておき、情報端末から再度要求を受けた場合に記憶した応答メッセージを情報端末へ返信する方法が開示されている(特許文献2及び3参照)。
特開2000−357176号公報 特開平11−120108号公報 特開2002−197005号公報
情報端末に対してインターネットアクセスサービスを提供する場合、情報端末から不特定のサーバ装置に対してアクセス要求が送信され得る。このようなサーバ装置の一部は、レスポンス時間の低下や、サービスの停止等によりサービスレベルが低下している可能性がある。プロキシ装置は、情報端末からの要求に応じてこのようなサーバ装置へ要求メッセージを送信すると、サーバ装置からの応答メッセージを長時間受けられなかったり、応答メッセージをタイムアウトさせる必要が生じたりする。この結果、プロキシ装置の接続リソースが長時間占有され、正常なサーバ装置に対するアクセス処理が妨げられてしまう。
そこで本発明は、上記の課題を解決することのできる情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
第1の要求元装置から受信した第1のクライアント側要求メッセージに基づく第1のサーバ側要求メッセージを、宛先のサーバ装置へ送信する要求送信部と、前記第1のサーバ側要求メッセージのタイムアウトが検出された場合に、当該宛先に対するサーバ側要求メッセージがタイムアウトしたことを示すタイムアウト情報を記憶するサーバ状態記憶部と、第2の要求元装置から受信した第2のクライアント側要求メッセージの宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている場合に、当該第2のクライアント側要求メッセージをタイムアウトさせることを決定する要求モニタ部と、タイムアウトさせると決定された前記第2のクライアント側要求メッセージに対応する第2のサーバ側要求メッセージを宛先のサーバ装置へ送信させずに、前記第2のクライアント側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを前記第2の要求元装置へ送信する代理タイムアウト応答部とを備える情報処理装置と、当該情報処理装置に関する情報システム、プロキシ処理方法、及びプログラムと記録媒体とを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、要求元装置からのリクエスト先となるサーバ装置のサービスレベルが低下している場合においても、効率良くプロキシ処理を行うことができる情報処理装置及び情報システムを提供する。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る通信システム10の構成を示す。
通信システム10は、1又は複数の情報端末100と、1又は複数の基地局110と、キャリア通信網120と、基地局制御装置130と、1又は複数のサーバ装置140と、WAN150(Wide Area Network)と、プロキシシステム160とを備える。情報端末100は、携帯電話、PDA、又はPC等の情報端末である。情報端末100は、サーバ装置140に対してWebページの返信やサーバアプリケーションの実行等を要求する要求メッセージを送信し、要求メッセージに対するサーバ装置140の応答メッセージを受けて応答内容を表示する。情報端末100は、本発明に係る要求元装置の一例である。これに代えて、情報端末100は、本発明に係る要求元装置として機能する他のプロキシ装置等を介してプロキシシステム160に接続されてもよい。
基地局110は、情報端末100との間で無線通信を行う。キャリア通信網120は、複数の基地局110及び基地局制御装置130を接続する。基地局制御装置130は、キャリア通信網120及びプロキシシステム160に接続され、複数の基地局110のそれぞれを制御すると共に、キャリア通信網120及びプロキシシステム160の間のプロトコル変換を行う。本実施形態に係る基地局110、キャリア通信網120、及び基地局制御装置130は、各情報端末100に対し、他の情報端末100又は基地局制御装置130との間で無線通信を行わせる。これに代えて、基地局110、キャリア通信網120、及び基地局制御装置130は、各情報端末100に対して有線通信を行わせてもよい。
サーバ装置140は、例えばWebサーバ等であり、各情報端末100から送信された要求メッセージをプロキシシステム160等を介して受信して、要求メッセージにより指定された処理を行う。そして、処理結果を含む応答メッセージを、プロキシシステム160等を介して要求元の情報端末100へ送信する。WAN150は、例えばインターネット等であり、複数のサーバ装置140及びプロキシシステム160を接続する。
プロキシシステム160は、本発明に係る情報システムの一例であり、情報端末100から受信したクライアント側要求メッセージに基づくサーバ側要求メッセージをサーバ装置140へ送信し、サーバ装置140により返信されたサーバ側応答メッセージに基づくクライアント側応答メッセージを情報端末100へ返信する。ここでプロキシシステム160は、情報端末100及びサーバ装置140の間でメッセージを変換せずに中継してもよく、これに代えて情報端末100との間で授受する要求/応答メッセージと、サーバ装置140との間で授受する要求/応答メッセージとの間の変換処理を行ってもよい。すなわち、メッセージの変換を行わない場合、プロキシシステム160は、クライアント側要求メッセージをサーバ側要求メッセージとしてサーバ装置140へ送信し、サーバ側応答メッセージをクライアント側応答メッセージとして情報端末100へ返信する。メッセージの変換を行う場合、プロキシシステム160は、1又は複数のクライアント側要求メッセージに基づいて生成された1又は複数のサーバ側要求メッセージをサーバ装置140へ送信し、1又は複数のサーバ側応答メッセージに基づいて生成された1又は複数のクライアント側応答メッセージを情報端末100へ返信する。
図2は、本実施形態に係るプロキシシステム160の構成を示す。プロキシシステム160は、負荷分散装置200と、第1LAN210(Local Area Network)と、複数のプロキシ装置220と、第2LAN230とを備える。負荷分散装置200は、情報端末100が送信したクライアント側要求メッセージを基地局制御装置130を介して受け取り、複数のプロキシ装置220のいずれかへ転送する。より具体的には、負荷分散装置200は、複数のプロキシ装置220のうち、他のプロキシ装置220と比較し低負荷であると判断したプロキシ装置220へ転送する。第1LAN210は、負荷分散装置200と、1又は複数のプロキシ装置220とを接続する。各プロキシ装置220は、本発明に係る情報処理装置の一例であり、クライアント側要求メッセージを負荷分散装置200及び第1LAN210を介して受信し、受信したクライアント側要求メッセージに基づくサーバ側要求メッセージをサーバ装置140へ送信する。次にプロキシ装置220は、サーバ装置140により返信された、当該サーバ側要求メッセージに対するサーバ側応答メッセージをWAN150及び第2LAN230を介して受信する。そして、プロキシ装置220は、サーバ側応答メッセージに基づくクライアント側応答メッセージを、第1LAN210、負荷分散装置200、キャリア通信網120及び基地局110を介して情報端末100へ返信する。第2LAN230は、1又は複数のプロキシ装置220と、WAN150とを接続する。
図3は、本実施形態に係るプロキシ装置220の構成を示す。本実施形態に係るプロキシ装置220は、宛先のサーバ装置140のサービスレベルが低下している場合においても、正常なサーバ装置140に対するアクセス処理を効率良く行うことを特徴とする。プロキシ装置220は、要求受信部300と、サーバ状態記憶部330と、要求モニタ部305と、要求送信部310と、応答受信部350と、応答メッセージ記憶部355と、応答モニタ部315と、タイムアウト検出部320と、遅延検出部325と、代理タイムアウト応答部335と、応答送信部340と、テンポラリ応答部345と、代理応答部360と、通過処理数計測部365と、要求処理数計測部370と、応答サイズ計測部375と、要求通過数調整部380と、リカバリ処理部385とを備える。
要求受信部300は、情報端末100が送信したクライアント側要求メッセージを、負荷分散装置200及び第1LAN210を介して受信する。サーバ状態記憶部330は、過去にサーバ装置140に対し送信されたサーバ側要求メッセージについて、当該サーバ側要求メッセージの宛先に対応付けて、宛先のサービスレベル低下を示すサービスレベル低下情報を記憶する。本実施形態に係るサーバ状態記憶部330は、サービスレベル低下情報として、宛先へのサーバ側要求メッセージに対するサーバ側応答メッセージが遅延したことを示す遅延情報、又は、宛先に対するサーバ側要求メッセージがタイムアウトしたことを示すタイムアウト情報を記憶する。
本実施形態において、宛先とは、宛先のサーバ装置140自体、宛先のサーバ装置140における特定のディレクトリ又はファイル、宛先のサーバ装置140における特定のサービス又はサーバプログラム等、及び、宛先のサーバ装置140における特定のサービス又はサーバプログラム等とこれらに与えるパラメータの組のいずれであってもよい。すなわち例えば、本実施形態に係る宛先は、URL(Uniform Resource Locator)により表されるものであってよい。
要求モニタ部305は、情報端末100から受信したクライアント側要求メッセージの宛先についてのサービスレベル低下情報に基づいて、当該要求メッセージの処理方法を決定する。より具体的には、本実施形態に係る要求モニタ部305は、宛先についてのサービスレベル低下情報がサーバ状態記憶部330に記憶されていない場合に、通常の応答を行うことを決定する。ここで、通常の応答とは、クライアント側要求メッセージに基づくサーバ側要求メッセージを宛先のサーバ装置140へ送信し、当該サーバ装置140から受信したサーバ側応答メッセージに基づくクライアント側応答メッセージを要求元の情報端末100へ返信する応答方法である。
また、要求モニタ部305は、宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されている場合に、代理タイムアウト応答を行うことを決定する。ここで、代理タイムアウト応答とは、宛先のサーバ装置140に対してサーバ側要求メッセージを送信せずに、当該クライアント側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを返信する応答方法である。
また、要求モニタ部305は、宛先についての遅延情報がサーバ状態記憶部330に記憶されている場合に、代理応答を行うことを決定する。ここで、代理応答とは、テンポラリ応答メッセージを情報端末100へ送信してクライアント側要求メッセージの再送を指示し、クライアント側要求メッセージが再送されるまでにサーバ装置140から受信したサーバ側応答メッセージに基づくクライアント側応答メッセージを、再送された要求メッセージに対する応答メッセージとして情報端末100へ返信する応答方法である。
以上において要求モニタ部305は、宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されている場合であっても、一部のクライアント側要求メッセージをタイムアウトさせず、当該クライアント側要求メッセージに対応するサーバ側要求メッセージを宛先のサーバ装置140へ送信する。これにより要求モニタ部305は、情報端末100からのクライアント側要求メッセージに対応するサーバ側要求メッセージを用いて、過去にタイムアウトが発生した宛先が現時点においてもタイムアウトを発生するか否かを検出することができる。
なお、以上において要求モニタ部は、第1の情報端末100から受信したクライアント側要求メッセージに関連してサーバ状態記憶部330に記憶されたサービスレベル低下情報に基づいて、第2の情報端末100から受信したクライアント側要求メッセージの処理方法を決定する。ここで、第1の情報端末100及び第2の情報端末100は同一の情報端末100であってもよく、異なる情報端末100であってもよい。
要求送信部310は、サーバ側要求メッセージを送信すると要求モニタ部305により決定された場合に、情報端末100から受信したクライアント側要求メッセージに基づくサーバ側要求メッセージを、宛先のサーバ装置140へ送信する。この際、要求送信部310は、例えばコンテンツ変換やコンテンツフィルタリング等の処理をクライアント側要求メッセージに対して行ってサーバ側要求メッセージを生成してもよい。応答受信部350は、サーバ側要求メッセージに対するサーバ側応答メッセージを宛先サーバ装置140から受信する。この際、応答受信部350は、例えばコンテンツ変換等の処理をサーバ側応答メッセージに対して行ってクライアント側応答メッセージを生成してもよい。応答メッセージ記憶部355は、代理応答を行うと決定されたクライアント側要求メッセージに対するサーバ側応答メッセージをサーバ装置140から受信した場合に、当該サーバ側応答メッセージに対応して情報端末100に返信すべきクライアント側応答メッセージを一時的に記憶する。
応答モニタ部315は、サーバ装置140へ送信したサーバ側要求メッセージに対するサーバ側応答メッセージを受信したか否かを検出する。そして、遅延又はタイムアウト無しにサーバ側応答メッセージを受信できた場合に、当該宛先についてのサービスレベル低下情報をサーバ状態記憶部330から削除する。
タイムアウト検出部320は、当該プロキシ装置220がサーバ側要求メッセージを送信してから予め設定されたタイムアウト時間の間に当該サーバ側要求メッセージに対するサーバ側応答メッセージを受信しない場合に、当該サーバ側要求メッセージのタイムアウトを検出し、当該宛先についてのタイムアウト情報をサーバ状態記憶部330に記憶させる。遅延検出部325は、サーバ側要求メッセージを宛先のサーバ装置140へ送信してから予め設定された遅延時間の経過後かつタイムアウト時間の経過前に、当該サーバ側要求メッセージに対するサーバ側応答メッセージを受信した場合に、当該サーバ側要求メッセージの遅延を検出し、当該宛先についての遅延情報をサーバ状態記憶部330に記憶させる。
代理タイムアウト応答部335は、要求モニタ部305によりタイムアウトさせると決定されたクライアント側要求メッセージに対応するサーバ側要求メッセージを宛先のサーバ装置140へ送信させずに、当該サーバ側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを、応答送信部340を介して要求元の情報端末100へ送信する。応答送信部340は、応答受信部350、代理タイムアウト応答部335、テンポラリ応答部345、及び代理応答部360から情報端末100へ送信される応答メッセージの送信処理を行う。
テンポラリ応答部345は、要求モニタ部305により代理応答を行うと決定された場合に、当該クライアント側要求メッセージの再送を指示するテンポラリ応答メッセージを、応答送信部340を介して要求元の情報端末100へ送信する。代理応答部360は、テンポラリ応答メッセージを受けた情報端末100からクライアント側要求メッセージが再送された場合に、クライアント側要求メッセージが再送されるまでにサーバ装置140から受信されたサーバ側応答メッセージに基づいて、応答メッセージ記憶部355に記憶されたクライアント側応答メッセージを、応答送信部340を介して要求元の情報端末100へ送信する。
通過処理数計測部365は、サーバ状態記憶部330にタイムアウト情報が記憶されている宛先に対するサーバ側要求メッセージのうち、宛先のサーバ装置140へ送信され、かつ、対応するサーバ側応答メッセージを受信していない数である通過処理数を計測する。この通過処理数に基づいて、要求モニタ部305は、タイムアウト情報が記憶されている宛先に対してサーバ側要求メッセージを更に送信するか否かを決定する。
要求処理数計測部370は、いずれかの宛先のサーバ装置140へ送信されたサーバ側要求メッセージのうち、対応するサーバ側応答メッセージを受信していない数である要求処理数を計測する。この要求処理数は、プロキシ装置220がサーバ装置140との間の通信に用いている接続リソースの数である。プロキシ装置220は、予め定められた上限接続リソース数の範囲内で、接続リソースを使用することができる。応答サイズ計測部375は、サーバ側要求メッセージの各宛先毎に、サーバ装置140から受信したサーバ側応答メッセージのサイズの統計を取る。この統計値は、例えば平均値、最小値、又は最大値である。要求通過数調整部380は、要求処理数や宛先サーバ装置140からのサーバ側応答メッセージのサイズに基づいて、タイムアウト情報がサーバ状態記憶部330に記憶されている宛先に対して送信するサーバ側要求メッセージの数を調整する。
リカバリ処理部385は、第2LAN230を介してWAN150に接続されたDNS(Domain Name Service)サーバと通信し、サーバ側要求メッセージの宛先となるサーバ装置140のホスト名からIPアドレスを取得する。そして、リカバリ処理部385は、取得したIPアドレスを要求送信部310へ供給する。また、リカバリ処理部385は、代理応答処理において再送されたクライアント側要求メッセージを、第1LAN210を介して、当該クライアント側要求メッセージを処理すべきプロキシ装置220へ転送する。
図4は、本実施形態に係るプロキシシステム160の動作フローを示す。
まず、要求受信部300は、情報端末100が送信したクライアント側要求メッセージを受信する(ステップS500)。次に、要求モニタ部305は、受信したクライアント側要求メッセージが情報端末100から再送されたメッセージであるか否かを判断する(S505)。
受信したクライアント側要求メッセージが再送されたメッセージでない場合(S505:No)、要求モニタ部305は、サーバ状態記憶部330を検索し、当該クライアント側要求メッセージの宛先についてのタイムアウト情報又は遅延情報がサーバ状態記憶部330に記憶されているか否かを検出する(S510、S515)。
当該クライアント側要求メッセージの宛先についてのタイムアウト情報及び遅延情報がサーバ状態記憶部330に記憶されていない場合(S510:No、S515:No)、要求モニタ部305は、当該クライアント側要求メッセージについて通常の要求応答処理を行うことを決定する(S520)。一方、当該クライアント側要求メッセージの宛先についての遅延情報がサーバ状態記憶部330に記憶されている場合(S510:No、S515:Yes)、当該クライアント側要求メッセージについて代理応答処理を行い、当該クライアント側要求メッセージを要求元の情報端末100により再送させることを決定する(S525)。
また、要求モニタ部305は、当該クライアント側要求メッセージの宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されている場合(S510:Yes)、一部のクライアント側要求メッセージを除き、当該クライアント側要求メッセージをタイムアウトさせて代理タイムアウト応答を行うことを決定する(S530:Yes)。そして、代理タイムアウト応答部335は、タイムアウトさせると決定されたクライアント側要求メッセージに対応するサーバ側要求メッセージを宛先のサーバ装置140へ送信させずに、当該クライアント側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを要求元の情報端末100へ送信する(S535)。代理タイムアウト応答部335は、タイムアウト応答メッセージとして、例えばHTTPプロトコルにおけるステータスコード504(Gateway Time−out)を含むクライアント側応答メッセージを送信する。これにより、プロキシ装置220は、タイムアウトする可能性が高い宛先へ多数のサーバ側要求メッセージを送信しないため、このようなサーバ側要求メッセージを処理するために接続リソースが長時間占有されるのを防ぐことができる。
また、要求モニタ部305は、当該クライアント側要求メッセージの宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されている複数のクライアント側要求メッセージのうち(S510:Yes)、一部のクライアント側要求メッセージをタイムアウトさせないことを決定する(S530:No)。プロキシ装置220は、タイムアウトさせないことを決定されたクライアント側要求メッセージに対し通常の要求応答処理を行う(S520)。これにより、プロキシ装置220は、タイムアウト情報がサーバ状態記憶部330に記憶された宛先についても一部のサーバ側要求メッセージを送信し、サーバ装置140の復旧等により再びサーバ側要求メッセージを正常に処理できるようになったことを検出することができる。
本実施形態に係る要求モニタ部305は、宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されている複数のクライアント側要求メッセージのうち、予め設定された割合のクライアント側要求メッセージをタイムアウトさせないことを決定する。この割合は、プロキシ装置220の管理者により予め設定されてもよく、要求通過数調整部380により動的に設定又は調整されてもよい。
より具体的には、要求通過数調整部380は、要求処理数計測部370により計測された要求処理数がより大きい場合に、要求処理数がより小さい場合と比較してこの割合を小さくしてもよい。これにより要求通過数調整部380は、プロキシ装置220が既に多くの接続リソースを使用している場合に、タイムアウトする可能性が高いサーバ側要求メッセージをサーバ装置140へ送信する割合を減らすことができ、プロキシ装置220のアクセス処理効率を高めることができる。
また、要求通過数調整部380は、応答サイズ計測部375により計測された、当該サーバ側要求メッセージの宛先から受信したサーバ側応答メッセージのサイズの統計値がより大きい場合に、サイズの統計値がより小さい場合と比較してこの割合を小さくする。これにより、大量のデータを応答する可能性が高いサーバ装置140に対してサーバ側要求メッセージを送信する割合を減らすことができ、プロキシ装置220のアクセス処理効率を高めることができる。
また、要求モニタ部305は、宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されており、かつ、当該宛先のサーバ装置140へサーバ側要求メッセージを送信してから予め設定された期間が経過している場合に、クライアント側要求メッセージをタイムアウトさせないことを決定してもよい。これにより、要求モニタ部305は、サーバ側要求メッセージを当該宛先に対してこの期間以上の間隔を空けて送信することができ、宛先のサーバ装置140の復旧を適度な間隔でチェックしつつ、当該サーバ装置140に対してサーバ側要求メッセージを送信する割合を減らすことができる。ここで、この期間は、上記の割合の増加又は減少と同様にして、要求通過数調整部380により動的に短く又は長く調整されてもよい。
また、要求モニタ部305は、通過処理数計測部365により計測された通過処理数が予め設定された上限値以下の場合に、宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されているクライアント側要求メッセージをタイムアウトさせないことを決定してもよい。これにより、タイムアウトする可能性が高いサーバ側要求メッセージをサーバ装置140へ送信する数を当該上限値以下に設定することができ、このようなサーバ側要求メッセージにより接続リソースが長時間占有されて、正常な宛先に対するサーバ側要求メッセージが送信できなくなるのを防ぐことができる。ここで、この上限値は、上記の割合の増加又は減少と同様にして、要求通過数調整部380により動的に大きく又は小さく調整されてもよい。
受信したクライアント側要求メッセージが再送されたメッセージである場合(S505:Yes)において、元のクライアント側要求メッセージが他のプロキシ装置220宛に送付されたものであった場合(S540:Yes)に、リカバリ処理部385は、再送された当該クライアント側要求メッセージを当該他のプロキシ装置220へ転送する(S550)。一方、元のクライアント側要求メッセージが当該プロキシ装置220宛に送付されたものであった場合(S540:No)において、当該クライアント側要求メッセージに対するクライアント側応答メッセージが既に応答メッセージ記憶部355に記憶されている場合(S545:Yes)に、代理応答部360は、当該クライアント側応答メッセージを応答メッセージ記憶部355から読み出して応答送信部340を介して要求元の情報端末100へ返信する。ここで、当該クライアント側応答メッセージがまだ応答メッセージ記憶部355に記憶されていない場合(S540:No、S545:No)、要求モニタ部305は、処理をS510へ進め、再送されたクライアント側要求メッセージについてS510以下の処理を行わせる。
以上に示したように、プロキシ装置220は、第1のクライアント側要求メッセージがタイムアウト又は遅延した場合に当該サーバ側要求メッセージの宛先についてのタイムアウト情報又は遅延情報をサーバ状態記憶部330に記憶しておく。そして、プロキシ装置220は、次に第2のクライアント側要求メッセージを受信した場合において、第2のクライアント側要求メッセージの宛先についてのタイムアウト情報又は遅延情報がサーバ状態記憶部330に記憶されている場合に、通常の応答処理に代えて、代理タイムアウト応答処理又は代理応答処理を行う。これにより、プロキシ装置220は、サーバ装置140のサービスレベルが低下している場合に、接続リソースを無駄に使用することなくサービスレベルの低下度合に応じた応答処理を行うことができ、効率良くサーバ装置140のアクセス処理を行うことができる。
図5は、図4に示したS520における通常の要求応答処理フローを示す。
プロキシ装置220は、宛先についての遅延情報及びタイムアウト情報がサーバ状態記憶部330に記憶されていないクライアント側要求メッセージと、宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されており、かつ要求モニタ部305によりタイムアウトさせないと決定されたクライアント側要求メッセージとに対して、代理応答処理を行う。
まず、リカバリ処理部385は、サーバ装置140へ送信することを決定されたクライアント側要求メッセージに対応するサーバ側要求メッセージの宛先となるホスト名を、IPアドレスに変換する(S600)。次に、要求送信部310は、当該クライアント側要求メッセージを要求モニタ部305から受け取り、宛先のIPアドレスをリカバリ処理部385から受け取って、当該クライアント側要求メッセージに基づくサーバ側要求メッセージを宛先のサーバ装置140へ送信する(S605)。サーバ側要求メッセージが送信されると、応答モニタ部315は、当該サーバ側要求メッセージに対するサーバ側応答メッセージ受信の監視を開始する。また、要求処理数計測部370は、要求処理数をインクリメントする。
次に、タイムアウト検出部320及び遅延検出部325は、当該サーバ側要求メッセージの遅延又はタイムアウトを検出する(S610、S625)。応答送信部340は、宛先のサーバ装置140へ送信したサーバ側要求メッセージに対するサーバ側応答メッセージを設定された遅延時間以内に受信できた場合(S610:No)に、サーバ側応答メッセージに基づくクライアント側応答メッセージを要求元の情報端末100へ返信する(S620)。
一方、当該サーバ側要求メッセージの遅延が検出された場合(S610:Yes、S625:No)、サーバ状態記憶部330は、当該サーバ側要求メッセージの宛先に対応付けて、当該宛先に対するサーバ側要求メッセージが遅延したことを示す遅延情報を記憶する(S630)。そして、応答送信部340は、応答受信部350が受信したサーバ側応答メッセージに基づくクライアント側応答メッセージを要求元の情報端末100へ返信する(S620)。
また、当該サーバ側要求メッセージのタイムアウトが検出された場合(S610:Yes、S625:Yes)に、サーバ状態記憶部330は、当該サーバ側要求メッセージの宛先に対応付けて、当該宛先に対するサーバ側要求メッセージがタイムアウトしたことを示すタイムアウト情報を記憶する(S635)。そして、代理タイムアウト応答部335は、タイムアウトしたサーバ側要求メッセージに対応するクライアント側要求メッセージの情報を要求モニタ部305から受け取り、当該クライアント側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを要求元の情報端末100へ送信することにより代理タイムアウト応答を行う(S640)。
上記のS610又はS625においてサーバ側応答メッセージを受信した場合、及び、S625においてサーバ側要求メッセージのタイムアウトが検出された場合、応答モニタ部315はサーバ側応答メッセージ受信の監視を終了し、要求処理数計測部370は要求処理数をデクリメントする。
以上に示した動作により、プロキシ装置220は、サーバ側要求メッセージの宛先のサービスレベルに基づいて、サービスレベル低下情報をサーバ状態記憶部330へ記憶させることができる。
図6は、図4に示したS525における代理応答処理フローを示す。図6において図5と同一の符号を付した処理ステップは、図5と同様の処理を行うため、以下相違点を除き説明を省略する。
プロキシ装置220は、宛先についての遅延情報がサーバ状態記憶部330に記憶されたクライアント側要求メッセージと、サーバ装置140からサーバ側応答メッセージを受信していない状態において再送されたクライアント側要求メッセージの一部とに対して、代理応答処理を行う。
代理応答処理において、テンポラリ応答部345は、応答送信部340を介してテンポラリ応答メッセージを要求元の情報端末100へ送信する(S700)。この際、テンポラリ応答部345は、当該テンポラリ応答メッセージに、再送されるクライアント側要求メッセージに含めるべき再送識別情報を含めておき、再送されるクライアント側要求メッセージを識別可能としておく。テンポラリ応答部345は、テンポラリ応答メッセージとして、例えばHTTPプロトコルにおけるステータスコード307(Temporary Redirect)を含む応答メッセージを送信する。これに代えて、テンポラリ応答部345は、ステータスコード304(Not Modified)を含む応答メッセージを送信してもよい。
次に、リカバリ処理部385は、図5のS600と同様にして、再送させると決定されたクライアント側要求メッセージに対応するサーバ側要求メッセージの宛先となるホスト名を、IPアドレスに変換する(S600)。要求送信部310は、図5のS605と同様にして、当該クライアント側要求メッセージを要求モニタ部305から受け取り、宛先のIPアドレスをリカバリ処理部385から受け取って、当該クライアント側要求メッセージに基づくサーバ側要求メッセージを宛先のサーバ装置140へ送信する(S605)。ここで、宛先についてのタイムアウト情報がサーバ状態記憶部330に記憶されたサーバ側要求メッセージを送信した場合、通過処理数計測部365は、通過処理数をインクリメントする。
次に、タイムアウト検出部320及び遅延検出部325は、図5のS610及びS625と同様にして、当該サーバ側要求メッセージの遅延又はタイムアウトを検出する(S610、S625)。応答モニタ部315は、サーバ側要求メッセージに対するサーバ側応答メッセージを遅延又はタイムアウトなく受信できた場合(S610:No)に、宛先に対応付けてサーバ状態記憶部330に記憶されている遅延情報又はタイムアウト情報があればこれを削除する(S710)。そして、応答メッセージ記憶部355は、当該サーバ側応答メッセージを設定された遅延時間以内に受信できた場合(S610:No)に、サーバ側応答メッセージに対応するクライアント側応答メッセージを記憶する(S720)。この結果、代理応答部360は、次にクライアント側要求メッセージが情報端末100から再送された場合に、応答メッセージ記憶部355に記憶されたクライアント側応答メッセージを返信することができる。
一方、当該サーバ側要求メッセージの遅延が検出された場合(S610:Yes、S625:No)、サーバ状態記憶部330は、図5のS630と同様にして、当該宛先に対するサーバ側要求メッセージが遅延したことを示す遅延情報を記憶する(S630)。ここで、サーバ状態記憶部330は、当該宛先についてのタイムアウト情報が既にサーバ状態記憶部330に記憶されていた場合には、当該タイムアウト情報を削除しておく。そして、応答メッセージ記憶部355は、応答受信部350が受信したサーバ側応答メッセージに対応するクライアント側応答メッセージを記憶する(S720)。この結果、代理応答部360は、次にクライアント側要求メッセージが情報端末100から再送された場合に、応答メッセージ記憶部355に記憶されたクライアント側応答メッセージを返信することができる。
また、当該サーバ側要求メッセージのタイムアウトが検出された場合(S610:Yes、S625:Yes)に、サーバ状態記憶部330は、図5のS635と同様にして、当該サーバ側要求メッセージの宛先に対応付けて、当該宛先に対するサーバ側要求メッセージがタイムアウトしたことを示すタイムアウト情報を記憶する(S635)。この結果、要求モニタ部305及び代理タイムアウト応答部335は、次にクライアント側要求メッセージが情報端末100から再送された場合に、タイムアウト応答メッセージを返信することができる。
上記のS610又はS625においてサーバ側応答メッセージを受信した場合、及び、S625においてサーバ側要求メッセージのタイムアウトが検出された場合、応答モニタ部315はサーバ側応答メッセージ受信の監視を終了し、要求処理数計測部370は要求処理数をデクリメントする。ここで、図4のS530においてタイムアウトさせないことを決定したサーバ側要求メッセージに対するサーバ側応答メッセージを受信又はタイムアウトした場合、通過処理数計測部365は、通過処理数をデクリメントする。
以上に示した処理により、プロキシ装置220は、遅延する可能性が高い宛先について、情報端末100を応答待ち状態から解放させると共に、情報端末100の通信状態が悪化した場合等においても確実にサーバ側応答メッセージを取得して、クライアント側応答メッセージを情報端末100へ返信することができる。
図7は、本実施形態に係るプロキシシステム160のテンポラリ応答の内容の一例を示す。
図7(a)は、情報端末100が送信するクライアント側要求メッセージの要求内容の一例を示す。本例において、情報端末100は、HTTPプロトコルに基づく要求を送信する。
図7(b)はLocationレスポンスヘッダによるテンポラリ応答メッセージの一例を示す。図7(a)の要求内容を含むクライアント側要求メッセージを受信した場合に、テンポラリ応答部345は、図7(b)の応答内容を含むテンポラリ応答メッセージを返信する。すなわちテンポラリ応答部345は、テンポラリ応答メッセージに、情報端末100により再送されるクライアント側要求メッセージに含めるべき再送識別情報の一例である「proxy_redirected=サーバID」を含める。また、テンポラリ応答部345は、テンポラリ応答メッセージに、当該プロキシ装置220の識別情報である「サーバID」を含める。情報端末100は、このテンポラリ応答メッセージを受けると、再送識別情報及び当該プロキシ装置220の識別情報を含む「proxy_redirected=サーバID」を含むクライアント側要求メッセージを再送する。
この結果、要求モニタ部305は、図4のS505において、受信したクライアント側要求メッセージに「proxy_redirected=」が含まれる場合に、当該クライアント側要求メッセージが再送されたと判断することができる。そして、代理応答部360は、情報端末100から受信したクライアント側要求メッセージに再送識別情報が含まれ(S505:Yes)、かつ、当該クライアント側要求メッセージに当該プロキシ装置220の識別情報が含まれる場合(S540:No)に、応答メッセージ記憶部355に記憶されたクライアント側応答メッセージを返信することができる(S555)。
また、リカバリ処理部385は、図4のS540において、受信したクライアント側要求メッセージに当該プロキシ装置220以外の「サーバID」が含まれている場合に、元のクライアント側要求メッセージが他のプロキシ装置220宛に送付されたものであると判断することができる。そして、リカバリ処理部385は、情報端末100から受信したクライアント側要求メッセージに再送識別情報が含まれ(S505:Yes)、かつ、当該クライアント側要求メッセージに当該プロキシ装置220の識別情報が含まれない場合(S540:No)に、当該クライアント側要求メッセージに含まれるプロキシ装置220の識別情報により識別されるプロキシ装置220へ当該クライアント側要求メッセージを転送することができる(S550)。
図7(c)は情報端末100にページの自動再読み込みをさせるためのテンポラリ応答メッセージの一例を示す。図7(a)の要求内容を含むクライアント側要求メッセージを受信した場合に、テンポラリ応答部345は、図7(c)の応答内容を含むテンポラリ応答メッセージを返信してもよい。すなわち、テンポラリ応答部345は、テンポラリ応答メッセージに、再送識別情報の一例である「proxy_redirected=サーバID」を含める。また、テンポラリ応答部345は、テンポラリ応答メッセージに、当該プロキシ装置220の識別情報である「サーバID」を含める。また、テンポラリ応答部345は、テンポラリ応答メッセージに、当該クライアント側要求メッセージを再送するまでの待ち時間を指定する待ち時間指定情報の一例である「n;」(nは再送までの秒数)を含める。情報端末100は、図7(c)の応答内容を含むHTML形式のテンポラリ応答メッセージを受けると、再送識別情報及び当該プロキシ装置220の識別情報を含む「proxy_redirected=サーバID」を含むクライアント側要求メッセージをn秒後に再送する。
この結果、要求モニタ部305及びリカバリ処理部385は、図7(b)のテンポラリ応答メッセージを用いた場合と同様にして、再送されたクライアント側要求メッセージを適切に処理することができる。なお、テンポラリ応答部345は、遅延検出部325がサーバ側要求メッセージの遅延の検出に用いる遅延時間より長い待ち時間をテンポラリ応答メッセージに含めてよい。これに代えて、プロキシ装置220は、各宛先に対応付けて、サーバ側要求メッセージを送信してからサーバ側応答メッセージを受信するまでの経過時間を遅延情報と共にサーバ状態記憶部330に記憶しておき、この経過時間以上の待ち時間をテンポラリ応答メッセージに含める待ち時間として用いてもよい。
図8は、本実施形態に係るリカバリ処理部385の構成を示す。
リカバリ処理部385は、要求メッセージ転送部400と、DNSサーバ問合せ部410と、IPアドレス記憶部420と、IPアドレス問合せ部430と、IPアドレス問合せ応答部440とを有する。要求メッセージ転送部400は、情報端末100から受信したクライアント側要求メッセージに再送識別情報が含まれ、かつ、当該クライアント側要求メッセージに当該プロキシ装置220の識別情報が含まれない場合に、第1LAN210を介して、当該クライアント側要求メッセージに含まれるプロキシ装置220の識別情報により識別される他のプロキシ装置220へ当該クライアント側要求メッセージを転送する。DNSサーバ問合せ部410は、サーバ側要求メッセージを宛先のサーバ装置140へ送信する場合において、宛先のドメイン名に対応するIPアドレスを、第2LAN230及びWAN150を介してDNSサーバに問い合わせる。IPアドレス記憶部420は、DNSサーバから取得したIPアドレスを記憶する。IPアドレス問合せ部430は、DNSサーバに要求したアドレス解決がタイムアウトした場合に、第2LAN230を介して、プロキシシステム160内の他のプロキシ装置220に対して当該ドメイン名に対応するIPアドレスを問い合わせる。IPアドレス問合せ応答部440は、他のプロキシ装置220からIPアドレスの問い合わせを受けた場合に、宛先のドメイン名に対応付けてIPアドレス記憶部420に記憶されたIPアドレスを返信する。
図9は、本実施形態に係るリカバリ処理部385によるIPアドレス解決のリカバリ処理フローを示す。まず、DNSサーバ問合せ部410は、情報端末100から受信したクライアント側要求メッセージに含まれる宛先のドメイン名に対応するIPアドレスがIPアドレス記憶部420に記憶されていない場合、又は、IPアドレス記憶部420に記憶されたIPアドレスの有効期限が切れており使用できない場合に、当該IPアドレスをWAN150等に接続されたDNSサーバに問い合わせる(S900)。DNSサーバから当該IPアドレスの応答を受け、当該IPアドレスを取得できた場合(S910:Yes)、DNSサーバ問合せ部410は、当該ドメイン名に対応付けて当該IPアドレスをIPアドレス記憶部420に記憶させ、要求送信部310へ供給する(S940)。
一方、DNSサーバへの問い合わせがタイムアウトした場合に、IPアドレス問合せ部430は、第2LAN230を介して他のプロキシ装置220に対して当該ドメイン名を送信し、当該ドメイン名に対応するIPアドレスを問い合わせる(S920)。当該他のプロキシ装置220内のIPアドレス問合せ部430は、要求元のプロキシ装置220からドメイン名に対応するIPアドレスの問い合わせを受けた場合に、当該ドメイン名に対応するIPアドレスがIPアドレス記憶部420に記憶されているか否かを検索する。そして、当該他のプロキシ装置220内のIPアドレス問合せ応答部440は、当該ドメイン名に対応するIPアドレスがIPアドレス記憶部420に記憶されている場合に、当該ドメイン名に対応するIPアドレスを当該要求元のプロキシ装置220に返信する。この結果、要求元のIPアドレス問合せ部430は、ドメイン名に対するIPアドレスを取得する(S930:Yes)。そしてIPアドレス記憶部420は、宛先のドメイン名に対応付けて当該IPアドレスを記憶すると共に、要求送信部310へ供給する(S940)。
以上に示したリカバリ処理によれば、リカバリ処理部385は、DNSサーバに対するIPアドレスの問い合わせがタイムアウトした場合であっても、他のプロキシ装置220にキャッシュされたIPアドレスを取得して、サーバ側要求メッセージを送信することができる。したがってプロキシ装置220は、DNSサーバに障害が発生している場合においてもアクセス処理を継続することができ、アクセス処理が滞留するのを防ぐことができる。
図10は、本実施形態に係る要求モニタ部305によるフィルタ範囲変更方法の一例を示す。
まず、タイムアウト検出部320は、宛先のURL_A「http://www.abc_corp.com /whats_new」に対するサーバ側要求メッセージAのタイムアウトを検出した場合に、宛先を指定する当該URLに対応付けて、タイムアウト情報をサーバ状態記憶部330に記憶させる。これにより、要求モニタ部305は、ホスト名「www.abc_corp.com」上のディレクトリ「whats_new」を宛先とするクライアント側要求メッセージについて、代理タイムアウト応答を行うことを決定する。
次に、サーバ側要求メッセージAの宛先と同一のホスト名「www.abc_corp.com」を含むURL_B「http://www.abc_corp.com /index.html」を指定する他のサーバ側要求メッセージBのタイムアウトが検出された場合に、サーバ状態記憶部330は、タイムアウト情報に対応付けられる宛先の範囲を、サーバ側要求メッセージA及びBの宛先に共通する部分の範囲に変更して記憶する。すなわちサーバ状態記憶部330は、タイムアウト検出部320からの指示に基づいて、URL_Aについてのタイムアウト情報を、URL_A及びURL_Bの共通部分の少なくとも一部である「http://www.abc_corp.com」に対応付ける変更を行う。
これにより要求モニタ部305は、宛先URL「http://www.abc_corp.com」を少なくとも一部に含む他のクライアント側要求メッセージを情報端末100から受信した場合に、当該クライアント側要求メッセージをタイムアウトさせることを決定する。すなわち、プロキシ装置220は、サーバ装置140上のファイル、ディレクトリ、又はアプリケーションプログラム等を宛先とするサーバ側要求メッセージがタイムアウトした場合に、当該ファイル、ディレクトリ、又はアプリケーションプログラム等に対応付けてタイムアウト情報を記憶する。そして、プロキシ装置220は、同一のサーバ装置140上の他のファイル、ディレクトリ、又はアプリケーションプログラム等を宛先とするサーバ側要求メッセージがタイムアウトした場合に、タイムアウトしたサーバ側要求メッセージに共通する宛先の範囲のホスト、ディレクトリ、又はアプリケーションプログラム等に対応付けて、タイムアウト情報を記憶するよう変更する。
以上に示した処理によれば、プロキシ装置220は、同一のホスト名を含む複数のURLについてサーバ側要求メッセージがタイムアウトした場合に、これらの複数のURLに共通する範囲に障害が生じていると判断することができ、タイムアウト情報を記憶する宛先を適切な範囲に設定することができる。
図11は、本実施形態に係る要求通過数調整部380によるフィルタ範囲変更方法の他の一例を示す。
まず、タイムアウト検出部320は、URL「http://www.abc_corp.com /shopping /search.php ? user=sample」を宛先とするサーバ側要求メッセージのタイムアウトが検出された場合に、当該URLに対応付けてタイムアウト情報をサーバ状態記憶部330に記憶させる。次に、要求通過数調整部380は、要求処理数がより大きい場合に、要求処理数がより小さい場合と比較してサーバ状態記憶部330に記憶されたURLの比較範囲を、より多くのクライアント側要求メッセージをタイムアウトさせるように変更する。
すなわち例えば、要求通過数調整部380は、要求処理数が大きくなるにしたがって、URLの比較範囲を「http://www.abc_corp.com /shopping /search.php ?user=sample」から、「http://www.abc_corp.com /shopping /search.php」、「http://www.abc_corp.com /shopping」、及び「http://www.abc_corp.com」というように変更して、下位階層の文字列についての制約を無くしていく。この結果、要求通過数調整部380は、より多くのクライアント側要求メッセージの宛先URLを当該URLにマッチングさせて、タイムアウトさせることができる。
そして、要求モニタ部305は、タイムアウト情報に対応付けられたURLのうち要求通過数調整部380により指定された比較範囲に対応する部分が、クライアント側要求メッセージにより指定されるURLに含まれる場合に、クライアント側要求メッセージをタイムアウトさせることを決定する。すなわち、上記の例において要求モニタ部305は、新たに受信したクライアント側要求メッセージの宛先を、「タイムアウト情報の宛先と同一サーバ装置140上の同一サーバアプリケーションの同一パラメータによる処理」、「タイムアウト情報の宛先と同一サーバ装置140上の同一サーバアプリケーション」、「タイムアウト情報の宛先と同一サーバ装置140上の同一ディレクトリ」、及び「タイムアウト情報の宛先と同一サーバ装置140」のうち、要求通過数調整部380により指定された比較範囲に対応する範囲と比較して、タイムアウトさせるか否かを決定する。
この結果、プロキシ装置220は、負荷が高い場合においてはタイムアウトの可能性が比較的低い宛先についても代理タイムアウト応答及び/又はを行う一方、負荷が低い場合においてはタイムアウトの可能性が比較的高い宛先についても通常の応答処理を行うことができ、負荷状況に応じて適切なアクセス処理を選択することができる。
以上において、要求モニタ部305及び/又は要求通過数調整部380は、要求処理数に代えて、通過処理数計測部365により計測された通過処理数や、応答サイズ計測部375により算出されたサーバ側応答メッセージのサイズ等に応じてURLの比較範囲を変更してもよい。
図12は、本実施形態に係るコンピュータ1100のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1100は、ホスト・コントローラ1282により相互に接続されるCPU1200、RAM1220、グラフィック・コントローラ1275、及び表示装置1280を有するCPU周辺部と、入出力コントローラ1284によりホスト・コントローラ1282に接続される通信インターフェイス1230、ハードディスクドライブ1240、及びCD−ROMドライブ1260を有する入出力部と、入出力コントローラ1284に接続されるROM1210、フレキシブルディスク・ドライブ1250、及び入出力チップ1270を有するレガシー入出力部とを備える。
ホスト・コントローラ1282は、RAM1220と、高い転送レートでRAM1220をアクセスするCPU1200及びグラフィック・コントローラ1275とを接続する。CPU1200は、ROM1210及びRAM1220に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ1275は、CPU1200等がRAM1220内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置1280上に表示させる。これに代えて、グラフィック・コントローラ1275は、CPU1200等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ1284は、ホスト・コントローラ1282と、比較的高速な入出力装置である通信インターフェイス1230、ハードディスクドライブ1240、CD−ROMドライブ1260を接続する。通信インターフェイス1230は、ネットワークを介して他の装置と通信する。ハードディスクドライブ1240は、コンピュータ1100内のCPU1200が使用するプログラム及びデータを格納する。CD−ROMドライブ1260は、CD−ROM1295からプログラム又はデータを読み取り、RAM1220を介してハードディスクドライブ1240に提供する。
また、入出力コントローラ1284には、ROM1210と、フレキシブルディスク・ドライブ1250、及び入出力チップ1270の比較的低速な入出力装置とが接続される。ROM1210は、コンピュータ1100が起動時に実行するブート・プログラムや、コンピュータ1100のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ1250は、フレキシブルディスク1290からプログラム又はデータを読み取り、RAM1220を介してハードディスクドライブ1240に提供する。入出力チップ1270は、フレキシブルディスク・ドライブ1250や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
RAM1220を介してハードディスクドライブ1240に提供されるプログラムは、フレキシブルディスク1290、CD−ROM1295、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM1220を介してコンピュータ1100内のハードディスクドライブ1240にインストールされ、CPU1200において実行される。
コンピュータ1100にインストールされ、コンピュータ1100をプロキシ装置220として機能させるプログラムは、要求受信モジュールと、要求モニタモジュールと、要求送信モジュールと、応答モニタモジュールと、タイムアウト検出モジュールと、遅延検出モジュールと、サーバ状態管理モジュールと、代理タイムアウト応答モジュールと、応答送信モジュールと、テンポラリ応答モジュールと、応答受信モジュールと、応答メッセージ管理モジュールと、代理応答モジュールと、通過処理数計測モジュールと、要求処理数計測モジュールと、応答サイズ計測モジュールと、要求通過数調整モジュールと、リカバリ処理モジュールとを備える。これらのプログラム又はモジュールは、CPU1200等に働きかけて、コンピュータ1100を、要求受信部300と、要求モニタ部305と、要求送信部310と、応答モニタ部315と、タイムアウト検出部320と、遅延検出部325と、サーバ状態記憶部330と、代理タイムアウト応答部335と、応答送信部340と、テンポラリ応答部345と、応答受信部350と、応答メッセージ記憶部355と、代理応答部360と、通過処理数計測部365と、要求処理数計測部370と、応答サイズ計測部375と、要求通過数調整部380と、リカバリ処理部385としてそれぞれ機能させる。
また、リカバリ処理モジュールは、要求メッセージ転送モジュールと、DNSサーバ問合せモジュールと、IPアドレス管理モジュールと、IPアドレス問合せモジュールと、IPアドレス問合せ応答モジュールとを有する。これらのプログラム又はモジュールは、CPU1200等に働きかけて、コンピュータ1100を、要求メッセージ転送部400と、DNSサーバ問合せ部410と、IPアドレス記憶部420と、IPアドレス問合せ部430と、IPアドレス問合せ応答部440としてそれぞれ機能させる。
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1290、CD−ROM1295の他に、DVDやCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1100に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
本発明の実施形態に係る通信システム10の構成を示す。 本発明の実施形態に係るプロキシシステム160の構成を示す。 本発明の実施形態に係るプロキシ装置220の構成を示す。 本発明の実施形態に係るプロキシシステム160の動作フローを示す。 本発明の実施形態に係るプロキシシステム160の通常の要求応答処理フローを示す。 本発明の実施形態に係るプロキシシステム160の代理応答処理フローを示す。 本発明の実施形態に係るプロキシシステム160のテンポラリ応答の内容の一例を示す。図7(a)は要求メッセージ、図7(b)はLocationレスポンスヘッダによるテンポラリ応答メッセージの一例、図7(c)は情報端末100にページの自動再読み込みをさせるためのテンポラリ応答メッセージの一例をそれぞれ示す。 本発明の実施形態に係るリカバリ処理部385の構成を示す。 本発明の実施形態に係るリカバリ処理部385によるリカバリ処理フローを示す。 本発明の実施形態に係る要求モニタ部305によるフィルタ範囲変更方法の一例を示す。 本発明の実施形態に係る要求通過数調整部380によるフィルタ範囲変更方法の他の一例を示す。 本発明の実施形態に係るコンピュータ1100のハードウェア構成の一例を示す。
符号の説明
10 通信システム
100 情報端末
110 基地局
120 キャリア通信網
130 基地局制御装置
140 サーバ装置
150 WAN
160 プロキシシステム
200 負荷分散装置
210 第1LAN
220 プロキシ装置
230 第2LAN
300 要求受信部
305 要求モニタ部
310 要求送信部
315 応答モニタ部
320 タイムアウト検出部
325 遅延検出部
330 サーバ状態記憶部
335 代理タイムアウト応答部
340 応答送信部
345 テンポラリ応答部
350 応答受信部
355 応答メッセージ記憶部
360 代理応答部
365 通過処理数計測部
370 要求処理数計測部
375 応答サイズ計測部
380 要求通過数調整部
385 リカバリ処理部
400 要求メッセージ転送部
410 DNSサーバ問合せ部
420 IPアドレス記憶部
430 IPアドレス問合せ部
440 IPアドレス問合せ応答部
1100 コンピュータ
1200 CPU
1210 ROM
1220 RAM
1230 通信インターフェイス
1240 ハードディスクドライブ
1250 フレキシブルディスク・ドライブ
1260 CD−ROMドライブ
1270 入出力チップ
1275 グラフィック・コントローラ
1280 表示装置
1282 ホスト・コントローラ
1284 入出力コントローラ
1290 フレキシブルディスク
1295 CD−ROM

Claims (18)

  1. 第1の要求元装置から受信した第1のクライアント側要求メッセージに基づく第1のサーバ側要求メッセージを、宛先のサーバ装置へ送信する要求送信部と、
    前記第1のサーバ側要求メッセージのタイムアウトが検出された場合に、当該宛先に対するサーバ側要求メッセージがタイムアウトしたことを示すタイムアウト情報を記憶するサーバ状態記憶部と、
    第2の要求元装置から受信した第2のクライアント側要求メッセージの宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている場合に、当該第2のクライアント側要求メッセージをタイムアウトさせることを決定する要求モニタ部と、
    タイムアウトさせると決定された前記第2のクライアント側要求メッセージに対応する第2のサーバ側要求メッセージを宛先のサーバ装置へ送信させずに、前記第2のクライアント側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを前記第2の要求元装置へ送信する代理タイムアウト応答部と
    を備え
    前記要求モニタ部は、宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている複数の前記第2のクライアント側要求メッセージのうち一部の前記第2のクライアント側要求メッセージをタイムアウトさせないことを決定し、
    前記要求送信部は、タイムアウトさせないと決定された前記第2のクライアント側要求メッセージに対応する前記第2のサーバ側要求メッセージを、宛先のサーバ装置へ送信し、
    更に、宛先のサーバ装置へ送信した前記第2のサーバ側要求メッセージに対する第2のサーバ側応答メッセージを受信した場合に、当該宛先に対応付けて前記サーバ状態記憶部に記憶された前記タイムアウト情報を削除する応答モニタ部を備える情報処理装置。
  2. 前記要求モニタ部は、宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている複数の前記第2のクライアント側要求メッセージのうち、予め設定された割合の前記第2のクライアント側要求メッセージをタイムアウトさせないことを決定する
    請求項記載の情報処理装置。
  3. 宛先のサーバ装置へ送信されたサーバ側要求メッセージのうち、対応するサーバ側応答メッセージを受信していない要求処理数を計測する要求処理数計測部と、
    前記要求処理数がより大きい場合に、前記要求処理数がより小さい場合と比較して前記割合を小さくする要求通過数調整部と
    を更に備える請求項記載の情報処理装置。
  4. 各宛先毎に、当該宛先のサーバ装置から受信したサーバ側応答メッセージのサイズの統計を取る応答サイズ計測部と、
    前記サイズがより大きい場合に、前記サイズがより小さい場合と比較して前記割合を小さくする要求通過数調整部と
    を更に備える請求項記載の情報処理装置。
  5. 前記要求モニタ部は、宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されており、かつ、当該宛先のサーバ装置へサーバ側要求メッセージを送信してから予め設定された期間が経過している場合に、前記第2のクライアント側要求メッセージをタイムアウトさせないことを決定する
    請求項記載の情報処理装置。
  6. 宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている複数の前記第2のサーバ側要求メッセージのうち、宛先のサーバ装置へ送信され、対応するサーバ側応答メッセージを受信していない通過処理数を計測する通過処理数計測部を更に備え、
    前記要求モニタ部は、前記通過処理数が予め設定された上限値以下の場合に、宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている前記第2のクライアント側要求メッセージをタイムアウトさせないことを決定する
    請求項記載の情報処理装置。
  7. 前記第1のサーバ側要求メッセージを送信してから予め設定されたタイムアウト時間の間に当該第1のサーバ側要求メッセージに対する第1のサーバ側応答メッセージを受信しない場合に、当該第1のサーバ側要求メッセージのタイムアウトを検出するタイムアウト検出部と、
    前記第1のサーバ側要求メッセージを宛先のサーバ装置へ送信してから予め設定された遅延時間の経過後かつ前記タイムアウト時間の経過前に、前記第1のサーバ側要求メッセージに対する第1のサーバ側応答メッセージを受信した場合に、前記第1のサーバ側要求メッセージの遅延を検出する遅延検出部と
    を更に備え、
    前記サーバ状態記憶部は、前記第1のサーバ側要求メッセージの遅延が検出された場合に、当該宛先に対するサーバ側要求メッセージが遅延したことを示す遅延情報を記憶し、
    前記要求モニタ部は、前記第2の要求元装置から受信した第2のクライアント側要求メッセージの宛先について前記遅延情報が前記サーバ状態記憶部に記憶されている場合に、前記第2のクライアント側要求メッセージを当該第2の要求元装置により再送させることを決定し、
    前記要求送信部は、再送させると決定された前記第2のクライアント側要求メッセージに対応する前記第2のサーバ側要求メッセージを、宛先のサーバ装置へ送信し、
    当該情報処理装置は、更に、
    再送される前記第2のクライアント側要求メッセージに含めるべき再送識別情報を含むテンポラリ応答メッセージを前記第2の要求元装置へ送信するテンポラリ応答部と、
    前記第2のサーバ側要求メッセージに対する第2のサーバ側応答メッセージを受信した場合に、当該第2のサーバ側応答メッセージに対応して当該第2の要求元装置に返信すべき第2のクライアント側応答メッセージを記憶する応答メッセージ記憶部と、
    前記第2の要求元装置から受信した前記第2のクライアント側要求メッセージに前記再送識別情報が含まれる場合に、前記応答メッセージ記憶部に記憶された前記第2のクライアント側応答メッセージを返信する代理応答部と
    を備える請求項1記載の情報処理装置。
  8. 前記テンポラリ応答部は、前記再送識別情報と、前記第2のクライアント側要求メッセージを再送するまでの待ち時間を指定する待ち時間指定情報とを含む前記テンポラリ応答メッセージを要求元の前記第2の要求元装置へ送信する
    請求項記載の情報処理装置。
  9. 前記テンポラリ応答部は、前記予め設定された遅延時間より長い前記待ち時間を前記テンポラリ応答メッセージに含める
    請求項記載の情報処理装置。
  10. 前記サーバ状態記憶部は、宛先に対応付けて、前記遅延情報、及び、前記第1のサーバ側要求メッセージを送信してから前記第1のサーバ側応答メッセージを受信するまでの経過時間を記憶し、
    前記テンポラリ応答部は、前記経過時間以上の前記待ち時間を前記テンポラリ応答メッセージに含める
    請求項記載の情報処理装置。
  11. 前記サーバ状態記憶部は、
    一の前記第1のサーバ側要求メッセージのタイムアウトが検出された場合に、前記一の第1のサーバ側要求メッセージの宛先を指定する第1URL(Uniform Resource Locator)に対応付けて、当該第1URLをアクセスするサーバ側要求メッセージがタイムアウトしたことを示す前記タイムアウト情報を記憶し、
    前記第1URLと同一のホスト名を含む第2URLを指定する他の前記第1のサーバ側要求メッセージのタイムアウトが検出された場合に、前記タイムアウト情報を、前記第1URL及び前記第2URLの共通部分の少なくとも一部である第3URLに対応付ける変更を行い、
    前記要求モニタ部は、前記第3URLを少なくとも一部に含む第2のクライアント側要求メッセージを前記第2の要求元装置から受信した場合に、前記第2のクライアント側要求メッセージをタイムアウトさせることを決定する
    請求項1記載の情報処理装置。
  12. 前記サーバ状態記憶部は、前記第1のサーバ側要求メッセージのタイムアウトが検出された場合に、前記第1のサーバ側要求メッセージの宛先を指定するURLに対応付けて、当該URLをアクセスするサーバ側要求メッセージがタイムアウトしたことを示す前記タイムアウト情報を記憶し、
    当該情報処理装置は、更に、
    宛先のサーバ装置へ送信されたサーバ側要求メッセージのうち、対応するサーバ側応答メッセージを受信していない要求処理数を計測する要求処理数計測部と、
    前記要求処理数がより大きい場合に、前記要求処理数がより小さい場合と比較して前記サーバ状態記憶部に記憶されたURLの比較範囲をより広くする要求通過数調整部と
    を備え、
    前記要求モニタ部は、前記タイムアウト情報に対応付けられたURLのうち前記要求通過数調整部により指定された比較範囲に対応する部分が、前記第2のクライアント側要求メッセージにより指定されるURLに含まれる場合に、前記第2のクライアント側要求メッセージをタイムアウトさせることを決定する
    請求項1記載の情報処理装置。
  13. 要求元装置から受信したクライアント側要求メッセージに基づくサーバ側要求メッセージをサーバ装置へ送信し、前記サーバ装置により返信されたサーバ側応答メッセージに基づくクライアント側応答メッセージを前記要求元装置へ返信する複数の情報処理装置と、
    要求元装置から受信したクライアント側要求メッセージを、前記複数の情報処理装置のいずれかへ転送する負荷分散装置と
    を備え、
    前記複数の情報処理装置のそれぞれは、
    第1の要求元装置から受信した第1のクライアント側要求メッセージに基づく第1のサーバ側要求メッセージを、宛先のサーバ装置へ送信する要求送信部と、
    前記第1のサーバ側要求メッセージのタイムアウトが検出された場合に、当該宛先に対するサーバ側要求メッセージがタイムアウトしたことを示すタイムアウト情報を記憶するサーバ状態記憶部と、
    第2の要求元装置から受信した第2のクライアント側要求メッセージの宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている場合に、当該第2のクライアント側要求メッセージをタイムアウトさせることを決定する要求モニタ部と、
    タイムアウトさせると決定された前記第2のクライアント側要求メッセージに対応する第2のサーバ側要求メッセージを宛先のサーバ装置へ送信させずに、前記第2のクライアント側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを要求元の前記第2の要求元装置へ送信する代理タイムアウト応答部と
    を有し、
    前記複数の情報処理装置のそれぞれにおいて、
    前記要求モニタ部は、宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている複数の前記第2のクライアント側要求メッセージのうち一部の前記第2のクライアント側要求メッセージをタイムアウトさせないことを決定し、
    前記要求送信部は、タイムアウトさせないと決定された前記第2のクライアント側要求メッセージに対応する前記第2のサーバ側要求メッセージを、宛先のサーバ装置へ送信し、
    前記複数の情報処理装置のそれぞれは、更に、宛先のサーバ装置へ送信した前記第2のサーバ側要求メッセージに対する第2のサーバ側応答メッセージを受信した場合に、当該宛先に対応付けて前記サーバ状態記憶部に記憶された前記タイムアウト情報を削除する応答モニタ部を有する情報システム。
  14. 前記複数の情報処理装置のそれぞれは、
    前記第1のサーバ側要求メッセージを送信してから予め設定されたタイムアウト時間の間に当該第1のサーバ側要求メッセージに対する第1のサーバ側応答メッセージを受信しない場合に、当該第1のサーバ側要求メッセージのタイムアウトを検出するタイムアウト検出部と、
    前記第1のサーバ側要求メッセージを宛先のサーバ装置へ送信してから予め設定された遅延時間の経過後かつ前記タイムアウト時間の経過前に前記第1のサーバ側要求メッセージに対する第1のサーバ側応答メッセージを受信した場合に、前記第1のサーバ側要求メッセージの遅延を検出する遅延検出部と
    を更に有し、
    前記サーバ状態記憶部は、前記第1のサーバ側要求メッセージの遅延が検出された場合に、当該宛先に対するサーバ側要求メッセージが遅延したことを示す遅延情報を記憶し、
    前記要求モニタ部は、前記第2の要求元装置から受信した第2のクライアント側要求メッセージの宛先について前記遅延情報が前記サーバ状態記憶部に記憶されている場合に、前記第2のクライアント側要求メッセージを当該第2の要求元装置により再送させることを決定し、
    前記要求送信部は、再送させると決定された前記第2のクライアント側要求メッセージに対応する前記第2のサーバ側要求メッセージを、宛先のサーバ装置へ送信し、
    前記複数の情報処理装置のそれぞれは、更に、
    再送される前記第2のクライアント側要求メッセージに含めるべき再送識別情報と、当該情報処理装置の識別情報とを含むテンポラリ応答メッセージを要求元の前記第2の要求元装置へ送信するテンポラリ応答部と、
    前記第2のサーバ側要求メッセージに対する第2のサーバ側応答メッセージを受信した場合に、当該第2のサーバ側応答メッセージに対応して当該第2の要求元装置に返信すべき第2のクライアント側応答メッセージを記憶する応答メッセージ記憶部と、
    前記第2の要求元装置から受信した前記第2のクライアント側要求メッセージに前記再送識別情報が含まれ、かつ、当該第2のクライアント側要求メッセージに当該情報処理装置の識別情報が含まれる場合に、前記応答メッセージ記憶部に記憶された前記第2のクライアント側応答メッセージを返信する代理応答部と、
    前記第2の要求元装置から受信した前記第2のクライアント側要求メッセージに前記再送識別情報が含まれ、かつ、当該第2のクライアント側要求メッセージに当該情報処理装置の識別情報が含まれない場合に、当該第2のクライアント側要求メッセージに含まれる情報処理装置の識別情報により識別される情報処理装置へ当該第2のクライアント側要求メッセージを転送する要求メッセージ転送部と
    を有する
    請求項13記載の情報システム。
  15. 前記複数の情報処理装置のそれぞれは、
    前記第1の要求元装置から受信した第1のクライアント側要求メッセージに含まれる宛先のドメイン名に対応するIPアドレスをDNS(Domain Name Service)サーバに問い合わせるDNSサーバ問合せ部と、
    前記ドメイン名に対応するIPアドレスをDNSサーバから取得した場合に、当該ドメイン名に対応付けて当該IPアドレスを記憶するIPアドレス記憶部と、
    前記DNSサーバへの問い合わせがタイムアウトした場合に、他の前記情報処理装置に対して当該ドメイン名に対応するIPアドレスを問い合わせるIPアドレス問合せ部と、
    他の前記情報処理装置からドメイン名に対応するIPアドレスの問い合わせを受けた場合において、当該ドメイン名に対応するIPアドレスが前記IPアドレス記憶部に記憶されている場合に、当該ドメイン名に対応するIPアドレスを当該他の情報処理装置に返信するIPアドレス問合せ応答部と
    を備える請求項13記載の情報システム。
  16. 要求元装置から受信したクライアント側要求メッセージに基づくサーバ側要求メッセージをサーバ装置へ送信し、前記サーバ装置により返信されたサーバ側応答メッセージに基づくクライアント側応答メッセージを前記要求元装置へ返信する情報処理装置におけるプロキシ処理方法であって、
    第1の要求元装置から受信した第1のクライアント側要求メッセージに基づく第1のサーバ側要求メッセージを、宛先のサーバ装置へ送信する要求送信段階と、
    前記第1のサーバ側要求メッセージのタイムアウトが検出された場合に、当該宛先に対するサーバ側要求メッセージがタイムアウトしたことを示すタイムアウト情報を記憶するサーバ状態記憶段階と、
    第2の要求元装置から受信した第2のクライアント側要求メッセージの宛先についての前記タイムアウト情報が前記サーバ状態記憶段階において記憶されている場合に、当該第2のクライアント側要求メッセージをタイムアウトさせることを決定する要求モニタ段階と、
    タイムアウトさせると決定された前記第2のクライアント側要求メッセージに対応する第2のサーバ側要求メッセージを宛先のサーバ装置へ送信させずに、前記第2のクライアント側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを前記第2の要求元装置へ送信する代理タイムアウト応答段階と
    を備え
    前記要求モニタ段階において、宛先についての前記タイムアウト情報が前記サーバ状態記憶段階において記憶されている複数の前記第2のクライアント側要求メッセージのうち一部の前記第2のクライアント側要求メッセージをタイムアウトさせないことを決定し、
    前記要求送信段階において、タイムアウトさせないと決定された前記第2のクライアント側要求メッセージに対応する前記第2のサーバ側要求メッセージを、宛先のサーバ装置へ送信し、
    更に、宛先のサーバ装置へ送信した前記第2のサーバ側要求メッセージに対する第2のサーバ側応答メッセージを受信した場合に、当該宛先に対応付けて前記サーバ状態記憶段階において記憶された前記タイムアウト情報を削除する応答モニタ段階を備えるプロキシ処理方法。
  17. 要求元装置から受信したクライアント側要求メッセージに基づくサーバ側要求メッセージをサーバ装置へ送信し、前記サーバ装置により返信されたサーバ側応答メッセージに基づくクライアント側応答メッセージを前記要求元装置へ返信する情報処理装置用のプログラムであって、
    当該プログラムは、前記情報処理装置を、
    第1の要求元装置から受信した第1のクライアント側要求メッセージに基づく第1のサーバ側要求メッセージを、宛先のサーバ装置へ送信する要求送信部と、
    前記第1のサーバ側要求メッセージのタイムアウトが検出された場合に、当該宛先に対するサーバ側要求メッセージがタイムアウトしたことを示すタイムアウト情報を記憶するサーバ状態記憶部と、
    第2の要求元装置から受信した第2のクライアント側要求メッセージの宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている場合に、当該第2のクライアント側要求メッセージをタイムアウトさせることを決定する要求モニタ部と、
    タイムアウトさせると決定された前記第2のクライアント側要求メッセージに対応する第2のサーバ側要求メッセージを宛先のサーバ装置へ送信させずに、前記第2のクライアント側要求メッセージがタイムアウトしたことを示すタイムアウト応答メッセージを要求元の前記第2の要求元装置へ送信する代理タイムアウト応答部と
    して機能させ
    前記要求モニタ部は、宛先についての前記タイムアウト情報が前記サーバ状態記憶部に記憶されている複数の前記第2のクライアント側要求メッセージのうち一部の前記第2のクライアント側要求メッセージをタイムアウトさせないことを決定し、
    前記要求送信部は、タイムアウトさせないと決定された前記第2のクライアント側要求メッセージに対応する前記第2のサーバ側要求メッセージを、宛先のサーバ装置へ送信し、
    更に、宛先のサーバ装置へ送信した前記第2のサーバ側要求メッセージに対する第2のサーバ側応答メッセージを受信した場合に、当該宛先に対応付けて前記サーバ状態記憶部に記憶された前記タイムアウト情報を削除する応答モニタ部を備えるプログラム。
  18. 請求項17記載のプログラムを記録した、コンピュータ読み取り可能な記録媒体。
JP2004145648A 2004-05-14 2004-05-14 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体 Expired - Fee Related JP4144882B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004145648A JP4144882B2 (ja) 2004-05-14 2004-05-14 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体
US11/127,703 US7711956B2 (en) 2004-05-14 2005-05-12 Information processing apparatus, information system, proxy processing method, and program and recording medium therefor
CN200510068768A CN100586120C (zh) 2004-05-14 2005-05-12 信息处理设备、信息系统和信息处理设备中的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004145648A JP4144882B2 (ja) 2004-05-14 2004-05-14 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体

Publications (2)

Publication Number Publication Date
JP2005327137A JP2005327137A (ja) 2005-11-24
JP4144882B2 true JP4144882B2 (ja) 2008-09-03

Family

ID=35310848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004145648A Expired - Fee Related JP4144882B2 (ja) 2004-05-14 2004-05-14 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体

Country Status (3)

Country Link
US (1) US7711956B2 (ja)
JP (1) JP4144882B2 (ja)
CN (1) CN100586120C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9011134B2 (en) 2010-05-03 2015-04-21 Oerlikon Textile Gmbh & Co., Kg Method and apparatus for fibrillating synthetic ribbons

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8174713B2 (en) 2004-11-05 2012-05-08 Brother Kogyo Kabushiki Kaisha Image processing system with an information transmitting system, image processing device and data processing program therefor
US8171127B2 (en) * 2005-10-07 2012-05-01 Citrix Systems, Inc. Systems and methods for response monitoring
US8233384B2 (en) * 2005-12-21 2012-07-31 Rockstar Bidco, LP Geographic redundancy in communication networks
CN1997006B (zh) * 2006-01-06 2011-06-22 鸿富锦精密工业(深圳)有限公司 网络通信中转控制系统及方法
US8312120B2 (en) 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
US8493858B2 (en) * 2006-08-22 2013-07-23 Citrix Systems, Inc Systems and methods for providing dynamic connection spillover among virtual servers
JP5034993B2 (ja) * 2007-02-07 2012-09-26 ブラザー工業株式会社 情報処理装置、および情報処理方法
WO2008105031A1 (ja) 2007-02-28 2008-09-04 Fujitsu Limited クラスタシステムおよびノード切り替え方法
US8572160B2 (en) 2007-03-12 2013-10-29 Citrix Systems, Inc. Systems and methods for script injection
US9021140B2 (en) * 2007-03-12 2015-04-28 Citrix Systems, Inc. Systems and methods for error detection
US8302168B2 (en) * 2008-01-18 2012-10-30 Hewlett-Packard Development Company, L.P. Push artifact binding for communication in a federated identity system
US7865785B2 (en) * 2008-02-13 2011-01-04 Honeywell International Inc. System and method for improving communications for systems having communications protocol enabled devices
US9635135B1 (en) * 2008-04-21 2017-04-25 United Services Automobile Association (Usaa) Systems and methods for handling replies to transaction requests
JP4979643B2 (ja) * 2008-05-27 2012-07-18 ヤフー株式会社 メッセージ判定装置、方法及びプログラム
US8495238B1 (en) * 2008-05-28 2013-07-23 Google Inc. Facilitating self-tuning traffic shaping without a central traffic manager
WO2010056169A1 (en) * 2008-11-14 2010-05-20 Telefonaktiebolaget L M Ericsson (Publ) Gateway with http processing
US8234345B2 (en) * 2009-04-21 2012-07-31 International Business Machines Corporation Preserving a messaging service in a highly available environment
EP2514140A4 (en) * 2009-12-18 2017-02-22 Hewlett-Packard Enterprise Development LP Proxy agents in a network
CN102128622B (zh) * 2010-01-13 2013-08-14 神达电脑股份有限公司 个人导航装置及其查询及显示兴趣点项目的信息的方法
WO2012094675A2 (en) * 2011-01-07 2012-07-12 Seven Networks, Inc. System and method for reduction of mobile network traffic used for domain name system (dns) queries
US10169094B2 (en) * 2011-04-27 2019-01-01 Hewlett Packard Enterprise Development Lp Dynamic transaction-persistent server load balancing
EP2538635B1 (en) * 2011-06-21 2014-11-05 Alcatel Lucent Method of delivering content from a content delivery protocol server to a client, and device for use in such a method
JP5924883B2 (ja) * 2011-08-19 2016-05-25 キヤノン株式会社 情報処理システム、情報処理方法、情報処理装置
CN103477331B (zh) * 2012-02-20 2017-02-08 松下电器产业株式会社 启动装置、目标装置、通信系统、超时检测方法以及超时检测程序
CN103378997B (zh) * 2012-04-26 2018-07-24 中兴通讯股份有限公司 一种nfs性能监控方法、前端节点及系统
CN103716341B (zh) * 2012-09-28 2019-09-06 联想(北京)有限公司 一种信息处理方法、电子设备及服务平台
US9338192B1 (en) * 2012-12-28 2016-05-10 Juniper Networks, Inc. Connection management using connection request transfer protocol
CN103916411B (zh) * 2012-12-31 2018-02-02 北京新媒传信科技有限公司 超文本传输协议请求超时的处理方法及装置
CN103684738B (zh) * 2013-12-31 2017-06-13 曙光信息产业股份有限公司 一种防原消息干扰的方法及装置
CN104880998B (zh) * 2014-02-28 2018-08-10 联想(北京)有限公司 一种信息处理方法、服务器以及数据终端
JP6415925B2 (ja) * 2014-10-15 2018-10-31 京セラ株式会社 管理装置、管理プログラム、及び管理方法
CN104639555B (zh) * 2015-02-13 2018-07-10 广州华多网络科技有限公司 请求处理方法、系统和装置
CN104902029A (zh) * 2015-06-24 2015-09-09 北京麓柏科技有限公司 基于配置参数和客户端统计的存储请求控制
EP3348038B1 (en) * 2015-09-10 2021-09-08 Vimmi Communications Ltd. Content delivery network
CN106789431B (zh) * 2016-12-26 2019-12-06 中国银联股份有限公司 一种超时监控方法及装置
US11025638B2 (en) * 2018-07-19 2021-06-01 Forcepoint, LLC System and method providing security friction for atypical resource access requests
JP7363049B2 (ja) * 2019-02-18 2023-10-18 日本電気株式会社 業務サービス提供システム、業務サービス復旧方法及び業務サービス復旧プログラム
US11356383B2 (en) * 2020-06-19 2022-06-07 Hewlett Packard Enterprise Development Lp Cloud translation mechanism
CN113905091B (zh) * 2021-09-15 2023-09-01 盐城天眼察微科技有限公司 用于对访问请求进行处理的方法及装置
CN113923260B (zh) * 2021-09-28 2024-01-09 盐城天眼察微科技有限公司 一种对代理环境进行处理的方法、装置、终端及存储介质
CN115103005B (zh) * 2022-06-14 2024-08-16 北京京东乾石科技有限公司 请求响应方法、装置、电子设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070184A (en) 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
US6134588A (en) * 1997-11-12 2000-10-17 International Business Machines Corporation High availability web browser access to servers
US6446225B1 (en) * 1998-04-23 2002-09-03 Microsoft Corporation Server system with scalable session timeout mechanism
US7376741B1 (en) * 1999-03-19 2008-05-20 Hewlett-Packard Development Corporation, L.P. System for aborting response to client request if detecting connection between client server is closed by examining local server information
US6336117B1 (en) 1999-04-30 2002-01-01 International Business Machines Corporation Content-indexing search system and method providing search results consistent with content filtering and blocking policies implemented in a blocking engine
US6622167B1 (en) * 1999-06-30 2003-09-16 International Business Machines Corporation Document shadowing intranet server, memory medium and method
GB9920834D0 (en) * 1999-09-04 1999-11-10 Hewlett Packard Co Providing secure access through network firewalls
US6854018B1 (en) * 2000-03-20 2005-02-08 Nec Corporation System and method for intelligent web content fetch and delivery of any whole and partial undelivered objects in ascending order of object size
US7143128B1 (en) 2000-06-08 2006-11-28 International Business Machines Corporation Interactive data processor controlled display interface for tracking of allocated messages in a dynamic workload balancing communication system
AU2001296993A1 (en) * 2000-10-05 2002-04-15 Christopher Peiffer Connection management system and method
JP2002197005A (ja) 2000-12-26 2002-07-12 Ntt Docomo Inc サービス代行制御方法
JP3709797B2 (ja) 2001-02-27 2005-10-26 日本電気株式会社 プロキシサーバとウェブサーバを含むシステム及びそのプログラム
US6898701B2 (en) * 2001-04-27 2005-05-24 International Business Machines Corporation Method and system for organized booting of a target device in a network environment by a reservation server based on available boot resources
US20030051037A1 (en) * 2001-06-12 2003-03-13 Mukesh Sundaram Open portal interface manager
US20030156547A1 (en) * 2002-02-15 2003-08-21 Exanet. Inc. System and method for handling overload of requests in a client-server environment
JP2003333271A (ja) * 2002-05-17 2003-11-21 Sharp Corp ネットワーク通信装置
JP2004062402A (ja) * 2002-07-26 2004-02-26 Fujitsu Ltd タイムアウト管理システム、タイムアウト管理サーバ、およびタイムアウト管理プログラム
JP3882917B2 (ja) * 2003-04-03 2007-02-21 日本アイ・ビー・エム株式会社 情報処理システム、情報処理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9011134B2 (en) 2010-05-03 2015-04-21 Oerlikon Textile Gmbh & Co., Kg Method and apparatus for fibrillating synthetic ribbons

Also Published As

Publication number Publication date
CN100586120C (zh) 2010-01-27
JP2005327137A (ja) 2005-11-24
CN1738305A (zh) 2006-02-22
US7711956B2 (en) 2010-05-04
US20050257258A1 (en) 2005-11-17

Similar Documents

Publication Publication Date Title
JP4144882B2 (ja) 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体
US7945673B2 (en) Reduced wireless internet connect time
CN104798071B (zh) 在雾计算架构中使用边缘服务器改善网站性能
US7080158B1 (en) Network caching using resource redirection
US9608957B2 (en) Request routing using network computing components
US9800539B2 (en) Request routing management based on network components
EP2266064B1 (en) Request routing
US9160703B2 (en) Request routing management based on network components
EP2088744B1 (en) System and method for performing client-centric load balancing of multiple globally-dispersed servers
JP4512192B2 (ja) 輻輳制御装置、および、ネットワークの輻輳制御方法
JP4758362B2 (ja) 中継装置、プログラム及び中継方法
US20070073878A1 (en) System and method for lowering proxy bandwidth utilization
JPH1155324A (ja) コンピュータネットワークの通信システム
US20110280247A1 (en) System and method for reducing latency via multiple network connections
CN102014053A (zh) 业务下发方法、装置及通信系统
US20030231339A1 (en) Remote printing system and remote printing service method
CN104144275A (zh) 图像形成装置及方法
CN101567769A (zh) 数据重传方法、系统及对等节点
JP2003141002A (ja) Url長変換システム及びそのプログラム
EP3422674A1 (en) A method of resolving a domain name by a dns server to a plurality of ip addresses based on location information of the user equipment
KR101091980B1 (ko) 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법
JP2002175212A (ja) モバイルデバイスを介して情報を遠隔的に適用する方法および装置
CN103188323A (zh) 基于用户主机缓存设备提供Web服务的系统和方法
KR100463836B1 (ko) 무선 단말기 특성의 그룹화를 통한 컨텐츠 변환 및 캐슁시스템과 방법
CN115118700A (zh) 一种通信方法及通信系统

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071029

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071213

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20071228

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080610

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080616

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees