WO2012063478A1 - セッション管理方法、セッション管理システム及びプログラム - Google Patents
セッション管理方法、セッション管理システム及びプログラム Download PDFInfo
- Publication number
- WO2012063478A1 WO2012063478A1 PCT/JP2011/006252 JP2011006252W WO2012063478A1 WO 2012063478 A1 WO2012063478 A1 WO 2012063478A1 JP 2011006252 W JP2011006252 W JP 2011006252W WO 2012063478 A1 WO2012063478 A1 WO 2012063478A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- session information
- session
- request
- unit
- server device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5016—Session
Definitions
- the present invention relates to a session management method, a session management system, and a program.
- Patent Document 1 discloses a system that moves client session information possessed by a system configured with a cluster of a plurality of server devices without using a session sharing device and a session sharing method.
- a cluster refers to a system configured by a server device group that receives a request from a client and returns a request processing result, and the load distribution device executes request allocation to each server device.
- request processing according to the client is realized by referring to, generating, changing, adding or deleting session information indicating the client state for each server device. Yes.
- Patent Document 1 discloses a technique for moving session information by adding a redirect command to a client request when receiving a session information movement command from an analysis component. At this time, in order to add a redirect command to the request, a command statement for adding the redirect command is included in a response that is a response to the request. Then, after the client receives the response, when the client transmits the request derived from the moved session information again, the client sends the request to the session information destination according to the command included in the response. Techniques for transferring to a device are disclosed.
- Patent Document 1 since a command statement for adding a redirect command is included in a response to a client request, it is assumed that a client request is received in order to move session information. That is, when a client request is received, session information including request transfer settings is moved.
- a request from all clients related to the session information held by the server device to be stopped is received or the session information is invalidated due to a timeout. It is necessary to wait for the server device to stop until
- session information is concentrated on a specific server device and scale-out is performed such that a new server device is newly added, session information cannot be moved unless a client request is received.
- An object of the present invention is to realize session movement at an arbitrary timing in a cluster using a plurality of server devices.
- a request allocation unit that returns a processing result of a client request to a client, a request processing unit that processes a received request, and a session information management unit that manages session information of the request
- a session management method in a system comprising a plurality of server devices including: a session information management unit of a first server device moves session information to a session information management unit of a second server device; If the request allocation unit of the server device 1 is later than the request reception time when the request allocation unit of the first server device receives the request and the response return time when the processing result is returned to the client, the session information movement time is later, Based on the destination information to which the session information has moved Characterized by allocating a request newly received in the second server device.
- FIG. 1 shows a cluster to which the present invention is applied.
- the cluster is mainly composed of server apparatuses 101 (101a, 101b, 101c), a server management apparatus 102, and a load distribution apparatus 103.
- server apparatus 101a server apparatuses 101 (101a, 101b, 101c), a server management apparatus 102, and a load distribution apparatus 103.
- the configuration of the present invention will be described using the server apparatus 101a.
- the server device 101a includes a communication device 104a, a memory 110a, a CPU 105a, a storage device 107a, an input device 118, and a display device 119, and is connected to the server management device 102 and the load distribution device 103 via the communication device 104a.
- the communication device 104a exchanges various data and commands with other devices via the network 122 or the like.
- the memory 110a holds various programs executed by the server device and temporary data.
- the CPU 105a executes various programs stored in the memory. Further, the CPU 105a has a clock 106a which is a functional unit that performs time management.
- the storage device 107a provided with the server device stores various programs for the server device to execute processing and data necessary for executing the program.
- the configuration change processing unit 113a, the Web server 111a, and the AP server 112a which will be described later, operate by reading the program 109a and data 108a stored in the storage device 107a into the memory 110a and executing them on the CPU 105a.
- the Web server 111a and the AP server 112a are the same CPU 105a and operate on an OS (operating system) (not shown).
- the Web server 111a includes a request allocation unit 114a.
- the AP server 112a has functional units such as a request processing unit 115a, a session information storage unit 116a, and a session information management unit 117a.
- the configuration change command processing unit 113a receives a cluster configuration change command from the server management device 102 via the communication device 104a.
- the configuration change command is, for example, a request for scale-in or scale-out of the server device.
- the configuration change command processing unit 113a determines the movement of the session information according to the received configuration change command. If it is determined that part or all of the session information is to be moved to another server, the session information management unit that is the movement destination is designated to specify the session information to be moved, and the session information is moved.
- the request allocation unit 114a receives a client request received according to the information received from the session information management unit 117a that manages the session information, through the request processing unit 115a of the local server device or the request processing unit of another server device via the communication device 104a. Forward to.
- the request processing unit 115a processes the client request allocated from the request allocation unit 114a, and returns the result to the request allocation unit 114a.
- the session information storage unit 116a is requested to refer to, generate, change, add, or delete session information.
- the session information storage unit 116a stores session information for each client in the memory. Then, in response to a request for reference, generation, change, addition, or deletion of session information from the request processing unit 115a, the session information storage unit 116a processes the corresponding session information in response to the request, or a request allocation unit To 114a.
- the session information storage destination is not limited to the memory, and may be a storage device in the server device.
- the session information management unit 117a selects the commanded session information from the session information storage unit 116a according to the configuration change command from the configuration change command processing unit 113a, and transmits it to the session information management unit of the commanded server device. After the session information is transmitted, the session information transfer destination server device is notified to the request allocation unit of itself or all the server devices constituting the cluster, and the client request using the session is sent to the session information transfer destination server device. Instruct to transfer. Alternatively, session information sent from another server device is stored in the session information storage unit 116a.
- the input device 118 is a device for inputting an instruction to a computer such as a keyboard and a mouse, and inputs an instruction such as starting a program.
- the display device 119 is a display or the like, and displays an execution status or an execution result of processing by the server device or the server management device.
- the server management apparatus 102 has a function of monitoring the status of server apparatuses and load distribution apparatuses in the cluster via the network 122 or changing their settings, and can be realized using a general computer. Note that any number of server devices may be included in the cluster.
- the server management apparatus 102 includes an input device 118 and a display device 121 having functions similar to those of the input device 118 and the display device 119 included in the server device. Then, it is possible to transmit a configuration change command to the configuration change command processing unit 113a via the input device 120, or to transmit a command from outside the server device.
- the load distribution apparatus 103 When the load distribution apparatus 103 is connected to the client 100 via the network 122 and receives the client request, the client request is sent to one or more server apparatuses in the cluster by using client information included in the client request described later. Has the function of allocating.
- Cookie is an example of request header and response header information indicating client information.
- Cookie includes a session ID (SessionID) for identifying session information assigned to a client and a server ID (ServerID) for holding the session information, such as a request header 201 and a response header 202 shown in FIG.
- the load distribution apparatus 103 distributes the client request to the server apparatus that holds the session information allocated to the client according to the server ID.
- session information assigned to the client may be identified by a POST parameter included in a request transmitted from the client by the POST method.
- the load balancer 103 exists between the network 122 and the server apparatus 101.
- the server apparatus in the cluster may have the same function unit as the load balancer.
- the client may perform processing for allocating requests in the same manner as the load distribution apparatus 103.
- the server management apparatus 102 monitors and controls the load status of each server apparatus 101 and the load distribution apparatus 103 (step 301). Then, the server management apparatus 102 transmits a configuration change command to each server apparatus 101 and load distribution apparatus 103 that configure the cluster according to the load status or some kind of trigger (step 302).
- the configuration change is, for example, scale-in, scale-out, and processing for moving a virtual server that constitutes a cluster between physical servers in a virtual environment.
- the configuration change command includes information for specifying a session to be moved and information for specifying a server device to be moved. If the source server apparatus is the server apparatus 101a, the configuration change command is transmitted to the configuration change command processing unit 113a of the source server apparatus 101a.
- the session information management unit 117a of the server apparatus 101a that has received the configuration change command moves the session information to another server apparatus (step 303). Then, after the movement of the session information is completed, the session identification consisting of the server ID of the session information movement source server device for each client that uses the moved session information, the server ID of the session information movement destination server device, and the session information movement start time The information is transmitted to the request allocator of all server devices that constitute the cluster (step 304).
- the session information management unit 117a stores the session information without erasing it until it can be confirmed whether or not the session information has been changed.
- the source server device receives a confirmation signal (Ack signal) indicating receipt of the session information transmitted by the destination server device. Can be confirmed.
- Ack signal a confirmation signal
- the request allocation unit 114a confirms whether or not the session information received after the start of session information movement has been changed (step 305). If the session information received after the start of the session information movement has not been changed, the request allocation unit 114a transfers a new client request to the session information destination server apparatus according to the information of the session information destination server apparatus (step 306). ). On the other hand, if the session information received after the start of the session information movement has been changed, the session information is not correctly moved from the movement source server apparatus to the movement destination server apparatus, which may hinder subsequent request processing. is assumed.
- the request allocation unit 114a requests the session information management unit 117a of the session information source server device to transfer the changed session information from the session information source server device to the session information destination server device again, The process returns to step 303 (307).
- the client request is transferred to the session information destination server device according to the information of the session information destination server device. A method for confirming that the session information has not been changed after the start of moving the session information will be described later.
- this movement of session information is executed either before or after the cluster configuration is changed.
- the server apparatus can be stopped according to the configuration change after moving the session information.
- scaling out it is possible to add a server device by changing the configuration and move the session information to the added server device.
- the session information management unit 117a records the time when the movement of the session information is started as the session information movement start time 501 (step 401).
- the session information assigned to any client via the communication device 104a is moved to the session information management unit of any server device (step 402).
- step 404 when executing a process for stopping the own server apparatus such as scale-in
- step 405 when executing the process not stopping the own server apparatus such as scale-out.
- the session identification information including the session ID 502, the server ID 503 of the source server device of the session information for each client, the server ID 504 of the destination server device of the session information, and the movement start time 501 of the session information, It transmits to the request allocation part of all the server apparatuses which comprise a cluster (step 404).
- the session identification information for each client is transmitted to the request allocation unit 114a of the own server (step 405).
- processing for transferring the client request to the session destination server is executed (step 406).
- the session information management unit 117a records the session information movement start time 501 and repeats until there is no request for re-execution of session information movement from the request allocation unit 114a.
- the request allocation unit 114a transfers the client request received via the communication device 104a to a request processing unit of an arbitrary server, and returns a request processing result to the client via the communication device 104a.
- the request allocation unit 114a records the session ID 502, the latest request reception time 505, and the latest response return time 506 for each client (step 601). Note that the recording of the request reception time 505 and the response reply time 506 may be started immediately before starting the movement of the session information, or may always be recorded. However, by recording the time only when the session information is moved, the load on the CPU for recording other times can be reduced.
- the request allocation unit 114a receives the request transfer request and the session information movement start time 501 from the session information management unit 117a (step 602).
- the movement start time 501 of the session information, the latest request reception time 505 for each client, and the latest response return time 506 are compared (step 603).
- step 604 it is determined whether the latest request reception time 505 and the latest response return time 506 are before the session information movement start time 501 (step 604).
- the session information destination server device If the latest request reception time 505 and the latest response reply time 506 are before the session information movement start time 501, it is determined that the session information has not been changed after the session information movement starts, and the session information is moved.
- the new client request is transferred to the session information destination server device (step 605).
- session information movement start time 501 is later than latest request reception time 505 or latest response return time 506, it is determined that session information may have been changed from session information movement start time 501. Then, the session ID of the session information that may have been changed is extracted (step 606). Then, the session information management unit 117a is requested to re-execute the movement of the session information for the extracted session ID (step 607).
- the session information movement notification from the session information management unit 117a to the request allocation unit 114a in the Web server is performed when the movement of the session information is completed. Therefore, the movement of the session information is completed when the request allocation unit 114a receives the notification of the movement of the session information. Therefore, in the above step 604, it is possible to confirm whether or not the request processing of the session information that is the movement target is performed between the session information movement start time and the movement end time. That is, it can be confirmed that the session information is not changed during the session movement.
- the latest request reception time 505 and the latest response reply time 506 are compared with the session information movement start time 501 to change the session information after the session information movement starts.
- the session information of the session information source server device and the destination server device may be compared.
- a request that uses the session information being moved is transferred to the session information destination server device, and after the transfer of the session information is completed, the transferred request is processed by the request processing unit of the session information destination server device. Also good.
- the session information transfer method disclosed as the prior art cannot move the session information until after a request from the client is received.
- session information assigned to a client can be moved to an arbitrary server device without waiting for a client request.
- inconsistency that the session information is different between the movement destination server apparatus and the movement source server apparatus in order to re-execute the movement of the session information Does not occur. That is, it is possible to move session information while accepting a client request.
- FIG. 7 is a block diagram illustrating a cluster according to the second embodiment.
- the cluster of the second embodiment further includes a session information movement condition comparison unit 701 and a session information movement condition storage unit 702 in the session information management unit 117a.
- the number of session information held by the session information storage unit 702 and the content of the session information are compared with a session information movement condition specified in advance, and an arbitrary server device is selected according to the result.
- One of the features is that arbitrary session information is moved.
- the second embodiment for realizing the movement of session information according to the session information movement condition will be described below with reference to the flowchart shown in FIG.
- the session information movement condition comparison unit 701 acquires the number of session information and the session information from the session information storage unit 116a of an arbitrary server device that forms a cluster at an arbitrary timing (step 801). At this time, the timing for acquiring these may be regular or when a signal is received from the input device 118.
- the session information movement condition comparison unit 701 acquires the session information movement condition from the session information movement condition storage unit 702 (step 802).
- the session information movement condition can be specified by session information having a specific session ID, session information having a specific response value, or the like, like the session information movement condition 901 shown in FIG. FIG. 9 will be described in detail later.
- the session information movement condition comparison unit 701 determines whether there is session information whose session movement condition matches the session information acquired in step 801 (step 803).
- the session information is moved to the session information movement destination server apparatus (804). If there is no matching session information, the process ends. At this time, the comparison processing between the session information and the session information movement condition can be performed outside the server device. Specifically, as shown in FIG. 10, the status of the session information is displayed on the monitor of the display device 119, and the client designates the session information to be moved and its destination server device via the input device. You can also. Each server device in the cluster may have the function of the server device.
- the session information is moved so that the number of sessions held by the server devices constituting the cluster is equalized, thereby preventing load imbalance. can do.
- the load By preventing the load from being biased, it is possible to prevent a part of the server devices constituting the cluster from being overloaded and causing performance degradation.
- the administrator who manages the cluster configuration system creates a list describing the session information movement condition 901 and the execution contents 902 that match the condition as shown in FIG.
- the server management apparatus may receive via the input device. Further, the session information management unit may generate the session information acquired in the past by comparing the processing information in the request processing unit. For example, in a shopping site, a high-performance server device that is expected to have a higher request processing capacity and a higher response performance to clients for requests that are predicted to have a certain number of purchases or purchase amounts exceeding a certain value.
- the session information movement condition 901 and the execution content 902 that are processed in the above are generated.
- the session information management unit 117a In order to determine that the number of purchases exceeds a certain number, the session information management unit 117a is notified of the client session information when the request processing unit 114a executes the purchase process, and the session information management unit 117a Count and hold the number of times.
- the request processing unit 115a receives a client request, the request processing unit 115a inquires of the session information management unit 117a about the session information included in the request. The session ID is changed to match the information movement condition 901.
- the purchase amount when the purchase processing is executed by the request processing unit 115a is transmitted to the session information management unit 117a together with the information included in the session information at that time. For example, when Car is included in the value (Value) of the transmitted session information, when the number of purchase amounts exceeding a certain value is greater than the value (Value) of other session information, For example, the execution content 902 “transfers session information to the apparatus”.
- each server device is ranked in descending order of request processing capability.
- the ranking of each server device can be performed, for example, based on the specification values of the CPU and memory of each server device received by the server management device via the input device.
- the server devices may transmit and receive the specification values of the CPU and memory to each other via the communication device and collect them, and the collected CPU and memory specification values of each server device may be ranked in descending order.
- a session information movement condition 901 and execution contents 902 that prevent a client request from being biased to a specific server device among a plurality of server devices may be added.
- the server management device acquires the number of retained session information from the session information management unit of each server device. The deviation of the number of stored session information of each server device collected by the server management device is calculated. If the deviation is larger than 1.5 according to the session information movement condition 901, it is determined that there is a bias. In order to reduce the bias, the server management apparatus may move the session information from the server having the largest number of held sessions to the server having the smallest number according to the execution contents.
- the session information when moving session information, the session information is duplicated, and the same session information is held in the source server device and the destination server device. Then, the same request is processed using the same session information, thereby realizing a session management method for keeping the session information the same in the session information source server device and the destination server device.
- each server device further includes a shared device (a device that aggregates data and the like) that stores data necessary for processing a client request.
- a shared device a device that aggregates data and the like
- the access to the shared device is also duplicated, and the access load to the shared device caused by this duplication is reduced and the occurrence of an error is avoided. Can be done.
- FIG. 11 shows a cluster of the third embodiment.
- One of the features of the third embodiment is that it further includes a request duplication unit 1101 and a response comparison unit 1102 in the load balancer 103 in addition to the cluster in the first or second embodiment.
- the session information is replicated via the communication device 104c when moving from the session information management unit 117c of the source server device to the session information management unit of the destination server device.
- the request duplication unit 1101 duplicates the request from the client and allocates the request to each server device. Then, the request processing unit of each server device executes the request processing, and the response comparison unit 1102 returns the request processing result first returned to the load distribution device 103 to the client. The processing of the response comparison unit 1102 prevents the client from receiving a response twice.
- the request duplication unit 1101 may duplicate the client request into three or more and send it to each server device. Then, the processing results in the respective server devices are compared, and the processing result having the same processing result is returned to the client. By comparing the processing results of each server device in this way, even if a failure occurs in some server devices and an incorrect processing result occurs, the processing results of the server device that operates normally are used. The normal processing result can be sent to the client.
- a shared apparatus 1104 that is shared and accessed from a plurality of server apparatuses for purposes other than session sharing.
- the shared device 1104 is, for example, a database device or a server device that provides a Web service.
- the shared device may execute the same processing multiple times due to access from each server device, and the status of the shared device may become invalid is there. For example, consider a case where the database device that counts the number of requests sent by the client is the shared device 1104.
- the request duplicating unit 1101 duplicates the request to two or more and sends it to two or more server devices.
- Each server apparatus processes the received request and accesses the database apparatus which is the shared apparatus 1104 separately. At this time, it is correct that there is one client request and the increment of the access number is 1. However, since the access to the shared device 1104 is 2 or more, the increment of the access number is 2 or more.
- a shared unit access device 1105 shown in FIG. 11 is added.
- the sharing unit access device 1105 has a function of mediating transmission / reception of requests to / from the sharing device 1104.
- the shared access device 1105 can be realized using a general computer in the same manner as the server device. Further, the sharing unit access device 1105 may be a function of each server device.
- the sharing unit access device 1105 receives a request to the sharing device 1104 from the request processing unit of an arbitrary server device (step 1201).
- the sharing unit access device 1105 determines whether the same request as the received request is stored in the memory or storage area of the sharing device 1104 (step 1202). If not stored, the process proceeds to step 1203. If stored, the process proceeds to step 1205.
- step 1203 the sharing unit access device 1105 stores the received request to the sharing device 1104 in a memory or a storage area. Thereafter, the sharing unit access device 1105 sends a request to the sharing device 1104 and receives a request processing result.
- the received request processing result is stored in the memory or storage area of the shared unit access device 1105 (step 1204).
- the request processing result is returned to the request processing unit that has transmitted the request to the shared unit access device 1105 (step 1206).
- step 1205 the sharing unit access device 1105 confirms whether the processing result of the request is stored in the memory or the storage area in the own device. If stored, the request processing result is returned to the request processing unit that transmitted the request to the sharing unit access device 1105 (step 1206). If it is not stored, it waits until the request processing result is stored.
- the same request can be processed by a plurality of server devices constituting the cluster. Therefore, even if some server devices stop during request processing due to a failure, the request processing results processed by other server devices can be returned to the client, and the availability can be improved. Further, when the server device in which the failure has occurred is recovered, it is necessary to synchronize with the session information held by the server device in operation. At this time, in the third embodiment, since each server device is configured to hold session information, the server device can be quickly recovered without stopping the specific server device.
- the session information it is possible to continue the client request using the session while retaining the memory state and the session information of the server device at a specific point in time. For example, when a failure that does not cause a service stop, such as a performance failure, occurs, session information at the time of the failure is held at the replication source of the session information while continuing the client request processing at the destination server device of the session information. In this way, by holding the memory state and session information of the server device at a specific time, the state of the server device can be used for cause analysis when a failure occurs.
- each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
- Each of the above-described configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function.
- Information such as programs, tables, and files that realize each function can be stored in a memory, a recording device such as a hard disk and an SSD (Solid State Drive), a recording medium such as an IC card, an SD card, and a DVD.
- the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. In practice, it may be considered that almost all the components are connected to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
クライアントリクエストの処理結果をクライアントに返信するリクエスト割振り部と、受信したリクエストを処理するリクエスト処理部と、前記リクエストのセッション情報を管理するセッション情報管理部とを有するサーバ装置を複数備えてなるシステムでのセッション管理方法であって、第1のサーバ装置のセッション情報管理部は、第2のサーバ装置のセッション情報管理部にセッション情報を移動し、第1のサーバ装置のリクエスト割振り部は、前記第1のサーバ装置のリクエスト割振り部がリクエストを受信したリクエスト受信時刻及びクライアントに処理結果を返信したレスポンス返信時刻より前記セッション情報の移動時刻が遅い場合、前記セッション情報が移動した移動先情報に基づいて新たに受信したリクエストを第2のサーバ装置に割り振る。
Description
本発明は、セッション管理方法、セッション管理システム及びプログラムに関する。
本技術分野の背景技術として、特表2009-501373号公報(特許文献1)がある。特許文献1には、複数のサーバ装置でクラスタを構成したシステムが持つクライアントのセッション情報を、セッション共有装置及びセッション共有方法を用いずに移動するシステムが開示されている。クラスタとは、クライアントからのリクエストを受信してリクエスト処理結果を返信するサーバ装置群で構成するシステムを示しており、各サーバ装置へのリクエスト割り振りは、負荷分散装置が実行する。また、各サーバ装置でクライアントのリクエストを処理する際には、サーバ装置ごとにクライアントの状態を示すセッション情報を参照、生成、変更、追加又は削除することでクライアントに応じたリクエスト処理を実現している。
特許文献1には、分析コンポーネントからセッション情報の移動命令を受信すると、クライアントリクエストにリダイレクト・コマンドを追加して、セッション情報の移動を行う技術が開示されている。このとき、リクエストにリダイレクト・コマンドを追記するため、リクエストの返信であるレスポンスにリダイレクト・コマンドを追記するための命令文を含める。そして、クライアントが前記レスポンスを受信した後、クライアントが前記移動されたセッション情報に由来するリクエストを再度送信する場合、クライアントがレスポンスに含まれる命令文に従いリクエストをセッション情報の移動先となる新たなサーバ装置に転送する技術が開示されている。
特許文献1では、クライアントリクエストに対するレスポンスにリダイレクト・コマンドを追記する命令文を含めるため、セッション情報を移動するためにはクライアントリクエストを受信することが前提となる。つまり、クライアントリクエストを受信するとリクエストの転送設定を含むセッション情報の移動が行われる。
従って、特許文献1に開示されたセッション情報の移動方法では、セッション情報の移動命令を受信しても、上記したようにクライアントレスポンスにリダイレクト・コマンドを追記する命令文を含めるため、クライアントリクエストを受信しないとセッション情報の移動を行うことができない。
そのため、例えば、特定のサーバ装置を停止するスケールインを行う場合には、停止するサーバ装置が保持するセッション情報と関係する全クライアントのリクエストを受信するか、それらのセッション情報がタイムアウトにより無効化されるまでサーバ装置の停止を待つ必要がある。また、ある特定のサーバ装置にセッション情報が集中し、新たにサーバ装置を増やすようなスケールアウトを行う場合には、クライアントリクエストを受信した後でなければセッション情報の移動を行うことができない。
本発明は、複数のサーバ装置を利用したクラスタにおいて、任意のタイミングでセッションの移動を実現することを目的とする。
本発明の代表的な一形態によれば、クライアントリクエストの処理結果をクライアントに返信するリクエスト割振り部と、受信したリクエストを処理するリクエスト処理部と、前記リクエストのセッション情報を管理するセッション情報管理部とを有するサーバ装置を複数備えてなるシステムでのセッション管理方法であって、第1のサーバ装置のセッション情報管理部は、第2のサーバ装置のセッション情報管理部にセッション情報を移動し、第1のサーバ装置のリクエスト割振り部は、前記第1のサーバ装置のリクエスト割振り部がリクエストを受信したリクエスト受信時刻及びクライアントに処理結果を返信したレスポンス返信時刻より前記セッション情報の移動時刻が遅い場合、前記セッション情報が移動した移動先情報に基づいて、新たに受信したリクエストを第2のサーバ装置に割り振ることを特徴とする。
本発明によれば、クライアントリクエストの有無に関係なく任意のタイミングでセッション情報を移動することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
[第1の実施形態]
以下、図面を用いて本発明を実施するための第1の実施形態について説明する。
図1は、本発明を適用したクラスタを示す。
クラスタは、サーバ装置101(101a、101b、101c)と、サーバ管理装置102と、負荷分散装置103とから主に構成される。以下、サーバ装置101aを用いて本発明の構成について説明する。
以下、図面を用いて本発明を実施するための第1の実施形態について説明する。
図1は、本発明を適用したクラスタを示す。
クラスタは、サーバ装置101(101a、101b、101c)と、サーバ管理装置102と、負荷分散装置103とから主に構成される。以下、サーバ装置101aを用いて本発明の構成について説明する。
サーバ装置101aは、通信装置104a、メモリ110a、CPU105a、記憶装置107a、入力装置118及び表示装置119を備え、通信装置104aを介して、サーバ管理装置102及び負荷分散装置103に接続している。通信装置104aは、ネットワーク122などを介して、他の装置と各種データやコマンドを交換する。メモリ110aは、サーバ装置が処理を実行する各種プログラム及び一時的なデータを保持する。CPU105aは、メモリに格納される各種プログラムを実行する。また、CPU105aは時刻管理を行う機能部であるクロック106aを有する。
サーバ装置を備える記憶装置107aは、サーバ装置が処理を実行するための各種プログラム及び当該プログラムの実行に必要なデータを保存する。後述する構成変更処理部113a、Webサーバ111a及びAPサーバ112aは、記憶装置107aに記憶されているプログラム109aやデータ108aをメモリ上110aに読みだし、それをCPU105aで実行することで動作する。なお、Webサーバ111a及びAPサーバ112aは同一のCPU105aで、図示しないOS(オペレーティングシステム)上で動作している。Webサーバ111aは、リクエスト割振り部114aを有する。APサーバ112aは、リクエスト処理部115a、セッション情報保存部116a及びセッション情報管理部117aといった機能部を有する。
構成変更命令処理部113aは、クラスタの構成変更命令をサーバ管理装置102から通信装置104aを介して受信する。構成変更命令は例えば、サーバ装置のスケールインやスケールアウトの要求である。構成変更命令処理部113aは、受信した構成変更命令に従ってセッション情報の移動を判断する。セッション情報の一部又は全部を他のサーバに移動すると判断した場合には、移動先のセッション情報管理部に移動するセッション情報を指定してセッション情報の移動を命令する。
リクエスト割振り部114aは、セッション情報を管理するセッション情報管理部117aから受け取った情報に従って受信したクライアントリクエストを、自サーバ装置のリクエスト処理部115a又は通信装置104aを介して他のサーバ装置のリクエスト処理部へ転送する。
リクエスト処理部115aは、リクエスト割振り部114aから割振られたクライアントリクエストを処理し、その結果をリクエスト割振り部114aへ返信する。リクエスト処理の際に、セッション情報の参照、生成、変更、追加、削除をセッション情報保存部116aに要求する。
セッション情報保存部116aは、クライアントごとのセッション情報をメモリに保存する。そして、セッション情報保存部116aは、リクエスト処理部115aからのセッション情報の参照、生成、変更、追加、削除の要求に対して、該当するセッション情報を当該要求に応じて処理するか、リクエスト割振り部114aに送信する。なお、セッション情報の保存先は、メモリに限定せずサーバ装置内の記憶装置でもよい。
セッション情報管理部117aは、構成変更命令処理部113aからの構成変更命令により、命令されたセッション情報をセッション情報保存部116aから選択し、命令されたサーバ装置のセッション情報管理部に送信する。そして、セッション情報送信後には、セッション情報の移動先サーバ装置を自身又はクラスタを構成する全てのサーバ装置のリクエスト割振り部に通知し、セッションを利用するクライアントのリクエストをセッション情報移動先のサーバ装置に転送するように命令する。または、他のサーバ装置から送付されたセッション情報をセッション情報保存部116aに格納する。
入力装置118は、キーボードやマウスなどのコンピュータに指示を入力するための装置であり、プログラム起動などの指示を入力する。表示装置119は、ディスプレイなどであり、サーバ装置やサーバ管理装置による処理の実行状況や実行結果などを表示する。
サーバ管理装置102は、ネットワーク122を介してクラスタ内のサーバ装置や負荷分散装置の状態を監視又はそれらの設定を変更する機能を有し、一般的なコンピュータを用いて実現することができる。なお、クラスタを構成するサーバ装置は何台でもよい。また、サーバ管理装置102はサーバ装置が備える入力装置118と表示装置119と同様の機能をもつ入力装置120と表示装置121とを備える。そして、当該入力装置120を介して構成変更命令処理部113aへ構成変更命令を送信することや、サーバ装置外から命令を送信することも可能である。
負荷分散装置103は、ネットワーク122を介してクライアント100に接続されており、クライアントリクエストを受信すると、後述するクライアントリクエストに含まれるクライアント情報を用いて、クラスタ内の1以上のサーバ装置に当該クライアントリクエストを割振る機能を有する。
クライアント情報を示すリクエストヘッダ及びレスポンスヘッダ情報として、例えばCookieがある。Cookieには、図2に示すリクエストヘッダ201及びレスポンスヘッダ202のようにクライアントに割り付けたセッション情報を識別するセッションID(SessionID)及びそのセッション情報を保持するサーバID(ServerID)が含まれる。負荷分散装置103は、当該サーバIDに従って、クライアントに割り付けたセッション情報を保持するサーバ装置にクライアントリクエストを振分ける。また、Cookieに限らず、例えばクライアントからPOSTメソッドにより送信されたリクエストに含まれるPOSTパラメータによりクライアントに割り付けたセッション情報を識別してもよい。
また、図2では負荷分散装置103がネットワーク122とサーバ装置101との間に存在しているが、クラスタ内のサーバ装置内に負荷分散装置と同様の機能部を持たせてもよい。あるいは、クライアントが負荷分散装置103と同様にリクエストを割振る処理を行ってもよい。
セッション情報の移動について、図3に示すフローチャートに従って説明する。
サーバ管理装置102は各サーバ装置101及び負荷分散装置103の負荷状況を監視、制御している(ステップ301)。そして、サーバ管理装置102は、当該負荷状況や何らかの契機に応じてクラスタを構成する各サーバ装置101や負荷分散装置103に構成変更命令を送信する(ステップ302)。
サーバ管理装置102は各サーバ装置101及び負荷分散装置103の負荷状況を監視、制御している(ステップ301)。そして、サーバ管理装置102は、当該負荷状況や何らかの契機に応じてクラスタを構成する各サーバ装置101や負荷分散装置103に構成変更命令を送信する(ステップ302)。
契機は、例えば、クラスタが処理するリクエスト量が増減した場合、サーバ装置間でリクエスト処理数に偏りが生じた場合、一部のサーバ装置で障害が発生した場合又はサーバ管理装置102の入力装置120から管理者により構成変更の指示が入力された場合などである。構成変更は、例えば、スケールイン、スケールアウト及び仮想化環境であればクラスタを構成する仮想サーバを物理サーバ間で移動する処理などである。構成変更命令は、移動対象となるセッションを指定する情報、移動先となるサーバ装置を指定する情報を含む。そして、いま移動元サーバ装置がサーバ装置101aであるとすると、構成変更命令は、移動元サーバ装置101aの構成変更命令処理部113aへ送信される。
構成変更命令を受信したサーバ装置101aのセッション情報管理部117aは、セッション情報を他のサーバ装置に移動する(ステップ303)。
そして、セッション情報の移動が完了した後、移動したセッション情報を利用するクライアント毎のセッション情報移動元サーバ装置のサーバID、セッション情報移動先サーバ装置のサーバID及びセッション情報移動開始時刻からなるセッション識別情報を、クラスタを構成する全てのサーバ装置のリクエスト割振り部へ送信する(ステップ304)。ここで、セッション情報の移動が完了しても、セッション情報移動中にセッション情報が変更されている場合がある。そのため、セッション情報管理部117aは、セッション情報の変更の有無を確認できるまではセッション情報の消去を行わずに保存しておくものとする。なお、セッション情報の変更の有無の確認方法は後述する。また、セッション情報の移動元サーバ装置から移動先サーバ装置への移動の完了は、移動元サーバ装置が、移動先サーバ装置が送信したセッション情報の受領を示す確認信号(Ack信号)を受信することで確認することができる。
そして、セッション情報の移動が完了した後、移動したセッション情報を利用するクライアント毎のセッション情報移動元サーバ装置のサーバID、セッション情報移動先サーバ装置のサーバID及びセッション情報移動開始時刻からなるセッション識別情報を、クラスタを構成する全てのサーバ装置のリクエスト割振り部へ送信する(ステップ304)。ここで、セッション情報の移動が完了しても、セッション情報移動中にセッション情報が変更されている場合がある。そのため、セッション情報管理部117aは、セッション情報の変更の有無を確認できるまではセッション情報の消去を行わずに保存しておくものとする。なお、セッション情報の変更の有無の確認方法は後述する。また、セッション情報の移動元サーバ装置から移動先サーバ装置への移動の完了は、移動元サーバ装置が、移動先サーバ装置が送信したセッション情報の受領を示す確認信号(Ack信号)を受信することで確認することができる。
次に、リクエスト割振り部114aは、ステップ304で受信したセッション識別情報をもとに、セッション情報移動開始後に受信したセッション情報が変更されたか否かを確認する(ステップ305)。セッション情報移動開始後に受信したセッション情報が変更されていない場合には、リクエスト割振り部114aは、セッション情報移動先サーバ装置の情報に従って新たなクライアントリクエストをセッション情報移動先サーバ装置に転送する(ステップ306)。他方、セッション情報移動開始後に受信したセッション情報が変更されている場合には、セッション情報が移動元サーバ装置から移動先サーバ装置へ正しく移動されておらず、以後のリクエスト処理に支障をきたすことが想定される。そのため、リクエスト割振り部114aは、変更されたセッション情報を再度セッション情報移動元サーバ装置からセッション情報移動先サーバ装置に転送するように、セッション情報移動元サーバ装置のセッション情報管理部117aに要求し、ステップ303に戻る(307)。このとき、複数保持しているセッション情報のうち、セッション情報の移動開始後に変更されていないセッション情報に関しては、セッション情報移動先サーバ装置の情報に従ってクライアントリクエストをセッション情報移動先サーバ装置に転送する。なお、セッション情報がセッション情報移動開始後に変更されていないことを確認する方法については後述する。
また、このセッション情報の移動は、クラスタの構成変更前又は後のいずれかで実行する。例えば、スケールインする場合には、セッション情報を移動した後に、構成変更に従ってサーバ装置の停止を実行することができる。また、逆にスケールアウトする場合には、構成変更によってサーバ装置の追加を実行し、追加したサーバ装置にセッション情報を移動することができる。
次に、図5に示すセッション情報管理部117aがセッション情報を移動する時の具体的な動作について図4に示すフローチャートに従って説明する。
セッション情報管理部117aは、セッション情報の移動を開始する時刻をセッション情報移動開始時刻501として記録する(ステップ401)。
セッション情報管理部117aは、セッション情報の移動を開始する時刻をセッション情報移動開始時刻501として記録する(ステップ401)。
その後、通信装置104aを介して任意のクライアントに割り付けられたセッション情報を任意のサーバ装置のセッション情報管理部に移動する(ステップ402)。
セッション情報の移動が完了した後、スケールインのような自サーバ装置を停止する処理を実行する場合はステップ404へ、スケールアウトのような自サーバ装置を停止しない処理を実行する場合にはステップ405へ進む(ステップ403)。
自サーバ装置を停止する場合、セッションID502、クライアント毎のセッション情報の移動元サーバ装置のサーバID503、セッション情報の移動先サーバ装置のサーバID504及びセッション情報の移動開始時刻501からなるセッション識別情報を、クラスタを構成する全てのサーバ装置のリクエスト割振り部へ送信する(ステップ404)。
自サーバ装置を停止しない場合、クライアント毎のセッション識別情報を自サーバのリクエスト割振り部114aに送信する(ステップ405)。
リクエスト割振り部114aからセッション情報の移動の再実行要求が存在する場合、クライアントリクエストをセッション移動先サーバ装置に転送する処理を実行する(ステップ406)。
以上のようにセッション情報管理部117aは、セッション情報の移動開始時刻501を記録し、リクエスト割振り部114aからセッション情報の移動の再実行要求が無くなるまで繰り返す。
次に、図5に示すリクエスト割振り部114aの動作について、図6のフローチャートに従って説明する。
リクエスト割振り部114aは通信装置104aを介して受信したクライアントリクエストを任意のサーバのリクエスト処理部に転送し、リクエスト処理結果をクライアントに通信装置104aを介して返信する。
リクエスト割振り部114aは通信装置104aを介して受信したクライアントリクエストを任意のサーバのリクエスト処理部に転送し、リクエスト処理結果をクライアントに通信装置104aを介して返信する。
このとき、リクエスト割振り部114aは、クライアント毎のセッションID502、最新のリクエスト受信時刻505及び最新のレスポンス返信時刻506を記録する(ステップ601)。なお、リクエスト受信時刻505とレスポンス返信時刻506の記録はセッション情報の移動を開始する直前に始めても良いし常に記録してもよい。但し、セッション情報を移動する際にのみ時刻を記録することによって、それ以外の時刻を記録するためのCPUの負荷を減らすことができる。
さらに、リクエスト割振り部114aはセッション情報管理部117aからリクエストの転送要求及びセッション情報の移動開始時刻501を受信する(ステップ602)。
その後、セッション情報の移動開始時刻501、クライアント毎の最新のリクエスト受信時刻505及び最新のレスポンス返信時刻506を比較する(ステップ603)。
そして、最新のリクエスト受信時刻505及び最新のレスポンス返信時刻506が、セッション情報の移動開始時刻501よりも前であるかを判断する(ステップ604)。
最新のリクエスト受信時刻505及び最新のレスポンス返信時刻506がセッション情報の移動開始時刻501よりも前であるならば、セッション情報の移動開始後にセッション情報は変更されていないと判断し、セッション情報を移動したクライアントの新たなリクエストをセッション情報の移動先サーバ装置に転送する(ステップ605)。
また、最新のリクエスト受信時刻505あるいは最新のレスポンス返信時刻506よりもセッション情報の移動開始時刻501が後であるならば、セッション情報がセッション情報移動開始時刻501から変更された可能性があると判断し、変更された可能性のあるセッション情報のセッションIDを抽出する(ステップ606)。
そして、抽出されたセッションIDについてセッション情報の移動を再実行するようにセッション情報管理部117aに要求する(ステップ607)。
そして、抽出されたセッションIDについてセッション情報の移動を再実行するようにセッション情報管理部117aに要求する(ステップ607)。
なお、セッション情報管理部117aからWebサーバ内のリクエスト割振り部114aへのセッション情報移動の通知は、セッション情報の移動が完了した時点で行われる。従って、リクエスト割振り部114aがセッション情報移動の通知を受信した時点でセッション情報の移動は完了している。そのため、上記ステップ604では、セッション情報移動開始時刻から移動終了時刻までの間に移動対象となっているセッション情報のリクエスト処理が行われていないかを確認できる。即ちセッション移動中に、セッション情報の変更がされていないことを確認できる。
また、本実施形態では、上述したように最新のリクエストの受信時刻505及び最新のレスポンス返信時刻506とセッション情報移動開始時刻501とを比較することで、セッション情報移動開始後にセッション情報の変更が生じているのかを確認しているが、これはセッション情報移動元サーバ装置と移動先サーバ装置のセッション情報を比較しても良い。
あるいは、移動中のセッションIDをリクエスト割り振り管理部114aが保持し、移動が終了する前に同一セッションIDを持つリクエストを受信すればセッション情報が書き換えられた可能性があると判断してもよい。
また、移動中のセッション情報を利用するリクエストをセッション情報移動先サーバ装置に転送し、セッション情報の移動が終了した後に、前記転送したリクエストをセッション情報移動先サーバ装置のリクエスト処理部で処理してもよい。
あるいは、移動中のセッションIDをリクエスト割り振り管理部114aが保持し、移動が終了する前に同一セッションIDを持つリクエストを受信すればセッション情報が書き換えられた可能性があると判断してもよい。
また、移動中のセッション情報を利用するリクエストをセッション情報移動先サーバ装置に転送し、セッション情報の移動が終了した後に、前記転送したリクエストをセッション情報移動先サーバ装置のリクエスト処理部で処理してもよい。
以上のセッション管理方法及びセッション管理を実現するシステムにより、従来技術として開示されたセッション情報の移動方法では、クライアントからのリクエストを受信した後でなければセッション情報の移動を行うことができないが、本第1の実施形態では、クライアントのリクエストを待たずともクライアントに割り付けたセッション情報を任意のサーバ装置に移動できる。また、本第1の実施形態では、セッション情報移動開始後にセッション情報が変更されても、セッション情報の移動を再実行するため移動先サーバ装置と移動元サーバ装置でセッション情報が異なるような不整合は発生しない。つまり、クライアントのリクエストを受けつけながらセッション情報の移動を行うことが可能である。
[第2の実施形態]
次に、本発明を適用した第2の実施形態について図を用いて詳細に説明する。
図7は、第2の実施形態のクラスタを示すブロック図である。第2の実施形態のクラスタは、第1の実施形態でのクラスタの構成に加えて、セッション情報管理部117aに、セッション情報移動条件比較部701及びセッション情報移動条件保存部702を更に有する。本第2の実施形態では、セッション情報保存部702が保持するセッション情報の数やそのセッション情報の内容を、予め指定してあるセッション情報移動条件と比較し、その結果に応じて任意のサーバ装置に任意のセッション情報を移動させることを特徴の一つとする。以下に、セッション情報移動条件に従ってセッション情報の移動を実現する本第2の実施形態を、図8に示すフローチャートを用いて説明する。
次に、本発明を適用した第2の実施形態について図を用いて詳細に説明する。
図7は、第2の実施形態のクラスタを示すブロック図である。第2の実施形態のクラスタは、第1の実施形態でのクラスタの構成に加えて、セッション情報管理部117aに、セッション情報移動条件比較部701及びセッション情報移動条件保存部702を更に有する。本第2の実施形態では、セッション情報保存部702が保持するセッション情報の数やそのセッション情報の内容を、予め指定してあるセッション情報移動条件と比較し、その結果に応じて任意のサーバ装置に任意のセッション情報を移動させることを特徴の一つとする。以下に、セッション情報移動条件に従ってセッション情報の移動を実現する本第2の実施形態を、図8に示すフローチャートを用いて説明する。
セッション情報移動条件比較部701は、任意のタイミングでクラスタを構成する任意のサーバ装置のセッション情報保存部116aからセッション情報の数やセッション情報を取得する(ステップ801)。このとき、これらを取得するタイミングは定期的でもよいし、入力装置118から信号を受信した時でもよい。
次に、セッション情報移動条件比較部701は、セッション情報移動条件保存部702からセッション情報移動条件を取得する(ステップ802)。セッション情報移動条件は、図9に示すセッション情報移動条件901の様に、特定のセッションIDを有するセッション情報や、特定の応答値を有するセッション情報等で指定することができる。図9については詳細に後述する。
次に、セッション情報移動条件比較部701は、ステップ801で取得したセッション情報とセッション移動条件が一致するセッション情報が存在するかどうかを判断する(ステップ803)。
そして、セッション情報とセッション情報移動条件が一致するセッション情報が存在するならば、当該セッション情報をセッション情報移動先サーバ装置に移動する(804)。また、一致するセッション情報が存在しなければ処理を終了する。このとき、セッション情報とセッション情報移動条件との比較処理をサーバ装置の外部で実施することもできる。
具体的には、図10に示すように、表示装置119のモニタにセッション情報の状態を表示し、そこから移動対象となるセッション情報とその移動先サーバ装置をクライアントが入力装置を介して指定することもできる。なお、前記サーバ装置の機能をクラスタ内の各サーバ装置が備えることもできる。
具体的には、図10に示すように、表示装置119のモニタにセッション情報の状態を表示し、そこから移動対象となるセッション情報とその移動先サーバ装置をクライアントが入力装置を介して指定することもできる。なお、前記サーバ装置の機能をクラスタ内の各サーバ装置が備えることもできる。
以上のようなセッション情報の移動条件に従ったセッション情報の移動では、例えば、クラスタを構成するサーバ装置が保持するセッション数が均等になるようにセッション情報を移動することにより、負荷の偏りを防止することができる。そして、負荷の偏りを防止することで、クラスタを構成するサーバ装置の一部が過負荷状態となり性能劣化となることを防ぐことができる。
また、本第2実施形態では、図9に示すようなセッション情報移動条件901とその条件に一致した実行内容902を記述したリストをクラスタ構成のシステムを管理する管理者が作成し、このリストをサーバ管理装置が入力装置を介して受信してもよい。また、セッション情報管理部が、過去に取得したセッション情報とリクエスト処理部での処理内容とを比較して生成してもよい。
例えば、ショッピングサイトにおいて、購入回数や購入金額が一定値を超えると予測されるリクエストを、他のサーバ装置よりリクエスト処理能力が高く、クライアントへの応答性能が高いと予測される高性能なサーバ装置で処理するようなセッション情報移動条件901と実行内容902を生成する。購入回数が一定回数を超えたことを判定するために、リクエスト処理部114aで購入処理を実行した際のクライアントのセッション情報をセッション情報管理部117aに通知し、セッション情報管理部117aは、その通知回数をカウントし、保持する。リクエスト処理部115aはクライアントのリクエストを受信した時に、リクエストに含まれるセッション情報をセッション情報管理部117aに問い合わせて、一定回数以上の購入回数が記録されていれば、セッションIDにPremier追記し、セッション情報移動条件901に合致するセッションIDに変更する。
例えば、ショッピングサイトにおいて、購入回数や購入金額が一定値を超えると予測されるリクエストを、他のサーバ装置よりリクエスト処理能力が高く、クライアントへの応答性能が高いと予測される高性能なサーバ装置で処理するようなセッション情報移動条件901と実行内容902を生成する。購入回数が一定回数を超えたことを判定するために、リクエスト処理部114aで購入処理を実行した際のクライアントのセッション情報をセッション情報管理部117aに通知し、セッション情報管理部117aは、その通知回数をカウントし、保持する。リクエスト処理部115aはクライアントのリクエストを受信した時に、リクエストに含まれるセッション情報をセッション情報管理部117aに問い合わせて、一定回数以上の購入回数が記録されていれば、セッションIDにPremier追記し、セッション情報移動条件901に合致するセッションIDに変更する。
このとき、購入金額が一定値を超えることを判定するために、リクエスト処理部115aで購入処理を実行した際の購入金額をその時のセッション情報に含まれる情報とともにセッション情報管理部117aに送信する。例えば、送信したセッション情報の値(Value)にCarが含まれている場合、一定値を超えている購入金額の回数が、他のセッション情報の値(Value)より多いとき、「高性能なサーバ装置にセッション情報の移動を行う」という実行内容902などである。
また、高性能なサーバ装置を選択するには、各サーバ装置のリクエスト処理能力が大きい順に順位付けしておく方法が考えられる。各サーバ装置の順位付けは、例えばサーバ管理装置が入力装置を介して受信した各サーバ装置のCPUやメモリのスペック値によって行うことができる。また、各サーバ装置が通信装置を介して相互にCPUやメモリのスペック値を送受信して収集し、収集した各サーバ装置のCPUやメモリのスペック値を大きい順に順位付けしてもよい。
また、クライアントのリクエストが複数のサーバ装置のうち、特定のサーバ装置に偏ることを防ぐようなセッション情報移動条件901と実行内容902を加えてもよい。例えば、サーバ管理装置が各サーバ装置のセッション情報管理部からセッション情報の保持数を取得する。サーバ管理装置が収集した各サーバ装置のセッション情報の保持数の偏差を計算し、セッション情報移動条件901に従って1.5より大きい場合には、偏りが存在すると判定する。そして、その偏りを低下させるために、サーバ管理装置は実行内容に従ってセッション保持数が最も多いサーバから最も少ないサーバにセッション情報を移動するようにしてもよい。
[第3の実施形態]
次に、本発明を適用した第3の実施形態について図を用いて詳細に説明する。
本第3の実施形態は、セッション情報を移動する際にセッション情報を複製し、移動元サーバ装置及び移動先サーバ装置で同じセッション情報を保持する。そして、同一セッション情報を用いて同一リクエストを処理することで、セッション情報移動元サーバ装置及び移動先サーバ装置でセッション情報を同一に保つセッション管理方法を実現するものである。
次に、本発明を適用した第3の実施形態について図を用いて詳細に説明する。
本第3の実施形態は、セッション情報を移動する際にセッション情報を複製し、移動元サーバ装置及び移動先サーバ装置で同じセッション情報を保持する。そして、同一セッション情報を用いて同一リクエストを処理することで、セッション情報移動元サーバ装置及び移動先サーバ装置でセッション情報を同一に保つセッション管理方法を実現するものである。
また、本第3の実施形態は、同一のクライアントリクエストを処理するので、処理結果をリクエスト送信元であるクライアントに複数返信することになるが、このような重複する返信を防止することを実現することができるようになっている。
更には、本第3の実施形態は、各サーバ装置がクライアントリクエストを処理するために必要なデータを格納した共有装置(データ等を一元的に集約した装置)を更に設ける構成となっている。上述のように、各サーバ装置は同一のクライアントリクエストを処理する場合に、共有装置へのアクセスも重複し、この重複により生ずる共有装置へのアクセス負荷の軽減やエラー発生等の回避を実現することができるようになっている。
図11に、第3の実施形態のクラスタを示す。第3の実施形態は、第1又は第2の実施形態でのクラスタに加えて、負荷分散装置103内に、リクエスト複製部1101及びレスポンス比較部1102を更に有する点を特徴の一つとする。
また、セッション情報の複製は、移動元サーバ装置のセッション情報管理部117cから移動先サーバ装置のセッション情報管理部に移動する際に通信装置104cを介して行う。
また、セッション情報の複製は、移動元サーバ装置のセッション情報管理部117cから移動先サーバ装置のセッション情報管理部に移動する際に通信装置104cを介して行う。
リクエスト複製部1101は、クライアントからのリクエストを複製し、各サーバ装置にリクエストを割り振る。そして、各サーバ装置のリクエスト処理部がリクエスト処理を実行し、最初に負荷分散装置103に返信したリクエスト処理結果を、レスポンス比較部1102が、クライアントに返信する。このレスポンス比較部1102の処理によって、クライアントがレスポンスを二重に受信することを防ぐ。
また、同一セッション情報を持つサーバ装置が3以上ある場合に、リクエスト複製部1101がクライアントリクエストを3以上に複製し、各サーバ装置に送付してもよい。そして、各サーバ装置での処理結果を比較して、同じ処理結果が多数ある方の処理結果をクライアントに返す。このように各サーバ装置での処理結果を比較することで、一部のサーバ装置に障害が発生して不正な処理結果が発生しても、正常に稼働するサーバ装置での処理結果を用いて、クライアントに正常な処理結果を送付することができる。
更に、クライアントからのリクエストを複製して、複数のサーバ装置で同一リクエストを処理する場合に、複数のサーバ装置からセッション共有以外の目的で共有してアクセスされる共有装置1104があってもよい。
共有装置1104は、例えば、データベース装置やWebサービスを提供するサーバ装置である。複数のサーバ装置で同一リクエストを処理して単一の共有装置にアクセスする場合、共有装置が各サーバ装置からのアクセスにより同一の処理を多重に実行し、共有装置の状態が不正になる場合がある。例えば、クライアントが送付するリクエスト数を数えるデータベース装置が共有装置1104である場合を考える。この場合、クライアントのリクエストは1つであるが、リクエスト複製部1101がリクエストを2以上に複製して2以上のサーバ装置に送付する。各サーバ装置は受信したリクエストを処理して、共有装置1104であるデータベース装置に別々にアクセスする。この時、クライアントのリクエストは1つでアクセス数の増分は1であることが正しいが、共有装置1104へのアクセスは2以上になるためアクセス数の増分が2以上になる。
共有装置1104は、例えば、データベース装置やWebサービスを提供するサーバ装置である。複数のサーバ装置で同一リクエストを処理して単一の共有装置にアクセスする場合、共有装置が各サーバ装置からのアクセスにより同一の処理を多重に実行し、共有装置の状態が不正になる場合がある。例えば、クライアントが送付するリクエスト数を数えるデータベース装置が共有装置1104である場合を考える。この場合、クライアントのリクエストは1つであるが、リクエスト複製部1101がリクエストを2以上に複製して2以上のサーバ装置に送付する。各サーバ装置は受信したリクエストを処理して、共有装置1104であるデータベース装置に別々にアクセスする。この時、クライアントのリクエストは1つでアクセス数の増分は1であることが正しいが、共有装置1104へのアクセスは2以上になるためアクセス数の増分が2以上になる。
このような、共有装置1104での処理が多重に実行されることを防ぐために、図11に示す共有部アクセス装置1105を追加する。この共有部アクセス装置1105は、共有装置1104へのリクエストの送受信を仲介する機能を有する。
なお、共有アクセス装置1105は、サーバ装置と同様に一般的なコンピュータを用いて実現することができる。また、共有部アクセス装置1105は、各サーバ装置の一機能としてもよい。
なお、共有アクセス装置1105は、サーバ装置と同様に一般的なコンピュータを用いて実現することができる。また、共有部アクセス装置1105は、各サーバ装置の一機能としてもよい。
共有部アクセス装置1105の具体的な機能を図12のフローチャートに従って説明する。
共有部アクセス装置1105は、任意のサーバ装置のリクエスト処理部から共有装置1104へのリクエストを受信する(ステップ1201)。
共有部アクセス装置1105は、任意のサーバ装置のリクエスト処理部から共有装置1104へのリクエストを受信する(ステップ1201)。
次いで、共有部アクセス装置1105は、受信したリクエストと同一リクエストが、共有装置1104のメモリ又は記憶領域に記憶されているか判定する(ステップ1202)。記憶されていなければ、ステップ1203に進む。記憶されていればステップ1205に進む。
ステップ1203で、共有部アクセス装置1105は、受信した共有装置1104へのリクエストをメモリ又は記憶領域に記憶する。その後、共有部アクセス装置1105は、共有装置1104にリクエストを送付し、リクエスト処理結果を受信する。
そして、受信したリクエスト処理結果を、共有部アクセス装置1105のメモリ又は記憶領域に記憶する(ステップ1204)。
その後、共有部アクセス装置1105へリクエストを送信したリクエスト処理部に、前記リクエスト処理結果を返信する(ステップ1206)。
他方、ステップ1205で、共有部アクセス装置1105は、自装置内のメモリ又は記憶領域に、前記リクエストの処理結果が記憶されているか確認する。記憶されていれば、そのリクエスト処理結果を共有部アクセス装置1105へリクエストを送信したリクエスト処理部に前記リクエスト処理結果を返信する(ステップ1206)。記憶されていなければリクエスト処理結果が記憶されるまで待機する。
以上のセッション情報の複製により、クラスタを構成する複数のサーバ装置で、同一リクエストを処理することができる。そのため、一部のサーバ装置が障害によりリクエスト処理中に停止しても他のサーバ装置で処理したリクエスト処理結果をクライアントに返信でき、可用性を向上させることができる。
また、障害が発生したサーバ装置が回復した場合には、稼動中のサーバ装置の保持するセッション情報との同期を行う必要がある。このとき、本第3実施形態では、各サーバ装置でセッション情報を保持するように構成されているため、特定のサーバ装置の停止を行うことなく迅速にサーバ装置の回復を行うことができる。
また、障害が発生したサーバ装置が回復した場合には、稼動中のサーバ装置の保持するセッション情報との同期を行う必要がある。このとき、本第3実施形態では、各サーバ装置でセッション情報を保持するように構成されているため、特定のサーバ装置の停止を行うことなく迅速にサーバ装置の回復を行うことができる。
その他にも、セッション情報を複製することで、ある特定時点でのサーバ装置のメモリ状態とセッション情報を保持したまま、セッションを利用するクライアントリクエストを継続することもできる。例えば、性能障害などサービス停止を伴わない障害が発生した場合に、セッション情報の移動先サーバ装置でクライアントリクエスト処理を継続しながら、セッション情報の複製元で障害発生時のセッション情報を保持する。このように、ある特定時点でのサーバ装置のメモリ状態とセッション情報とを保持することで、サーバ装置の状態を障害発生時の原因解析のために利用することができる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施形態は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、各実施形態の構成の一部について、他の構成の追加、削除及び置換をすることも可能である。
更に、上記の各構成、機能、処理部及び処理手段等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク及びSSD(Solid State Drive)等の記録装置、ICカード、SDカード及びDVD等の記録媒体に置くこともできる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
101 サーバ装置
102 サーバ管理装置
103 負荷分散装置
104 通信装置
105 CPU
107 記憶装置
108 データ
109 プログラム
110 メモリ
111 Webサーバ
112 APサーバ
113 構成変更命令処理部
114 リクエスト割振り部
115 リクエスト処理部
116 セッション情報保存部
117 セッション情報管理部
701 セッション情報移動条件比較部
702 セッション情報移動条件保存部
1101 リクエスト複製部
1102 レスポンス比較部
1103 通信装置
1104 共有装置
1105 共有部アクセス装置
102 サーバ管理装置
103 負荷分散装置
104 通信装置
105 CPU
107 記憶装置
108 データ
109 プログラム
110 メモリ
111 Webサーバ
112 APサーバ
113 構成変更命令処理部
114 リクエスト割振り部
115 リクエスト処理部
116 セッション情報保存部
117 セッション情報管理部
701 セッション情報移動条件比較部
702 セッション情報移動条件保存部
1101 リクエスト複製部
1102 レスポンス比較部
1103 通信装置
1104 共有装置
1105 共有部アクセス装置
Claims (20)
- クライアントリクエストの処理結果をクライアントに返信するリクエスト割振り部と、受信したリクエストを処理するリクエスト処理部と、前記リクエストのセッション情報を管理するセッション情報管理部と、を有するサーバ装置を複数備えてなるシステムでのセッション管理方法であって、
第1のサーバ装置のセッション情報管理部は、第2のサーバ装置のセッション情報管理部にセッション情報を移動し、
第1のサーバ装置のリクエスト割振り部は、前記第1のサーバ装置のリクエスト割振り部がリクエストを受信したリクエスト受信時刻及びクライアントに処理結果を返信したレスポンス返信時刻より前記セッション情報の移動時刻が遅い場合、前記セッション情報が移動した移動先情報に基づいて新たに受信したリクエストを第2のサーバ装置に割り振ることを特徴とするセッション管理方法。 - 請求項1に記載のセッション管理方法であって、
前記第1のサーバ装置のリクエスト割振り部は、前記受信時刻及び前記返信時刻の少なくとも一方よりも、前記セッション情報の移動時刻が早い場合、前記第1のセッション情報管理部にセッション情報の移動を再実行することを特徴とするセッション管理方法。 - 請求項2に記載のセッション管理方法であって、
前記サーバ装置を停止する際、前記第1のサーバ装置停止前に前記第1のサーバ装置のセッション情報管理部は、管理するセッション情報を前記第2のサーバ装置のセッション管理部に移動し、
前記第1のサーバ装置のリクエスト割振り部は、処理中のリクエストに関するセッション情報を前記第2のサーバ装置に転送することを特徴とするセッション管理方法。 - 請求項1に記載のセッション管理方法であって、
前記システムは、セッション情報の移動条件を保持するセッション情報移動条件保存部と、前記セッション情報移動条件保存部から取得したセッション情報移動条件と、前記セッション情報移動条件保存部から取得したセッション情報と、を比較するセッション情報移動条件比較部とを更に有し、
前記取得したセッション情報移動条件とセッション情報が一致する場合、前記第1のサーバ装置から第2のサーバ装置へセッション情報を移動することを特徴とするセッション管理方法。 - 請求項4に記載のセッション管理方法であって、
前記セッション情報移動条件は、少なくともセッションID及びセッション情報の応答値によって指定することを特徴とするセッション管理方法。 - 請求項4記載のセッション管理方法であって、
前記システムは、前記第1及び第2のサーバ装置におけるセッション処理の負荷を管理するサーバ管理部を更に有し、
前記サーバ管理部は、前記セッション処理のセッション数又はセッション内容を少なくとも含む負荷情報をモニタに表示することを特徴とするセッション管理方法。 - 請求項1に記載のセッション管理方法であって、
前記システムは、前記クライアントと、前記第1及び第2のサーバ装置との通信を仲介する負荷分散部を更に有し、
前記第1サーバ装置のセッション情報管理部は、前記第2のサーバ装置のセッション情報管理部に該セッション情報を複製することで、セッション情報を移動し、
前記負荷分散部は、同一の前記クライアントリクエストを前記第1及び第2のサーバ装置の夫々に送信し、前記第1のサーバ装置と第2のサーバ装置から先に受信したリクエスト処理結果を前記クライアントに返信することを特徴とするセッション管理方法。 - 請求項7に記載のセッション管理方法であって、
前記システムは、前記第1及び第2のサーバ装置のリクエスト処理部が使用するデータを格納するための共有記憶部と、前記第1並びに第2のサーバ装置のリクエスト処理部及び前記共有記憶部間のアクセスを制御する共有アクセス部と、を更に有し、
前記共有アクセス部は、
前記第1及び第2のサーバ装置のリクエスト処理部で、前記同一のクライアントリクエストを処理することにより生じた前記共有記憶部に対する複数のアクセス要求のうち最先のアクセス要求を前記共有記憶部に送信し、
該アクセス要求に対する前記共有記憶部からの処理結果を保持するとともに前記最先のアクセス要求の送信元であるリクエスト処理部に該処理結果を返信し、
前記最先のアクセス要求以外のアクセス要求の送信元であるリクエスト処理部に対しては、前記保持した処理結果を返信することを特徴とするセッション管理方法。 - クライアントリクエストの処理を行う計算機を複数接続してなるセッション管理システムであって、
前記各計算機は前記リクエストのセッション情報を管理し、前記セッション情報の移動指示を受け、当該セッション情報を他の計算機に移動するとともにその移動時刻を管理するセッション情報管理部と、
前記リクエストの受信時刻及び処理結果の返信時刻を管理し、前記移動時刻が前記リクエストの受信時刻及び前記返信時刻よりも遅い場合に、新たなリクエストを前記他の計算機に転送するリクエスト割振り部と、
を有することを特徴とするセッション管理システム。 - 請求項9に記載のセッション管理システムであって、
前記移動時刻が、前記リクエストの受信時刻及び前記返信時刻の少なくとも一方より早い場合に、前記セッション情報の移動を再実行するセッション情報管理部を有することを特徴とするセッション管理システム。 - 請求項10に記載のセッション管理システムであって、
特定の計算機を停止する際、当該計算機を停止する前に管理するセッション情報を他の計算機に移動するセッション情報管理部と、
処理中のリクエストに関するセッション情報を他の計算機に転送するリクエスト割振り部と、
を有することを特徴とするセッション管理システム。 - 請求項9に記載のセッション管理システムであって、
前記各計算機は、
セッション情報の移動条件を保持するセッション情報移動条件保存部と、
前記セッション情報移動条件保存部から取得したセッション情報移動条件と、前記セッション情報移動条件保存部から取得したセッション情報と、を比較し、前記取得したセッション情報移動条件とセッション情報が一致する場合に、他の計算機へセッション情報を移動するセッション情報移動条件比較部と、
を有することを特徴とするセッション管理システム。 - 請求項12に記載のセッション管理システムであって、
前記セッション情報移動条件は、少なくともセッションID及びセッション情報の応答値によって指定することを特徴とするセッション管理システム。 - 請求項12に記載のセッション管理システムであって、
前記各計算機は、
各計算機におけるセッション処理の負荷を管理し、前記セッション処理の数又はセッション内容を少なくとも含む負荷情報をモニタに表示する管理部を更に有することを特徴とするセッション管理システム。 - クライアントからのリクエストの処理を行う計算機を複数接続してなるシステムの前記各計算機に、
前記リクエストのセッション情報を管理し、前記セッション情報の移動指示を受け、該セッション情報を他の計算機に移動するとともにその移動時刻を管理する機能と、
前記リクエストの受信時刻及び処理結果の返信時刻を管理し、前記移動時刻が、前記リクエストの受信時刻及び前記返信時刻よりも遅い場合に、新たなリクエストを前記他の計算機に転送する機能と、
を実現させることを特徴とするプログラム。 - 請求項15に記載のプログラムであって、
前記受信時刻及び前記返信時刻の少なくとも一方よりも、前記セッション情報の移動時刻が早い場合に、セッション情報の移動を再実行する機能を更に実現させることを特徴とするプログラム。 - 請求項16に記載のプログラムであって、
特定の計算機を停止する際、前記計算機を停止する前に管理するセッション情報を他の計算機に移動する機能と、
処理中のリクエストに関するセッション情報を他のサーバ装置に転送する機能と
を更に実現させることを特徴とするプログラム。 - 請求項15に記載のプログラムであって、
前記各計算機に、
セッション情報の移動条件を保持する機能と、
当該セッション情報移動条件と、当該セッション情報とを比較する機能と、
前記取得したセッション情報移動条件とセッション情報が一致するならば他の計算機へセッション情報を移動する機能と、
を更に実現させることを特徴とするプログラム。 - 請求項18に記載のプログラムであって、
前記セッション情報移動条件は、少なくともセッションID及びセッション情報の応答値によって指定することを特徴とするプログラム。 - 請求項18に記載のプログラムであって、
前記各計算機に、
各計算機におけるセッション処理の負荷を管理する機能と、
前記セッション処理の数又はセッション内容を少なくとも含む負荷情報をモニタに表示する機能と、
を更に実現させることを特徴とするプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-251406 | 2010-11-10 | ||
JP2010251406A JP2012103879A (ja) | 2010-11-10 | 2010-11-10 | セッション管理方法、セッション管理システム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012063478A1 true WO2012063478A1 (ja) | 2012-05-18 |
Family
ID=46050643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/006252 WO2012063478A1 (ja) | 2010-11-10 | 2011-11-09 | セッション管理方法、セッション管理システム及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2012103879A (ja) |
WO (1) | WO2012063478A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661721A (zh) * | 2018-06-29 | 2020-01-07 | 北京华为数字技术有限公司 | 一种报文防攻击方法和装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2860637B1 (en) * | 2012-06-11 | 2017-04-26 | Murakumo Corporation | Information processing system, method, and program |
WO2014020742A1 (ja) * | 2012-08-02 | 2014-02-06 | 株式会社Murakumo | 負荷分散装置、情報処理システム、方法およびプログラム |
JP6107641B2 (ja) * | 2013-12-24 | 2017-04-05 | 富士ゼロックス株式会社 | セッション管理システム、サービス提供装置、及びプログラム |
JP2016045839A (ja) | 2014-08-26 | 2016-04-04 | 株式会社日立製作所 | 通信システム、管理計算機、及びセッション情報移行方法 |
JP6816511B2 (ja) * | 2017-01-04 | 2021-01-20 | 富士通株式会社 | セッション管理プログラム、セッション管理方法、情報処理装置、及び情報処理システム |
JP2019028672A (ja) * | 2017-07-28 | 2019-02-21 | 日本電信電話株式会社 | 分散処理システムに用いられるサーバ装置、分散処理方法およびプログラム |
JP6984503B2 (ja) * | 2018-03-13 | 2021-12-22 | 富士通株式会社 | 制御プログラム、制御方法および情報処理装置 |
JP7095451B2 (ja) * | 2018-07-20 | 2022-07-05 | 富士通株式会社 | 情報処理装置、分散処理プログラムおよび分散処理システム |
JP2020184690A (ja) * | 2019-05-08 | 2020-11-12 | 富士通株式会社 | パケット分類プログラム、パケット分類方法、および、情報処理装置 |
CN110781824B (zh) * | 2019-10-25 | 2023-03-14 | 阿波罗智联(北京)科技有限公司 | 目标检测及跟踪方法、装置、电子设备及存储介质 |
US11973836B1 (en) | 2022-11-08 | 2024-04-30 | Sap Se | Coordinated shutdown of cloud computing applications with session handover |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322107A (ja) * | 2004-05-11 | 2005-11-17 | Fujitsu Ltd | 負荷分散装置及びプログラム |
JP2009501373A (ja) * | 2005-07-13 | 2009-01-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークに接続されたサーバ・クラスタ内のクライアント・セッションの動的リバランシングを行う方法及びシステム |
-
2010
- 2010-11-10 JP JP2010251406A patent/JP2012103879A/ja active Pending
-
2011
- 2011-11-09 WO PCT/JP2011/006252 patent/WO2012063478A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322107A (ja) * | 2004-05-11 | 2005-11-17 | Fujitsu Ltd | 負荷分散装置及びプログラム |
JP2009501373A (ja) * | 2005-07-13 | 2009-01-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークに接続されたサーバ・クラスタ内のクライアント・セッションの動的リバランシングを行う方法及びシステム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661721A (zh) * | 2018-06-29 | 2020-01-07 | 北京华为数字技术有限公司 | 一种报文防攻击方法和装置 |
CN110661721B (zh) * | 2018-06-29 | 2022-04-22 | 北京华为数字技术有限公司 | 一种报文防攻击方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2012103879A (ja) | 2012-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2012063478A1 (ja) | セッション管理方法、セッション管理システム及びプログラム | |
CN112099918B (zh) | 容器化环境中的集群的实时迁移 | |
JP6963168B2 (ja) | 情報処理装置、メモリ制御方法およびメモリ制御プログラム | |
JP4722973B2 (ja) | リクエスト処理方法及び計算機システム | |
US8880694B2 (en) | Server system and control method for same | |
US9141435B2 (en) | System and methodology providing workload management in database cluster | |
US20180167334A9 (en) | Concurrent Web Based Multitasking Support For Computing System | |
RU2613040C2 (ru) | Smb2-масштабирование | |
JP6246923B2 (ja) | 管理サーバ、計算機システム及び方法 | |
JP2007226400A (ja) | 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム | |
US7899897B2 (en) | System and program for dual agent processes and dual active server processes | |
JP5862359B2 (ja) | シンクライアントシステム、接続管理サーバ、接続管理方法、及び接続管理プログラム | |
US9742676B2 (en) | Highly available servers | |
WO2018003031A1 (ja) | 仮想化管理プログラム、仮想化管理装置および仮想化管理方法 | |
US20140059312A1 (en) | Recording medium, computer, and information processing system | |
US20160234129A1 (en) | Communication system, queue management server, and communication method | |
US20130041936A1 (en) | Information processing apparatus and method for testing information processing system | |
WO2013027649A1 (ja) | 仮想データセンタシステム | |
US8463886B2 (en) | Method and apparatus for distributed computing, and computer product | |
JP5294014B2 (ja) | ファイル共有方法、計算機システム及びジョブスケジューラ | |
WO2020153053A1 (ja) | データベース管理サービス提供システム | |
JP2008293278A (ja) | 分散処理プログラム、分散処理装置、および分散処理方法 | |
JP4375121B2 (ja) | データベース管理システムにおける処理代行方法 | |
US20100306780A1 (en) | Job assigning apparatus, and control program and control method for job assigning apparatus | |
JP5660986B2 (ja) | データ処理システム及びデータ処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11839044 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11839044 Country of ref document: EP Kind code of ref document: A1 |