JP2004139366A - キャッシュ配置方法 - Google Patents
キャッシュ配置方法 Download PDFInfo
- Publication number
- JP2004139366A JP2004139366A JP2002303709A JP2002303709A JP2004139366A JP 2004139366 A JP2004139366 A JP 2004139366A JP 2002303709 A JP2002303709 A JP 2002303709A JP 2002303709 A JP2002303709 A JP 2002303709A JP 2004139366 A JP2004139366 A JP 2004139366A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- server
- request
- client computer
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】キャッシュサーバへのアクセスが集中しないよう、複数のキャッシュサーバにデータを分散させキャッシュすることで応答性能を確保する。
【解決手段】何秒以内で応答データが返らなければいけないかという応答時間制限、応答データとして返ってくるデータがどれぐらいの期間で更新されるかというデータ有効期限、そのデータがどれぐらい利用されるかというデータ利用頻度、データサイズなどのデータの粒度を要求の種類ごとに管理する手段と、帯域幅や通信速度といったクライアント計算機の環境を管理する手段を有し、それらに応じて、データをキャッシュするキャッシュサーバ計算機を選定する。また、クライアント計算機の場所を監視し、新たにクライアント計算機が追加された場合やクライアント計算機の場所が移動した際に、データをキャッシュするキャッシュサーバ計算機を動的に変更する。
【選択図】 図1
【解決手段】何秒以内で応答データが返らなければいけないかという応答時間制限、応答データとして返ってくるデータがどれぐらいの期間で更新されるかというデータ有効期限、そのデータがどれぐらい利用されるかというデータ利用頻度、データサイズなどのデータの粒度を要求の種類ごとに管理する手段と、帯域幅や通信速度といったクライアント計算機の環境を管理する手段を有し、それらに応じて、データをキャッシュするキャッシュサーバ計算機を選定する。また、クライアント計算機の場所を監視し、新たにクライアント計算機が追加された場合やクライアント計算機の場所が移動した際に、データをキャッシュするキャッシュサーバ計算機を動的に変更する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、複数のサーバ計算機と複数のクライアント計算機をネットワークで接続してサービスを提供するシステムにおいて、複数の属性に基いてキャッシュを最適に配置するキャッシュ配置方法に関する。
【0002】
【従来の技術】
多数のクライアント計算機からサーバ計算機に対して同時に要求があった場合、サーバ計算機の処理負荷が高まり、処理遅延が発生してしまう。また、ネットワーク負荷による通信遅延なども発生する。こうした処理遅延や通信遅延などの原因により、応答性能の確保が問題となっている。応答性能確保の解決方法の一つとして、データをキャッシュする方法が用いられている。クライアント計算機とサーバ計算機の間にキャッシュサーバ計算機を配置し、クライアント計算機はキャッシュサーバ計算機を通してサーバ計算機にアクセスする。キャッシュサーバ計算機は、サーバ計算機からの応答データをキャッシュしておく。キャッシュサーバ計算機はクライアント計算機から要求があった場合に、キャッシュしてあるデータがあるかどうかを調べ、ある場合にはそのキャッシュデータをクライアントに返し、ない場合には、サーバ計算機に要求を出して、サーバ計算機からの応答データをキャッシュしてからクライアント計算機に返す。
【0003】
サーバ計算機からキャッシュデータを取得する従来手法として、更新時刻などの情報取得条件に基づいて、キャッシュサーバ計算機がサーバ計算機からデータを取得する方法がある。例えば、「情報キャッシュサーバ、情報キャッシュシステム、情報取得方法および情報取得のための記録媒体」と題する特許文献1によると、「情報キャッシュサーバは、指定された情報を情報取得条件に従って情報提供サーバから取得してクライアントに送るか、または予め情報提供サーバから取得して記憶し、クライアントに送る。」とある。
【0004】
キャッシュサーバ計算機にアクセスが集中すると、処理負荷が高まり遅延が発生する。これを解決するために、キャッシュサーバ計算機を複数用意し、キャッシュサーバ計算機の負荷を抑える従来手法として、キャッシュサーバ計算機からクライアント計算機までデータを送るのにかかる時間(ネットワーク待ち時間)や、キャッシュサーバの負荷状態に基いて、キャッシュデータを複数のキャッシュサーバに分散して配置する方法がある。例えば、「共同Webキャッシングのための遅延対応ハッシングの方法及び構成」と題する特許文献2によると、「ハッシング時にネットワーク待ち時間遅延及びプロキシ負荷状態が考慮される。その結果、負荷状態が良ければ、リクエストを地理的に近いプロキシ・キャッシュにハッシュすることができる。他の場合リクエストは地理的に遠いプロキシ・キャッシュにハッシュされ、キャッシュ間の負荷のバランスが取られる。」とある。
【0005】
【特許文献1】
特開2001−43124号公報
【特許文献2】
特開2001−273186号公報
【0006】
【発明が解決しようとする課題】
本発明の目的は、複数のサーバ計算機と複数のクライアント計算機をネットワークで接続してサービスを提供するシステムにおいて、サーバ計算機とクライアント計算機の間に複数のキャッシュサーバ計算機を置き、クライアント計算機の場所やクライアント計算機からの要求に基づいて、キャッシュを最適に配置する方法を提供することである。サービス毎に提供する機能によって、クライアント計算機からサーバ計算機への要求の種類は限定され、その要求の種類によって、応答データの有効期限や、データのサイズなどが分類できる。また、クライアント計算機は、それぞれの計算機ごとに帯域幅が違うため、クライアント計算機毎に通信速度も異なる。要求毎の特徴や、クライアント計算機の環境に合わせてキャッシュを最適な場所に動的に配置することによる応答性能の確保を目的とする。
【0007】
従来のキャッシング技術には、応答時間短縮、ネットワーク帯域幅の節約、キャッシュヒット率の向上などを目的として、どのデータをキャッシュ内に保存するか、キャッシュが一杯になった場合にどのデータを優先的に残すか、キャッシュしたデータをいつ更新するかなどの様々な方法がある。これらの方法では、キャッシュする場所に関しては考慮していない。しかし、多数のクライアント計算機から、同じサーバ計算機に対してアクセスするような状況があるサービスを考えた場合には、キャッシュサーバ計算機へのアクセスが集中し、キャッシュサーバ計算機の負荷が高くなり、応答性能が確保できないという問題点がある。
【0008】
また、キャッシュサーバ計算機の負荷軽減を目的に、キャッシュデータを複数のキャッシュサーバ計算機に分散して配置する従来方法がある。この従来方法では、アクセスするサーバ計算機などによって利用するキャッシュサーバ計算機を切り替えている。しかし、この方法は、複数サーバ計算機へのアクセスが平準化される場合は有効であるが、同時に多数のクライアント計算機から同じサーバ計算機内のデータにアクセスする場合には、そのサーバ計算機に対応するキャッシュサーバ計算機の負荷が高くなってしまい、応答性能が確保できないという問題点ある。
【0009】
また、サーバ計算機から全てのキャッシュサーバ計算機に全てのデータを放送型で配信する従来方法がある。しかし、全てのクライアント計算機で全てのデータを利用するわけではないし、一度しか要求しないデータもある。このため、放送型でデータを配信するとキャッシュサーバ計算機のキャッシュが無駄に大きくなってしまい、キャッシュヒット率の低下を引き起こしてしまうという問題点があり、キャッシュを用いる有効性が低くなってしまう。
【0010】
【課題を解決するための手段】
上記の目的を達成するために、本発明においては、何秒以内で応答データが返ってこなければいけないかという応答時間制限、応答データとして返ってくるデータがどれぐらいの期間で更新されるかというデータ有効期限、そのデータがどれぐらい利用されるかというデータ利用頻度、データサイズなどのデータの粒度を要求の種類ごとに管理する手段と、帯域幅や通信速度といったクライアント計算機の環境を管理する手段を有し、それらに応じて、データをキャッシュするキャッシュサーバ計算機を選定する手段を有する。
【0011】
また、クライアント計算機の場所を監視し、新たにクライアント計算機が追加された場合やクライアント計算機の場所が移動した際に、データをキャッシュするキャッシュサーバ計算機を動的に変更する手段を有する。
【0012】
【発明の実施の形態】
本発明の2つの実施例を、図を用いて以下で詳細に説明する。プラント設備を遠隔から監視する遠隔プラント監視システムにおけるキャッシュ配置方法が第1の実施例である。遠隔プラント監視システムで、操作端末であるクライアント計算機の数や場所が変化した場合におけるキャッシュ配置方法が第2の実施例である。
【0013】
第1の実施例では、遠隔プラント監視システムにおいて、要求毎に異なるデータの粒度に応じてキャッシュを配置する例を説明する。
【0014】
図1は、第1の実施例における遠隔プラント監視システムの構成例を示す図である。遠隔プラントシステムは、操作端末103・104、キャッシュサーバ105・106、プラント制御システム108、キャッシュ配置サーバ120、サービス提供サーバ121、および、広域IP網107から構成される。さらに、プラント制御システム108は、監視サービスを提供するシステムであり、ゲートウェイ109、制御サーバ110、制御機器111・112から構成され、ゲートウェイ109を通して外部と接続されている。制御サーバ110が、制御機器111・112の制御を行う。操作端末103・104は、プラント監視サービスを利用する側の機器であり、利用者101・102は操作端末103・104から広域IP網107を通して、プラント制御システム108にアクセスする。キャッシュサーバ105・106は、操作端末103・104とプラント制御システム108の間にあり、操作端末103・104からプラント制御システム108へのアクセスは、全てキャッシュサーバ105・106を通して行われる。キャッシュ配置サーバ120により、キャッシュの配置を管理する。遠隔プラント監視サーバ121では、遠隔プラント監視システムとしての利用者管理やアクセス権の管理を行う。ここで、操作端末103・104、キャッシュサーバ105・106、プラント制御システム108は、数に制限はなく複数存在しても良い。また、操作端末103・104は、ネットワークに常時接続された計算機でもよいし、アクセス時に電話回線を通して接続する計算機や、無線等を用いてネットワークに接続する計算機でもよい。例えば、パソコン、携帯電話、PDAなどが操作端末となる。
【0015】
図2は、第1の実施例における処理の概要を示す図である。図1に示した操作端末103から制御サーバ110に対して、制御機器111の動作状況を取得する要求を出した場合の処理は、次の流れで構成される。最初にステップ201で、対象となる遠隔プラント監視システムにおいて、操作端末103から制御サーバ110へ発行される全ての要求のデータ粒度(データサイズ、利用頻度など)を、キャッシュ配置サーバ120に定義する。次にステップ202で、ステップ201で定義した要求毎のデータ粒度と、操作端末103における通信速度などの端末環境に応じて、要求毎にどのキャッシュサーバにデータをキャッシュするかを決定する。ステップ203では、操作端末103からの制御機器111の動作状況取得要求がキャッシュサーバ105に渡る。キャッシュサーバ105では、その動作状況取得要求に対する応答データをキャッシュしているかどうかを調べ、キャッシュしている場合はステップ204に、キャッシュしていない場合はステップ205に進む。ステップ204では、キャッシュしてあった応答データを操作端末103へ返す。ステップ205では、ゲートウェイ109を通して制御サーバ110に対して動作状況取得要求を送る。ステップ206では、制御サーバ111から返ってきた応答データを、発行した動作状況取得情報と関連付けてキャッシュしてから、応答データを操作端末103に返す。
【0016】
図3は、図2に記載したステップ201で定義される要求のデータ粒度の詳細を示す図である。要求ごとに定義されるデータ粒度は、操作名301、有効期限302、使用頻度303、データサイズ304、応答制限時間305の項目から構成される。このデータ粒度の定義は、キャッシュ配置サーバ120のメモリ上に蓄積されても良いし、データベースなどの外部記憶に蓄積されても良い。操作名301は、操作端末103から制御サーバ111への要求の種類を一意に識別できるものである。この操作名301をもとにして、キャッシュデータを保持しているかどうかの判定を行う。有効期限302は、要求に対する応答データが、どれぐらいの間隔で更新されるかを示すものである。例えば、監視画面データ取得要求では、制御機器111・112の最新の動作状況を取得する。その制御機器111・112の動作状況が10秒間隔で更新されるとすると、監視画面取得データ要求での有効期限は10秒と定義される。使用頻度303は、その要求がどれぐらいの頻度で利用されるかを表すものである。例えば、日報表示要求の場合は、一日に数回、日報で前日の動作状況をチェックするのに利用される。データサイズ304は、応答データのサイズを表すものである。例えば、ヒストリカルのトレンドグラフデータ取得要求では、過去のある期間の制御機器111・112のデータを全て取得するため、データサイズ304は1MBと大きくなる。応答制限時間305は、操作端末103・104で発行された要求に対する応答データが、どれぐらいの時間内に返ってこなければならないかを表すものである。例えば、監視画面データ取得要求では、制御装置111・112のリアルタイムの動作状況を取得して利用者101・102に提示しければならないので、応答制限時間305は3秒と短くなる。
【0017】
図4は、図2に記載したステップ202の詳細な処理フローを示す図である。図1で示した操作端末103から遠隔プラントの制御機器111・112を監視する遠隔プラント監視システムでは、初めにステップ401で、利用者101が遠隔プラント監視システムにログインをする。次にステップ402では、操作端末103での通信速度を測定する。操作端末103は通信速度測定のために、プラント制御システム108に対してダミーデータを要求する。プラント制御システム108内のゲートウェイ109では、操作端末からの要求に合わせて、サイズが1KBのダミーデータを操作端末に返す。また、操作端末103と制御サーバ110間の通信経路上のキャッシュサーバでは、ダミーデータを要求してからどれぐらいの時間で応答データが返ってきたかを示す応答時間を計測し、キャッシュサーバ自身のアドレスと計測した応答時間を応答データに付け加えて返す。操作端末103は、通信速度測定の応答データに操作端末103自身のアドレスと応答時間を付け加えたデータをキャッシュ配置サーバ120に送る。これにより、キャッシュ配置サーバ120では、操作端末103の応答性能、操作端末103から制御サーバへの通信経路、そして通信経路上にあるキャッシュサーバでの応答性能が分かる。ステップ403では、操作端末103から受け取ったデータと、図2に記載したステップ201で定義したデータ粒度の定義から、キャッシュを配置する最適な場所を決定する。まず初めに、図3に記載したデータ粒度で定義されている要求に対して、一つずつキャッシュの最適な配置場所を決定していく。まず、定義された要求の中から一つを選択する。例えば、要求一覧の中から監視画面データ取得要求を選択する。次に、応答時間制限305を満たすことが出来るキャッシュサーバを選定する。監視画面データ取得要求の場合は、データサイズ305が0.5KBで、応答時間制限305が3秒である。データサイズと応答性能(応答データが返ってくるまでの時間)は比例すると仮定し、ダミーデータは1KBであったので、0.5KBの場合は、1KBの時よりも応答性能が2分の1となる。監視画面データ取得要求の応答時間制限305は3秒であるので、6秒以内に応答データが返ってくる場所にあるキャッシュサーバがキャッシュを配置する候補のキャッシュサーバとなる。候補となるキャッシュサーバの中から、次に示す規則に従って、キャッシュを配置するキャッシュサーバを決定する。
規則1:有効期限が短く、使用頻度が高いデータは、プラント制御システムに近いキャッシュサーバにキャッシュを配置する。
規則2:使用頻度が高いデータは、操作端末側に近いキャッシュサーバにキャッシュを配置する。
規則3:データサイズが大きいデータは、できるだけ監視端末に近いキャッシュサーバにキャッシュを配置する。
【0018】
規則1は、有効期限が短いデータは頻繁に更新されるため、要求があった場合に応答データをキャッシュし、同じ要求が来た場合にキャッシュデータを返す方法では、キャッシュヒット率が低下してしまい、効果が低い。しかし、毎回、プラント制御システム108に要求を出していたのでは、プラント制御システムの負荷が高くなってしまい、プラントの制御自体に影響を与えることになってしまう。そこで、有効期限が短く、使用頻度が高いデータに対しては、プラント制御システム108側からキャッシュサーバにデータを配信させることで、プラント制御システム108へのアクセス集中を回避することができる。データの配信先のキャッシュサーバの選択に関しては、頻繁にデータを配信することになるので、通信トラフィックを考慮して、プラント制御システム108に近いキャッシュサーバにデータを配信することが有効である。規則2は、使用頻度の高いデータは、頻繁にキャッシュサーバから操作端末にデータが送られることになるので、通信トラフィックを考慮して、操作端末に近いキャッシュサーバにキャッシュを配置することとする。規則3は、データサイズの大きいデータの転送は通信トラフィック増加の要因となるので、なるべく操作端末に近いキャッシュサーバにキャッシュを配置する。以上の流れに従い、全ての要求に対してキャッシュを配置するキャッシュサーバを決定する。ステップ404では、ステップ403で決定した要求ごとの最適なキャッシュサーバに対して、キャッシュをするように設定をする。この設定時に、要求毎のデータの有効期限302をキャッシュサーバに合わせて通知する。
【0019】
図5は、図4に記載したステップ401のユーザ認証時に参照するデータベースのテーブル構造を表す。ユーザのID501とパスワード502の項目から構成され、利用者が入力したIDとパスワードの組合わせがデータベースに定義されていれば利用可能とする。
【0020】
図6は、図4のステップ402において、操作端末103からキャッシュ配置サーバ120に送られる通信速度計測データの構造を示す図である。通信速度計測データは、操作端末データ601、キャッシュサーバデータ602、ダミーデータ603から構成される。操作端末データ601は、IPアドレスなどで表される操作端末のアドレスと、図4のステップ402で計測された応答性能から構成される。同様に、キャッシュサーバデータ602は、キャッシュサーバのアドレスと、そのキャッシュサーバでの応答性能から構成される。ダミーデータ603は、データのサイズが1KBで、応答データのサイズを調整するためだけのデータである。
【0021】
図7は、図4のステップ403において求めたキャッシュの配置場所を格納しておくデータベースのテーブル構造を示している図である。操作端末アドレス701、操作名702、キャッシュサーバアドレス703の項目から構成される。操作端末アドレス701は、要求を出す操作端末103・104のアドレスを表す。操作名702は、操作端末103・104からプラント制御システム108に対する要求を一意に識別できるものであり、図3の操作名301と同等である。キャッシュサーバアドレス703は、キャッシュを格納するキャッシュサーバ105・106のアドレスである。操作端末アドレス701、操作名702、キャッシュサーバアドレス703の組は、「操作端末アドレス701の操作端末からプラント制御システム108に対して操作名702の要求を発行した場合、キャッシュサーバアドレス703のキャッシュサーバで応答データをキャッシュする」ということを示す。
【0022】
図8は、図2のステップ206で応答データを格納・管理するためのデータベースのテーブルを示す図である。操作名801、有効期限802、データ取得時間803、キャッシュデータ804の項目から構成される。操作名801は、操作端末103・104からプラント制御システム108に対する要求を一意に識別できるものであり、図3の操作名301と同等である。有効期限802は、データの有効期限を表すものであり、図3の有効期限302と同等である。データ取得時間803は、データをキャッシュした時間を表すものである。キャッシュデータ804は、キャッシュしたデータそのものである。キャッシュしたデータをファイルとして記憶装置に記憶し、そのファイル名をキャッシュデータ804としても良い。
【0023】
図9は、第1の実施例におけるソフトウェア構成を示す図である。操作端末103・104は、遠隔プラント監視901を持つ。利用者101・102は、遠隔プラント監視901にアクセスして、監視画面やトレンドグラフの閲覧などを行う。遠隔プラント監視サーバ121は、ユーザ認証911とユーザ管理データベース912を持つ。ユーザ認証911は、遠隔プラント監視901から送られてきたユーザIDとパスワードに基いて、遠隔プラント監視901の利用可否を決定する。ユーザ管理データベース912は、遠隔プラント監視システムを利用できるユーザのIDとパスワードを格納している。キャッシュサーバ105・106は、通信速度測定921、要求判定922、キャッシュ管理923、キャッシュ管理データベース924を持つ。通信速度測定921は、遠隔プラント監視901からの通信速度要求があった場合に、キャッシュサーバ105・106自身の通信速度の測定結果を応答データに付け加えて遠隔プラント監視901へ返す。要求判定922は、遠隔プラント監視901から要求が発行された場合に、その要求に対する応答データをキャッシュしているかどうかをキャッシュ管理923に問い合わせる。もしキャッシュしている場合には、そのキャッシュデータを応答データとして遠隔プラント監視901へ返す。キャッシュしていない場合には、制御サーバ110へ要求を送る。そして、制御サーバ110からの応答データを複製をキャッシュ管理923に渡し、応答データを遠隔プラント監視901に返す。キャッシュ管理923は、要求判定922からのキャッシュ管理データベース924で管理しているキャッシュの問合せとデータのキャッシュ要求を処理する。キャッシュ管理データベースは、キャッシュしているデータに関するデータを格納している。キャッシュ配置サーバ120は、通信速度管理931、データ粒度管理932、データ粒度データベース933、キャッシュ配置管理934、キャッシュ配置データベース935を持つ。通信速度管理931は、遠隔プラント監視901から通知された操作端末103・104、および、キャッシュサーバ105・106の応答性能を受け取り、キャッシュ配置管理934に渡す。データ粒度管理932は、要求毎のデータ粒度を管理する。データ粒度データベースは、全ての要求に対する操作名301、有効期限302、使用頻度303、データサイズ304、応答時間制限305を格納している。キャッシュ配置管理934は、応答性能とデータ粒度からキャッシュの配置場所を決定する。キャッシュ配置データベース935は、どの操作端末からの、どの要求を、どのキャッシュサーバでキャッシュしているかの情報を格納している。プラント制御システム108内のゲートウェイ109は、通信速度測定応答941を持つ。通信速度測定応答941は、操作端末103・104からの通信速度測定の要求に対して、1KBのダミーデータを返す。
【0024】
第2の実施例では、遠隔プラント監視システムにおいて、操作端末を監視し、操作端末の数や場所の変化に応じてキャッシュの配置を動的に変更する例を説明する。
【0025】
図10は、第2の実施例における遠隔プラント監視システムの構成例を示す図である。操作端末103・1002、キャッシュサーバ105・106・1003、プラント制御システム108、キャッシュ配置サーバ120、サービス提供サーバ121、および、広域IP網107から構成される。さらに、プラント制御システム108は、監視サービスを提供するシステムであり、ゲートウェイ109、制御サーバ110、制御機器111・112から構成され、ゲートウェイ109を通して外部と接続されている。制御サーバ110が、制御機器111・112の制御を行う。操作端末103・1002は、プラント監視サービスを利用する側の機器であり、利用者101・1001は操作端末103・1002から広域IP網107を通して、プラント制御システム108にアクセスする。キャッシュ配置サーバ120により、キャッシュの配置を管理する。遠隔プラント監視サーバ121では、遠隔プラント監視システムとしての利用者管理やアクセス権の管理を行う。
【0026】
初めに、操作端末の数が増えた場合についてのキャッシュの配置変更について説明する。利用者101だけが操作端末103から遠隔プラント監視システムを利用していたところに、利用者101とは別の利用者1001が、操作端末1002から遠隔プラント監視システムを利用しようとしたとする。操作端末103からの日報表示要求に対して、キャッシュサーバ105で応答データをキャッシュしていたとする。利用者1001が遠隔プラント監視システムにログイン後、操作端末1002からの要求に対するキャッシュの配置を決める際に、既存のキャッシュ配置を確認して、他の操作端末と同じキャッシュサーバでキャッシュすることができないかどうかを確認する。つまり、キャッシュサーバ1003を経路上に持つ操作端末のキャッシュ配置状況を確認して、複数の操作端末に対して、できるだけキャッシュを共通利用できるようにキャッシュの再配置を行う。操作端末103・1002に対する日報表示要求のキャッシュの配置場所として、キャッシュサーバ1003が共通利用可能な場合は、キャッシュサーバ105の日報表示データをキャッシュする設定を解除して、キャッシュサーバ1003に日報表示データをキャッシュする設定を行う。全ての操作に対して同様に処理し、キャッシュの再配置を行う。キャッシュの再配置の際には、もとのキャッシュサーバで管理していたキャッシュを、新しいのキャッシュサーバに移す。以上のように、操作端末の数が増えたり、場所が移動したりした際に、キャッシュの再配置を行う。
【0027】
【発明の効果】
本発明によると、要求毎のデータ粒度と操作端末の環境といった複数の属性に基いてキャッシュを最適な場所に配置することで、サーバへのアクセス集中を軽減させることができ、利用者に対する応答性能の確保が可能となる。また、操作端末の数や場所の変化があった場合にキャッシュの再配置を行うため、どの操作端末でも、同じ応答性能を得ることが可能となる。
【図面の簡単な説明】
【図1】第1の実施例におけるシステムの構成例を示す図である。
【図2】第1の実施例における全体的な処理の流れを示す図である。
【図3】第1の実施例におけるデータ粒度データベースの構成を示す図である。
【図4】第1の実施例におけるキャッシュ配置場所を決める処理の流れを示す図である。
【図5】第1の実施例におけるユーザ管理データベースの構成を示す図である。
【図6】第1の実施例における通信速度測定データの構造を示す図である。
【図7】第1の実施例におけるキャッシュ配置データベースの構造を示す図である。
【図8】第1の実施例におけるキャッシュ管理データベースの構造を示す図である。
【図9】第1の実施例におけるソフトウェア構成を示す図である。
【図10】第2の実施例におけるシステムの構成例を示す図である。
【符号の説明】
103・104…操作端末、105・106…キャッシュサーバ、107…広域IP網、108…プラント制御システム、109…ゲートウェイ、110…制御サーバ、111・112…制御機器、120…キャッシュ配置サーバ、121…サービス提供サーバ。
【発明の属する技術分野】
本発明は、複数のサーバ計算機と複数のクライアント計算機をネットワークで接続してサービスを提供するシステムにおいて、複数の属性に基いてキャッシュを最適に配置するキャッシュ配置方法に関する。
【0002】
【従来の技術】
多数のクライアント計算機からサーバ計算機に対して同時に要求があった場合、サーバ計算機の処理負荷が高まり、処理遅延が発生してしまう。また、ネットワーク負荷による通信遅延なども発生する。こうした処理遅延や通信遅延などの原因により、応答性能の確保が問題となっている。応答性能確保の解決方法の一つとして、データをキャッシュする方法が用いられている。クライアント計算機とサーバ計算機の間にキャッシュサーバ計算機を配置し、クライアント計算機はキャッシュサーバ計算機を通してサーバ計算機にアクセスする。キャッシュサーバ計算機は、サーバ計算機からの応答データをキャッシュしておく。キャッシュサーバ計算機はクライアント計算機から要求があった場合に、キャッシュしてあるデータがあるかどうかを調べ、ある場合にはそのキャッシュデータをクライアントに返し、ない場合には、サーバ計算機に要求を出して、サーバ計算機からの応答データをキャッシュしてからクライアント計算機に返す。
【0003】
サーバ計算機からキャッシュデータを取得する従来手法として、更新時刻などの情報取得条件に基づいて、キャッシュサーバ計算機がサーバ計算機からデータを取得する方法がある。例えば、「情報キャッシュサーバ、情報キャッシュシステム、情報取得方法および情報取得のための記録媒体」と題する特許文献1によると、「情報キャッシュサーバは、指定された情報を情報取得条件に従って情報提供サーバから取得してクライアントに送るか、または予め情報提供サーバから取得して記憶し、クライアントに送る。」とある。
【0004】
キャッシュサーバ計算機にアクセスが集中すると、処理負荷が高まり遅延が発生する。これを解決するために、キャッシュサーバ計算機を複数用意し、キャッシュサーバ計算機の負荷を抑える従来手法として、キャッシュサーバ計算機からクライアント計算機までデータを送るのにかかる時間(ネットワーク待ち時間)や、キャッシュサーバの負荷状態に基いて、キャッシュデータを複数のキャッシュサーバに分散して配置する方法がある。例えば、「共同Webキャッシングのための遅延対応ハッシングの方法及び構成」と題する特許文献2によると、「ハッシング時にネットワーク待ち時間遅延及びプロキシ負荷状態が考慮される。その結果、負荷状態が良ければ、リクエストを地理的に近いプロキシ・キャッシュにハッシュすることができる。他の場合リクエストは地理的に遠いプロキシ・キャッシュにハッシュされ、キャッシュ間の負荷のバランスが取られる。」とある。
【0005】
【特許文献1】
特開2001−43124号公報
【特許文献2】
特開2001−273186号公報
【0006】
【発明が解決しようとする課題】
本発明の目的は、複数のサーバ計算機と複数のクライアント計算機をネットワークで接続してサービスを提供するシステムにおいて、サーバ計算機とクライアント計算機の間に複数のキャッシュサーバ計算機を置き、クライアント計算機の場所やクライアント計算機からの要求に基づいて、キャッシュを最適に配置する方法を提供することである。サービス毎に提供する機能によって、クライアント計算機からサーバ計算機への要求の種類は限定され、その要求の種類によって、応答データの有効期限や、データのサイズなどが分類できる。また、クライアント計算機は、それぞれの計算機ごとに帯域幅が違うため、クライアント計算機毎に通信速度も異なる。要求毎の特徴や、クライアント計算機の環境に合わせてキャッシュを最適な場所に動的に配置することによる応答性能の確保を目的とする。
【0007】
従来のキャッシング技術には、応答時間短縮、ネットワーク帯域幅の節約、キャッシュヒット率の向上などを目的として、どのデータをキャッシュ内に保存するか、キャッシュが一杯になった場合にどのデータを優先的に残すか、キャッシュしたデータをいつ更新するかなどの様々な方法がある。これらの方法では、キャッシュする場所に関しては考慮していない。しかし、多数のクライアント計算機から、同じサーバ計算機に対してアクセスするような状況があるサービスを考えた場合には、キャッシュサーバ計算機へのアクセスが集中し、キャッシュサーバ計算機の負荷が高くなり、応答性能が確保できないという問題点がある。
【0008】
また、キャッシュサーバ計算機の負荷軽減を目的に、キャッシュデータを複数のキャッシュサーバ計算機に分散して配置する従来方法がある。この従来方法では、アクセスするサーバ計算機などによって利用するキャッシュサーバ計算機を切り替えている。しかし、この方法は、複数サーバ計算機へのアクセスが平準化される場合は有効であるが、同時に多数のクライアント計算機から同じサーバ計算機内のデータにアクセスする場合には、そのサーバ計算機に対応するキャッシュサーバ計算機の負荷が高くなってしまい、応答性能が確保できないという問題点ある。
【0009】
また、サーバ計算機から全てのキャッシュサーバ計算機に全てのデータを放送型で配信する従来方法がある。しかし、全てのクライアント計算機で全てのデータを利用するわけではないし、一度しか要求しないデータもある。このため、放送型でデータを配信するとキャッシュサーバ計算機のキャッシュが無駄に大きくなってしまい、キャッシュヒット率の低下を引き起こしてしまうという問題点があり、キャッシュを用いる有効性が低くなってしまう。
【0010】
【課題を解決するための手段】
上記の目的を達成するために、本発明においては、何秒以内で応答データが返ってこなければいけないかという応答時間制限、応答データとして返ってくるデータがどれぐらいの期間で更新されるかというデータ有効期限、そのデータがどれぐらい利用されるかというデータ利用頻度、データサイズなどのデータの粒度を要求の種類ごとに管理する手段と、帯域幅や通信速度といったクライアント計算機の環境を管理する手段を有し、それらに応じて、データをキャッシュするキャッシュサーバ計算機を選定する手段を有する。
【0011】
また、クライアント計算機の場所を監視し、新たにクライアント計算機が追加された場合やクライアント計算機の場所が移動した際に、データをキャッシュするキャッシュサーバ計算機を動的に変更する手段を有する。
【0012】
【発明の実施の形態】
本発明の2つの実施例を、図を用いて以下で詳細に説明する。プラント設備を遠隔から監視する遠隔プラント監視システムにおけるキャッシュ配置方法が第1の実施例である。遠隔プラント監視システムで、操作端末であるクライアント計算機の数や場所が変化した場合におけるキャッシュ配置方法が第2の実施例である。
【0013】
第1の実施例では、遠隔プラント監視システムにおいて、要求毎に異なるデータの粒度に応じてキャッシュを配置する例を説明する。
【0014】
図1は、第1の実施例における遠隔プラント監視システムの構成例を示す図である。遠隔プラントシステムは、操作端末103・104、キャッシュサーバ105・106、プラント制御システム108、キャッシュ配置サーバ120、サービス提供サーバ121、および、広域IP網107から構成される。さらに、プラント制御システム108は、監視サービスを提供するシステムであり、ゲートウェイ109、制御サーバ110、制御機器111・112から構成され、ゲートウェイ109を通して外部と接続されている。制御サーバ110が、制御機器111・112の制御を行う。操作端末103・104は、プラント監視サービスを利用する側の機器であり、利用者101・102は操作端末103・104から広域IP網107を通して、プラント制御システム108にアクセスする。キャッシュサーバ105・106は、操作端末103・104とプラント制御システム108の間にあり、操作端末103・104からプラント制御システム108へのアクセスは、全てキャッシュサーバ105・106を通して行われる。キャッシュ配置サーバ120により、キャッシュの配置を管理する。遠隔プラント監視サーバ121では、遠隔プラント監視システムとしての利用者管理やアクセス権の管理を行う。ここで、操作端末103・104、キャッシュサーバ105・106、プラント制御システム108は、数に制限はなく複数存在しても良い。また、操作端末103・104は、ネットワークに常時接続された計算機でもよいし、アクセス時に電話回線を通して接続する計算機や、無線等を用いてネットワークに接続する計算機でもよい。例えば、パソコン、携帯電話、PDAなどが操作端末となる。
【0015】
図2は、第1の実施例における処理の概要を示す図である。図1に示した操作端末103から制御サーバ110に対して、制御機器111の動作状況を取得する要求を出した場合の処理は、次の流れで構成される。最初にステップ201で、対象となる遠隔プラント監視システムにおいて、操作端末103から制御サーバ110へ発行される全ての要求のデータ粒度(データサイズ、利用頻度など)を、キャッシュ配置サーバ120に定義する。次にステップ202で、ステップ201で定義した要求毎のデータ粒度と、操作端末103における通信速度などの端末環境に応じて、要求毎にどのキャッシュサーバにデータをキャッシュするかを決定する。ステップ203では、操作端末103からの制御機器111の動作状況取得要求がキャッシュサーバ105に渡る。キャッシュサーバ105では、その動作状況取得要求に対する応答データをキャッシュしているかどうかを調べ、キャッシュしている場合はステップ204に、キャッシュしていない場合はステップ205に進む。ステップ204では、キャッシュしてあった応答データを操作端末103へ返す。ステップ205では、ゲートウェイ109を通して制御サーバ110に対して動作状況取得要求を送る。ステップ206では、制御サーバ111から返ってきた応答データを、発行した動作状況取得情報と関連付けてキャッシュしてから、応答データを操作端末103に返す。
【0016】
図3は、図2に記載したステップ201で定義される要求のデータ粒度の詳細を示す図である。要求ごとに定義されるデータ粒度は、操作名301、有効期限302、使用頻度303、データサイズ304、応答制限時間305の項目から構成される。このデータ粒度の定義は、キャッシュ配置サーバ120のメモリ上に蓄積されても良いし、データベースなどの外部記憶に蓄積されても良い。操作名301は、操作端末103から制御サーバ111への要求の種類を一意に識別できるものである。この操作名301をもとにして、キャッシュデータを保持しているかどうかの判定を行う。有効期限302は、要求に対する応答データが、どれぐらいの間隔で更新されるかを示すものである。例えば、監視画面データ取得要求では、制御機器111・112の最新の動作状況を取得する。その制御機器111・112の動作状況が10秒間隔で更新されるとすると、監視画面取得データ要求での有効期限は10秒と定義される。使用頻度303は、その要求がどれぐらいの頻度で利用されるかを表すものである。例えば、日報表示要求の場合は、一日に数回、日報で前日の動作状況をチェックするのに利用される。データサイズ304は、応答データのサイズを表すものである。例えば、ヒストリカルのトレンドグラフデータ取得要求では、過去のある期間の制御機器111・112のデータを全て取得するため、データサイズ304は1MBと大きくなる。応答制限時間305は、操作端末103・104で発行された要求に対する応答データが、どれぐらいの時間内に返ってこなければならないかを表すものである。例えば、監視画面データ取得要求では、制御装置111・112のリアルタイムの動作状況を取得して利用者101・102に提示しければならないので、応答制限時間305は3秒と短くなる。
【0017】
図4は、図2に記載したステップ202の詳細な処理フローを示す図である。図1で示した操作端末103から遠隔プラントの制御機器111・112を監視する遠隔プラント監視システムでは、初めにステップ401で、利用者101が遠隔プラント監視システムにログインをする。次にステップ402では、操作端末103での通信速度を測定する。操作端末103は通信速度測定のために、プラント制御システム108に対してダミーデータを要求する。プラント制御システム108内のゲートウェイ109では、操作端末からの要求に合わせて、サイズが1KBのダミーデータを操作端末に返す。また、操作端末103と制御サーバ110間の通信経路上のキャッシュサーバでは、ダミーデータを要求してからどれぐらいの時間で応答データが返ってきたかを示す応答時間を計測し、キャッシュサーバ自身のアドレスと計測した応答時間を応答データに付け加えて返す。操作端末103は、通信速度測定の応答データに操作端末103自身のアドレスと応答時間を付け加えたデータをキャッシュ配置サーバ120に送る。これにより、キャッシュ配置サーバ120では、操作端末103の応答性能、操作端末103から制御サーバへの通信経路、そして通信経路上にあるキャッシュサーバでの応答性能が分かる。ステップ403では、操作端末103から受け取ったデータと、図2に記載したステップ201で定義したデータ粒度の定義から、キャッシュを配置する最適な場所を決定する。まず初めに、図3に記載したデータ粒度で定義されている要求に対して、一つずつキャッシュの最適な配置場所を決定していく。まず、定義された要求の中から一つを選択する。例えば、要求一覧の中から監視画面データ取得要求を選択する。次に、応答時間制限305を満たすことが出来るキャッシュサーバを選定する。監視画面データ取得要求の場合は、データサイズ305が0.5KBで、応答時間制限305が3秒である。データサイズと応答性能(応答データが返ってくるまでの時間)は比例すると仮定し、ダミーデータは1KBであったので、0.5KBの場合は、1KBの時よりも応答性能が2分の1となる。監視画面データ取得要求の応答時間制限305は3秒であるので、6秒以内に応答データが返ってくる場所にあるキャッシュサーバがキャッシュを配置する候補のキャッシュサーバとなる。候補となるキャッシュサーバの中から、次に示す規則に従って、キャッシュを配置するキャッシュサーバを決定する。
規則1:有効期限が短く、使用頻度が高いデータは、プラント制御システムに近いキャッシュサーバにキャッシュを配置する。
規則2:使用頻度が高いデータは、操作端末側に近いキャッシュサーバにキャッシュを配置する。
規則3:データサイズが大きいデータは、できるだけ監視端末に近いキャッシュサーバにキャッシュを配置する。
【0018】
規則1は、有効期限が短いデータは頻繁に更新されるため、要求があった場合に応答データをキャッシュし、同じ要求が来た場合にキャッシュデータを返す方法では、キャッシュヒット率が低下してしまい、効果が低い。しかし、毎回、プラント制御システム108に要求を出していたのでは、プラント制御システムの負荷が高くなってしまい、プラントの制御自体に影響を与えることになってしまう。そこで、有効期限が短く、使用頻度が高いデータに対しては、プラント制御システム108側からキャッシュサーバにデータを配信させることで、プラント制御システム108へのアクセス集中を回避することができる。データの配信先のキャッシュサーバの選択に関しては、頻繁にデータを配信することになるので、通信トラフィックを考慮して、プラント制御システム108に近いキャッシュサーバにデータを配信することが有効である。規則2は、使用頻度の高いデータは、頻繁にキャッシュサーバから操作端末にデータが送られることになるので、通信トラフィックを考慮して、操作端末に近いキャッシュサーバにキャッシュを配置することとする。規則3は、データサイズの大きいデータの転送は通信トラフィック増加の要因となるので、なるべく操作端末に近いキャッシュサーバにキャッシュを配置する。以上の流れに従い、全ての要求に対してキャッシュを配置するキャッシュサーバを決定する。ステップ404では、ステップ403で決定した要求ごとの最適なキャッシュサーバに対して、キャッシュをするように設定をする。この設定時に、要求毎のデータの有効期限302をキャッシュサーバに合わせて通知する。
【0019】
図5は、図4に記載したステップ401のユーザ認証時に参照するデータベースのテーブル構造を表す。ユーザのID501とパスワード502の項目から構成され、利用者が入力したIDとパスワードの組合わせがデータベースに定義されていれば利用可能とする。
【0020】
図6は、図4のステップ402において、操作端末103からキャッシュ配置サーバ120に送られる通信速度計測データの構造を示す図である。通信速度計測データは、操作端末データ601、キャッシュサーバデータ602、ダミーデータ603から構成される。操作端末データ601は、IPアドレスなどで表される操作端末のアドレスと、図4のステップ402で計測された応答性能から構成される。同様に、キャッシュサーバデータ602は、キャッシュサーバのアドレスと、そのキャッシュサーバでの応答性能から構成される。ダミーデータ603は、データのサイズが1KBで、応答データのサイズを調整するためだけのデータである。
【0021】
図7は、図4のステップ403において求めたキャッシュの配置場所を格納しておくデータベースのテーブル構造を示している図である。操作端末アドレス701、操作名702、キャッシュサーバアドレス703の項目から構成される。操作端末アドレス701は、要求を出す操作端末103・104のアドレスを表す。操作名702は、操作端末103・104からプラント制御システム108に対する要求を一意に識別できるものであり、図3の操作名301と同等である。キャッシュサーバアドレス703は、キャッシュを格納するキャッシュサーバ105・106のアドレスである。操作端末アドレス701、操作名702、キャッシュサーバアドレス703の組は、「操作端末アドレス701の操作端末からプラント制御システム108に対して操作名702の要求を発行した場合、キャッシュサーバアドレス703のキャッシュサーバで応答データをキャッシュする」ということを示す。
【0022】
図8は、図2のステップ206で応答データを格納・管理するためのデータベースのテーブルを示す図である。操作名801、有効期限802、データ取得時間803、キャッシュデータ804の項目から構成される。操作名801は、操作端末103・104からプラント制御システム108に対する要求を一意に識別できるものであり、図3の操作名301と同等である。有効期限802は、データの有効期限を表すものであり、図3の有効期限302と同等である。データ取得時間803は、データをキャッシュした時間を表すものである。キャッシュデータ804は、キャッシュしたデータそのものである。キャッシュしたデータをファイルとして記憶装置に記憶し、そのファイル名をキャッシュデータ804としても良い。
【0023】
図9は、第1の実施例におけるソフトウェア構成を示す図である。操作端末103・104は、遠隔プラント監視901を持つ。利用者101・102は、遠隔プラント監視901にアクセスして、監視画面やトレンドグラフの閲覧などを行う。遠隔プラント監視サーバ121は、ユーザ認証911とユーザ管理データベース912を持つ。ユーザ認証911は、遠隔プラント監視901から送られてきたユーザIDとパスワードに基いて、遠隔プラント監視901の利用可否を決定する。ユーザ管理データベース912は、遠隔プラント監視システムを利用できるユーザのIDとパスワードを格納している。キャッシュサーバ105・106は、通信速度測定921、要求判定922、キャッシュ管理923、キャッシュ管理データベース924を持つ。通信速度測定921は、遠隔プラント監視901からの通信速度要求があった場合に、キャッシュサーバ105・106自身の通信速度の測定結果を応答データに付け加えて遠隔プラント監視901へ返す。要求判定922は、遠隔プラント監視901から要求が発行された場合に、その要求に対する応答データをキャッシュしているかどうかをキャッシュ管理923に問い合わせる。もしキャッシュしている場合には、そのキャッシュデータを応答データとして遠隔プラント監視901へ返す。キャッシュしていない場合には、制御サーバ110へ要求を送る。そして、制御サーバ110からの応答データを複製をキャッシュ管理923に渡し、応答データを遠隔プラント監視901に返す。キャッシュ管理923は、要求判定922からのキャッシュ管理データベース924で管理しているキャッシュの問合せとデータのキャッシュ要求を処理する。キャッシュ管理データベースは、キャッシュしているデータに関するデータを格納している。キャッシュ配置サーバ120は、通信速度管理931、データ粒度管理932、データ粒度データベース933、キャッシュ配置管理934、キャッシュ配置データベース935を持つ。通信速度管理931は、遠隔プラント監視901から通知された操作端末103・104、および、キャッシュサーバ105・106の応答性能を受け取り、キャッシュ配置管理934に渡す。データ粒度管理932は、要求毎のデータ粒度を管理する。データ粒度データベースは、全ての要求に対する操作名301、有効期限302、使用頻度303、データサイズ304、応答時間制限305を格納している。キャッシュ配置管理934は、応答性能とデータ粒度からキャッシュの配置場所を決定する。キャッシュ配置データベース935は、どの操作端末からの、どの要求を、どのキャッシュサーバでキャッシュしているかの情報を格納している。プラント制御システム108内のゲートウェイ109は、通信速度測定応答941を持つ。通信速度測定応答941は、操作端末103・104からの通信速度測定の要求に対して、1KBのダミーデータを返す。
【0024】
第2の実施例では、遠隔プラント監視システムにおいて、操作端末を監視し、操作端末の数や場所の変化に応じてキャッシュの配置を動的に変更する例を説明する。
【0025】
図10は、第2の実施例における遠隔プラント監視システムの構成例を示す図である。操作端末103・1002、キャッシュサーバ105・106・1003、プラント制御システム108、キャッシュ配置サーバ120、サービス提供サーバ121、および、広域IP網107から構成される。さらに、プラント制御システム108は、監視サービスを提供するシステムであり、ゲートウェイ109、制御サーバ110、制御機器111・112から構成され、ゲートウェイ109を通して外部と接続されている。制御サーバ110が、制御機器111・112の制御を行う。操作端末103・1002は、プラント監視サービスを利用する側の機器であり、利用者101・1001は操作端末103・1002から広域IP網107を通して、プラント制御システム108にアクセスする。キャッシュ配置サーバ120により、キャッシュの配置を管理する。遠隔プラント監視サーバ121では、遠隔プラント監視システムとしての利用者管理やアクセス権の管理を行う。
【0026】
初めに、操作端末の数が増えた場合についてのキャッシュの配置変更について説明する。利用者101だけが操作端末103から遠隔プラント監視システムを利用していたところに、利用者101とは別の利用者1001が、操作端末1002から遠隔プラント監視システムを利用しようとしたとする。操作端末103からの日報表示要求に対して、キャッシュサーバ105で応答データをキャッシュしていたとする。利用者1001が遠隔プラント監視システムにログイン後、操作端末1002からの要求に対するキャッシュの配置を決める際に、既存のキャッシュ配置を確認して、他の操作端末と同じキャッシュサーバでキャッシュすることができないかどうかを確認する。つまり、キャッシュサーバ1003を経路上に持つ操作端末のキャッシュ配置状況を確認して、複数の操作端末に対して、できるだけキャッシュを共通利用できるようにキャッシュの再配置を行う。操作端末103・1002に対する日報表示要求のキャッシュの配置場所として、キャッシュサーバ1003が共通利用可能な場合は、キャッシュサーバ105の日報表示データをキャッシュする設定を解除して、キャッシュサーバ1003に日報表示データをキャッシュする設定を行う。全ての操作に対して同様に処理し、キャッシュの再配置を行う。キャッシュの再配置の際には、もとのキャッシュサーバで管理していたキャッシュを、新しいのキャッシュサーバに移す。以上のように、操作端末の数が増えたり、場所が移動したりした際に、キャッシュの再配置を行う。
【0027】
【発明の効果】
本発明によると、要求毎のデータ粒度と操作端末の環境といった複数の属性に基いてキャッシュを最適な場所に配置することで、サーバへのアクセス集中を軽減させることができ、利用者に対する応答性能の確保が可能となる。また、操作端末の数や場所の変化があった場合にキャッシュの再配置を行うため、どの操作端末でも、同じ応答性能を得ることが可能となる。
【図面の簡単な説明】
【図1】第1の実施例におけるシステムの構成例を示す図である。
【図2】第1の実施例における全体的な処理の流れを示す図である。
【図3】第1の実施例におけるデータ粒度データベースの構成を示す図である。
【図4】第1の実施例におけるキャッシュ配置場所を決める処理の流れを示す図である。
【図5】第1の実施例におけるユーザ管理データベースの構成を示す図である。
【図6】第1の実施例における通信速度測定データの構造を示す図である。
【図7】第1の実施例におけるキャッシュ配置データベースの構造を示す図である。
【図8】第1の実施例におけるキャッシュ管理データベースの構造を示す図である。
【図9】第1の実施例におけるソフトウェア構成を示す図である。
【図10】第2の実施例におけるシステムの構成例を示す図である。
【符号の説明】
103・104…操作端末、105・106…キャッシュサーバ、107…広域IP網、108…プラント制御システム、109…ゲートウェイ、110…制御サーバ、111・112…制御機器、120…キャッシュ配置サーバ、121…サービス提供サーバ。
Claims (6)
- 入力装置、出力装置、メモリ、中央処理装置、通信装置を具備した複数のサーバ計算機とクライアント計算機とキャッシュサーバ計算機を、ネットワークで接続してサービスを提供するシステムにおいて、複数の情報に基いて最適な該キャッシュサーバ計算機にキャッシュを配置することで、該クライアント計算機が要求する応答性能を確保することを特徴とするキャッシュ配置方法。
- 請求項1のシステムは、該クライアント計算機から該サーバ計算機までの通信速度と、経路上にある該キャッシュサーバ計算機から該サーバ計算機までの通信速度を計算する第1のステップ、要求毎の最適なキャッシュサーバを決定する第2のステップ、該クライアント計算機から要求が発行された場合に、応答データをキャッシュしているかどうかを確認し、キャッシュしている場合にはキャッシュデータを応答データとして返し、キャッシュしてない場合には該サーバ計算機への要求の発行・応答データのキャッシュを行う第3のステップを具備することを特徴とするキャッシュ配置方法。
- 請求項2のキャッシュの配置は、該クライアント計算機からの要求の種類によって該キャッシュデータを配置する該キャッシュサーバ計算機を変えることを特徴とするキャッシュ配置方法。
- 請求項2のステップ2のキャッシュ配置方法は、データの有効期限・使用頻度・サイズといった要求毎のデータ粒度と、該クライアント計算機と該キャッシュサーバ計算機での通信速度に基いて、該最適なキャッシュサーバを選ぶことを特徴とするキャッシュ配置方法。
- 請求項4のキャッシュ配置方法で、該キャッシュデータを配置する候補となる該キャッシュサーバが複数あった場合には処理を保留し、該最適なキャッシュサーバが一意に決定されるものを優先的に処理し、最後に保留していた処理を、すでに決定された該キャッシュデータの配置と照らし合わせ、できるだけ該キャッシュデータが分散配置されるように該キャッシュを選択することを特徴とするキャッシュ配置方法。
- 請求項2において、該クライアント計算機の場所が変更された場合や、別のクライアント計算機が追加された場合に、できるだけキャッシュを共通的に利用するように該キャッシュデータを配置する該キャッシュサーバを選択し直すことを特徴とするキャッシュ配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002303709A JP2004139366A (ja) | 2002-10-18 | 2002-10-18 | キャッシュ配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002303709A JP2004139366A (ja) | 2002-10-18 | 2002-10-18 | キャッシュ配置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004139366A true JP2004139366A (ja) | 2004-05-13 |
Family
ID=32451364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002303709A Pending JP2004139366A (ja) | 2002-10-18 | 2002-10-18 | キャッシュ配置方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004139366A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008537252A (ja) * | 2005-04-22 | 2008-09-11 | トムソン ライセンシング | 階層的コンテンツのネットワーク・キャッシング |
JP2009187376A (ja) * | 2008-02-07 | 2009-08-20 | Canon Inc | ファイル管理装置、ファイル管理方法、及びプログラム |
JP2009199148A (ja) * | 2008-02-19 | 2009-09-03 | Nec Corp | フィールド優先度別端末キャッシュ格納システム、その方法及びそのプログラム |
US8472278B2 (en) | 2010-04-09 | 2013-06-25 | Qualcomm Incorporated | Circuits, systems and methods for adjusting clock signals based on measured performance characteristics |
JP2014021690A (ja) * | 2012-07-18 | 2014-02-03 | Fujitsu Ltd | データストア管理装置、データ提供システム及びデータ提供方法 |
JPWO2012173175A1 (ja) * | 2011-06-14 | 2015-02-23 | 日本電気株式会社 | コンテンツ配信システム、制御装置およびコンテンツ配信方法 |
JP2015118407A (ja) * | 2013-12-16 | 2015-06-25 | 日本電信電話株式会社 | データ配信システム、データ配信方法、ストレージ装置及びストレージプログラム |
JP2017134817A (ja) * | 2015-11-13 | 2017-08-03 | エイチジーエスティーネザーランドビーブイ | 分散キャッシュメモリにおける適応分割用のシステム及び方法 |
-
2002
- 2002-10-18 JP JP2002303709A patent/JP2004139366A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008537252A (ja) * | 2005-04-22 | 2008-09-11 | トムソン ライセンシング | 階層的コンテンツのネットワーク・キャッシング |
JP2009187376A (ja) * | 2008-02-07 | 2009-08-20 | Canon Inc | ファイル管理装置、ファイル管理方法、及びプログラム |
JP2009199148A (ja) * | 2008-02-19 | 2009-09-03 | Nec Corp | フィールド優先度別端末キャッシュ格納システム、その方法及びそのプログラム |
US8472278B2 (en) | 2010-04-09 | 2013-06-25 | Qualcomm Incorporated | Circuits, systems and methods for adjusting clock signals based on measured performance characteristics |
JPWO2012173175A1 (ja) * | 2011-06-14 | 2015-02-23 | 日本電気株式会社 | コンテンツ配信システム、制御装置およびコンテンツ配信方法 |
JP2014021690A (ja) * | 2012-07-18 | 2014-02-03 | Fujitsu Ltd | データストア管理装置、データ提供システム及びデータ提供方法 |
JP2015118407A (ja) * | 2013-12-16 | 2015-06-25 | 日本電信電話株式会社 | データ配信システム、データ配信方法、ストレージ装置及びストレージプログラム |
JP2017134817A (ja) * | 2015-11-13 | 2017-08-03 | エイチジーエスティーネザーランドビーブイ | 分散キャッシュメモリにおける適応分割用のシステム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068301B1 (en) | Application hosting in a distributed application execution system | |
US11665259B2 (en) | System and method for improvements to a content delivery network | |
KR101072966B1 (ko) | 파일 데이터 분배 방법, 디바이스, 및 시스템 | |
US7962635B2 (en) | Systems and methods for single session management in load balanced application server clusters | |
EP3334123A1 (en) | Content distribution method, virtual server management method, cloud platform and system | |
US20120222040A1 (en) | Resource management system, resource information providing method and program | |
JP2007128371A (ja) | コンテンツ検索システム | |
US8751661B1 (en) | Sticky routing | |
US20140143427A1 (en) | Providing Resources in a Cloud | |
JP2003122658A (ja) | データ配送方法 | |
JP2005092862A (ja) | 負荷分散方法及びクライアント・サーバシステム | |
JP5544522B2 (ja) | 負荷調整方法、負荷調整サーバ、負荷調整用サーバ装置、および、負荷調整プログラム | |
JP2004139366A (ja) | キャッシュ配置方法 | |
US11190583B2 (en) | Load balancing device, communication system, control method, and program | |
US10705978B2 (en) | Asynchronous tracking for high-frequency and high-volume storage | |
EP2695362B1 (en) | Multi-user cache system | |
Aggarwal et al. | Performance of dynamic replication schemes for an internet hosting service | |
US6704781B1 (en) | System and method for content caching implementing compensation for providing caching services | |
CN103763133B (zh) | 一种实现访问控制的方法、设备与系统 | |
US20100030851A1 (en) | Load balancer, load-balancing method, and recording medium with load-balancing program | |
KR20030014513A (ko) | 서버 부하의 분산을 위한 클라이언트 데이터 공유 시스템및 그 방법 | |
JP3977298B2 (ja) | グリッドコンピューティングシステム | |
JP2001125830A (ja) | キャッシュ管理装置及びネットワークシステム並びにプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2000089996A (ja) | 情報処理装置およびデータベースシステム | |
CN111182011B (zh) | 一种服务集分配方法及装置 |