JP4995300B2 - Server selection control device, service request device, server selection control method, service request method, server selection control program, service request program, service providing system, and service providing method - Google Patents
Server selection control device, service request device, server selection control method, service request method, server selection control program, service request program, service providing system, and service providing method Download PDFInfo
- Publication number
- JP4995300B2 JP4995300B2 JP2010097315A JP2010097315A JP4995300B2 JP 4995300 B2 JP4995300 B2 JP 4995300B2 JP 2010097315 A JP2010097315 A JP 2010097315A JP 2010097315 A JP2010097315 A JP 2010097315A JP 4995300 B2 JP4995300 B2 JP 4995300B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- group
- priority list
- service request
- priority
- 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.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Description
本発明は、サーバ選択制御装置、サービス要求装置、サーバ選択制御方法、サービス要求方法、サーバ選択制御プログラム、サービス要求プログラム、サービス提供システムおよびサービス提供方法に関する。 The present invention relates to a server selection control device, a service request device, a server selection control method, a service request method, a server selection control program, a service request program, a service providing system, and a service providing method.
従来、同一のサービスを提供するサーバ装置がネットワーク上に設置されている場合に、各サーバ装置の負荷を分散させるための技術が知られている。例えば、DNS(Domain Name Service)用サーバを用いる方法(例えば、非特許文献1および2参照)や、負荷分散用転送装置を用いる方法(例えば、非特許文献3参照)などがある。
2. Description of the Related Art Conventionally, a technique for distributing the load of each server device when server devices that provide the same service are installed on a network is known. For example, there are a method using a DNS (Domain Name Service) server (see, for example, Non-Patent
これらの方法では、DNS用サーバおよび負荷分散用転送装置は、クライアント装置からサービス要求を受信した場合に、そのクライアントに対してサービスを提供するサーバ装置を複数のサーバ装置の中から選択する。このとき、例えば、DNS用サーバおよび負荷分散用転送装置は、クライアント装置からサービス要求を受信するごとに、選択するサーバ装置を変える。これにより、サーバ装置の負荷が分散される。 In these methods, when receiving a service request from a client device, the DNS server and the load distribution transfer device select a server device that provides a service to the client from a plurality of server devices. At this time, for example, the DNS server and the load distribution transfer device change the server device to be selected every time a service request is received from the client device. Thereby, the load of the server device is distributed.
ここで、例えば、DNS用サーバまたは負荷分散用転送装置によって1台のサーバ装置が選択される場合には、各サーバ装置は同じ確率で選択されることになる。これに対し、例えば、オペレーティングシステムのプロセススケジューリングなどで用いられている重み付きランドロビン法によれば、複数のプロセスに対して異なる割合でCPU(Central Processing Unit)を割り当てることができる(例えば、非特許文献4参照)。かかる重み付きランドロビン法をサーバ装置の選択に適用すれば、異なる確率でサーバ装置を選択することもできる。 Here, for example, when one server device is selected by a DNS server or a load distribution transfer device, each server device is selected with the same probability. In contrast, for example, according to the weighted land robin method used in process scheduling of the operating system, CPUs (Central Processing Units) can be allocated to a plurality of processes at different ratios (for example, non-processing (See Patent Document 4). If this weighted land robin method is applied to the selection of the server device, the server device can be selected with different probabilities.
しかしながら、一般的に、サービスを提供するサーバ装置には、提供可能なサービス数に上限がある。そして、この上限を超えたサービス要求は、サーバ装置によって拒否されることになる。そのため、上述した従来の方法のように、複数のサーバ装置の中から1台のサーバ装置が選択される場合には、同じ確率または異なる確率でサーバ装置を選択したとしても、選択されたサーバ装置において、提供中のサービス数がすでに上限に達していることもある。このような場合には、再度、クライアント装置がサービス要求を送信して、サーバ装置を選択しなおす必要がある。この結果、クライアントにサービスが提供されるまでの時間が長くなってしまう場合があった。 However, generally, a server device that provides a service has an upper limit on the number of services that can be provided. A service request exceeding this upper limit is rejected by the server device. Therefore, when one server device is selected from a plurality of server devices as in the conventional method described above, the selected server device is selected even if the server device is selected with the same probability or a different probability. In some cases, the number of services being provided has already reached the upper limit. In such a case, it is necessary for the client device to send a service request again and select the server device again. As a result, the time until the service is provided to the client may become long.
本発明は、上記に鑑みてなされたものであって、提供可能なサービス数がサーバ装置ごとに異なる場合でも、クライアントにサービスが提供されるまでの時間を短縮しつつ、サーバ装置の負荷分散を実現することができるサーバ選択制御装置、サービス要求装置、サーバ選択制御方法、サービス要求方法、サーバ選択制御プログラム、サービス要求プログラム、サービス提供システムおよびサービス提供方法を提供することを目的とする。 The present invention has been made in view of the above, and even when the number of services that can be provided is different for each server device, the load distribution of the server device is reduced while shortening the time until the service is provided to the client. It is an object of the present invention to provide a server selection control device, a service request device, a server selection control method, a service request method, a server selection control program, a service request program, a service providing system, and a service providing method that can be realized.
上述した課題を解決し、目的を達成するために、本発明は、クライアント装置からサーバ装置へサービス要求を転送するサービス要求装置が受信したサービス要求の転送先となるサーバ装置を選択するサーバ選択制御装置であって、前記サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求を前記サービス要求装置から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する優先リスト作成手段と、前記優先リスト作成手段により作成されたサーバ装置優先リストを前記サービス要求装置に送信する優先リスト送信手段とを備えたことを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention provides a server selection control for selecting a server device as a transfer destination of a service request received by a service request device that transfers a service request from a client device to a server device. Each time a request for a server device priority list indicating the order of server devices to be accessed as a transfer destination of the service request is received from the service request device, the number of services that can be provided simultaneously falls within a predetermined range. A priority list creating means for creating a server device priority list including a plurality of groups obtained by grouping the server devices, and changing the priority ranking of each group and / or the priority ranking of the server devices in each group; The server device priority list created by the priority list creation means is used as the service requirement. Characterized in that a priority list transmitting means for transmitting device.
また、本発明は、クライアント装置から受信したサービス要求をサーバ装置に転送するサービス要求装置であって、前記サービス要求を受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位が入れ替えられたサーバ装置優先リストを取得する優先リスト取得手段と、前記優先リスト取得手段により取得されたサーバ装置優先リストに含まれる各サーバ装置に対して前記グループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置に前記サービス要求を転送するサービス要求手段とを備えたことを特徴とする。 In addition, the present invention provides a service request device that transfers a service request received from a client device to a server device, and each time the service request is received, a plurality of servers in which the number of services that can be simultaneously provided falls within a predetermined range A priority list acquisition means for acquiring a server device priority list including a plurality of groups each grouping devices, wherein the priority ranking of each group and / or the priority ranking of the server devices in each group is switched; A service request that attempts to access each server device included in the server device priority list acquired by the priority list acquisition means in the order of priority of the group, and forwards the service request to the server device that has successfully accessed first. Means.
また、本発明は、クライアント装置からサーバ装置へサービス要求を転送するサービス要求装置が受信したサービス要求の転送先となるサーバ装置を選択するサーバ選択制御装置に適用されるサーバ選択制御方法であって、前記サーバ選択制御装置が、前記サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求を前記サービス要求装置から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する優先リスト作成工程と、前記優先リスト作成工程により作成されたサーバ装置優先リストを前記サービス要求装置に送信する優先リスト送信工程とを含んだことを特徴とする。 The present invention also provides a server selection control method applied to a server selection control device that selects a server device that is a transfer destination of a service request received by a service request device that transfers a service request from a client device to the server device. Each time the server selection control device receives a request for a server device priority list indicating the order of server devices to be accessed as a transfer destination of the service request from the service request device, the number of services that can be provided simultaneously is within a predetermined range. Priority list creation for creating a server device priority list that includes a plurality of groups obtained by grouping a plurality of server devices belonging to, and in which the priority order of each group and / or the priority order of server devices in each group is switched Process and server device priority list created by the priority list creation process The characterized in that it contains a priority list transmission step of transmitting to said service requestor.
また、本発明は、クライアント装置から受信したサービス要求をサーバ装置に転送するサービス要求装置に適用されるサービス要求方法であって、前記サービス要求装置が、前記サービス要求を受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位が入れ替えられたサーバ装置優先リストを取得する優先リスト取得工程と、前記優先リスト取得工程により取得されたサーバ装置優先リストに含まれる各サーバ装置に対して前記グループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置に前記サービス要求を転送するサービス要求工程とを含んだことを特徴とする。 The present invention is also a service request method applied to a service request apparatus that transfers a service request received from a client apparatus to a server apparatus, and is provided simultaneously each time the service request apparatus receives the service request. A server that includes a plurality of groups in which a plurality of server devices each having a possible number of services belonging to a predetermined range are grouped, and in which the priority order of each group and / or the priority order of server devices in each group is switched A priority list acquisition step of acquiring a device priority list, and attempts to access each server device included in the server device priority list acquired by the priority list acquisition step in the order of priority of the group. And a service request step for transferring the service request to a successful server device. And wherein the door.
また、本発明は、サーバ選択制御プログラムであって、コンピュータを前記サーバ選択制御装置として機能させることを特徴とする。 In addition, the present invention is a server selection control program that causes a computer to function as the server selection control device.
また、本発明は、サービス要求プログラムであって、コンピュータを前記サービス要求装置として機能させることを特徴とする。 In addition, the present invention is a service request program that causes a computer to function as the service request device.
また、本発明は、クライアント装置から受信したサービス要求をサーバ装置に転送するサービス要求装置と、サービス要求装置が受信したサービス要求の転送先となるサーバ装置を選択するサーバ選択制御装置とを有するサービス提供システムであって、前記サーバ選択制御装置が、前記サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求を前記サービス要求装置から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する優先リスト作成手段と、前記優先リスト作成手段により作成されたサーバ装置優先リストを前記サービス要求装置に送信する優先リスト送信手段とを備え、前記サービス要求装置が、前記サーバ選択制御装置から送信されたサーバ装置優先リストを取得する優先リスト取得手段と、前記優先リスト取得手段により取得されたサーバ装置優先リストに含まれる各サーバ装置に対して前記グループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置に前記サービス要求を転送するサービス要求手段とを備えたことを特徴とする。 The present invention also provides a service request apparatus that transfers a service request received from a client apparatus to a server apparatus, and a server selection control apparatus that selects a server apparatus that is a transfer destination of the service request received by the service request apparatus. A service that can be provided simultaneously each time the server selection control device receives a request for a server device priority list indicating the order of server devices to be accessed as a transfer destination of the service request from the service request device. A server device priority list including a plurality of groups each of which is a group of a plurality of server devices whose number falls within a predetermined range, and in which the priority order of each group and / or the priority order of server devices in each group is switched Priority list creation means to create and the priority list creation means Priority list transmitting means for transmitting the formed server apparatus priority list to the service request apparatus, and the service request apparatus acquires priority list acquisition means for acquiring the server apparatus priority list transmitted from the server selection control apparatus; The server device tries to access each server device included in the server device priority list acquired by the priority list acquisition means in the order of priority of the group, and transfers the service request to the server device that has successfully accessed first. And a service request means.
また、本発明は、クライアント装置から受信したサービス要求をサーバ装置に転送するサービス要求装置と、サービス要求装置が受信したサービス要求の転送先となるサーバ装置を選択するサーバ選択制御装置とを有するサービス提供システムに適用されるサービス提供方法であって、前記サーバ選択制御装置が、前記サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求を前記サービス要求装置から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する優先リスト作成工程と、前記優先リスト作成工程により作成されたサーバ装置優先リストを前記サービス要求装置に送信する優先リスト送信工程と、前記サービス要求装置が、前記サーバ選択制御装置から送信されたサーバ装置優先リストを取得する優先リスト取得工程と、前記優先リスト取得工程により取得されたサーバ装置優先リストに含まれる各サーバ装置に対して前記グループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置に前記サービス要求を転送するサービス要求工程とを含んだことを特徴とする。 The present invention also provides a service request apparatus that transfers a service request received from a client apparatus to a server apparatus, and a server selection control apparatus that selects a server apparatus that is a transfer destination of the service request received by the service request apparatus. A service providing method applied to a providing system, wherein the server selection control device receives a request for a server device priority list indicating an order of server devices to be accessed as a transfer destination of the service request from the service request device. Including a plurality of groups in which a plurality of server devices whose number of services that can be provided simultaneously falls within a predetermined range are grouped, and the priority order of each group and / or the priority order of server devices in each group A priority list creating step of creating a replaced server device priority list; A priority list transmission step of transmitting the server device priority list created by the priority list creation step to the service request device, and a priority at which the service request device acquires the server device priority list transmitted from the server selection control device. A list acquisition step, and attempts to access each server device included in the server device priority list acquired by the priority list acquisition step in the order of priority of the group, and the service is provided to the server device that has been successfully accessed first. And a service request process for transferring the request.
本発明によれば、提供可能なサービス数がサーバ装置ごとに異なる場合でも、クライアントにサービスが提供されるまでの時間を短縮しつつ、サーバ装置の負荷分散を実現することができるという効果を奏する。 According to the present invention, even when the number of services that can be provided is different for each server device, it is possible to achieve load distribution of the server device while reducing the time until the service is provided to the client. .
以下に、本発明に係るサーバ選択制御装置、サービス要求装置、サーバ選択制御方法、サービス要求方法、サーバ選択制御プログラム、サービス要求プログラム、サービス提供システムおよびサービス提供方法の実施例を図面に基づいて詳細に説明する。なお、以下に示す実施例によって本発明が限定されるものではない。 Hereinafter, embodiments of a server selection control device, a service request device, a server selection control method, a service request method, a server selection control program, a service request program, a service providing system, and a service providing method according to the present invention will be described in detail with reference to the drawings. Explained. In addition, this invention is not limited by the Example shown below.
まず、図1を参照して、実施例1に係るサービス提供システムの構成について説明する。図1に示すように、実施例1に係るサービス提供システムは、サーバ選択制御装置10と、サービス要求装置20とを有する。サービス要求装置20は、クライアント装置30から受信したサービス要求を複数のサーバ装置40に転送する。サーバ選択制御装置10は、サービス要求装置20が受信したサービス要求の転送先となるサーバ装置を選択する。
First, the configuration of a service providing system according to the first embodiment will be described with reference to FIG. As illustrated in FIG. 1, the service providing system according to the first embodiment includes a server
サーバ選択制御装置10は、優先リスト作成部11と、優先リスト送信部12とを有する。優先リスト作成部11は、サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求をサービス要求装置20から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する。優先リスト送信部12は、優先リスト作成部11により作成されたサーバ装置優先リストをサービス要求装置20に送信する。
The server
サービス要求装置20は、優先リスト取得部21と、サービス要求部22とを有する。優先リスト取得部21は、サーバ選択制御装置10から送信されたサーバ装置優先リストを取得する。サービス要求部22は、優先リスト取得部21により取得されたサーバ装置優先リストに含まれる各サーバ装置に対してグループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置にサービス要求を転送する。
The
このように、本実施例では、サーバ選択制御装置10によって、複数のサーバ装置に関する情報がサービス要求装置20に通知される。そして、サービス要求装置20によって、サーバ選択制御装置10から通知された複数のサーバ装置に対して各サーバ装置の優先度の順序でアクセスが試みられる。したがって、本実施例によれば、提供可能なサービス数がサーバ装置ごとに異なる場合でも、クライアントにサービスが提供されるまでの時間を短縮しつつ、サーバ装置の負荷分散を実現することができる。
Thus, in this embodiment, the server
なお、前述したように、より多くのクライアントに対してネットワーク上のサービスを提供するためには、クライアントがサービス要求する量に応じた台数分、同一のサービスを提供するサーバ装置をネットワーク上に設置することが行われる。これらのサーバ装置に対して、クライアントからのサービス要求を分散させる技術として、前述した非特許文献1、2および3に記載された方法がある。
As described above, in order to provide services on the network to more clients, server devices that provide the same service are installed on the network for the number of clients according to the amount requested by the clients. To be done. As a technique for distributing service requests from clients to these server apparatuses, there are methods described in
非特許文献1および2に記載された方法は、インターネットなどで利用されているDNS用サーバを用いる方法である。この方法では、同一のサービスを提供するサーバ装置を表すドメイン名に対して複数のIPアドレスが割り当てられる。そして、クライアントから送られてくるドメイン名からIPアドレスへの変換要求に対して、複数のIPアドレスをラウンドロビンによって順番にクライアントに送信する。これにより、クライアントがアクセスするサーバ装置を変化させ、サービス提供のためのサーバ装置の負荷を分散させる。
The methods described in
図2は、DNS用サーバを用いる負荷分散技術を説明するための図である。例えば、サービスを提供するサーバ装置にアクセスするためのドメイン名が、www.service.jpであったとする。この場合には、まず、クライアント装置105が、DNS用サーバ104に対して、ドメイン名www.service.jpからIPアドレスへの変換要求を送信する。
FIG. 2 is a diagram for explaining a load distribution technique using a DNS server. For example, a domain name for accessing a server device that provides a service is www. service. jp. In this case, first, the
DNS用サーバ104は、サーバ装置100、101、102、103に該当するIPアドレスを、この順序に並べて、クライアント装置105に応答する。その後、クライアント装置105は、まず、サーバ装置100に対してサービス要求を送信する。ここで、サーバ装置100が利用可能でなければ、クライアント装置105は、サーバ装置101、102、103の順に同様の処理を行う。
The
続いて、クライアント装置106および107は、この順序でドメイン名の変換要求を行ったとき、それぞれ、サーバ装置101、102、103、100に該当するIPアドレスをこの順序に並べたもの、および、サーバ装置102、103、100、101に該当するIPアドレスをこの順序に並べたものを受け取り、クライアント装置105と同様の処理を行う。このようにして、順番に使用されるサーバ装置を変化させることで、サービス提供の為のサーバ装置の負荷を分散させることができる。
Subsequently, when the
なお、ここでは、異なるクライアントが一連のサービスの要求を行う場合を説明したが、同一のクライアントが複数のサービス要求を行う場合、DNS用サーバ104から受け取ったIPアドレスを順番に使用することで、同一のクライアントから複数のサービス要求を送信する場合の負荷を分散することができる。例えば、クライアント装置105の場合、サーバ装置100→101→102→103→100→101・・・の順番にサービス要求を行うことでサービス提供の為のサーバ装置の負荷の分散を実現することができる。
Here, the case where different clients make a series of service requests has been described, but when the same client makes a plurality of service requests, the IP addresses received from the
非特許文献3に記載された方法は、負荷分散用転送装置を用いる方法である。この方法では、同一のサービスを提供する複数のサーバ装置の個々のIPアドレスとは別に、これらの複数のサーバ装置全体を表す代表IPアドレスが定義される。クライアントからのサービス要求は、この代表IPアドレスを宛先として送られる。そして、このサービス要求を転送する負荷分散用転送装置が宛先のIPアドレスの変更等の処理を行うことにより、クライアントがアクセスするサーバ装置を変化させ、サービス提供の為のサーバ装置の負荷を分散させる。
The method described in
図3は、負荷分散用転送装置を用いる負荷分散技術を説明するための図である。例えば、サーバ装置110、111、112、および、113のIPアドレスが、それぞれ、192.168.1.110、192.168.1.111、192.168.1.112、および、192.168.1.113であったとし、これらのサーバ装置の代表IPアドレスが192.168.1.10であったとする。
FIG. 3 is a diagram for explaining a load distribution technique using a load distribution transfer apparatus. For example, the IP addresses of the
クライアント装置115、116、および、117は、サーバ装置へサービス要求を送信する際は、代表IPアドレスである192.168.1.10を宛先として送信する。そのサービス要求を含むパケットが転送される経路上にある負荷分散用転送装置114は、パケットを受け取ったとき、宛先を、サービスの要求毎に、実際のサーバ装置のIPアドレスである192.168.1.110→192.168.1.111→192.168.1.112→192.168.1.113→192.168.1.110→192.168.1.111・・・の順に変化させる。これにより、サービス提供の為のサーバ装置の負荷分散を実現することができる。
When the
上記のDNS用サーバを用いる方法において、DNS用サーバがクライアントに提示するサーバ装置の数を1つとした場合、および、上記の負荷分散用転送装置を用いる方法において、サーバ装置は同じ確率で、それぞれ、DNS用サーバ、および、負荷分散用転送装置によって選択される。 In the method using the DNS server, when the number of server devices presented to the client by the DNS server is one, and in the method using the load distribution transfer device, the server devices have the same probability, , DNS server, and load distribution transfer device.
かかるサーバ装置の選択において、非特許文献4に述べられているように、オペレーティングシステムのプロセススケジューリングや転送対象のパケットの優先制御で用いられる重み付きランドロビン法を用いることで、異なった確率で、サーバ装置を選択させることができる。
In selecting such a server device, as described in
図4は、重み付きランドロビン法を説明する図である。例えば、3つのプロセスA、B、および、Cがあり、オペレーティングシステムのプロセススケジューリングの機能により、CPU時間の割り当てが行われているものとする。そして、例えば、プロセスA、B、および、Cに対して、それぞれ、2対2対1の割合でCPU時間を割り当てる場合、割り当てるタイムスロット5個に対して、2回をプロセスA、2回をプロセスB、1回をプロセスCに割り当てる。この方法をDNS用サーバ、および、負荷分散用転送装置に適用することで、ひとつのサーバ装置を選択する場合には、サーバ装置の選択の確率を変化させることができる。 FIG. 4 is a diagram for explaining the weighted land robin method. For example, it is assumed that there are three processes A, B, and C, and CPU time is allocated by the process scheduling function of the operating system. For example, when allocating CPU time at a ratio of 2 to 2 to 1 for each of processes A, B, and C, 2 times for process A and 2 times for 5 time slots to be allocated Process B is assigned to process C once. By applying this method to a DNS server and a load distribution transfer device, the probability of selection of the server device can be changed when one server device is selected.
上記で説明した負荷分散技術では、サービスを提供するために必要なサーバ装置の負荷が、クライアントからのサービスの要求数によって支配的に決まる場合は、既存技術によりサーバ装置の負荷分散が可能である。 In the load balancing technique described above, when the load on the server device necessary for providing the service is determined by the number of service requests from the client, the load on the server device can be distributed by the existing technology. .
ここで、図5に示す構成において負荷分散を行う場合を考える。図5では、クライアント装置からサービス要求装置に対して送られるサービス要求に対して、サービス要求装置が代理でサーバ装置にサービス要求を行い、サーバ装置から提供されるサービスを仲介してクライアント装置に提供する。図5に示すサービス要求装置は、図2に示したクライアントに相当する。 Here, consider a case where load distribution is performed in the configuration shown in FIG. In FIG. 5, in response to a service request sent from a client device to a service requesting device, the service requesting device makes a service request to the server device on behalf and provides the client device with the service provided from the server device. To do. The service request apparatus shown in FIG. 5 corresponds to the client shown in FIG.
さらに、前述した負荷分散技術で説明した方法では考慮されていない下記の[条件1]、[条件2]および[条件3]でのサーバ装置の負荷分散を考える。 Further, consider server server load distribution under the following [Condition 1], [Condition 2], and [Condition 3], which are not considered in the method described in the above-described load distribution technique.
[条件1]クライアント装置からのサービス要求を契機として、それ以後、クライアント装置が必要とする期間、サーバ装置からサービス要求装置を経由して、クライアント装置に対してサービスが提供され、かつ、各サーバ装置から提供可能なサービス数に上限がある。このため、上限を超えたサービス要求は、サーバ装置により拒否される。 [Condition 1] In response to a service request from the client device, a service is provided from the server device to the client device via the service request device for a period required by the client device, and each server There is an upper limit to the number of services that can be provided from the device. For this reason, a service request exceeding the upper limit is rejected by the server device.
[条件2]複数種類のサーバ装置が存在し、種類ごとに提供可能なサービス数の上限が異なる。 [Condition 2] There are a plurality of types of server devices, and the upper limit of the number of services that can be provided differs for each type.
[条件3]サーバ装置は、保守作業等のため再起動されることにより、サーバ装置から提供されているクライアントに対するサービスが強制的に切断されることが発生する。 [Condition 3] When the server device is restarted for maintenance work or the like, the service provided to the client provided by the server device is forcibly disconnected.
上記の[条件1]、[条件2]および[条件3]では、以下に示す[課題1]および[課題2]が発生する。 In the above [Condition 1], [Condition 2] and [Condition 3], the following [Problem 1] and [Problem 2] occur.
[課題1]DNS用サーバを用いる方法、または、負荷分散用転送装置を用いる方法を用いた場合、前述したように、各サーバ装置が利用される確率が同じになる。このため、上記の[条件1]および[条件2]が存在する場合には、提供可能なサービス数の上限が異なっているサーバ装置についても同じ確率で利用されることになる。したがって、より少ないサービス数しか提供できないサーバ装置に、負荷が高い状況が発生してしまう。また、DNS用サーバを用いる方法において提示するサーバ装置の数を一つとして、前述した重み付きラウンドロビン法を併用した場合には、[条件1]により、提示されたサーバ装置が提供可能なサービス数の上限を超えていると、再度、DNS用サーバに問い合わせを行わなければならないため、サービスの提供を受けるまでに、より長い時間を必要とするという問題が発生する。このサービスの提供を受けるまでに長い時間を必要とする問題は、負荷分散用転送装置を用いる方法と重み付きラウンドロビン法を組み合わせた場合でも、同様の理由により発生する。 [Problem 1] When a method using a DNS server or a method using a load distribution transfer device is used, the probability that each server device is used is the same as described above. For this reason, when the above [Condition 1] and [Condition 2] exist, the server apparatuses having different upper limits of the number of services that can be provided are also used with the same probability. Therefore, a situation in which the load is high occurs in the server device that can provide a smaller number of services. Further, when the number of server devices presented in the method using the DNS server is one and the above-described weighted round robin method is used in combination, the service that can be provided by the presented server device according to [Condition 1] If the upper limit of the number is exceeded, an inquiry must be made to the DNS server again, which causes a problem that it takes a longer time to receive the service. The problem of requiring a long time to receive provision of this service occurs for the same reason even when the method using the load distribution transfer apparatus and the weighted round robin method are combined.
[課題2]上記の[条件3]により、あるサーバ装置が再起動された場合には、再起動直後、そのサーバ装置が提供しているサービス数は、ゼロとなる。DNS用サーバを用いた方法および負荷分散用転送装置を用いる方法を用いた場合には、各サーバ装置が均等に選択されるので、再起動されたサーバ装置が多く選択されることはない。したがって、負荷分散を実現することができない。また、DNS用サーバを用いた方法や負荷分散用転送装置を用いる方法と重み付きランドロビン法を組み合わせて用いた場合、[課題1]で説明したように、サービス要求装置からのサービス要求に対して、ひとつのサーバ装置のみの提示となるため、提示されたサーバ装置が提供可能なサービス数の上限を超えていると、サービスの提供を受けるまでに、より長い時間を必要とするという課題が発生する。 [Problem 2] When a server device is restarted according to the above [Condition 3], the number of services provided by the server device is zero immediately after the restart. When the method using the DNS server and the method using the load distribution transfer device are used, the server devices are selected equally, so that many restarted server devices are not selected. Therefore, load distribution cannot be realized. In addition, when a method using a DNS server, a method using a load distribution transfer device, and a weighted land robin method are used in combination, as described in [Problem 1], a service request from a service request device Since only one server device is presented, if the number of services provided by the presented server device exceeds the upper limit, there is a problem that it takes a longer time to receive the service. appear.
本発明に係るサーバ選択制御装置、サービス要求装置、サーバ選択制御方法、サービス要求方法、サーバ選択制御プログラム、サービス要求プログラム、サービス提供システムおよびサービス提供方法は、例えば、上述した負荷分散に関する課題を解決するものである。以下では、図面を参照しながら、本発明に係るサーバ選択制御装置、サービス要求装置、サーバ選択制御方法、サービス要求方法、サーバ選択制御プログラム、サービス要求プログラム、サービス提供システムおよびサービス提供方法のより具体的な実施例について説明する。 A server selection control device, a service request device, a server selection control method, a service request method, a server selection control program, a service request program, a service provision system, and a service provision method according to the present invention, for example, solve the above-described problems related to load distribution To do. Hereinafter, with reference to the drawings, the server selection control device, the service request device, the server selection control method, the service request method, the server selection control program, the service request program, the service provision system, and the service provision method according to the present invention will be described in more detail. A specific embodiment will be described.
実施例2では、サービス要求装置とサーバ選択制御装置とを有するサービス提供システムについて説明する。本実施例では、サーバ装置を1段階のグループにより管理し、各グループには1つ以上のサーバ装置が割り当てられている例について説明する。 In the second embodiment, a service providing system having a service requesting device and a server selection control device will be described. In the present embodiment, an example will be described in which server devices are managed by a one-stage group, and one or more server devices are assigned to each group.
まず、図6を参照して、実施例2に係るサービス提供システムの構成について説明する。図6に示すように、実施例2に係るサービス提供システムは、サーバ選択制御装置50と、サービス要求装置60とを有する。サーバ選択制御装置50とサービス要求装置60とは、ネットワーク70を介して通信可能に接続されている。また、サービス要求装置60には、ネットワーク70を介して、複数のクライアント装置30および複数のサーバ装置40が通信可能に接続されている。
First, the configuration of a service providing system according to the second embodiment will be described with reference to FIG. As illustrated in FIG. 6, the service providing system according to the second embodiment includes a server
サーバ選択制御装置50は、サービス要求装置60によって受信されたサービス要求の転送先となるサーバ装置を選択する。このサーバ選択制御装置50は、通信制御部51と、グループ構成記憶部52と、制御部53とを有する。制御部53は、優先リスト作成部53aと、優先リスト送信部53bとを有する。通信制御部51は、サービス要求装置60との間でやり取りされる情報の送受信を制御する。なお、グループ構成記憶部52、優先リスト作成部53aおよび優先リスト送信部53bについては、後に詳細に説明する。
The server
サービス要求装置60は、クライアント装置30から受信したサービス要求を複数のサーバ装置40に転送する。このサービス要求装置60は、通信制御部61と、制御部62とを有する。制御部62は、優先リスト取得部62aと、サービス要求部62bとを有する。通信制御部61は、クライアント装置30、サーバ装置40およびサーバ選択制御装置50との間でやり取りされる情報の送受信を制御する。なお、優先リスト取得部62aおよびサービス要求部62bについては、後に詳細に説明する。
The
次に、図7を参照して、本実施例に係るグループ構成記憶部52について説明する。グループ構成記憶部52は、複数のサーバ装置のグループ構成に関する情報を記憶する。なお、図7におけるグループは、第一段階のグループを表しており、優先度は、グループ優先度を表している。図7に示すように、本実施例では、グループ構成記憶部52は、第一段階のグループが3つ存在し、それぞれグループ1、グループ2、および、グループ3とした情報を記憶する。
Next, the group
ここで、例えば、グループ1、グループ2およびグループ3のグループ優先度は、それぞれ、P(1)、P(2)、および、P(3)で表される。また、具体的なグループ優先度として、P(1)=4、P(2)=2、および、P(3)=1とする。このグループ優先度の大きいものが優先されるものとする。また、本実施例では、各グループ優先度は、サーバ装置優先リスト作成の一定回数毎に、サーバ装置優先リスト内で各グループを先頭に位置させる回数を同時に表す。
Here, for example, the group priorities of
なお、かかるグループ構成記憶部52によって記憶されるグループ構成は、システムの運用者によって事前に装置に対して設定されるものとする。このとき、第一段階のグループは、グループ優先度の大きいものから小さいものの順番に並べ変えて利用する。また、本実施例では、図7に示すように、グループ1、グループ2、および、グループ3について、それぞれ、サーバ装置を、3台、3台、および、2台割り当てる。なお、グループ化されるサーバ装置は、グループ間で排他的であってもよいし、グループ間で重複してもよい。
Note that the group configuration stored in the group
次に、本実施例におけるサーバ選択制御装置50の動作について説明する。まず、優先リスト送信部53bは、サービス要求装置60からサーバ装置優先リストの要求を受信し、受信した要求を優先リスト作成部53aに渡す。優先リスト作成部53aは、優先リスト送信部53bを介してサーバ装置優先リストの要求を受け付けると、グループ構成記憶部52によって記憶されている情報に基づいてサーバ装置優先リストを作成する。
Next, the operation of the server
例えば、優先リスト作成部53aは、サーバ装置優先リストを作成するときには、変数として、グループg毎に、S(g)とH(g)を用いる。S(g)は、すでにサーバ装置優先リストのなかで、グループgが先頭に位置した回数である。また、H(g)は、グループgにおいて、グループgに含まれるサーバ装置をサーバ装置優先リストに配置するときに、次の配置において、グループgに含まれるサーバ装置の中で先頭になるサーバ装置を表す。これらの変数は、以下のように初期値が設定される。
For example, when creating the server device priority list, the priority
S(1)=0, S(2)=0, S(3)=0
H(1)=サーバ1, H(2)=サーバ4, H(3)=サーバ7
S (1) = 0, S (2) = 0, S (3) = 0
H (1) =
ここで、図8を参照して、優先リスト作成部53aにより作成されるサーバ装置優先リストの一例について説明する。なお、図8におけるグループは、サーバ優先リスト内のグループを表しており、グループ組み合わせと呼び、優先度は、グループ組み合わせ優先度を表している。
Here, an example of the server device priority list created by the priority
図8に示すように、サーバ装置優先リストには、グループが配列されており、各グループには、グループ組み合わせ優先度が割り当てられる。このグループ組み合わせ優先度は、事前に、運用者によって、装置に設定される。なお、各グループには、1つ以上のサーバが配列される。本実施例では、グループ組み合わせ優先度は、より小さい値が優先されるものとする。また、図8では、よりグループ組み合わせ優先度の高いものから低いものの順に、グループが並べられているが、グループの順序は任意であってよい。 As shown in FIG. 8, groups are arranged in the server device priority list, and a group combination priority is assigned to each group. This group combination priority is set in advance in the apparatus by the operator. Note that one or more servers are arranged in each group. In this embodiment, it is assumed that the group combination priority is given a smaller value. In FIG. 8, the groups are arranged in order from the highest group combination priority to the lowest group combination priority, but the order of the groups may be arbitrary.
優先リスト送信部53bは、優先リスト作成部53aによってサーバ装置優先リストが作成されると、作成されたサーバ装置優先リストをサービス要求装置60に送信する。
When the priority
次に、図9を参照して、優先リスト作成部53aによるサーバ装置優先リストの作成方法を説明する。図9は、1回目から14回目のサーバ装置優先リストの要求に対して作成されるサーバ装置優先リストである。なお、図9におけるグループは、サーバ優先リスト内のグループを表しており、優先度は、グループ組み合わせ優先度を表している。
Next, a method for creating a server device priority list by the priority
まず、優先リスト作成部53aは、サービス要求装置60からの作成要求に対して、グループ構成記憶部52により記憶されている情報の中で最もグループ優先度が高いグループを特定する。そして、優先リスト作成部53aは、特定したグループgについて、既にサーバ装置優先リストの中で先頭になった回数S(g)とグループ優先度P(g)とを比較する。ここで、優先リスト作成部53aは、S(g)とP(g)とを比較した結果、S(g)<P(g)であった場合には、そのグループgをサーバ優先リストの中で先頭に位置させる。
First, the priority
例えば、図7に示した例では、優先リスト作成部53aは、最もグループ優先度が高いグループ1について、S(1)とP(1)とを比較する。そして、優先リスト作成部53aは、S(1)=0でありP(1)=4であるので、図9の1回目に示すように、グループ1をサーバ装置優先リストの中で先頭に位置させる(処理1−1)。
For example, in the example illustrated in FIG. 7, the priority
続いて、優先リスト作成部53aは、サーバ装置優先リストで先頭に位置させたグループについて、そのグループに含まれるサーバ装置を配置する。このとき、優先リスト作成部53aは、H(g)に設定されているサーバ装置をグループ内で先頭にし、その他のサーバ装置を順に配置する。そして、各サーバ装置を配置した後に、優先リスト作成部53aは、先頭に配置したサーバ装置の次のサーバ装置をH(g)に設定する。
Subsequently, the priority
例えば、優先リスト作成部53aは、グループ1の中で先頭となるサーバ装置を表すH(1)=サーバ1であるので、サーバ装置優先リスト内でグループ1を配置するため、サーバ装置優先リスト内での先頭のグループに、サーバ1、サーバ2、サーバ3の順番に各サーバの情報を格納し(処理1−2)、このグループをグループ1と表す。なお、ここでいうグループは、サーバ装置優先リスト内で1番目にあることを表しているものであり、図7に示したグループとは異なる。各サーバの情報を格納した後に、優先リスト作成部53aは、S(1)を1だけ増加させ、H(1)をサーバ1からサーバ2に移動する(処理1−3)。
For example, since the priority
続いて、優先リスト作成部53aは、サーバ装置優先リストの先頭に位置させたグループについて全てのサーバ装置を配置した後に、次のグループをサーバ装置優先リストに配置する。優先リスト作成部53aは、全てのグループをサーバ装置優先リストに配置するまでに、この処理を繰り返す。
Subsequently, the priority
例えば、優先リスト作成部53aは、図7に示したグループ1の次のグループ優先度のグループであるグループ2がH(2)=サーバ4であるので、サーバ装置優先リスト内でグループ2を配置するため、サーバ装置優先リスト内での2番目のグループに、サーバ4、サーバ5、サーバ6の順番で各サーバの情報を格納し、このグループをグループ2と表す(処理1−4)。各サーバの情報を格納した後に、優先リスト作成部53aは、H(2)をサーバ4からサーバ5に移動する(処理1−5)。
For example, the priority
また、優先リスト作成部53aは、同様に、グループ3について、サーバ装置優先リスト内での3番目のグループに、サーバ7、サーバ8の順番に各サーバの情報を格納し、このグループをグループ3と表す(処理1−6)。各サーバの情報を格納した後に、優先リスト作成部53aは、H(3)をサーバ7からサーバ8に移動する(処理1−7)。
Similarly, the priority
1回目の結果は、上記で説明したものである(処理1−1〜1−7)。このとき、優先リスト作成部53aは、サーバ装置優先リスト内の各グループには、あらかじめ決められたグループ組み合わせ優先度を割り当てる。サーバ装置優先リスト内の各グループgには、グループ組み合わせ優先度C(g)が割り当てられており、図9に示す例では、C(1)=1、C(2)= 5、C(3)=10としている。
The first result is as described above (Processing 1-1 to 1-7). At this time, the priority
2回目のサーバ装置優先リストについては、1回目と同様であるが、各グループでの先頭のサーバ装置を指し表すH(1)、H(2)、H(3)が、各グループの2番目を表している。そのため、優先リスト作成部53aは、各グループに含まれるサーバ装置を、2番目から最後までサーバ装置優先リストに格納し、サーバ装置の先頭に戻り、1番目のサーバ装置まで格納する。つまり、毎回のサーバ装置優先リストの作成において、各グループに含まれるサーバ装置が全て格納される。以下、4回目までのサーバ装置優先リストについては、上記と同様にして作成される。
The second server device priority list is the same as the first one, but H (1), H (2), and H (3) indicating the first server device in each group are the second in each group. Represents. Therefore, the priority
そして、優先リスト作成部53aは、S(g)とP(g)とを比較した結果、S(g)≧P(g)であった場合には、次にグループ優先度が高いグループgについてS(g)とP(g)とを比較し、S(g)<P(g)であった場合には、そのグループgをサーバ優先リストの中で先頭に位置させる。その後は、優先リスト作成部53aは、1回目から4回目までの処理と同様に、サーバ装置優先リストへの各グループおよび各サーバ装置の配置を行う。
Then, as a result of comparing S (g) and P (g) as a result of comparing S (g) and P (g), the priority
例えば、図9に示す例では、4回目のサーバ装置優先リスト作成が終了した時点では、S(1)=4となっている。ここで、優先リスト作成部53aは、S(1)=P(1)であるため、5回目のサーバ装置優先リスト作成では、グループ1を先頭にできないと判断し、グループ2のS(2)を検査し、S(2)=0がP(2)=2よりも小さいことから、グループ2を、サーバ装置優先リストの先頭と判断する。
For example, in the example shown in FIG. 9, S (1) = 4 when the fourth server device priority list creation is completed. Here, since S (1) = P (1), the priority
ここからのサーバ装置優先リスト作成方法は、これまでの説明と同じである。すなわち、優先リスト作成部53aは、グループ2、グループ3、グループ1の順番でサーバ装置優先リストにサーバ装置の情報を格納し、サーバ装置優先リスト内のグループについては、それぞれ、グループ1、グループ2、グループ3とする。このとき、優先リスト作成部53aは、各グループにおけるサーバ装置の順番については、これまでの説明どおり、H(1)、H(2)、H(3)が指し表すサーバ装置を先頭として格納する。
The server device priority list creation method from here is the same as that described so far. That is, the priority
6回目のサーバ装置優先リスト作成では、優先リスト作成部53aは、5回目と同じように、グループ2、グループ3、グループ1の順に上記と同様にサーバ装置を格納する。また、7回目のサーバ装置優先リスト作成では、優先リスト作成部53aは、S(1)=P(1)であると同時に、S(2)=2となっており、P(2)=2と同じであるため、グループ2を先頭にできないと判断し、かつ、S(3)=0が、S(3)=1よりも小さいため、グループ3、グループ1、グループ2の順に上記と同様に、サーバ装置の情報をサーバ装置優先リストに格納する。
In the sixth server device priority list creation, the priority
7回目のサーバ装置優先リスト作成が行われた後は、S(1)=4、S(2)=2、S(1)=1となっており、それぞれ、P(1)、P(2)、P(3)と等しくなっている。そのため、優先リスト作成部53aは、S(1)=0、S(2)=0、S(3)=0に設定しなおし、上記のサーバ装置優先リスト作成の手順を繰り返す。
After the seventh server device priority list is created, S (1) = 4, S (2) = 2, S (1) = 1, and P (1), P (2 ), P (3). Therefore, the priority
このように、例えば、1回目から7回目までの処理において、図7に示した各グループがサーバ装置優先リスト内で先頭に位置する回数は、それぞれ、グループ1が4回、グループ2が2回、グループ3が1回となる。このように、本実施例によれば、グループ優先度に比例した頻度で、各グループを、サーバ装置優先リスト内で先頭に位置させることができる。すなわち、優先リスト作成部53aは、グループ優先度が高いグループがサーバ装置優先リスト内で先頭に位置する頻度が高くなるように、各グループの優先度の順位を入れ替える。
Thus, for example, in the first to seventh processing, the number of times each group shown in FIG. 7 is positioned at the head in the server device priority list is 4 times for
次に、本実施例に係るサービス要求装置60の動作について説明する。まず、サービス要求部62bは、クライアント装置30からサービス要求を受信すると、優先リスト取得部62aに対して、各グループ組み合わせgのグループ組み合わせ優先度を含むサーバ装置優先リストをサーバ選択制御装置50に要求するよう指示する。そして、サービス要求部62bは、優先リスト取得部62aが要求に成功し、サーバ装置優先リストを受信した場合、サーバ装置優先リストに含まれる各グループを、そのグループに割り当てられたグループ組み合わせ優先度順に再配列する。
Next, the operation of the
ここからは、図9に示した1回目の払い出しの場合の例を用いて説明する。この例の場合、サーバ装置優先リストに格納されているのは、グループ1、グループ2、グループ3の順番になっており、それぞれのグループ組み合わせ優先度は、1、5、10になっている。よって、グループ組み合わせ優先度は、より小さい値を優先するとしているため、グループ組み合わせ優先度の順番に並び替えると、元々サーバ装置優先リストに格納されていた順序と同じく、グループ1、グループ2、グループ3の順番になる。
From here, it demonstrates using the example in the case of the 1st payout shown in FIG. In this example, what is stored in the server device priority list is the order of
続いて、サービス要求部62bは、再配列されたグループ組み合わせ優先度順で、最もグループ組み合わせ優先度の高いグループ組み合わせ、即ち、グループ1について、そこに含まれているサーバ1、サーバ2、サーバ3を、個々のサーバ装置との間で、現在、クライアント装置にサービス提供を行うために、確立しているサービス提供数をもとに、昇順にソートを行う(処理2−1)。このとき、同じサービス提供数となっているサーバ装置は、ランダムに選択した順に配置する。なお、サービス要求装置60は、各サーバ装置が確立しているサービス提供数を記憶しており、そのサービス提供数をサービスの提供状況に応じてリアルタイムまたは定期的に更新する。そして、サービス要求部62bは、ソートを行った順に、サーバ装置に対して、サービス要求を行う(処理2−2)。
Subsequently, the
ここで、サービス要求が成功した場合には、サービス要求部62bは、クライアント装置30にサービス要求成功を通知し、処理を終了する(処理2−3)。一方、サービス要求が失敗した場合には、サービス要求部62bは、グループ1内のサーバ装置に対して、ソートを行った順にサービス要求を試みる(処理2−4)。そして、サービス要求部62bは、グループ1に含まれるサーバ装置がなくなったら、サーバ装置優先リスト内のグループをグループ組み合わせ優先度順に以上の動作(処理2−1〜2−4)を繰り返す。そして、サービス要求部62bは、全てのグループ(グループ1、グループ2、グループ3)の全てのサーバ装置についてサービス要求が失敗した場合には、クライアント装置30にサービス要求失敗を通知して、処理を終了する。
Here, when the service request is successful, the
上述したように、本実施例では、サーバ選択制御装置50において、優先リスト作成部53aが、サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求をサービス要求装置60から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する。また、優先リスト送信部53bが、優先リスト作成部53aにより作成されたサーバ装置優先リストをサービス要求装置60に送信する。また、サービス要求装置60において、優先リスト取得部62aが、サーバ選択制御装置50から送信されたサーバ装置優先リストを取得する。また、サービス要求部62bが、優先リスト取得部62aにより取得されたサーバ装置優先リストに含まれる各サーバ装置に対してグループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置にサービス要求を転送する。
As described above, in the present embodiment, in the server
このように、本実施例では、サーバ選択制御装置50によって、複数のサーバ装置に関する情報がサービス要求装置60に通知される。そして、サービス要求装置60によって、サーバ選択制御装置50から通知された複数のサーバ装置に対して各サーバ装置の優先度の順序でアクセスが試みられる。したがって、本実施例によれば、提供可能なサービス数がサーバ装置ごとに異なる場合でも、クライアントにサービスが提供されるまでの時間を短縮しつつ、サーバ装置の負荷分散を実現することができる。
As described above, in the present embodiment, the server
また、本実施例では、優先リスト作成部53aは、サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求をサービス要求装置60から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する。しがたって、本実施例によれば、[課題1]を解決するための、サーバ装置の提供可能なサービス数の上限に応じた負荷分散を行うことができる。
In this embodiment, the priority
また、本実施例によれば、サーバ選択制御装置50は、クライアントであるサービス要求装置60に対して複数のサーバ装置を提示することが可能となるので、サービス要求装置60が複数のサーバ装置が利用可能か否かを順に調べていき、最初に利用可能なサーバ装置と通信を行うことでサービス提供ができるため、[課題2]の、サービス提供までに長い時間を要するという課題を解決することができる。
Further, according to the present embodiment, the server
なお、本実施例では、サービス要求装置60において、サービス要求部62bが、サーバ装置優先リストに含まれる各グループをグループ組み合わせ優先度順に再配列する場合について説明した。これに対し、例えば、サーバ選択制御装置50が、あらかじめサーバ装置優先リストに含まれる各グループを再配列しておくようにしてもよい。
In the present embodiment, the case where the
実施例3では、実施例2におけるサービス要求装置60の変形例について説明する。なお、本実施例に係るサービス提供システムの構成は、図6に示したものと同様である。
In the third embodiment, a modified example of the
本実施例では、サービス要求部62bは、クライアント装置30からサービス要求を受信すると、優先リスト取得部62aに対して、各グループ組み合わせgのグループ組み合わせ優先度を含むサーバ装置優先リストをサーバ選択制御装置50に要求するよう指示する。そして、サービス要求部62bは、優先リスト取得部62aが要求に成功し、サーバ装置優先リストを受信した場合、サーバ装置優先リストに含まれる各グループを、そのグループに割り当てられたグループ組み合わせ優先度順に再配列する。
In the present embodiment, when the
ここからは、図9に示した1回目の払い出しの場合の例を用いて説明する。この例の場合、サーバ装置優先リストに格納されているのは、グループ1、グループ2、グループ3の順番になっており、それぞれのグループ組み合わせ優先度は、1、5、10になっている。よって、グループ組み合わせ優先度は、より小さい値を優先するとしているため、グループ組み合わせ優先度の順番に並び替えると、元々サーバ装置優先リストに格納されていた順序と同じく、グループ1、グループ2、グループ3の順番になる。
From here, it demonstrates using the example in the case of the 1st payout shown in FIG. In this example, what is stored in the server device priority list is the order of
続いて、サービス要求部62bは、再配列されたグループ組み合わせ優先度順で、最もグループ組み合わせ優先度の高いグループ組み合わせ、即ち、グループ1について、そこに含まれているサーバ1、サーバ2、サーバ3に対して、この順に、サービス要求を行う(処理3−1)。
Subsequently, the
ここで、サービス要求が成功した場合には、サービス要求部62bは、クライアント装置30にサービス要求成功を通知し、処理を終了する(処理3−2)。一方、サービス要求が失敗した場合には、サービス要求部62bは、グループ1内のサーバ装置に対して、サーバ1、サーバ2、サーバ3の順にサービス要求を試みる(処理3−3)。そして、サービス要求部62bは、グループ1に含まれるサーバ装置がなくなったら、サーバ装置優先リスト内のグループをグループ組み合わせ優先度順に以上の動作(処理3−1〜3−3)を繰り返す。そして、サービス要求部62bは、全てのグループ(グループ1、グループ2、グループ3)の全てのサーバ装置についてサービス要求が失敗した場合には、クライアント装置30にサービス要求失敗を通知して、処理を終了する。
If the service request is successful, the
実施例4では、実施例1および2において、グループに含まれるサーバ装置の同時に提供可能なサービス数の総和に基づいて、各グループのグループ優先度を決定する例について説明する。なお、本実施例に係るサービス提供システムの構成は、図6に示したものと同様である。 In the fourth embodiment, an example in which the group priority of each group is determined based on the total number of services that can be simultaneously provided by the server apparatuses included in the group in the first and second embodiments will be described. The configuration of the service providing system according to the present embodiment is the same as that shown in FIG.
本実施例では、グループ構成記憶部52は、実施例1および2と同様に、複数のサーバ装置のグループ構成に関する情報を記憶する。本実施例でも、グループ構成記憶部52によって記憶されるグループ構成は、システムの運用者によって事前に装置に対して設定されるものとする。但し、グループ優先度については、以下の方法によって決定されるものとする。なお、ここでは、サーバ装置を直接含んでいるグループについて、そのグループに含まれるサーバ装置が同時に提供可能なサービス数の総数を、「グループで提供可能なサービス数」と呼ぶこととする。
In the present embodiment, the group
ここで、図10を参照して、本実施例におけるグループ優先度の決定方法について説明する。まず、グループ1に含まれる各サーバ装置において、同時に提供可能なサービス数が2000であったとする。グループ1には、3台のサーバ装置が含まれるので、グループ1で提供可能なサービス数は、6000となる。続いて、グループ2に含まれる各サーバ装置において、同時に提供可能なサービス数が500であったとする。グループ2には、3台のサーバ装置が含まれるので、グループ2で提供可能なサービス数は、1500となる。最後に、グループ3に含まれる各サーバ装置において、同時に提供可能なサービス数が150であったする。グループ3には、2台のサーバ装置が含まれるので、グループ3で提供可能なサービス数は、300となる。
Here, with reference to FIG. 10, the determination method of the group priority in a present Example is demonstrated. First, it is assumed that the number of services that can be provided simultaneously in each server device included in
すなわち、グループ1、グループ2、グループ3において、それぞれ提供可能なサービス数の比率は、6000:1500:300であり、最大公約数は、300である。したがって、この比率は、20:5:1になる。本実施例では、優先リスト作成部53aが、この値をもとに、グループ1、グループ2、グループ3のグループ優先度を、それぞれ、20、5、1として設定する。これにより、グループ1、グループ2、グループ3がサーバ装置優先リストの先頭に格納される頻度は、26回中、20回、5回、1回となる。
That is, in the
なお、ここでは、提供可能なサービス数が同じであるサーバ装置を同じグループにグループ化する場合について説明した。これに対し、例えば、提供可能なサービス数の範囲(例えば、800〜1000など)をグループごとに設定しておき、各範囲内でサービス数を提供するサーバ装置をグループ化するようにしてもよい。 Here, a case has been described in which server devices having the same number of services that can be provided are grouped into the same group. On the other hand, for example, the range of the number of services that can be provided (for example, 800 to 1000) may be set for each group, and the server devices that provide the number of services within each range may be grouped. .
また、ここでは、優先リスト作成部53aが、各グループの「グループで提供可能なサービス数」に基づいて各グループのグループ優先度を設定する場合について説明した。これに対し、例えば、各グループのグループ優先度が、システムの運用者によって事前に装置に対して設定されるようにしてもよい。
Here, the case has been described in which the priority
このように、本実施例では、優先リスト作成部53aが、グループに含まれるサーバ装置の同時に提供可能なサービス数の総和に基づいて、各グループのグループ優先度を決定する。したがって、本実施例によれば、各グループで全体として提供可能なサービス数に占める割合が、各グループで等しくなることにより、グループという視点から負荷分散が適切に行われる。また、各グループの中で、各サービス装置が先頭に位置する頻度は均等になるため、サーバ装置という視点からも負荷分散が適切に行われる。
As described above, in this embodiment, the priority
また、本実施例では、サーバ選択制御装置50は、クライアントであるサービス要求装置に対して複数のサーバ装置を提示することが可能となり、かつ、同時に提供可能なサービス数に応じて、サーバ装置を前記サーバ装置優先リストの先頭に位置させる。これにより、サーバ装置が、前記提供可能なサービス数に応じて使用されるように制御することが可能となる。このことからも、前述した[課題1]を解決することができる。
Further, in this embodiment, the server
実施例5では、サーバ装置を階層的にグループ化する例について説明する。なお、本実施例に係るサービス提供システムの構成は、図6に示したものと同様である。 In the fifth embodiment, an example in which server devices are grouped hierarchically will be described. The configuration of the service providing system according to the present embodiment is the same as that shown in FIG.
まず、図11を参照して、本実施例におけるグループ構成記憶部52について説明する。グループ構成記憶部52は、複数のサーバ装置のグループ構成に関する情報を記憶する。図11に示すように、本実施例では、グループ構成記憶部52は、サーバ装置を階層的にグループ化した情報を記憶する。なお、グループ化されるサーバ装置は、グループ間で排他的であってもよいし、グループ間で重複してもよい。
First, the group
本実施例では、第1段階のグループが、N(0)個あり、第1段階の1番目、2番目、・・・、N(0)番目のグループを、それぞれ、G(1)、G(2)、・・・、G(N(0))で表す。 In this embodiment, there are N (0) groups in the first stage, and the first, second,..., N (0) th groups in the first stage are G (1), G, respectively. (2), ..., G (N (0)).
続いて、第1段階の各グループG(1)、G(2)、・・・、G(N(0))には、それぞれ、N(1)個、N(2)個、N(N(0))個の第2段階グループが存在する。さらに、i1を、1以上N(0)以下の整数として、G(i1)の第2段階グループの1番目、2番目、・・・、N(i1)番目の各グループを、それぞれ、G(i1,1)、G(i1,2)、・・・、G(i1,N(i1))で表す。 Subsequently, each group G (1), G (2),..., G (N (0)) in the first stage has N (1), N (2), and N (N (0)) There are second stage groups. Furthermore, let i 1 be an integer greater than or equal to 1 and less than or equal to N (0), and each of the first , second,..., N (i 1 ) th groups of the second stage group of G (i 1 ), , G (i 1 , 1), G (i 1 , 2),..., G (i 1 , N (i 1 )).
これを続け、i1番目の第1段階グループのi2番目の第2段階グループのi3番目の第3段階グループの・・・im−1番目の第m−1段階グループをG(i1,i2,i3,…,im−2,im−1)で表す。ここで、i1番目の第1段階グループのi2番目の第2段階グループのi3番目の第3段階グループの・・・im−2番目の第m−2段階グループには、第m−1段階グループが、N(i1,i2,i3,…,im−2)個あるものとする。 Continuing this, i 1st 1st stage group i 2nd 2nd stage group i 3rd 3rd stage group ... i m-1 th m-1 stage group G (i 1 , i 2 , i 3 ,..., I m−2 , i m−1 ). Here, the · · · i m-2 th m-2 stage Group i 3 th third stage group of i 1 th i 2 th second stage group of the first stage group, the m It is assumed that there are N (i 1 , i 2 , i 3 ,..., I m−2 ) −1 stage groups.
さらに、i1番目の第1段階グループのi2番目の第2段階グループのi3番目の第3段階グループの・・・ij番目の第j段階グループG(i1,i2,i3,…,ij)のグループ優先度をP(i1,i2,i3,…,ij)で表し、この値の大きいものが優先されるものとする。 In addition, i 1st first stage group i 2nd second stage group i 3rd third stage group ... i jth jth stage group G (i 1 , i 2 , i 3 ,..., I j ) is represented by P (i 1 , i 2 , i 3 ,..., I j ), and the larger one is given priority.
続いて、i1番目の第1段階グループのi2番目の第2段階グループのi3番目の第3段階グループの・・・im−1番目の第m−1段階グループであるG(i1,i2,i3,…,im−2,im−1)には、N(i1,i2,i3,…,im−1)個のサーバ装置が含まれるものとし、G(i1,i2,i3,…,im−2,im−1)のim番目のサーバ装置をE(i1,i2,i3,…,im−1,im)で表すものとする。 Subsequently, i is the first · · · i m-1 th m-1 stage Group i 3 th third step Group i 2 th second stage group of the first stage group G (i 1 , i 2 , i 3 ,..., Im 2 , im 1 ) include N (i 1 , i 2 , i 3 ,..., Im 1 ) server devices. , G (i 1, i 2 , i 3, ..., i m-2, i m-1) i m -th server apparatus E of (i 1, i 2, i 3, ..., i m-1, i m ).
なお、かかるグループ構成記憶部52によって記憶されるグループ構成は、システムの運用者によって事前に装置に対して設定されるものとする。
Note that the group configuration stored in the group
次に、本実施例における優先リスト作成部53aの動作について説明する。本実施例では、優先リスト作成部53aは、上記の階層的にグループ化されたサーバ装置の払い出しを行う場合に、各グループの配下に含まれるサーバ装置群が、そのグループの一つ上位のグループに含まれるグループ配下のサーバ装置群と比較したとき、サーバ装置優先リストの中で、先頭となった回数をカウントする。
Next, the operation of the priority
また、優先リスト作成部53aは、第一段階のグループについては、各グループの配下に含まれるサーバ装置群が、他の第一段階のグループに含まれるグループ配下のサーバ装置群と比較したとき、サーバ装置優先リストの中で、先頭となった回数をカウントする。なお、ここでいうサーバ装置の払い出しとは、そのサーバ装置をサーバ装置優先リストに配置することを意味する。
Further, the priority
そして、優先リスト作成部53aは、i1番目の第1段階グループが、第一段階グループの中で先頭となり、i1番目の第1段階グループのi2番目の第2段階グループが、i1番目の第1段階グループに含まれるグループの中で先頭になり、i1番目の第1段階グループのi2番目の第2段階グループのi3番目の第3段階グループが、i1番目の第1段階グループのi2番目の第2段階グループの中で先頭になり・・・、i1番目の第1段階グループのi2番目の第2段階グループのi3番目の第3段階グループの・・・im−1番目の第m−1段階グループが、i1番目の第1段階グループのi2番目の第2段階グループのi3番目の第3段階グループの・・・im−2番目の第m−2段階グループの中で先頭になったとき、G(i1)、G(i1,i2)、G(i1,i2,i3)、・・・G(i1,i2,i3,…,im−2)、G(i1,i2,i3,…,im−2,im−1)が先頭になった回数を表す、それぞれ、S(i1)、S(i1,i2)、S(i1,i2,i3)、・・・S(i1,i2,i3,…,im−2)、S(i1,i2,i3,…,im−2,im−1)を1だけ増加させることで、先頭になった回数をカウントする。
Then, the priority
なお、本実施例では、各グループ優先度は、サーバ装置優先リスト作成の一定回数毎に、サーバ装置優先リスト内で各グループを先頭に位置させる回数を同時に表す。また、任意のi1,i2,i3,…,im−2,im−1,imについて、H(i1,i2,i3,…,im−1)が、G(i1,i2,i3,…,im−2,im−1)の中で、次のサーバ装置の払い出し時に先頭となるサーバ装置であることを表すものとする。
In the present embodiment, each group priority simultaneously represents the number of times each group is positioned at the top in the server device priority list for every fixed number of times the server device priority list is created. Also, any i 1, i 2, i 3 , ..., the i m-2, i m- 1, i m, H (
また、優先リスト作成部53aは、第1段階グループ、第2段階グループ、・・・第m−1段階グループの組み合わせ毎にサーバ装置優先リスト内でグループ化され、このグループに割り当てられるグループ組み合わせ優先度の配列としてC(g)を保持する。すなわち、優先リスト作成部53aは、サーバ装置優先リスト上のg番目のグループ組み合わせ優先度を、配列として保持する。なお、C(g)は、あらかじめ、運用者によって装置に設定される。
Moreover, the priority
次に、図12を参照して、本実施例におけるサーバ選択制御装置50の動作の全体の流れを説明する。本実施例では、優先リスト作成部53aが、まず、初期化処理を実行する(ステップS90)。そして、優先リスト送信部53bがサービス要求装置60からサーバ装置優先リストの要求を受信すると(ステップS91)、優先リスト作成部53aは、サーバ装置優先リスト作成処理を実行する(ステップS92)。
Next, the overall flow of the operation of the server
続いて、優先リスト作成部53aは、サーバ装置払出位置移動処理を実行する(ステップS93)。最後に、優先リスト送信部53bが、グループ組み合わせ優先度を含むサーバ装置優先リストを送信する(ステップS94)。その後、サーバ選択制御装置50は、優先リスト送信部53bがサーバ装置優先リストの要求を受信すると、上記ステップS92〜S94の処理を繰り返す。
Subsequently, the priority
次に、図13を参照して、図12に示したサーバ選択制御装置の初期化処理の処理手順について説明する。なお、本実施例では、i1番目の第1段階グループのi2番目の第2段階グループの・・・ij番目の第j段階グループに含まれるグループG(i1,i2,i3,…,ij,1)、G(i1,i2,i3,…,ij,2)、G(i1,i2,i3,…,ij,3)、・・・G(i1,i2,i3,…,ij,N(i1,i2,i3,…,ij))において、P(i1,i2,i3,…,ij,1)、P(i1,i2,i3,…,ij,2)、P(i1,i2,i3,…,ij,3)、・・・P(i1,i2,i3,…,ij,N(i1,i2,i3,…,ij))は、P(i1,i2,i3,…,ij,1)≧P(i1,i2,i3,…,ij,2)≧P(i1,i2,i3,…,ij,3)≧・・・≧P(i1,i2,i3,…,ij,N(i1,i2,i3,…,ij))と並べられているものとする。
Next, with reference to FIG. 13, the processing procedure of the initialization process of the server selection control apparatus shown in FIG. 12 will be described. In this embodiment, the group included in the · · · i j th j stage group of i 1-th second stage group i 2 th of the first stage group G (i 1, i 2, i 3 , ..., i j , 1), G (i 1 , i 2 , i 3 , ..., i j , 2), G (i 1 , i 2 , i 3 , ..., i j , 3), ... In G (i 1 , i 2 , i 3 ,..., I j , N (i 1 , i 2 , i 3 ,..., I j )), P (i 1 , i 2 , i 3 ,..., I j , 1), P (i 1 , i 2 , i 3 ,..., I j , 2), P (i 1 , i 2 , i 3 ,..., I j , 3), ... P (i 1 , i 2 , i 3 ,..., i j , N (i 1 , i 2 , i 3 ,..., i j )) is P (i 1 , i 2 , i 3 ,..., i j , 1) ≧
図13に示すように、この初期化処理では、優先リスト作成部53aは、ステップS100〜S111の処理により、全てのグループについて、グループが先頭になった回数を0として設定する。また、優先リスト作成部53aは、ステップS112の処理により、全ての第m−1段階グループについて、グループの中で次に払い出すサーバ装置を1番目として設定する。
As shown in FIG. 13, in this initialization process, the priority
次に、図14を参照して、図12に示したサーバ装置優先リスト作成処理の処理手順について説明する。なお、サーバ装置優先リストは、図8に示したようにグループが配列され、各グループの中にサーバ装置が配列される。すなわち、各グループにおけるサーバ装置の情報は、二次元の配列としてあらわすことができる。例えば、グループgにおけるl番目のサーバ装置をL(g,l)として表すこととし、この中にサーバ装置の情報を格納する。 Next, with reference to FIG. 14, the processing procedure of the server apparatus priority list creation process shown in FIG. 12 will be described. In the server device priority list, groups are arranged as shown in FIG. 8, and server devices are arranged in each group. That is, the information of the server device in each group can be represented as a two-dimensional array. For example, the l-th server device in the group g is represented as L (g, l), and the server device information is stored therein.
図14に示すように、まず、優先リスト作成部53aは、サーバ装置優先リスト内のグループ番号gを1に初期化し(ステップS119)、第一段階グループの中の先頭グループ番号の計算を行う(ステップS120)。ステップS120に示す処理は、第一段階グループの中で、サーバ装置優先リストに格納する際に、最初に格納すべきグループを求める処理である。この処理では、優先リスト作成部53aは、第一段階のグループについて、グループ優先度の高いグループから低いグループの順に、第一段階グループiが、S(i)<P(i)の条件を満たすかを検査していき、最初に満たしたグループを変数Tに代入し、その後、S(T)の値を1だけ増加させる処理である。このとき、優先リスト作成部53aは、全ての第一段階グループiが、S(i)<P(i)を満たさない場合(すなわち、S(i)=P(i)となる場合)は、全ての第一段階グループiについて、S(i)を0に設定し、T=1とし、S(T)の値を1に設定する。
As shown in FIG. 14, the priority
続いて、優先リスト作成部53aは、ステップS120で求めたTをi1に代入し、サーバ装置優先リストに格納した第一段階グループの数をカウントするための変数k1を1に設定する(ステップS121)。優先リスト作成部53aは、上記の処理を、第一段階グループG(i1)に含まれる第二段階グループに対して繰り返し実行し、G(i1,i2,i3,・・・im−2)に含まれるグループまで実行する(ステップS122〜S129)。
Subsequently, the priority
続いて、優先リスト作成部53aは、G(i1,i2,i3,・・・im−1)に含まれるサーバ装置を、サーバ装置優先リストに格納する(ステップS130)。このグループに含まれるサーバ装置をサーバ装置優先リストに格納する方法は、次のようになる。すなわち、優先リスト作成部53aは、H(i1,i2,i3,・・・im−1)、H(i1,i2,i3,・・・im−1)+1、・・・N(i1,i2,i3,・・・im−1)番目の順でサーバ装置をサーバ装置優先リストに格納していき、1、2、・・・H(i1,i2,i3,・・・im−1)−1番目まで格納する。
Subsequently, the priority
このグループに含まれるサーバ装置を全てサーバ装置優先リストに格納した後に、優先リスト作成部53aは、サーバ装置優先リスト内のグループ番号gを1だけ増加させる(ステップS131)。その後、優先リスト作成部53aは、サーバ装置払出位置移動処理を実行する(ステップS132)。
After all the server devices included in this group are stored in the server device priority list, the priority
ここで、図15を参照して、図14に示したサーバ装置払出位置移動処理について説明する。図15に示すように、優先リスト作成部53aは、H(i1,i2,i3,・・・im−1)を1だけ増加させる(ステップS190)。このとき、H(i1,i2,i3,・・・im−1)がN(i1,i2,i3,・・・im−1)を超えた場合は(ステップS191,Yes)、優先リスト作成部53aは、H(i1,i2,i3,・・・im−1)を1に設定して(ステップS192)、サーバ装置払出位置移動処理を終了する。一方、H(i1,i2,i3,・・・im−1)がN(i1,i2,i3,・・・im−1)以下であった場合には(ステップS191,No)、優先リスト作成部53aは、H(i1,i2,i3,・・・im−1)を1に設定することなくサーバ装置払出位置移動処理を終了する。
Here, with reference to FIG. 15, the server apparatus payout position movement process shown in FIG. 14 will be described. As illustrated in FIG. 15, the priority
図14の説明に戻って、その後、優先リスト作成部53aは、G(i1,i2,i3,・・・im−1+1)、G(i1,i2,i3,・・・im−1+2)・・・G(i1,i2,i3,・・・N(i1,i2,i3,・・・im−2))、G(i1,i2,i3,・・・1)・・・G(i1,i2,i3,・・・im−1−1)の順に、同様の処理で、サーバ装置をサーバ装置優先リストに格納する(ステップS133〜S136)。優先リスト作成部53aは、この処理を全ての段階の全グループに対して行う(ステップS137〜S152)。
Returning to the description of FIG. 14, the priority
次に、図16を参照して、グループが二段階の場合のサーバ装置優先リストへのサーバ装置の格納順の一例について説明する。図16に示す例では、まず、第一段階には、G(1)、G(2)、G(3)の3つのグループが存在する。そして、G(1)には、G(1,1)、G(1,2)、G(1,3)の3つのグループ、G(2)には、G(2,1)、G(2,2)、G(2,3)の3つのグループ、G(3)には、G(3,1)、G(3,2)の2つのグループが含まれている。 Next, with reference to FIG. 16, an example of the storage order of server devices in the server device priority list when the group is in two stages will be described. In the example shown in FIG. 16, first, there are three groups of G (1), G (2), and G (3) in the first stage. G (1) includes G (1,1), G (1,2), and G (1,3), and G (2) includes G (2,1), G ( 2, 2) and G (2, 3), and G (3) includes two groups G (3, 1) and G (3, 2).
この例の場合には、第一段階のグループ優先度は、G(1)→G(2)→G(3)の順になる。この順にS(1)とP(1)、S(2)とP(2)、S(3)とP(3)を比較すると、S(1)<P(1)ではなく、S(2)<P(2)であるので、G(2)が第一段階の最初の格納対象となる。この結果、第一段階は、G(2)→G(3)→G(1)の順に各グループに含まれるサーバ装置がサーバ装置優先リストに格納される。 In the case of this example, the group priority in the first stage is in the order of G (1) → G (2) → G (3). When S (1) and P (1), S (2) and P (2), S (3) and P (3) are compared in this order, S (1) <P (1), not S (2 ) <P (2), G (2) is the first storage target in the first stage. As a result, in the first stage, server devices included in each group are stored in the server device priority list in the order of G (2) → G (3) → G (1).
続いて、G(2)に含まれる第二段階グループのグループ優先度は、G(2,1)→G(2,2)→G(2,3)の順になる。ここで同様の処理を行うと、G(2,1)が最初の格納対象となる。よって、まず、G(2,1)→G(2,2)→G(2,3)の順に各グループに含まれるサーバ装置がサーバ装置優先リストに格納される。 Subsequently, the group priority of the second stage group included in G (2) is in the order of G (2,1) → G (2,2) → G (2,3). If the same processing is performed here, G (2, 1) becomes the first storage target. Therefore, first, the server devices included in each group are stored in the server device priority list in the order of G (2,1) → G (2,2) → G (2,3).
続いて、G(2)に含まれる第二段階グループのサーバ装置のサーバ装置優先リストへの格納が完了したので、第一段階の次のグループであるG(3)配下のグループに含まれるサーバ装置がサーバ装置優先リストに格納される。G(3)配下のグループのグループ優先度は、G(3,1)→G(3,2)であるので、この順に、各グループに含まれるサーバ装置がサーバ装置優先リストに格納される。 Subsequently, since storage in the server device priority list of the server device of the second stage group included in G (2) is completed, the server included in the group under G (3) which is the next group of the first stage The device is stored in the server device priority list. Since the group priority of the group under G (3) is G (3,1) → G (3,2), the server devices included in each group are stored in the server device priority list in this order.
最後に、第一段階の格納順の最終となるグループG(1)についても同様の処理が行われることで、G(1,1)→G(1,2)→G(1,3)の順に、各グループに含まれるサーバ装置がサーバ装置優先リストに格納される。 Finally, the same processing is performed for the group G (1) which is the final storage order in the first stage, so that G (1,1) → G (1,2) → G (1,3). In order, the server devices included in each group are stored in the server device priority list.
次に、図17を参照して、本実施例におけるサービス要求装置60の動作について説明する。図17に示すように、本実施例では、サービス要求部62bは、クライアント装置からサービス要求を受信すると(ステップS220)、優先リスト取得部62aに対して、グループ組み合わせgのグループ組み合わせ優先度を示すC(g)を含むサーバ装置優先リストL(g,l)を、サーバ選択制御装置50に要求するよう指示する(ステップS221)。
Next, with reference to FIG. 17, the operation of the
そして、サービス要求部62bは、優先リスト取得部62aが要求に成功し、L(g,l)およびC(g)を受信した場合には(ステップS222,Yes)、L(g,l)をC(g)に含まれるグループ組み合わせ優先度順に再配列する(ステップS223)。
When the priority
ここで、図18を参照して、図17に示したサーバ装置優先リストL(g,l)の再配列について説明する。図18に示すように、まず、L(g,l)は、2次元配列である。つまり、各グループ組み合わせg毎に1つ以上のサーバ装置の配列が存在する。この様子を示したものが、図18に示す「グループ組み合わせ優先度に基づく配列前」の表である。サービス要求部62bは、この表の各行に割り当てられたグループ組み合わせ優先度C(g)を基に、よりグループ組み合わせ優先度の高いものから順に並べ替える。このとき、サービス要求部62bは、図18に示す「グループ組み合わせ優先度に基づく配列前」の表の各行をグループ組み合わせの優先度順に入れ替えを行う。この様子を示したものが、図18に示す「グループ組み合わせ優先度に基づく配列後」の表である。
Here, the rearrangement of the server device priority list L (g, l) shown in FIG. 17 will be described with reference to FIG. As shown in FIG. 18, first, L (g, l) is a two-dimensional array. That is, there is an array of one or more server devices for each group combination g. This is shown in the table “before arrangement based on group combination priority” shown in FIG. The
図17の説明に戻って、ステップS223の後、サービス要求部62bは、再配列されたグループ組み合わせ優先度順で、最もグループ組み合わせ優先度の高いグループ組み合わせ、即ち、グループ組み合わせ1について、サーバ装置優先リストを配列T(l)に格納する(ステップS224〜S228)。
Returning to the description of FIG. 17, after step S223, the
その後、サービス要求部62bは、T(l)をさらに、個々のサーバ装置との間で、現在、クライアント装置にサービス提供を行うために、確立しているサービス提供数をもとに、昇順にソートを行う(ステップS229)。ここで、同じサービス提供数のサーバ装置については、ランダムに選択した順に配置する。そして、サービス要求部62bは、ソートした順番にサーバ装置に対してサービス要求を行う(ステップS230〜S234)。
Thereafter, the
そして、サービス要求が成功した場合には(ステップS232,Yes)、サービス要求部62bは、クライアント装置30にサービス要求成功を通知し(ステップS238)、処理終了する。また、ステップS232の判定において、サービス要求が失敗した場合には(ステップS232,No)、サービス要求部62bは、同じグループ組み合わせg内のサーバ装置に対して、ソートした順番にサービス要求を試みる(ステップS231〜S234)。
If the service request is successful (step S232, Yes), the
ここで、グループ組み合わせgに含まれるサーバ装置がなくなった場合には(ステップS234,No)、サービス要求部62bは、グループ組み合わせgのグループ組み合わせ優先度順に上記の動作を繰り返す(ステップS225〜S236)。そして、全てのグループ組み合わせgの全てのサーバ装置について、サービス要求が失敗した場合には(ステップS236,No)、サービス要求部62bは、クライアント装置30にサービス要求失敗を通知して(ステップS237)、処理を終了する。
Here, when there is no server device included in the group combination g (No in step S234), the
なお、サービス要求部62bは、上記ステップS221において、サーバ装置優先リストおよび各グループ組み合わせのグループ組み合わせ優先度の取得に失敗した場合にも(ステップS222,No)、クライアント装置にサービス要求失敗を通知して(ステップS237)、処理を終了する。
The
上述したように、本実施例では、優先リスト作成部53aが、階層的にグループ化された複数のサーバ装置に関する情報に基づいて、グループに直接的に割り当てられたサーバ装置の情報、または、他の層のグループを介して間接的に割り当てられたサーバ装置の情報を含んだサーバ装置優先リストを作成する。したがって、本実施例によれば、階層構造により表される関連性をもったサーバ装置の中で負荷を分散させることができる。
As described above, in the present embodiment, the priority
実施例6では、実施例5におけるサービス要求装置60の変形例について説明する。なお、本実施例に係るサービス提供システムの構成は、図6に示したものと同様である。
In the sixth embodiment, a modified example of the
ここでは、図19を参照して、本実施例におけるサービス要求装置60の動作について説明する。図19に示すように、本実施例では、サービス要求部62bは、クライアント装置からサービス要求を受信すると(ステップS200)、優先リスト取得部62aに対して、グループ組み合わせgのグループ組み合わせ優先度を示すC(g)を含むサーバ装置優先リストL(g,l)を、サーバ選択制御装置50に要求するよう指示する(ステップS201)。
Here, with reference to FIG. 19, the operation of the
そして、サービス要求部62bは、優先リスト取得部62aが要求に成功し、L(g,l)およびC(g)を受信した場合には(ステップS202,Yes)、L(g,l)をC(g)に含まれるグループ組み合わせ優先度順に再配列する(ステップS203)。この再配列は、実施例5の中で、ステップS223の処理として説明した動作と同じである。
When the priority
ステップS203の後、サービス要求部62bは、再配列されたグループ組み合わせ優先度順で、最もグループ組み合わせ優先度の高いグループ組み合わせ、即ち、グループ組み合わせ1について、L(g,l)に格納されている順に、サーバ装置に対して、サービス要求を行う(ステップS204〜S209)。
After step S203, the
そして、サービス要求が成功した場合には(ステップS207,Yes)、サービス要求部62bは、クライアント装置30にサービス要求成功を通知し(ステップS213)、処理終了する。また、ステップS207の判定において、サービス要求が失敗した場合には(ステップS207,No)、サービス要求部62bは、同じグループ組み合わせg内のサーバ装置に対して順番にサービス要求を試みる(ステップS206〜S209)。
If the service request is successful (step S207, Yes), the
ここで、グループ組み合わせgに含まれるサーバ装置がなくなった場合には(ステップS209,No)、サービス要求部62bは、グループ組み合わせgを1だけ増加させた後(ステップS210)、グループ組み合わせgのグループ組み合わせ優先度順に上記の動作を繰り返す(ステップS205〜S211)。そして、全てのグループ組み合わせgの全てのサーバ装置について、サービス要求が失敗した場合には(ステップS211,No)、サービス要求部62bは、クライアント装置30にサービス要求失敗を通知して(ステップS212)、処理を終了する。
Here, when there are no more server devices included in the group combination g (No in step S209), the
なお、サービス要求部62bは、上記ステップS202において、サーバ装置優先リストおよび各グループ組み合わせのグループ組み合わせ優先度の取得に失敗した場合にも(ステップS202,No)、クライアント装置にサービス要求失敗を通知して(ステップS212)、処理を終了する。
The
実施例7では、上記実施例5および6に関する各種の変形例について説明する。 In the seventh embodiment, various modifications regarding the fifth and sixth embodiments will be described.
例えば、上記実施例5および6において、サーバ装置を階層的にグループ化するとき、全てのサーバ装置が同一回数グループ化される例を示したが、階層的にグループ化する回数は、サーバ装置を直接収容する段階のグループ毎に異なっていても良い。 For example, in the fifth and sixth embodiments, when server devices are grouped hierarchically, an example is shown in which all server devices are grouped the same number of times. It may be different for each group in the stage of direct accommodation.
また、例えば、上記実施例5および6において、サーバ装置が、サーバ装置を直接収容する段階の異なるグループに同時に属することができるか否かについて、明示的に説明していないが、サーバ装置が、サーバ装置を直接収容する段階の異なるグループに同時に属しても良いし、属さないようにしても良い。 In addition, for example, in the fifth and sixth embodiments, the server device does not explicitly describe whether or not the server device can belong to different groups that directly accommodate the server device. It may belong to different groups at the stage of directly accommodating the server device or may not belong to the group at the same time.
また、例えば、上記実施例5および6において、各グループに含まれるグループ、および、グループに含まれるサーバ装置を、全て、サーバ選択制御装置からサービス要求装置に提示するサーバ装置優先リストに含める例を示したが、グループ毎に、それに含まれるグループのうち、あらかじめ決められた数のグループを、サーバ装置優先リストを作成する際に使用しても良いし、グループ毎に、それに含まれるサーバ装置のうち、あらかじめ決められた数のサーバ装置を、サーバ装置優先リストを作成する際に使用しても良い。また、例えば、上記実施例5および6で示した方法によって作成されたサーバ装置優先リストを全てサーバ選択制御装置に提示してもよいし、あらかじめ決められた数に限定しても良い。 In addition, for example, in the above-described fifth and sixth embodiments, all the groups included in each group and the server devices included in the group are all included in the server device priority list presented from the server selection control device to the service requesting device. Although shown, a predetermined number of groups among the groups included in each group may be used when creating the server device priority list, or for each group, the server devices included in the server device priority list may be used. Of these, a predetermined number of server devices may be used when creating the server device priority list. Further, for example, all server device priority lists created by the methods shown in the fifth and sixth embodiments may be presented to the server selection control device, or may be limited to a predetermined number.
実施例8では、実施例5、6および7において、グループに含まれるサーバ装置の同時に提供可能なサービス数の総和に基づいて、各グループのグループ優先度を決定する例について説明する。なお、本実施例に係るサービス提供システムの構成は、図6に示したものと同様である。 In the eighth embodiment, an example in which the group priority of each group is determined based on the total number of services that can be simultaneously provided by the server apparatuses included in the group in the fifth, sixth, and seventh embodiments will be described. The configuration of the service providing system according to the present embodiment is the same as that shown in FIG.
本実施例では、グループ構成記憶部52は、実施例5、6および7と同様に、複数のサーバ装置のグループ構成に関する情報を記憶する。また、本実施例でも、グループ構成記憶部52は、サーバ装置を階層的にグループ化した情報を記憶する。なお、ここでは、まず、サーバ装置を直接含んでいるグループについて、そのグループに含まれるサーバ装置が同時に提供可能なサービス数の総数を、「グループで提供可能なサービス数」と呼ぶこととする。さらに、サーバ装置を直接含んでいないグループGについて、階層的なグループ化された構造の中で、そのグループGに階層的に含まれるグループに含まれるサーバ装置が同時に提供可能なサービス数の総数も同様に、グループGに対して、「グループで提供可能なサービス数」と呼ぶこととする。
In the present embodiment, the group
ここで、図20を参照して、本実施例におけるグループ優先度の割り当て方法について説明する。まず、グループ優先度を割り当てる対象のグループをグループGとすると、優先リスト作成部53aは、グループGが、第1段階のグループか否かを判定する(ステップS240)。
Here, with reference to FIG. 20, the group priority assignment method in the present embodiment will be described. First, when a group to which a group priority is assigned is a group G, the priority
そして、グループGが第1段階グループの場合には(ステップS240,Yes)、優先リスト作成部53aは、グループGで提供可能なサービス数を、第1段階の各グループで提供可能なサービス数の最大公約数で割った商の整数倍をグループのグループ優先度とし(ステップS241)、処理を終了する。
When the group G is the first stage group (step S240, Yes), the priority
ステップS240の判定において、グループGが第1段階グループでなかった場合には(ステップS240,No)、優先リスト作成部53aは、グループGで提供可能なサービス数を、グループGを含む1段階上のグループに含まれる各グループで提供可能なサービス数の最大公約数で割った商の整数倍をグループのグループ優先度とし(ステップS242)、処理を終了する。
If it is determined in step S240 that the group G is not the first stage group (No in step S240), the priority
なお、ステップS241およびS242において、整数倍に使用する整数は、最終段階のグループの場合には1として、それ以外の場合には、各ステップで計算した商と、そのグループに含まれる1段階下のグループ優先度の和との最小公倍数を、各ステップで計算した商で割った値とする。また、整数倍に使用する整数はこの例に限らず、任意の整数であってもよい。 In steps S241 and S242, the integer used as an integer multiple is set to 1 in the case of the final stage group, and in other cases, the quotient calculated in each step and the one level included in the group The value obtained by dividing the least common multiple of the sum of the group priorities by the quotient calculated in each step. Moreover, the integer used for integer multiples is not limited to this example, and may be an arbitrary integer.
次に、図16を参照して、グループの階層が二段階の場合のグループ優先度の割り当てについて説明する。図16に示す例では、G(1,1)とG(1,2)とG(1,3)のグループで提供可能なサービス数の比率は、6000:4500:3000=4:3:2となる。また、G(2,1)とG(2,2)とG(2,3)のグループで提供可能なサービス数の比率は、1500:1200:900=5:4:3となる。また、G(3,1)とG(3,2)のグループで提供可能なサービス数の比率は、600:300=2:1となる。これにより、図16に示す第二段階のグループにおけるグループ優先度が得られる。 Next, with reference to FIG. 16, group priority assignment when the group hierarchy is in two stages will be described. In the example shown in FIG. 16, the ratio of the number of services that can be provided by the group of G (1,1), G (1,2), and G (1,3) is 6000: 4500: 3000 = 4: 3: 2. It becomes. Further, the ratio of the number of services that can be provided by the group of G (2, 1), G (2, 2), and G (2, 3) is 1500: 1200: 900 = 5: 4: 3. The ratio of the number of services that can be provided by the group of G (3, 1) and G (3, 2) is 600: 300 = 2: 1. Thereby, the group priority in the second stage group shown in FIG. 16 is obtained.
続いて、第一段階を比較すると、G(1)とG(2)とG(3)のグループで提供可能なサービス数の比率は、13500:3600:900=15:4:1となる。ここで、第一段階のグループのグループ優先度が、その配下の第二段階のグループのグループ優先度の総和の整数倍になるように設定すると、本図の第一段階のグループに記載のグループ優先度となる。 Subsequently, when comparing the first stage, the ratio of the number of services that can be provided by the group of G (1), G (2), and G (3) is 13500: 3600: 900 = 15: 4: 1. Here, if the group priority of the first stage group is set to be an integral multiple of the total group priority of the subordinate second stage group, the groups described in the first stage group of this figure It becomes priority.
ここで、図21を参照して、図16に示す例から第一段階を除いた場合のサーバ装置優先リストへのサーバ装置の格納順の一例を考える。各グループのグループ優先度は、図21に示すようになる。図16および図21でサーバ装置優先リストに格納される最初のサーバ装置について、はじめから9回を考える。図16に示す例では、G(1,1)が4回→G(1,2)が3回→G(1,3)が2回という流れとなる。一方、図21に示す例では、G(1)が9回となる。このことからわかるように、グループの段階を増やすことで、より短い時間幅の中での負荷分散が可能となる。 Here, with reference to FIG. 21, consider an example of the storage order of the server devices in the server device priority list when the first stage is removed from the example shown in FIG. The group priority of each group is as shown in FIG. Consider the first nine times for the first server device stored in the server device priority list in FIGS. 16 and 21. In the example shown in FIG. 16, G (1,1) is 4 times → G (1,2) is 3 times → G (1,3) is 2 times. On the other hand, in the example shown in FIG. 21, G (1) is 9 times. As can be seen from this, by increasing the number of stages in the group, it is possible to distribute the load within a shorter time span.
実施例9では、実施例2、3、5、6および7に関し、グループ組み合わせ優先度の割り当て方法を説明する。 In the ninth embodiment, a group combination priority assignment method will be described with respect to the second, third, fifth, sixth, and seventh embodiments.
実施例2、3、5、6および7で説明したように、サーバ装置優先リストを作成するとき、より利用させたいサーバ装置・グループ組み合わせを先頭に近く格納する。そこで、例えば、グループ組み合わせ優先度については、サーバ装置優先リスト内の順序に従い、先頭のグループ組み合わせから末尾のグループ組み合わせの順でグループ組み合わせ優先度が小さくなるように設定する。 As described in the second, third, fifth, sixth and seventh embodiments, when the server device priority list is created, the server device / group combination to be used more is stored near the top. Therefore, for example, the group combination priority is set so that the group combination priority decreases in the order from the first group combination to the last group combination in accordance with the order in the server device priority list.
なお、実施例2、3、5、6および7の例では、より小さい値の優先度が高い優先性を表する。そこで、例えば、グループ組み合わせ優先度については、サーバ装置優先リスト内の順序に従い、先頭のグループ組み合わせから末尾のグループ組み合わせの順で値が大きくなるように設定する。 In the examples of Examples 2, 3, 5, 6, and 7, the priority of a smaller value represents a higher priority. Therefore, for example, the group combination priority is set so that the value increases in the order from the first group combination to the last group combination in accordance with the order in the server device priority list.
なお、本グループ組み合わせ優先度を割り当てたサーバ装置優先リストに含まれるグループ(=グループ組み合わせ)は、実施例2、3、5、6および7で作成した順序としてサービス要求装置に送信しても良い。または、グループ組み合わせ優先度が高いグループ組み合わせから低いグループ組み合わせの順序に並び替えを行ってから送信しても良いし、任意の順序に並び替えて送信してもよい。 The groups (= group combinations) included in the server apparatus priority list to which this group combination priority is assigned may be transmitted to the service request apparatus in the order created in the second, third, fifth, sixth and seventh embodiments. . Alternatively, transmission may be performed after rearrangement in the order of the group combination having a higher group combination priority to the lower group combination, or may be performed by rearranging in an arbitrary order.
さらに、グループ組み合わせ優先度については、グループ優先度と無関係として他の実施例について述べているが、グループ組み合わせ優先度を、グループ優先度を基にして決定してもよい。すなわち、各グループ組み合わせに含まれるグループに割り当てられたグループ優先度の積を求め、これを小さい値から大きい値に、並び替える。この並び替えられたグループ優先度の積の並びを、グループ組み合わせ優先度の並びとしても良い。 Furthermore, although the other embodiments are described as being unrelated to the group priority regarding the group combination priority, the group combination priority may be determined based on the group priority. That is, the product of the group priority assigned to the group included in each group combination is obtained and rearranged from a small value to a large value. This rearranged group priority product sequence may be a group combination priority sequence.
上記の各実施例で説明したサーバ選択制御装置およびサービス要求装置の機能は、その全てまたは一部をソフトウェアで実現することもできる。すなわち、各実施例で説明したサーバ選択制御装置およびサービス要求装置によって行われる処理の処理手順を規定したサーバ選択制御プログラムおよびサービス要求プログラムをコンピュータに実行させることで、各装置の機能を実現する。 All or part of the functions of the server selection control device and the service requesting device described in the above embodiments can be realized by software. That is, the function of each device is realized by causing a computer to execute a server selection control program and a service request program that define the processing procedure of processing performed by the server selection control device and the service request device described in each embodiment.
このとき、サーバ選択制御プログラムおよびサービス要求プログラムは、コンピュータにあらかじめインストールされていてもよいし、磁気ディスクや光磁気ディスク、光ディスク、半導体メモリなどのリムーバブルな記録媒体に記録され、あるいはネットワークを介して配布されて、コンピュータ装置に適宜インストールされてもよい。 At this time, the server selection control program and the service request program may be preinstalled in the computer, recorded on a removable recording medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory, or via a network. It may be distributed and appropriately installed on the computer device.
以上、本発明の実施例について説明したが、本発明は上述した実施例以外にも種々の異なる実施例により実施されてもよいものである。 As mentioned above, although the Example of this invention was described, this invention may be implemented by various different Example besides the Example mentioned above.
例えば、実施例2、実施例3、実施例5、実施例6、実施例7、実施例9において、グループ優先度は、より大きなグループ優先度が高い確率でサーバ装置優先リストの先頭になっているが、次のようにしてもよい。即ち、グループ優先度は、より小さなグループ優先度が高い確率で使用されるように割り当て、先頭が第1段階グループの場合、第1段階グループの全てのグループ、それ以外のグループについては、同じ上位のグループに含まれる全てのグループについて、割り当てられたグループ優先度を逆順に使用してもよい。例えば、図7の例の場合、グループ1、グループ2、および、グループ3に、それぞれ、グループ優先度、4、2、および、1が割り当てられているものについて、それぞれ、グループ優先度、1、2、および、4を割り当てておき、使用するときは、逆順に使用し、実施例2、実施例3、実施例5、実施例6、実施例7、実施例9に従うようにしてもよい。
For example, in the second embodiment, the third embodiment, the fifth embodiment, the sixth embodiment, the seventh embodiment, and the ninth embodiment, the group priority becomes the head of the server device priority list with a high probability that the larger group priority is high. However, it may be as follows. That is, the group priority is assigned so that a smaller group priority is used with a high probability, and when the head is the first stage group, all the groups in the first stage group and the other groups have the same higher priority. The assigned group priorities may be used in reverse order for all the groups included in this group. For example, in the case of the example in FIG. 7,
また、例えば、実施例4、および、実施例8において、グループに含まれるサーバ装置の同時に提供可能なサービス数の総和に基づいて、各グループのグループ優先度を決定する方法について説明したが、次のようにしてもよい。即ち、実施例4、および、実施例8に基づいてグループ優先度を決定したのち、各グループ優先度を各グループに割り当てるときに逆順に割り当て、サーバ装置優先リストを作成するときには、上記で記載したように逆順に使用するようにしてもよい。例えば、図16の第1段階グループは、G(1)、G(2)、および、G(3)に対して、グループ優先度、45、12、および、3と計算しているが、これを、逆順にP(1)=3、P(2)=12、および、P(3)=45とし、サーバ装置優先リストを作成するときには、上記で記載したように逆順に使用するようにしてもよい。
Further, for example, in the fourth and eighth embodiments, the method of determining the group priority of each group based on the total number of services that can be simultaneously provided by the server devices included in the group has been described. It may be as follows. That is, after determining the group priority based on the fourth embodiment and the eighth embodiment, when assigning each group priority to each group in the reverse order and creating the server device priority list, the above is described. As such, they may be used in the reverse order. For example, the first stage group in FIG. 16 calculates
10,50 サーバ選択制御装置
11,53a 優先リスト作成部
12,53b 優先リスト送信部
20,60 サービス要求装置
21,62a 優先リスト取得部
22,62b サービス要求部
30,105〜107,115〜117,128〜130 クライアント装置
40,100〜103,110〜113,120〜123 サーバ装置
51,61 通信制御部
52 グループ構成記憶部
53,62 制御部
70 ネットワーク
104 DNS用サーバ
114 負荷分散用転送装置
10, 50 Server
Claims (11)
前記サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求を前記サービス要求装置から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する優先リスト作成手段と、
前記優先リスト作成手段により作成されたサーバ装置優先リストを前記サービス要求装置に送信する優先リスト送信手段と
を備えたことを特徴とするサーバ選択制御装置。 A server selection control device that selects a server device that is a transfer destination of a service request received by a service request device that transfers a service request from a client device to a server device,
Each time a request for a server device priority list indicating the order of server devices to be accessed as a transfer destination of the service request is received from the service request device, a plurality of server devices in which the number of services that can be provided simultaneously falls within a predetermined range, respectively A priority list creating means for creating a server device priority list that includes a plurality of groups, and in which the priority ranking of each group and / or the priority ranking of the server devices in each group is switched;
A server selection control device comprising: a priority list transmission unit configured to transmit the server device priority list created by the priority list creation unit to the service requesting device.
前記サービス要求を受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位が入れ替えられたサーバ装置優先リストを取得する優先リスト取得手段と、
前記優先リスト取得手段により取得されたサーバ装置優先リストに含まれる各サーバ装置に対して前記グループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置に前記サービス要求を転送するサービス要求手段と
を備えたことを特徴とするサービス要求装置。 A service request device that transfers a service request received from a client device to a server device,
Each time the service request is received, it includes a plurality of groups each grouping a plurality of server devices whose number of services that can be provided simultaneously falls within a predetermined range, and the priority ranking of each group and / or the servers in each group Priority list acquisition means for acquiring a server device priority list in which the priority order of the devices has been exchanged;
A service that attempts to access each server device included in the server device priority list acquired by the priority list acquisition means in the order of priority of the group, and forwards the service request to the server device that has successfully accessed first. And a service requesting device.
前記サーバ選択制御装置が、
前記サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求を前記サービス要求装置から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する優先リスト作成工程と、
前記優先リスト作成工程により作成されたサーバ装置優先リストを前記サービス要求装置に送信する優先リスト送信工程と
を含んだことを特徴とするサーバ選択制御方法。 A server selection control method applied to a server selection control device that selects a server device that is a transfer destination of a service request received by a service request device that transfers a service request from a client device to a server device,
The server selection control device is
Each time a request for a server device priority list indicating the order of server devices to be accessed as a transfer destination of the service request is received from the service request device, a plurality of server devices in which the number of services that can be provided simultaneously falls within a predetermined range, respectively A priority list creating step of creating a server device priority list including a plurality of groups, and changing the priority order of each group and / or the priority order of server devices in each group;
A server selection control method, comprising: a priority list transmission step of transmitting the server device priority list created by the priority list creation step to the service request device.
前記サービス要求装置が、
前記サービス要求を受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位が入れ替えられたサーバ装置優先リストを取得する優先リスト取得工程と、
前記優先リスト取得工程により取得されたサーバ装置優先リストに含まれる各サーバ装置に対して前記グループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置に前記サービス要求を転送するサービス要求工程と
を含んだことを特徴とするサービス要求方法。 A service request method applied to a service request device that transfers a service request received from a client device to a server device,
The service requesting device is
Each time the service request is received, it includes a plurality of groups each grouping a plurality of server devices whose number of services that can be provided simultaneously falls within a predetermined range, and the priority ranking of each group and / or the servers in each group A priority list acquisition step of acquiring a server device priority list in which the priority order of the devices is replaced;
A service that attempts to access each server device included in the server device priority list acquired by the priority list acquisition step in the order of priority of the group, and forwards the service request to the server device that has successfully accessed first. A service request method characterized by including a request process.
前記サーバ選択制御装置が、
前記サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求を前記サービス要求装置から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する優先リスト作成手段と、
前記優先リスト作成手段により作成されたサーバ装置優先リストを前記サービス要求装置に送信する優先リスト送信手段とを備え、
前記サービス要求装置が、
前記サーバ選択制御装置から送信されたサーバ装置優先リストを取得する優先リスト取得手段と、
前記優先リスト取得手段により取得されたサーバ装置優先リストに含まれる各サーバ装置に対して前記グループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置に前記サービス要求を転送するサービス要求手段と
を備えたことを特徴とするサービス提供システム。 A service providing system comprising: a service request device that transfers a service request received from a client device to a server device; and a server selection control device that selects a server device that is a transfer destination of the service request received by the service request device,
The server selection control device is
Each time a request for a server device priority list indicating the order of server devices to be accessed as a transfer destination of the service request is received from the service request device, a plurality of server devices in which the number of services that can be provided simultaneously falls within a predetermined range, respectively A priority list creating means for creating a server device priority list that includes a plurality of groups, and in which the priority ranking of each group and / or the priority ranking of the server devices in each group is switched;
Priority list transmission means for transmitting the server device priority list created by the priority list creation means to the service request device;
The service requesting device is
Priority list acquisition means for acquiring a server device priority list transmitted from the server selection control device;
A service that attempts to access each server device included in the server device priority list acquired by the priority list acquisition means in the order of priority of the group, and forwards the service request to the server device that has successfully accessed first. A service providing system comprising: a request means.
前記サーバ選択制御装置が、
前記サービス要求の転送先としてアクセスするサーバ装置の順序を示すサーバ装置優先リストの要求を前記サービス要求装置から受信するごとに、同時に提供可能なサービス数が所定の範囲に属する複数のサーバ装置をそれぞれグループ化した複数のグループを含み、各グループの優先度の順位および/または各グループにおけるサーバ装置の優先度の順位を入れ替えたサーバ装置優先リストを作成する優先リスト作成工程と、
前記優先リスト作成工程により作成されたサーバ装置優先リストを前記サービス要求装置に送信する優先リスト送信工程と、
前記サービス要求装置が、
前記サーバ選択制御装置から送信されたサーバ装置優先リストを取得する優先リスト取得工程と、
前記優先リスト取得工程により取得されたサーバ装置優先リストに含まれる各サーバ装置に対して前記グループの優先度の順序でアクセスを試み、最初にアクセスが成功したサーバ装置に前記サービス要求を転送するサービス要求工程と
を含んだことを特徴とするサービス提供方法。 The present invention is applied to a service providing system having a service request device that transfers a service request received from a client device to a server device, and a server selection control device that selects a server device that is a transfer destination of the service request received by the service request device. A service providing method comprising:
The server selection control device is
Each time a request for a server device priority list indicating the order of server devices to be accessed as a transfer destination of the service request is received from the service request device, a plurality of server devices in which the number of services that can be provided simultaneously falls within a predetermined range, respectively A priority list creating step of creating a server device priority list including a plurality of groups, and changing the priority order of each group and / or the priority order of server devices in each group;
A priority list transmission step of transmitting the server device priority list created by the priority list creation step to the service request device;
The service requesting device is
A priority list acquisition step of acquiring a server device priority list transmitted from the server selection control device;
A service that attempts to access each server device included in the server device priority list acquired by the priority list acquisition step in the order of priority of the group, and forwards the service request to the server device that has successfully accessed first. A service providing method characterized by including a required process.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010097315A JP4995300B2 (en) | 2010-04-20 | 2010-04-20 | Server selection control device, service request device, server selection control method, service request method, server selection control program, service request program, service providing system, and service providing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010097315A JP4995300B2 (en) | 2010-04-20 | 2010-04-20 | Server selection control device, service request device, server selection control method, service request method, server selection control program, service request program, service providing system, and service providing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011227733A JP2011227733A (en) | 2011-11-10 |
| JP4995300B2 true JP4995300B2 (en) | 2012-08-08 |
Family
ID=45042999
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010097315A Active JP4995300B2 (en) | 2010-04-20 | 2010-04-20 | Server selection control device, service request device, server selection control method, service request method, server selection control program, service request program, service providing system, and service providing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4995300B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6255202B2 (en) * | 2013-10-01 | 2017-12-27 | 株式会社日立システムズ | LDAP authentication system, proxy server, LDAP authentication method, and LDAP authentication program |
| JP6677052B2 (en) * | 2016-03-31 | 2020-04-08 | 日本電気株式会社 | Communication management device, communication management method and program |
| CN108173894A (en) * | 2016-12-07 | 2018-06-15 | 阿里巴巴集团控股有限公司 | The method, apparatus and server apparatus of server load balancing |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3850198B2 (en) * | 2000-03-08 | 2006-11-29 | 三菱電機株式会社 | Network management device, communication terminal device, and relay terminal connection method for communication terminal device |
| JP2003099347A (en) * | 2001-09-25 | 2003-04-04 | Nippon Telegr & Teleph Corp <Ntt> | Distributed server selection system |
| JP2006106933A (en) * | 2004-10-01 | 2006-04-20 | Fujitsu Ltd | Load balancing network system and load balancing program |
| JP4515354B2 (en) * | 2005-08-16 | 2010-07-28 | 株式会社野村総合研究所 | Load balancing processing system and apparatus |
-
2010
- 2010-04-20 JP JP2010097315A patent/JP4995300B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011227733A (en) | 2011-11-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7853953B2 (en) | Methods and apparatus for selective workload off-loading across multiple data centers | |
| US20200364608A1 (en) | Communicating in a federated learning environment | |
| JP7234479B2 (en) | Object storage system using multi-level hash function for storage address determination | |
| JP6297980B2 (en) | Method, computer program, and device for allocating computer resources of said cluster to perform tasks requested of the cluster | |
| JP5514041B2 (en) | Identifier assignment method and program | |
| CN112306651B (en) | A resource allocation method and a resource secondment method | |
| US9888065B2 (en) | Defragmenting clusters with reserved resources | |
| US10530845B1 (en) | Shuffle sharded load balancing | |
| US20120311099A1 (en) | Method of distributing files, file distribution system, master server, computer readable, non-transitory medium storing program for distributing files, method of distributing data, and data distribution system | |
| US9106482B1 (en) | Systems and methods for proxy-less load balancing | |
| JPWO2010044131A1 (en) | RESOURCE ALLOCATION DEVICE, RESOURCE ALLOCATION PROGRAM, RECORDING MEDIUM, AND RESOURCE ALLOCATION METHOD | |
| Faticanti et al. | Deployment of application microservices in multi-domain federated fog environments | |
| EP3465966A1 (en) | A node of a network and a method of operating the same for resource distribution | |
| CN108737591B (en) | Service configuration method and device | |
| KR20170014804A (en) | Virtual machine provisioning system and method for cloud service | |
| JP4265377B2 (en) | Load balancing method, apparatus, system, and program | |
| JP4995300B2 (en) | Server selection control device, service request device, server selection control method, service request method, server selection control program, service request program, service providing system, and service providing method | |
| US20210409343A1 (en) | Network controller | |
| KR100718907B1 (en) | Fuzzy Grouping-based Load Balancing System and Its Load Balancing Method | |
| US20170118082A1 (en) | Systems and methods for an intelligent, distributed, autonomous, and scalable resource discovery, management, and stitching | |
| CN109643248A (en) | For method that is automatic in highly distributed data processing system and dynamically will distributing to available computation module for the responsibility of task | |
| US20230176908A1 (en) | Systems, methods and computer program products for job management | |
| Mahjoub et al. | A multi-criteria decision based on adaptive routing algorithms with discrete operators for on-chip networks | |
| EP4033422A1 (en) | Systems, methods, and apparatus for storage query planning | |
| JP2014096113A (en) | Load balancer |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120321 |
|
| 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: 20120508 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120509 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4995300 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |