JP2010152783A - Load distribution access system, object holding device, client device, and method and program therefor in distributed file system - Google Patents

Load distribution access system, object holding device, client device, and method and program therefor in distributed file system Download PDF

Info

Publication number
JP2010152783A
JP2010152783A JP2008331982A JP2008331982A JP2010152783A JP 2010152783 A JP2010152783 A JP 2010152783A JP 2008331982 A JP2008331982 A JP 2008331982A JP 2008331982 A JP2008331982 A JP 2008331982A JP 2010152783 A JP2010152783 A JP 2010152783A
Authority
JP
Japan
Prior art keywords
request
holding device
load value
object holding
information
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.)
Granted
Application number
JP2008331982A
Other languages
Japanese (ja)
Other versions
JP5212091B2 (en
Inventor
Masumi Ichien
真澄 一圓
Kinichi Sugimoto
欽一 杉本
Sumiaki Sakae
純明 榮
Yasuo Itabashi
康雄 板橋
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008331982A priority Critical patent/JP5212091B2/en
Publication of JP2010152783A publication Critical patent/JP2010152783A/en
Application granted granted Critical
Publication of JP5212091B2 publication Critical patent/JP5212091B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem in which load distribution takes time since an object server queries the next object server for whether it can transfer a request based on a list, there is no method for determining a receiving destination of the request when all object servers reject receipt of the request, and when an object server which holds a replica is changed, all the object servers holding the replica of the list must be individually updated. <P>SOLUTION: The load distribution access system includes an object mapping information management means; a load value evaluation means; and a load value comparison means. When a client transmits a request to an object server, position information of all the object servers holding the replica is stored in the request, and when the object server transfers the request, the request is transferred to the other object server while storing the load value therein. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、分散ファイルシステムにおける負荷分散アクセスシステム、オブジェクト保持装置、クライアント装置およびその方法並びにそのプログラムに関するものである。特に、本発明は、アクセス負荷を一極集中で管理することなく、さらに高速に最適なサーバにリクエストを転送することができる負荷分散アクセスシステム、オブジェクト保持装置、クライアント装置およびその方法並びにそのプログラムに関するものである。   The present invention relates to a load distribution access system, an object holding device, a client device, a method thereof, and a program thereof in a distributed file system. In particular, the present invention relates to a load distribution access system, an object holding device, a client device, a method thereof, and a program thereof that can transfer a request to an optimal server at a higher speed without managing the access load centrally. Is.

ファイルを分散して格納するシステムの一例としては、非特許文献1および非特許文献2に記載されているものがある。非特許文献1および非特許文献2に記載されている分散ファイルシステムは、クライアント装置と、名前解決手段(メタサーバ装置)と、データ格納手段(ストレージ装置)とから構成されている。   Non-patent document 1 and non-patent document 2 are examples of systems that store files in a distributed manner. The distributed file system described in Non-Patent Document 1 and Non-Patent Document 2 includes a client device, a name resolution unit (metaserver device), and a data storage unit (storage device).

ファイルは、そのままデータ格納手段に格納される場合もあれば、データを分割したものを複数のデータ格納手段にオブジェクトとして格納される場合もある。名前解決手段はファイルシステムのメタデータ以外に、ファイルとファイルを構成するオブジェクト、およびオブジェクトとストレージ装置とのマッピング情報を保持している。ファイル単位で格納されている場合には、ファイルとストレージ装置とのマッピング情報を保持している。クライアント装置がデータをアクセスする際には、アクセスするデータの部分に対応するオブジェクトの情報を名前解決手段に問い合わせる必要がある。   The file may be stored in the data storage unit as it is, or a file obtained by dividing the data may be stored as an object in a plurality of data storage units. In addition to the file system metadata, the name resolution means holds files, objects constituting the files, and mapping information between the objects and the storage apparatus. When stored in units of files, mapping information between files and storage devices is held. When the client device accesses the data, it is necessary to inquire the name resolution means about the object information corresponding to the data portion to be accessed.

さらに、データの信頼性を向上させる方法の1つとして、オブジェクトのレプリカ(コピー)を複数のストレージ装置に格納する手段がある。クライアント装置がオブジェクトを読み出すときには、どれか1つのオブジェクトから読み出せばよい。このとき、データ格納手段の読み込み負荷を分散させる方法としては、名前解決手段などでデータ格納手段へのアクセス状況を一極集中で管理する方法が考えられる。   Further, as one method for improving the reliability of data, there is means for storing replicas (copies) of objects in a plurality of storage devices. When the client device reads an object, it may be read from any one object. At this time, as a method of distributing the reading load of the data storage unit, a method of managing the access status to the data storage unit with a name resolution unit or the like can be considered.

しかし、この方法では、アクセス状況を管理している部分がSPOF(Single-Point-Of-Failure)になり性能のボトルネックになる、またデータ格納手段のソフトウェアやハードウェア環境の条件を考慮した負荷分散ができないという問題があった。   However, with this method, the part that manages the access status becomes a single-point-of-failure (SPOF) and becomes a performance bottleneck, and the load that takes into account the conditions of the software and hardware environment of the data storage means There was a problem that it could not be dispersed.

この問題を解決する方法が特許文献1に記載されている。この特許文献1に記載の技術では、各オブジェクトサーバ(ストレージ装置)で負荷を監視し、クライアント装置からの読み出しリクエスト(以下、リクエストは読み出しリクエストを意味する)を受け付けるかどうかを判断する。リクエストを受け付けないと判断した場合、別のオブジェクトサーバにリクエストを転送する。このとき転送する先のオブジェクトサーバリストは各サーバが保持している。リストから次のオブジェクトサーバを選択したらそのオブジェクトサーバにリクエストを転送してもよいかをまず問い合わせ、可能であると返事があればリクエストを転送する。このような方法で、一極集中管理方法による問題を解決している。   A method for solving this problem is described in Patent Document 1. In the technique described in Patent Document 1, the load is monitored by each object server (storage device), and it is determined whether or not a read request from the client device (hereinafter, the request means a read request) is accepted. If it is determined that the request is not accepted, the request is transferred to another object server. At this time, each server holds a destination object server list to be transferred. When the next object server is selected from the list, it is first inquired whether the request can be transferred to the object server, and if there is a reply, the request is transferred. In this way, the problems caused by the single centralized management method are solved.

しかしながらこの方法では、オブジェクトサーバはリストから次のオブジェクトサーバを検索し、さらに次のオブジェクトサーバにリクエスト転送が可能かを問い合わせしてからリクエストを転送するので、負荷の分散に時間がかかるという問題がある。   However, with this method, the object server searches the next object server from the list, and further inquires whether the request transfer is possible to the next object server before transferring the request. is there.

さらに、転送候補オブジェクトサーバのすべてがリクエスト受け入れを拒否した場合、どのオブジェクトサーバが最終的にリクエストを受け入れるか否かを決定する方法がないため、リクエストは転送されることなく、転送可能かの問い合わせがされ続ける問題がある。さらにレプリカを保持しているオブジェクオサーバの変更があった場合、レプリカを保持しているすべてのオブジェクトサーバのリストを別々に更新しなければならず、オーバヘッドが大きいという問題がある。
特開2003−256390号公報 D. Nagle, et al., “The Panasas ActiveScale Storage Cluster: Delivering Scalable High Bandwidth Storage”, In Proceedings of SC2004, November 2004, Pittsburgh, Pennsylvania. Sage A. Weil et al., “Ceph: A Scalable, High-Performance distributed File System”, In Proceedings of 7th OSDI06, November 2006, Boston, Massachusetts.
In addition, if all of the transfer candidate object servers refuse to accept the request, there is no way to determine which object server will eventually accept the request, so the request can be forwarded without being forwarded. There is a problem that continues to be. Furthermore, when there is a change in the object server holding the replica, the list of all object servers holding the replica must be updated separately, resulting in a large overhead.
JP 2003-256390 A D. Nagle, et al., “The Panasas ActiveScale Storage Cluster: Delivering Scalable High Bandwidth Storage”, In Proceedings of SC2004, November 2004, Pittsburgh, Pennsylvania. Sage A. Weil et al., “Ceph: A Scalable, High-Performance distributed File System”, In Proceedings of 7th OSDI06, November 2006, Boston, Massachusetts.

第1の問題点は、負荷分散に時間がかかるということである。その理由は、各オブジェクトサーバのリストから転送候補オブジェクトサーバを検索し、さらにそのオブジェクトサーバがリクエストを受付可能であるかを確認してから転送するためである。保持するオブジェクト数が増大するにつれ、リストサイズも増大することになり、検索の時間も増大する。   The first problem is that load distribution takes time. The reason is that the transfer candidate object server is searched from the list of each object server, and it is transferred after confirming whether the object server can accept the request. As the number of objects held increases, the list size also increases, and the search time also increases.

第2の問題点は、転送候補オブジェクトサーバのすべてがリクエスト受け入れを拒否した場合、どのオブジェクトサーバが最終的にリクエストを受け入れるか否かを決定する方法がないということである。その理由は、転送候補オブジェクトサーバにリクエスト受付可能かを問い合わせる際に、負荷の大きさを表す指標を知る手段が無いためである。特許文献1および非特許文献1,2では、全ての転送候補オブジェクトサーバがリクエスト受付を拒否した場合の処理方法が記載されておらず、いずれかのオブジェクトサーバの負荷が低くなって受け入れ可能になるまで転送可能かの問い合わせをし続けることになる。   The second problem is that if all transfer candidate object servers refuse to accept the request, there is no way to determine which object server will ultimately accept the request. The reason is that there is no means for knowing an index representing the magnitude of the load when inquiring whether the request can be accepted from the transfer candidate object server. Patent Document 1 and Non-Patent Documents 1 and 2 do not describe a processing method when all transfer candidate object servers refuse to accept a request, and the load on one of the object servers becomes low and can be accepted. Will continue to inquire whether transfer is possible.

第3の問題点は、レプリカ保持情報変更に伴うリスト更新オーバヘッドが大きいということである。その理由は、同じレプリカを保持しているオブジェクトサーバの位置情報リストを各オブジェクトサーバそれぞれが保持しているためである。オブジェクト数およびレプリカ数が増大すればするほど、更新オーバヘッドが大きくなる。   The third problem is that the list update overhead accompanying the change of the replica holding information is large. The reason is that each object server holds a position information list of object servers holding the same replica. As the number of objects and the number of replicas increase, the update overhead increases.

[発明の目的]
本発明の目的は、高速に負荷分散できる負荷分散アクセスシステムおよびその方法並びにそのプログラムを提供することにある。
[Object of invention]
An object of the present invention is to provide a load distribution access system, a method thereof, and a program thereof that can perform load distribution at high speed.

本発明の他の目的は、どの転送候補オブジェクトサーバも高負荷である場合に、最も負荷が小さいオブジェクトサーバにリクエストを転送する、またはリクエストを破棄する負荷分散アクセスシステムおよびその方法並びにそのプログラムを提供することにある。   Another object of the present invention is to provide a load balancing access system and method for transferring a request to an object server having the smallest load or discarding a request when any transfer candidate object server has a high load, and a program thereof. There is to do.

本発明のさらに他の目的は、同じレプリカを保持しているオブジェクトサーバの情報が更新されるときの処理オーバヘッドを削減できる負荷分散アクセスシステムおよびその方法並びにそのプログラムを提供することにある。   Still another object of the present invention is to provide a load distribution access system and method, and a program thereof that can reduce processing overhead when information of object servers holding the same replica is updated.

本発明のオブジェクト保持装置は、負荷値を算出する負荷評価手段と、前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するものであって、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する動作と、前記リクエストを破棄する動作とのいずれかの動作を実行し、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる負荷値比較手段と、を備えたことを特徴とする。   The object holding device of the present invention determines a load evaluation unit that calculates a load value, and determines whether to accept a request based on the load value. If the request is not accepted, the load value is stored in the request, and If the request is transferred based on information on another object holding device stored in the request, and the request is not accepted by all object holding devices, the load value is the highest among the requests. A load value comparison unit that performs any one of an operation of transferring the request to a low object holding device and an operation of discarding the request, and accepts the request when the request is received once; It is provided with.

本発明のクライアント装置は、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するオブジェクトマッピング情報保持手段と、前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報をリクエストに格納して送信するクライアントアプリケーション実行手段と、を備えたことを特徴とする。   The client device according to the present invention includes an object mapping information holding unit that holds correspondence information between an object and an object holding device that stores the object, and object holding device information obtained from the object mapping information holding unit. And a client application execution means for storing and transmitting.

本発明の負荷分散アクセスシステムは、オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムであって、前記オブジェクト保持装置が、負荷値を算出する負荷評価手段と、前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するものであって、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する動作と、前記リクエストを破棄する動作とのいずれかの動作を実行し、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる負荷値比較手段と、を備え、前記クライアント装置が、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するオブジェクトマッピング情報保持手段と、前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するクライアントアプリケーション実行手段と、を備えたことを特徴とする。   The load distribution access system according to the present invention is a load distribution access system comprising an object holding device and a client device, wherein the object holding device calculates a load value, and requests based on the load value. If the request is not accepted, the load value is stored in the request, and the request is transferred based on the information of another object holding device stored in the request. Then, when the request is not accepted by all the object holding devices, one of the operation of transferring the request to the object holding device having the lowest load value in the request and the operation of discarding the request If the request received once is received again, Load value comparison means for accepting an est, wherein the client device holds object mapping information holding means for holding correspondence information between an object and an object holding device storing the object, and the object mapping information holding means Client application execution means for storing the obtained object holding device information in the request and transmitting it.

また、本発明の負荷分散アクセスシステムは、オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムであって、前記オブジェクト保持装置が、負荷値からオブジェクト読み出し時間を算出する負荷評価手段と、前記オブジェクト読み出し時間とデッドライン時間とを比較し、該比較結果に基づいてリクエストを受入れるか否かを判断し、受入れない場合は前記リクエストの中でまだリクエストを受信していないオブジェクト保持装置にリクエストを転送し、受入れ不可能な前記リクエストと判断した場合、前記リクエストを破棄してクライアント装置に該破棄したことを通知する負荷値比較手段と、を備え、前記クライアント装置が、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するオブジェクトマッピング情報保持手段と、前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するクライアントアプリケーション実行手段と、要求オブジェクトのデッドライン時間を算出するデッドライン時間算出手段と、を備えたことを特徴とする。   The load distribution access system of the present invention is a load distribution access system comprising an object holding device and a client device, wherein the object holding device calculates load time for reading an object from a load value, The object read time is compared with the deadline time, and it is determined whether or not the request is accepted based on the comparison result. If the request is not accepted, the request is sent to the object holding device that has not yet received the request. A load value comparing means for discarding the request and notifying the client device that the request has been discarded when it is determined that the request is unacceptable. The client device stores the object and the object. With the object holding device Object mapping information holding means for holding information, client application execution means for storing the object holding device information obtained from the object mapping information holding means in the request, and dead for calculating the deadline time of the request object Line time calculating means.

また、本発明の負荷分散アクセスシステムは、オブジェクト保持装置とクライアント装置とメタデータ保持装置とを備えた負荷分散アクセスシステムであって、前記オブジェクト保持装置が、負荷値を算出する負荷評価手段と、前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するものであって、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する動作と、前記リクエストを破棄する動作とのいずれかの動作を実行し、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる負荷値比較手段と、を備え、前記メタデータ保持装置が、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置の対応情報を保持するオブジェクトマッピング情報保持手段を備え、前記クライアント装置が、前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するクライアントアプリケーション実行手段を備えたことを特徴とする。   The load distribution access system of the present invention is a load distribution access system comprising an object holding device, a client device, and a metadata holding device, wherein the object holding device calculates a load value; Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, When the request is transferred and the request is not accepted by all the object holding devices, the request is transferred to the object holding device having the lowest load value among the requests, and the request is discarded. The request that has been received and executed once. Load value comparing means for accepting the request when received again, and the metadata holding device comprises object mapping information holding means for holding correspondence information between the object and the object holding device storing the object The client device comprises client application execution means for storing the object holding device information obtained from the object mapping information holding means in the request and transmitting it.

また、本発明の負荷分散アクセスシステムは、オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムであって、前記オブジェクト保持装置が、負荷値を算出する負荷評価手段と、前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するものであって、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する動作と、前記リクエストを破棄する動作とのいずれかの動作を実行し、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる負荷値比較手段と、位置情報を提供する位置情報提供手段と、を備え、前記クライアント装置が、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するオブジェクトマッピング情報保持手段と、前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するクライアントアプリケーション実行手段と、位置情報を提供する位置情報提供手段と、を備えたことを特徴とする。   The load distribution access system according to the present invention is a load distribution access system comprising an object holding device and a client device, wherein the object holding device is based on load evaluation means for calculating a load value, and on the load value. To determine whether to accept the request, and if not, store the load value in the request and transfer the request based on the information of another object holding device stored in the request If all the object holding devices do not accept the request, either the operation of transferring the request to the object holding device having the lowest load value among the requests or the operation of discarding the request If the request received once is received again, An object mapping comprising: a load value comparing means for accepting the request; and a location information providing means for providing location information, wherein the client device holds correspondence information between the object and the object holding device storing the object. Information holding means, client application execution means for storing and transmitting the object holding device information obtained from the object mapping information holding means in the request, and position information providing means for providing position information. Features.

本発明のオブジェクト保持方法は、負荷値を算出するステップと、前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するステップと、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する処理と、前記リクエストを破棄する処理とのいずれかの処理を実行するステップと、オブジェクト保持装置が一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れるステップと、を有することを特徴とする。   The object holding method of the present invention includes a step of calculating a load value, and determining whether or not to accept the request based on the load value. If not accepted, the load value is stored in the request, and the request is stored in the request. The step of transferring the request based on information of another stored object holding device, and the object holding device having the lowest load value among the requests when all the object holding devices do not accept the request A process for transferring the request to the server, a process for discarding the request, and a step of accepting the request when the object holding device receives the request again. It is characterized by having.

本発明のクライアント装置の動作制御方法は、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するステップと、前記保持するステップを使用して得られたオブジェクト保持装置情報をリクエストに格納して送信するステップと、を有することを特徴とする。   The operation control method for a client device according to the present invention includes a step of holding correspondence information between an object and an object holding device storing the object, and requesting object holding device information obtained by using the holding step. And storing and transmitting.

本発明の負荷分散アクセス方法は、オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムにおいて使用される負荷分散アクセス方法であって、前記オブジェクト保持装置が、負荷値を算出するステップと、前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するステップと、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送するステップと、前記リクエストを破棄するステップとのいずれかを実行するステップと、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れるステップと、を実行し、前記クライアント装置が、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するステップと、前記保持するステップを使用して得られたオブジェクト保持装置情報を前記リクエストに格納して送信するステップと、を実行することを特徴とする。   The load distribution access method of the present invention is a load distribution access method used in a load distribution access system comprising an object holding device and a client device, wherein the object holding device calculates a load value, It is determined whether or not to accept the request based on the load value. If the request is not accepted, the load value is stored in the request, and the request is based on the information of another object holding device stored in the request. And when the request is not accepted by all object holding devices, the step of transferring the request to the object holding device having the lowest load value among the requests, and the step of discarding the request Step to perform one and receive once If the request is received again, the step of accepting the request is executed, and the client device holds correspondence information between the object and the object holding device storing the object, and the holding step And storing the object holding device information obtained by using the request in the request.

また、本発明の負荷分散アクセス方法は、オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムにおいて使用される負荷分散アクセス方法であって、前記オブジェクト保持装置が、負荷値からオブジェクト読み出し時間を算出するステップと、前記オブジェクト読み出し時間とデッドライン時間とを比較し、該比較結果に基づいてリクエストを受入れるか否かを判断し、受入れない場合は前記リクエストの中でまだリクエストを受信していないオブジェクト保持装置にリクエストを転送し、受入れ不可能な前記リクエストと判断した場合、前記リクエストを破棄してクライアント装置に該破棄したことを通知するステップと、を実行し、前記クライアント装置が、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するステップと、前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するステップと、要求オブジェクトのデッドライン時間を算出するステップと、を実行することを特徴とする。   The load distribution access method of the present invention is a load distribution access method used in a load distribution access system comprising an object holding device and a client device, wherein the object holding device calculates an object read time from a load value. The calculation step is compared with the object readout time and the deadline time, and it is determined whether or not to accept the request based on the comparison result. If not accepted, the request has not been received yet. If the request is transferred to the object holding device and the request is determined to be unacceptable, the request is discarded and the client device is notified of the discard, and the client device The object storing the object A step of holding correspondence information with the object holding device, a step of storing the object holding device information obtained from the object mapping information holding means and transmitting it in the request, and a step of calculating a deadline time of a request object , Is executed.

本発明のプログラムは、負荷値を算出する処理と、前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送する処理と、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する処理と、前記リクエストを破棄する処理とのいずれかの処理を実行する処理と、オブジェクト保持装置が一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる処理と、をコンピュータに実行させることを特徴とする。   The program of the present invention determines a load value calculation process and whether to accept a request based on the load value. If not accepted, the load value is stored in the request and stored in the request. Based on the information of another object holding device, and when the request is not accepted by all object holding devices, the object holding device having the lowest load value among the requests is sent to the object holding device. A process for executing a process for transferring a request and a process for discarding the request; and a process for accepting the request when the object holding device receives the request again. It is made to perform.

また、本発明のプログラムは、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持する処理と、前記保持する処理を使用して得られたオブジェクト保持装置情報をリクエストに格納して送信する処理と、をコンピュータに実行させることを特徴とする。   In addition, the program of the present invention stores a process for holding correspondence information between an object and an object holding apparatus storing the object, and object holding apparatus information obtained by using the holding process in a request. And transmitting the data in a computer.

また、本発明のプログラムは、オブジェクト保持装置とクライアント装置との動作を制御する負荷分散アクセスシステムのコンピュータに実行させるプログラムであって、前記オブジェクト保持装置に、負荷値を算出する処理と、前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送する処理と、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する処理と、前記リクエストを破棄する処理とのいずれかを実行する処理と、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる処理と、を実行させ、前記クライアント装置に、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持する処理と、前記保持するステップを使用して得られたオブジェクト保持装置情報を前記リクエストに格納して送信する処理と、を実行させることを特徴とする。   The program of the present invention is a program to be executed by a computer of a load distribution access system that controls operations of the object holding device and the client device, and the object holding device calculates the load value, and the load It is determined whether to accept the request based on the value. If not, the load value is stored in the request, and the request is determined based on the information of another object holding device stored in the request. When the request is not accepted by all object holding devices, either the processing to transfer the request to the object holding device with the lowest load value among the requests, or the processing to discard the request The process to execute or the request received once And a process of accepting the request if received, and a process of holding correspondence information between the object and the object holding device storing the object in the client device, and using the holding step And processing for storing the object holding device information obtained in this way in the request and transmitting it.

また、本発明のプログラムは、オブジェクト保持装置とクライアント装置との動作を制御する負荷分散アクセスシステムのコンピュータに実行させるプログラムであって、前記オブジェクト保持装置に、負荷値からオブジェクト読み出し時間を算出する処理と、前記オブジェクト読み出し時間とデッドライン時間とを比較し、該比較結果に基づいてリクエストを受入れるか否かを判断し、受入れない場合は前記リクエストの中でまだリクエストを受信していないオブジェクト保持装置にリクエストを転送し、受入れ不可能な前記リクエストと判断した場合、前記リクエストを破棄してクライアント装置に該破棄したことを通知する処理と、を実行させ、前記クライアント装置に、オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持する処理と、前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信する処理と、要求オブジェクトのデッドライン時間を算出する処理と、を実行させることを特徴とする。   The program of the present invention is a program executed by a computer of a load distribution access system that controls operations of an object holding device and a client device, and the object holding device calculates an object read time from a load value. The object read time and the deadline time, determine whether to accept the request based on the comparison result, and if not, the object holding device that has not yet received the request in the request And when the request is determined to be unacceptable, the request is discarded and the client device is notified that the request has been discarded. The containing object Processing for holding correspondence information with the holding device, processing for storing and transmitting the object holding device information obtained from the object mapping information holding means, processing for calculating the deadline time of the request object, Is executed.

第1の効果は、本発明によれば高速に負荷分散できることにある。その理由は、本発明ではリクエストにレプリカを保持しているオブジェクトサーバの位置情報が格納されているため、オブジェクトサーバが転送する際に転送候補オブジェクトサーバを検索するのはリクエストに格納されている最小限の情報でよいためである。また別の理由は、本発明では転送先オブジェクトサーバが受付可能かを判断せずにリクエストを転送するためである。   The first effect is that the load can be distributed at high speed according to the present invention. The reason is that in the present invention, since the location information of the object server holding the replica is stored in the request, the search for the transfer candidate object server when the object server transfers is the minimum stored in the request. This is because limited information is sufficient. Another reason is that the present invention transfers a request without determining whether the transfer destination object server can accept the request.

第2の効果は、本発明によれば転送候補オブジェクトサーバのすべてで負荷が高い場合でも、最も負荷が小さいオブジェクトサーバにリクエストを転送することができることにある。その理由は、本発明ではオブジェクトサーバがリクエストに各オブジェクトサーバの負荷の大きさを表す情報を格納して転送するためである。したがって、本発明は、全てのオブジェクトサーバで受け入れ不可能な負荷であってもリクエストの負荷値を比較して、最も負荷値が小さいオブジェクトサーバにリクエストを転送する、また、リクエストを破棄することができる。   The second effect is that according to the present invention, even when all the transfer candidate object servers have a high load, the request can be transferred to the object server having the smallest load. The reason is that in the present invention, the object server stores and transmits information indicating the load level of each object server in the request. Therefore, according to the present invention, even if the load is unacceptable in all object servers, the load values of the requests are compared, the request is transferred to the object server having the smallest load value, and the request can be discarded. it can.

第3の効果は、本発明によればレプリカ保持情報変更に伴うリスト更新オーバヘッドが小さいことにある。その理由は、本発明ではオブジェクトおよびそのレプリカが格納されているオブジェクトサーバ情報をクライアント側で管理しているためである。   The third effect is that according to the present invention, the list update overhead accompanying the change of the replica holding information is small. This is because in the present invention, the object server information storing the object and its replica is managed on the client side.

オブジェクトとは、各オブジェクトサーバが保持しているデータである。オブジェクトは、クライアントがアクセスするデータそのものである場合もあるし、クライアントがアクセスするデータを分割したものである場合もある。各オブジェクトは、信頼性向上のために複数のオブジェクトサーバにレプリカ(コピー)を保持している。   An object is data held by each object server. An object may be data itself accessed by a client, or may be data obtained by dividing data accessed by a client. Each object holds replicas (copies) in a plurality of object servers to improve reliability.

次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1実施形態は、アプリケーションが動作しているクライアント100と、オブジェクトを保持するオブジェクトサーバ101aおよび101bと、クライアントとオブジェクトサーバを繋ぐ伝送路102から構成されている。
Next, the best mode for carrying out the invention will be described in detail with reference to the drawings.
Referring to FIG. 1, the first embodiment of the present invention includes a client 100 in which an application is operating, object servers 101a and 101b that hold objects, and a transmission path 102 that connects the client and the object server. .

クライアント100は、クライアントアプリケーション10とオブジェクトマッピング情報管理部11とリクエスト送受信部(図示せず)を含む。   The client 100 includes a client application 10, an object mapping information management unit 11, and a request transmission / reception unit (not shown).

オブジェクトサーバ101aおよび101bは、負荷値比較部20aおよび20b、オブジェクトアクセス処理部21aおよび21b、負荷評価部22aおよび22b、オブジェクト保持部23aおよび23bを含む。   The object servers 101a and 101b include load value comparison units 20a and 20b, object access processing units 21a and 21b, load evaluation units 22a and 22b, and object holding units 23a and 23b.

これらの手段はそれぞれ概略つぎのように動作する。
クライアントアプリケーション10は、クライアント100で動作し、必要なデータをオブジェクトサーバから読み出す。
Each of these means generally operates as follows.
The client application 10 operates on the client 100 and reads necessary data from the object server.

オブジェクトマッピング情報管理部11は、オブジェクトとオブジェクトが格納されているオブジェクトサーバの対応情報を保持し、クライアントアプリケーション10からの要求に対し、該当する部分のオブジェクトが格納されているオブジェクトサーバの位置情報を返す。   The object mapping information management unit 11 holds correspondence information between an object and an object server in which the object is stored. In response to a request from the client application 10, the object mapping information management unit 11 stores position information on the object server in which the corresponding part of the object is stored return.

リクエスト送受信部は、クライアントアプリケーション10からのリクエストを、クライアントアプリケーション10によって指定されたオブジェクトサーバに対して送信する。   The request transmission / reception unit transmits a request from the client application 10 to the object server designated by the client application 10.

負荷値比較部20aおよび20bは、リクエストに格納された負荷値と自身のオブジェクトサーバの負荷値とを比較し、リクエストを受け入れるか否かを判断する。   The load value comparison units 20a and 20b compare the load value stored in the request with the load value of its own object server, and determine whether to accept the request.

オブジェクトアクセス処理部21aおよび21bは、オブジェクトアクセスリクエストを受け取る。   The object access processing units 21a and 21b receive the object access request.

負荷評価部22aおよび22bは、オブジェクトアクセス処理部21aおよび21bの負荷値を計算する。   The load evaluation units 22a and 22b calculate the load values of the object access processing units 21a and 21b.

オブジェクト保持部23aおよび23bは、オブジェクトを保持する。   The object holding units 23a and 23b hold objects.

フローチャートや図を参照して本実施形態の全体的な動作について詳細に説明する。   The overall operation of this embodiment will be described in detail with reference to flowcharts and drawings.

まず、クライアントの動作について説明する。クライアントアプリケーション10がオブジェクトサーバに格納されているオブジェクトにアクセスするとき、まずオブジェクトマッピング情報管理部11に、アクセスしたいオブジェクトが格納されているオブジェクトサーバの位置情報を問い合わせる。オブジェクトマッピング情報管理部11は、オブジェクトが格納されているオブジェクトサーバの位置情報のすべてを返す。クライアントアプリケーション10は、図2に示すように、リクエストに、オブジェクト要求情報、自身のクライアント位置情報、および全てのオブジェクトサーバ位置情報を格納して、どれか1つのオブジェクトサーバにリクエストを送信する。   First, the operation of the client will be described. When the client application 10 accesses an object stored in the object server, first, the object mapping information management unit 11 is inquired of the location information of the object server in which the object to be accessed is stored. The object mapping information management unit 11 returns all the location information of the object server in which the object is stored. As shown in FIG. 2, the client application 10 stores the object request information, its own client location information, and all the object server location information in the request, and transmits the request to any one of the object servers.

次に、図4のフローチャートを参照してオブジェクトサーバ101aおよび101bの動作について説明する。以後、リクエストを受信したオブジェクトサーバを自オブジェクトサーバ、それ以外のオブジェクトサーバを他オブジェクトサーバと表記する。   Next, the operation of the object servers 101a and 101b will be described with reference to the flowchart of FIG. Hereinafter, the object server that has received the request is referred to as its own object server, and other object servers are referred to as other object servers.

クライアントからのリクエストを受信する(ステップS100)。リクエストに自オブジェクトサーバの負荷値が格納されているか否かを負荷評価部が判断する(ステップS101)。noの場合、受信したリクエストは初めてのものなので、リクエストを受け入れるか否かを判断する処理に移行する。yesの場合、すでにリクエストを受信して負荷値を格納し、転送されている。このリクエストは他オブジェクトサーバの処理ステップS108によって転送されてきたものであり、クライアントが要求するオブジェクトを保持しているオブジェクトサーバ群のなかで最も負荷値が低かったことを意味する。よって負荷値を判断せずにリクエストを受け入れる。負荷値の計算は負荷評価部が行う(ステップS102)。負荷評価部から得られた負荷値を基に、負荷値比較部がリクエストを受け入れるか否かを判断する(ステップS103)。   A request from the client is received (step S100). The load evaluation unit determines whether or not the load value of the own object server is stored in the request (step S101). In the case of no, since the received request is the first, the process proceeds to a process for determining whether to accept the request. If yes, the request has already been received and the load value is stored and transferred. This request has been transferred in the processing step S108 of the other object server, which means that the load value is the lowest among the object server groups holding the object requested by the client. Therefore, the request is accepted without judging the load value. The load evaluation unit calculates the load value (step S102). Based on the load value obtained from the load evaluation unit, it is determined whether or not the load value comparison unit accepts the request (step S103).

ステップS103での判断の結果、リクエストを受け入れない場合、図3に示すように、リクエストの自身の負荷値フィールドに負荷値を格納する(ステップS104)。負荷値をリクエストに格納したら、リクエストに全てのオブジェクトサーバの負荷値が格納されているかを確認する(ステップS105)。すべて格納されている場合(ステップS105のyesの場合)、最も負荷値が低いオブジェクトサーバを見つけ、それが自オブジェクトサーバであるか否かを確認する(ステップS107)。   If the request is not accepted as a result of the determination in step S103, the load value is stored in the load value field of the request as shown in FIG. 3 (step S104). When the load value is stored in the request, it is confirmed whether the load values of all object servers are stored in the request (step S105). If all are stored (Yes in step S105), an object server having the lowest load value is found, and it is confirmed whether or not it is the own object server (step S107).

ステップS105の処理において、リクエストにまだ負荷値が格納されていないオブジェクトサーバがある場合(ステップS105のnoの場合)、そのオブジェクトサーバにリクエストを転送する(ステップS106)。ステップS107の処理において、最も負荷値が低いのが自オブジェクトサーバであった場合(ステップS107のyesの場合)、自オブジェクトサーバでリクエストを受け付けると判断し、オブジェクトアクセス処理部にリクエストを渡す(ステップS109)。最も負荷値が低いのが他オブジェクトサーバであった場合(ステップS107のnoの場合)、他オブジェクトサーバにリクエストを送信する。ここで、オブジェクトのレプリカを保持しているオブジェクトサーバのすべての負荷が高い場合の最終的なリクエスト処理方法は、最も負荷が小さいオブジェクトサーバがリクエストを受け入れるとしているが、リクエストを破棄するといった処理に置換してもよい。   In the process of step S105, when there is an object server for which the load value is not yet stored in the request (in the case of no in step S105), the request is transferred to the object server (step S106). In the process of step S107, if the own object server has the lowest load value (yes in step S107), it is determined that the request is received by the own object server, and the request is passed to the object access processing unit (step S109). When the load value is the lowest in the other object server (in the case of no in step S107), the request is transmitted to the other object server. Here, the final request processing method when the load of all the object servers holding object replicas is high is that the object server with the lowest load accepts the request, but the request is discarded. It may be replaced.

次に、本実施形態の効果について説明する。
本実施形態では、自オブジェクトサーバが高負荷の場合、自オブジェクトサーバへのリクエストを他オブジェクトサーバに転送するとき、リクエスト内の情報を参照してすぐに転送できるため、負荷分散を高速に実行することができる。
Next, the effect of this embodiment will be described.
In this embodiment, when the own object server is heavily loaded, when a request to the own object server is transferred to another object server, it can be transferred immediately with reference to the information in the request, so load distribution is executed at high speed. be able to.

また、本実施形態では、さらに、転送リクエスト内に負荷値を格納することで、どのオブジェクトサーバも高負荷であった場合でも、最も低い負荷値のオブジェクトサーバがリクエストを受け入れる、またはリクエストを破棄する、などの処理を実行することができる。   Further, in the present embodiment, by storing the load value in the transfer request, even if any object server has a high load, the object server having the lowest load value accepts the request or discards the request. , Etc. can be executed.

また、本実施形態では、レプリカを保持しているオブジェクトサーバが変更になった場合、クライアントのオブジェクトマッピング情報管理部の情報のみを変更するだけでよい。よってレプリカ保持情報変更時の処理オーバヘッドを削減することができる。   In the present embodiment, when the object server holding the replica is changed, only the information of the object mapping information management unit of the client need be changed. Therefore, it is possible to reduce the processing overhead when changing the replica holding information.

[第2実施形態]
次に、本発明の第2実施形態について図面を参照して詳細に説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.

図5を参照すると、本発明の第2実施形態は、第1実施形態と比較して、オブジェクトマッピング情報管理部がクライアント100ではなく、メタサーバ103に保持されている点が異なる。   Referring to FIG. 5, the second embodiment of the present invention is different from the first embodiment in that the object mapping information management unit is held in the meta server 103 instead of the client 100.

本発明の第2実施形態の処理手順は、クライアントアプリケーション10がオブジェクトマッピング情報管理部11に伝送路102を介して問い合わせる以外は、第1実施形態の処理手順と同じである。   The processing procedure of the second embodiment of the present invention is the same as the processing procedure of the first embodiment except that the client application 10 inquires the object mapping information management unit 11 via the transmission path 102.

次に、本発明の第2実施形態の効果について説明する。
オブジェクトマッピング情報をメタサーバ103で一極集中管理するので、オブジェクトマッピング情報変更時の処理オーバヘッドを削減することができる。
Next, the effect of 2nd Embodiment of this invention is demonstrated.
Since the object mapping information is centrally managed by the meta server 103, the processing overhead when changing the object mapping information can be reduced.

[第3実施形態]
次に、本発明の第3実施形態について図面を参照して詳細に説明する。
[Third Embodiment]
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.

図6を参照すると、本発明の第3実施形態は、第1実施形態(図1)と比較して、クライアント100にデッドライン算出部12が追加されており、さらにオブジェクトサーバ101aおよび101bの負荷値比較部20aおよび20bがデッドライン判断部24aおよび24bに置き換えられている点が異なる。   Referring to FIG. 6, in the third embodiment of the present invention, a deadline calculation unit 12 is added to the client 100 as compared with the first embodiment (FIG. 1), and the load on the object servers 101a and 101b is further increased. The difference is that the value comparison units 20a and 20b are replaced with deadline determination units 24a and 24b.

フローチャートおよび図を参照して、本実施形態の全体的な動作について詳細に説明する。   The overall operation of the present exemplary embodiment will be described in detail with reference to flowcharts and drawings.

クライアントアプリケーション10は、オブジェクト読み出しのデッドライン時間をデッドライン算出部12で算出させて、リクエストに格納する。このときのリクエストは、図2の情報にデッドライン時間が追加されたものになる。   The client application 10 causes the deadline calculation unit 12 to calculate the object read deadline time and stores it in the request. The request at this time is obtained by adding the deadline time to the information in FIG.

次にリクエストを受信したときのオブジェクトサーバ101aおよび101bの処理手順を、図7を参照して説明する。まずクライアントからリクエストを受信する(ステップS200)。次にオブジェクトサーバの負荷値からオブジェクト読み出しにかかる時間を算出し(ステップS201)、リクエストに格納されているデッドライン時間内にオブジェクトを提供できるか否かを判断する(ステップS202)。   Next, the processing procedure of the object servers 101a and 101b when receiving a request will be described with reference to FIG. First, a request is received from a client (step S200). Next, the time required to read the object is calculated from the load value of the object server (step S201), and it is determined whether or not the object can be provided within the deadline time stored in the request (step S202).

可能である場合(ステップS202のyes)、そのままリクエストを受け入れ、オブジェクトアクセス処理部にリクエストを渡す(ステップS207)。不可能である場合(ステップS202のno)、リクエストにオブジェクト受入不可能フラグをセットする(ステップS203)。このときの転送リクエストは、図3の負荷値の部分がオブジェクト受入不可能フラグに置換されたものになる。次いで、リクエストにすべてのオブジェクト受入不可能フラグがセットされているかを確認する(ステップS204)。   If it is possible (yes in step S202), the request is accepted as it is, and the request is passed to the object access processing unit (step S207). If it is not possible (no in step S202), an object unacceptable flag is set in the request (step S203). The transfer request at this time is the one in which the load value portion in FIG. 3 is replaced with the object unacceptable flag. Next, it is confirmed whether or not all object acceptance impossible flags are set in the request (step S204).

リクエストのすべてのオブジェクト受入不可能フラグに値がセットされている場合(ステップS204のyes)、クライアントアプリケーションにリクエストの受入れができないことを通知し、リクエストを破棄する(ステップS206)。リクエストのすべてのオブジェクト受入不可能フラグに値がセットされていない場合(ステップS204のno)、フラグがセットされていないオブジェクトサーバにリクエストを転送する(ステップS205)。   If all the object unacceptable flags of the request are set (yes in step S204), the client application is notified that the request cannot be accepted, and the request is discarded (step S206). If no value is set in all the object unacceptable flags of the request (no in step S204), the request is transferred to an object server for which no flag is set (step S205).

次に、本実施形態の効果について説明する。
第1実施形態では、オブジェクトサーバの負荷が低ければクライアントが必要とする時間に間に合わないリクエストも受け入れて、無駄に負荷を高くしてしまうことが生じる。一方、第3実施形態によれば、オブジェクトサーバでリクエストに格納されたデッドライン時間を参照することにより、レプリカを保持しているオブジェクトサーバすべてでデッドライン時間に間に合わない場合はリクエストを破棄することができ、無駄にオブジェクトサーバの負荷が高くなることを回避することができる。
Next, the effect of this embodiment will be described.
In the first embodiment, if the load on the object server is low, a request that does not meet the time required by the client is accepted and the load is increased unnecessarily. On the other hand, according to the third embodiment, by referring to the deadline time stored in the request at the object server, the request is discarded if the deadline time cannot be met in all the object servers holding the replica. It is possible to avoid an unnecessary increase in the load on the object server.

[第4実施形態]
次に、本発明の第4実施形態について図面を参照して詳細に説明する。
[Fourth Embodiment]
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings.

図8を参照すると、本発明の第4実施形態は、第1実施形態と比較して、位置情報提供部13をクライアント100が有している点と、位置情報提供部25aおよび25bをオブジェクトサーバ101aおよび101bが有している点とが異なる。ここで、位置情報とは、ネットワーク上の位置情報(ネットワーク座標)、または物理的な位置(GPS)などである。したがって、本実施形態の位置情報は、図2に示すクライアント位置情報とは別のパラメータである。   Referring to FIG. 8, the fourth embodiment of the present invention is different from the first embodiment in that the client 100 has the position information providing unit 13 and the position information providing units 25a and 25b are object servers. 101a and 101b are different. Here, the position information is position information (network coordinates) on the network, physical position (GPS), or the like. Therefore, the position information of this embodiment is a parameter different from the client position information shown in FIG.

次に、本発明の第4実施形態の処理手順について説明する。
クライアントは、リクエストに位置情報を一緒に格納する。このときのリクエストは、図2に示すリクエストの内容に位置情報が追加されたものになる。
Next, a processing procedure according to the fourth embodiment of the present invention will be described.
The client stores the location information together with the request. The request at this time is obtained by adding position information to the content of the request shown in FIG.

リクエストを受信したオブジェクトサーバは、リクエストを受け入れるか否かを判断するときに、負荷値以外にクライアントと自オブジェクトサーバとの距離も考慮する。それ以外の処理手順は、第1実施形態の処理手順と同じである。   The object server that has received the request considers the distance between the client and its own object server in addition to the load value when determining whether to accept the request. The other processing procedure is the same as the processing procedure of the first embodiment.

第4実施形態の効果は、より高速なレスポンスが可能になるオブジェクトサーバにリクエストを転送することができることである。   The effect of the fourth embodiment is that a request can be transferred to an object server that allows a faster response.

[実施例]
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。
[Example]
Next, the operation of the best mode for carrying out the present invention will be described using specific examples.

あるオブジェクトサーバがクライアントアプリケーションからリクエストを受信し、リクエストを転送して、最後に最も負荷値が低いオブジェクトサーバにリクエストを送信する動作について詳しく説明する。   An operation in which a certain object server receives a request from the client application, transfers the request, and finally transmits the request to the object server having the lowest load value will be described in detail.

オブジェクトサーバが3台(それぞれオブジェクトサーバA、B、Cとする)であるとし、クライアントアプリケーションがアクセスするファイルがオブジェクトであるとしてそれぞれ3台のオブジェクトサーバに格納されているものとする。ここではオブジェクトサーバを3台としているが、オブジェクトサーバが2台以上ある状況であれば本発明を適用することが可能である。また、クライアントの台数も制限は無い。伝送路は、ファイバーチャネル、インフィニバンドなどが考えられるが、ここではイーサネット(登録商標)とする。負荷の指標としては、CPU使用率、ネットワーク帯域使用率、ディスクへのリクエストキュー長、電力消費などが考えられるが、ここではディスクのリクエストキュー長とする。また、リクエストを受け入れるか否かの判断基準は、ディスクのリクエストキュー長が10以上であるか否かとする。負荷の基準の他の例としては、CPU、ディスク、ネットワークなどの負荷を総合して負荷値を出力する評価式を用いるなどしてもよい。この評価式では、それぞれの負荷割合に重みを付けて足し合わせることがあってもよい。   Assume that there are three object servers (respectively, object servers A, B, and C), and that the files accessed by the client application are stored in the three object servers as objects. Here, there are three object servers, but the present invention can be applied if there are two or more object servers. There is no limit to the number of clients. The transmission path may be Fiber Channel, InfiniBand, etc., but here is Ethernet (registered trademark). The load index may be a CPU usage rate, a network bandwidth usage rate, a disk request queue length, power consumption, and the like, but here it is a disk request queue length. The criterion for determining whether or not to accept the request is whether or not the request queue length of the disk is 10 or more. As another example of the load standard, an evaluation formula that outputs the load value by combining the loads of the CPU, the disk, the network, and the like may be used. In this evaluation formula, each load ratio may be weighted and added.

クライアントアプリケーションは、ファイルにアクセスするために、まずオブジェクトマッピング情報管理部にファイルをオブジェクトとして保持しているオブジェクトサーバの位置情報を問い合わせる。ファイルはオブジェクトサーバA、B、Cに格納されているので、クライアントアプリケーションはオブジェクトマッピング情報管理部からそれぞれのオブジェクトサーバのIPアドレスを得る。クライアントアプリケーションは、オブジェクト要求情報(ファイルIDやファイルオフセット値など)と、クライアントのアドレスと、オブジェクトサーバそれぞれのアドレスとをリクエストに格納して、そのリクエストをオブジェクトサーバに送信する。ここでは、ランダムにオブジェクトサーバAを選択したものとする。   In order to access the file, the client application first inquires the object mapping information management unit about the location information of the object server holding the file as an object. Since the files are stored in the object servers A, B, and C, the client application obtains the IP address of each object server from the object mapping information management unit. The client application stores the object request information (file ID, file offset value, etc.), the client address, and the address of each object server in the request, and transmits the request to the object server. Here, it is assumed that the object server A is selected at random.

オブジェクトサーバAがリクエストを受信して負荷値を計算したところ、15であったとする。その場合、オブジェクトサーバAは、リクエストを受け入れずに、自身の負荷値をリクエストに格納し、まだ負荷値が格納されていないオブジェクトサーバに転送する。ここではランダムにオブジェクトサーバCに転送したものとする。   Assume that the object server A receives the request and calculates the load value to be 15. In this case, the object server A does not accept the request, stores its own load value in the request, and transfers it to the object server that does not yet store the load value. Here, it is assumed that the data is randomly transferred to the object server C.

オブジェクトサーバCがリクエストを受信して負荷値を計算したところ、30であったとする。オブジェクトサーバCもオブジェクトサーバAと同様、リクエストに自身の負荷値を格納してオブジェクトサーバBに転送する。   It is assumed that the object server C receives the request and calculates the load value, which is 30. Similarly to the object server A, the object server C stores its own load value in the request and transfers it to the object server B.

オブジェクトサーバBがリクエストを受信して負荷値を計算したところ、20であったとする。この場合、すべてのオブジェクトサーバで負荷値の閾値を超えているので、Cはもっとも負荷値が小さいAにリクエストを転送する。   It is assumed that when the object server B receives the request and calculates the load value, it is 20. In this case, since the load value threshold is exceeded in all the object servers, C forwards the request to A having the smallest load value.

オブジェクトサーバAは再びリクエストを受信する。しかし、リクエストに自身の負荷値が格納されているので、レプリカを保持しているオブジェクトサーバ群の中で最も負荷値が低いと判断し、リクエストを受け入れる。   The object server A receives the request again. However, since the load value is stored in the request, it is determined that the load value is the lowest among the object server groups holding the replica, and the request is accepted.

上記の場合はもっとも負荷分散に時間がかかるケースである。もし負荷値が閾値より小さいオブジェクトサーバが存在すれば、より高速に負荷が分散される。   In the above case, the load distribution takes the longest time. If there is an object server whose load value is smaller than the threshold value, the load is distributed at a higher speed.

本発明は、複数のオブジェクトサーバ、複数のクライアントから構成される分散ファイルシステムにおいて、特にオブジェクトのレプリカを複数格納する分散ファイルシステムにおけるアクセス負荷分散の用途に適応できる。   The present invention can be applied to an access load distribution application in a distributed file system including a plurality of object servers and a plurality of clients, particularly in a distributed file system storing a plurality of object replicas.

本発明の第1実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of 1st Embodiment of this invention. 第1実施形態においてクライアントがオブジェクトサーバに送信するリクエストの属性フィールドを示す図である。It is a figure which shows the attribute field of the request which a client transmits to an object server in 1st Embodiment. 第1実施形態においてオブジェクトサーバが他オブジェクトサーバにリクエストを転送する際のリクエストの属性フィールドを示す図である。It is a figure which shows the attribute field of a request when an object server transfers a request to another object server in 1st Embodiment. 第1実施形態の動作を示すフローチャートである。It is a flowchart which shows operation | movement of 1st Embodiment. 本発明の第2実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of 2nd Embodiment of this invention. 本発明の第3実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of 3rd Embodiment of this invention. 第3実施形態の動作を示すフローチャートである。It is a flowchart which shows operation | movement of 3rd Embodiment. 本発明の第4実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of 4th Embodiment of this invention.

符号の説明Explanation of symbols

10 クライアントアプリケーション
11 オブジェクトマッピング情報管理部
12 デッドライン算出部
13 位置情報提供部
20a,20b 負荷値比較部
21a,21b オブジェクトアクセス処理部
22a,22b 負荷評価部
23a,23b オブジェクト保持部
24a,24b デッドライン判断部
25a,25b 位置情報提供部
100 クライアント
101a,101b オブジェクトサーバ
102 伝送路
103 メタサーバ
DESCRIPTION OF SYMBOLS 10 Client application 11 Object mapping information management part 12 Deadline calculation part 13 Location information provision part 20a, 20b Load value comparison part
21a, 21b Object access processing unit 22a, 22b Load evaluation unit 23a, 23b Object holding unit 24a, 24b Deadline determination unit 25a, 25b Location information providing unit 100 Client 101a, 101b Object server 102 Transmission path 103 Meta server

Claims (18)

負荷値を算出する負荷評価手段と、
前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するものであって、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する動作と、前記リクエストを破棄する動作とのいずれかの動作を実行し、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる負荷値比較手段と、
を備えたことを特徴とするオブジェクト保持装置。
Load evaluation means for calculating a load value;
Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, When the request is transferred and the request is not accepted by all the object holding devices, the request is transferred to the object holding device having the lowest load value among the requests, and the request is discarded. Load value comparison means for executing any one of the operations, and receiving the request once received again,
An object holding device comprising:
位置情報を提供する位置情報提供手段
をさらに備えることを特徴とする請求項1に記載のオブジェクト保持装置。
The object holding device according to claim 1, further comprising: position information providing means for providing position information.
負荷値からオブジェクト読み出し時間を算出する負荷評価手段と、
前記オブジェクト読み出し時間とデッドライン時間とを比較し、該比較結果に基づいてリクエストを受入れるか否かを判断し、受入れない場合は前記リクエストの中でまだリクエストを受信していないオブジェクト保持装置にリクエストを転送し、受入れ不可能な前記リクエストと判断した場合、前記リクエストを破棄してクライアント装置に該破棄したことを通知する負荷値比較手段と、
を備えたことを特徴とするオブジェクト保持装置。
Load evaluation means for calculating the object readout time from the load value;
The object read time is compared with the deadline time, and it is determined whether to accept the request based on the comparison result. If not, the request is sent to the object holding device that has not yet received the request in the request. Load value comparing means for discarding the request and notifying the client device that the request has been discarded.
An object holding device comprising:
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するオブジェクトマッピング情報保持手段と、
前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報をリクエストに格納して送信するクライアントアプリケーション実行手段と、
を備えたことを特徴とするクライアント装置。
Object mapping information holding means for holding correspondence information between an object and an object holding device storing the object;
Client application execution means for storing the object holding device information obtained from the object mapping information holding means in a request and transmitting it;
A client device comprising:
要求オブジェクトのデッドライン時間を算出するデッドライン時間算出手段
をさらに備えたことを特徴とする請求項4に記載のクライアント装置。
The client apparatus according to claim 4, further comprising deadline time calculation means for calculating a deadline time of the request object.
位置情報を提供する位置情報提供手段
をさらに備えたことを特徴とする請求項4のクライアント装置。
The client apparatus according to claim 4, further comprising position information providing means for providing position information.
オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムであって、
前記オブジェクト保持装置が、
負荷値を算出する負荷評価手段と、
前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するものであって、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する動作と、前記リクエストを破棄する動作とのいずれかの動作を実行し、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる負荷値比較手段と、を備え、
前記クライアント装置が、
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するオブジェクトマッピング情報保持手段と、
前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するクライアントアプリケーション実行手段と、
を備えたことを特徴とする負荷分散アクセスシステム。
A load balancing access system comprising an object holding device and a client device,
The object holding device is
Load evaluation means for calculating a load value;
Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, When the request is transferred and the request is not accepted by all the object holding devices, the request is transferred to the object holding device having the lowest load value among the requests, and the request is discarded. Load value comparing means for executing any one of the operations and receiving the request when the request received once is received again,
The client device is
Object mapping information holding means for holding correspondence information between an object and an object holding device storing the object;
Client application execution means for storing the object holding device information obtained from the object mapping information holding means in the request and transmitting it;
A load balancing access system characterized by comprising:
オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムであって、
前記オブジェクト保持装置が、
負荷値からオブジェクト読み出し時間を算出する負荷評価手段と、
前記オブジェクト読み出し時間とデッドライン時間とを比較し、該比較結果に基づいてリクエストを受入れるか否かを判断し、受入れない場合は前記リクエストの中でまだリクエストを受信していないオブジェクト保持装置にリクエストを転送し、受入れ不可能な前記リクエストと判断した場合、前記リクエストを破棄してクライアント装置に該破棄したことを通知する負荷値比較手段と、を備え、
前記クライアント装置が、
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するオブジェクトマッピング情報保持手段と、
前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するクライアントアプリケーション実行手段と、
要求オブジェクトのデッドライン時間を算出するデッドライン時間算出手段と、
を備えたことを特徴とする負荷分散アクセスシステム。
A load balancing access system comprising an object holding device and a client device,
The object holding device is
Load evaluation means for calculating the object readout time from the load value;
The object read time is compared with the deadline time, and it is determined whether to accept the request based on the comparison result. If not, the request is sent to the object holding device that has not yet received the request in the request. Load value comparing means for discarding the request and notifying the client device that the request has been discarded when it is determined that the request is unacceptable.
The client device is
Object mapping information holding means for holding correspondence information between an object and an object holding device storing the object;
Client application execution means for storing the object holding device information obtained from the object mapping information holding means in the request and transmitting it;
Deadline time calculating means for calculating the deadline time of the request object;
A load balancing access system characterized by comprising:
オブジェクト保持装置とクライアント装置とメタデータ保持装置とを備えた負荷分散アクセスシステムであって、
前記オブジェクト保持装置が、
負荷値を算出する負荷評価手段と、
前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するものであって、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する動作と、前記リクエストを破棄する動作とのいずれかの動作を実行し、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる負荷値比較手段と、を備え、
前記メタデータ保持装置が、
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置の対応情報を保持するオブジェクトマッピング情報保持手段を備え、
前記クライアント装置が、
前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するクライアントアプリケーション実行手段を備えた
ことを特徴とする負荷分散アクセスシステム。
A load balancing access system comprising an object holding device, a client device, and a metadata holding device,
The object holding device is
Load evaluation means for calculating a load value;
Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, When the request is transferred and the request is not accepted by all the object holding devices, the request is transferred to the object holding device having the lowest load value among the requests, and the request is discarded. Load value comparing means for executing any one of the operations and receiving the request when the request received once is received again,
The metadata holding device is
Comprising object mapping information holding means for holding correspondence information between an object and an object holding device storing the object;
The client device is
A load balancing access system comprising: client application execution means for storing the object holding device information obtained from the object mapping information holding means in the request and transmitting it.
オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムであって、
前記オブジェクト保持装置が、
負荷値を算出する負荷評価手段と、
前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するものであって、全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する動作と、前記リクエストを破棄する動作とのいずれかの動作を実行し、一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる負荷値比較手段と、
位置情報を提供する位置情報提供手段と、を備え、
前記クライアント装置が、
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するオブジェクトマッピング情報保持手段と、
前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するクライアントアプリケーション実行手段と、
位置情報を提供する位置情報提供手段と、
を備えたことを特徴とする負荷分散アクセスシステム。
A load balancing access system comprising an object holding device and a client device,
The object holding device is
Load evaluation means for calculating a load value;
Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, When the request is transferred and the request is not accepted by all the object holding devices, the request is transferred to the object holding device having the lowest load value among the requests, and the request is discarded. Load value comparison means for executing any one of the operations and receiving the request once received again,
Position information providing means for providing position information,
The client device is
Object mapping information holding means for holding correspondence information between an object and an object holding device storing the object;
Client application execution means for storing the object holding device information obtained from the object mapping information holding means in the request and transmitting the information;
Position information providing means for providing position information;
A load balancing access system characterized by comprising:
負荷値を算出するステップと、
前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するステップと、
全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する処理と、前記リクエストを破棄する処理とのいずれかの処理を実行するステップと、
オブジェクト保持装置が一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れるステップと、
を有することを特徴とするオブジェクト保持方法。
Calculating a load value;
Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, Forwarding the request;
If the request is not accepted by all object holding devices, one of the processing of transferring the request to the object holding device having the lowest load value in the request and the processing of discarding the request is executed. And steps to
Accepting the request if the object holding device has received the request once again;
An object holding method characterized by comprising:
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するステップと、
前記保持するステップを使用して得られたオブジェクト保持装置情報をリクエストに格納して送信するステップと、
を有することを特徴とするクライアント装置の動作制御方法。
Holding correspondence information between the object and the object holding device storing the object;
Storing and transmitting object holding device information obtained using the holding step in a request;
An operation control method for a client device, comprising:
オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムにおいて使用される負荷分散アクセス方法であって、
前記オブジェクト保持装置が、
負荷値を算出するステップと、
前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送するステップと、
全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送するステップと、前記リクエストを破棄するステップとのいずれかを実行するステップと、
一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れるステップと、を実行し、
前記クライアント装置が、
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するステップと、
前記保持するステップを使用して得られたオブジェクト保持装置情報を前記リクエストに格納して送信するステップと、
を実行することを特徴とする負荷分散アクセス方法。
A load balancing access method used in a load balancing access system comprising an object holding device and a client device,
The object holding device is
Calculating a load value;
Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, Forwarding the request;
If the request is not accepted by all object holding devices, the step of transferring the request to the object holding device having the lowest load value among the requests and the step of discarding the request When,
Performing the step of accepting the request once received once again,
The client device is
Holding correspondence information between the object and the object holding device storing the object;
Storing and transmitting the object holding device information obtained using the holding step in the request;
A load balancing access method characterized in that
オブジェクト保持装置とクライアント装置とを備えた負荷分散アクセスシステムにおいて使用される負荷分散アクセス方法であって、
前記オブジェクト保持装置が、
負荷値からオブジェクト読み出し時間を算出するステップと、
前記オブジェクト読み出し時間とデッドライン時間とを比較し、該比較結果に基づいてリクエストを受入れるか否かを判断し、受入れない場合は前記リクエストの中でまだリクエストを受信していないオブジェクト保持装置にリクエストを転送し、受入れ不可能な前記リクエストと判断した場合、前記リクエストを破棄してクライアント装置に該破棄したことを通知するステップと、を実行し、
前記クライアント装置が、
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持するステップと、
前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信するステップと、
要求オブジェクトのデッドライン時間を算出するステップと、
を実行することを特徴とする負荷分散アクセス方法。
A load balancing access method used in a load balancing access system comprising an object holding device and a client device,
The object holding device is
Calculating an object readout time from a load value;
The object read time is compared with the deadline time, and it is determined whether to accept the request based on the comparison result. If not, the request is sent to the object holding device that has not yet received the request in the request. If the request is determined to be unacceptable, the step of discarding the request and notifying the client device of the discard is performed.
The client device is
Holding correspondence information between the object and the object holding device storing the object;
Storing the object holding device information obtained from the object mapping information holding means in the request and transmitting it;
Calculating the deadline time of the request object;
A load balancing access method characterized in that
負荷値を算出する処理と、
前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送する処理と、
全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する処理と、前記リクエストを破棄する処理とのいずれかの処理を実行する処理と、
オブジェクト保持装置が一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる処理と、
をコンピュータに実行させるプログラム。
Processing to calculate the load value;
Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, Processing to forward the request;
If the request is not accepted by all object holding devices, one of the processing of transferring the request to the object holding device having the lowest load value in the request and the processing of discarding the request is executed. Processing to
A process of accepting the request when the object holding device has received the request once again;
A program that causes a computer to execute.
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持する処理と、
前記保持する処理を使用して得られたオブジェクト保持装置情報をリクエストに格納して送信する処理と、
をコンピュータに実行させるプログラム。
Processing for holding correspondence information between an object and an object holding device storing the object;
A process for storing the object holding device information obtained using the holding process in a request and transmitting the request;
A program that causes a computer to execute.
オブジェクト保持装置とクライアント装置との動作を制御する負荷分散アクセスシステムのコンピュータに実行させるプログラムであって、
前記オブジェクト保持装置に、
負荷値を算出する処理と、
前記負荷値に基づいてリクエストを受け入れるか否かを判断し、受け入れない場合は前記リクエストに前記負荷値を格納して、前記リクエストに格納されている別のオブジェクト保持装置の情報に基づいて、前記リクエストを転送する処理と、
全てのオブジェクト保持装置で前記リクエストが受け入れられない場合、前記リクエストの中で最も負荷値が低いオブジェクト保持装置に前記リクエストを転送する処理と、前記リクエストを破棄する処理とのいずれかを実行する処理と、
一度受信した前記リクエストを再び受信した場合は前記リクエストを受け入れる処理と、を実行させ、
前記クライアント装置に、
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持する処理と、
前記保持するステップを使用して得られたオブジェクト保持装置情報を前記リクエストに格納して送信する処理と、
を実行させるプログラム。
A program to be executed by a computer of a load balancing access system that controls operations of an object holding device and a client device,
In the object holding device,
Processing to calculate the load value;
Determine whether to accept the request based on the load value, if not, store the load value in the request, based on the information of another object holding device stored in the request, Processing to forward the request;
When all the object holding devices do not accept the request, processing for transferring the request to the object holding device with the lowest load value in the request and processing for discarding the request When,
A process of accepting the request when the request received once is received again,
In the client device,
Processing for holding correspondence information between an object and an object holding device storing the object;
Processing to store and transmit object holding device information obtained using the holding step in the request;
A program that executes
オブジェクト保持装置とクライアント装置との動作を制御する負荷分散アクセスシステムのコンピュータに実行させるプログラムであって、
前記オブジェクト保持装置に、
負荷値からオブジェクト読み出し時間を算出する処理と、
前記オブジェクト読み出し時間とデッドライン時間とを比較し、該比較結果に基づいてリクエストを受入れるか否かを判断し、受入れない場合は前記リクエストの中でまだリクエストを受信していないオブジェクト保持装置にリクエストを転送し、受入れ不可能な前記リクエストと判断した場合、前記リクエストを破棄してクライアント装置に該破棄したことを通知する処理と、を実行させ、
前記クライアント装置に、
オブジェクトと前記オブジェクトを格納しているオブジェクト保持装置との対応情報を保持する処理と、
前記オブジェクトマッピング情報保持手段から得られたオブジェクト保持装置情報を前記リクエストに格納して送信する処理と、
要求オブジェクトのデッドライン時間を算出する処理と、
を実行させるプログラム。
A program to be executed by a computer of a load balancing access system that controls operations of an object holding device and a client device,
In the object holding device,
A process of calculating the object readout time from the load value;
The object read time is compared with the deadline time, and it is determined whether to accept the request based on the comparison result. If not, the request is sent to the object holding device that has not yet received the request in the request. When the request is determined to be unacceptable, the request is discarded and the client device is notified that the request has been discarded.
In the client device,
Processing for holding correspondence information between an object and an object holding device storing the object;
Processing for storing and transmitting the object holding device information obtained from the object mapping information holding means in the request;
Processing to calculate the deadline time of the request object;
A program that executes
JP2008331982A 2008-12-26 2008-12-26 Object holding device, load balancing access system, object holding method, load balancing access method, and program Active JP5212091B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008331982A JP5212091B2 (en) 2008-12-26 2008-12-26 Object holding device, load balancing access system, object holding method, load balancing access method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008331982A JP5212091B2 (en) 2008-12-26 2008-12-26 Object holding device, load balancing access system, object holding method, load balancing access method, and program

Publications (2)

Publication Number Publication Date
JP2010152783A true JP2010152783A (en) 2010-07-08
JP5212091B2 JP5212091B2 (en) 2013-06-19

Family

ID=42571769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008331982A Active JP5212091B2 (en) 2008-12-26 2008-12-26 Object holding device, load balancing access system, object holding method, load balancing access method, and program

Country Status (1)

Country Link
JP (1) JP5212091B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319689A (en) * 1996-05-27 1997-12-12 Nec Corp Server selecting system
JPH09325945A (en) * 1996-06-04 1997-12-16 Toshiba Corp Client/server system
JP2003036216A (en) * 2001-07-23 2003-02-07 Nec Corp Web system, node device, locator device and their programs
JP2003256390A (en) * 2002-02-27 2003-09-12 Mitsubishi Electric Corp Distributed object system
JP2006260059A (en) * 2005-03-16 2006-09-28 Hitachi Information Technology Co Ltd Server device
JP2006268155A (en) * 2005-03-22 2006-10-05 Nec Corp Load balancing device, server system, and its load balancing method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319689A (en) * 1996-05-27 1997-12-12 Nec Corp Server selecting system
JPH09325945A (en) * 1996-06-04 1997-12-16 Toshiba Corp Client/server system
JP2003036216A (en) * 2001-07-23 2003-02-07 Nec Corp Web system, node device, locator device and their programs
JP2003256390A (en) * 2002-02-27 2003-09-12 Mitsubishi Electric Corp Distributed object system
JP2006260059A (en) * 2005-03-16 2006-09-28 Hitachi Information Technology Co Ltd Server device
JP2006268155A (en) * 2005-03-22 2006-10-05 Nec Corp Load balancing device, server system, and its load balancing method

Also Published As

Publication number Publication date
JP5212091B2 (en) 2013-06-19

Similar Documents

Publication Publication Date Title
CN102523256B (en) Content management method, device and system
US9716664B2 (en) Tracking queuing delay and performing related congestion control in information centric networking
CN107317879B (en) A kind of distribution method and system of user&#39;s request
JP2007066161A (en) Cache system
EP3410657B1 (en) Method of packet transmission from node and content owner in content-centric networking
EP1825654B1 (en) Routing a service query in an overlay network
US20090248871A1 (en) Server and connecting destination server switch control method
CN103023768A (en) Edge routing node and method for prefetching content from multisource by edge routing node
KR20010075542A (en) Load balancing cooperating cache servers
US20170031908A1 (en) Efficient parallel insertion into an open hash table
JP2008071156A (en) Load distribution system, method and program
JP5845877B2 (en) Information processing apparatus, data control method, and data control program
JP4291284B2 (en) Cache system and cache server
WO2018037930A1 (en) Data store device and data management method
US20200186461A1 (en) System and method for data transmission in distributed computing environments
KR100475668B1 (en) Apparatus and method of providing information for grid resources in grid network and computer readable recording medium of recording process thereof
EP3685567B1 (en) Load shedding of traffic based on current load state of target capacity
Teranishi et al. A large-scale data collection scheme for distributed topic-based pub/sub
JP5212091B2 (en) Object holding device, load balancing access system, object holding method, load balancing access method, and program
KR101255909B1 (en) Hadoop file system
US20220109609A1 (en) Policy determination apparatus, policy determining method and program
US10374986B2 (en) Scalable, real-time messaging system
US20090271521A1 (en) Method and system for providing end-to-end content-based load balancing
CN105516223A (en) Virtual storage system, realization method and server thereof, and virtual machine monitor
US11509745B2 (en) Efficient remote function execution in an information centric network

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130107

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: 20130129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130211

R150 Certificate of patent or registration of utility model

Ref document number: 5212091

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3