JP5724687B2 - 情報処理装置、サーバ選択方法、及びプログラム - Google Patents
情報処理装置、サーバ選択方法、及びプログラム Download PDFInfo
- Publication number
- JP5724687B2 JP5724687B2 JP2011147923A JP2011147923A JP5724687B2 JP 5724687 B2 JP5724687 B2 JP 5724687B2 JP 2011147923 A JP2011147923 A JP 2011147923A JP 2011147923 A JP2011147923 A JP 2011147923A JP 5724687 B2 JP5724687 B2 JP 5724687B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- processing
- request
- selection algorithm
- servers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1025—Dynamic adaptation of the criteria on which the server selection is based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Description
(1)スティッキー型
このアルゴリズム(戦略)では、同一のクライアントからの複数の処理要求を、同一のAPサーバに振り分ける。この場合、クライアントのインターネットプロトコル(IP)アドレスやクッキー情報等を識別情報として用いて、同一のクライアントにより要求された処理を実行するAPサーバとして同一のAPサーバを選択する。この戦略によれば、分散処理されることを意識しない既存のアプリケーションでも正しく動作する可能性が高いため、よく利用されている。一方、APサーバの数が過剰になった場合等に簡単にAPサーバを停止できないという問題や、APサーバがダウンしたときにそのAPサーバを利用していたクライアントの処理がすべて停止してしまうという問題が指摘されている。
(2)ラウンドロビン型
このアルゴリズム(戦略)では、同一又は複数のクライアントからの複数の処理要求を、所定のアルゴリズムにより複数のAPサーバに振り分ける。この戦略は仕組みが単純である一方で、アプリケーションが分散処理に対応するように作成されていないと、正しく動作しない可能性がある。
近年では、Platform as a Service(PaaS)等のクラウド型のサービスが普及し始め、そのサービスでは、ラウンドロビン型の分散戦略が採用されるケースが多くなっている。
格納手段は、要求される処理を示す処理識別情報と、複数のサーバの中から処理を実行するサーバを選択するための選択アルゴリズムとの対応関係を格納する。受信手段は、クライアントから処理要求を受信する。選択手段は、格納手段から、処理要求により指定される処理識別情報に対応する選択アルゴリズムを取得し、取得した選択アルゴリズムに基づいて、複数のサーバの中から、その処理要求により要求された処理を実行するサーバを選択する。送信手段は、選択されたサーバに処理要求を送信する。
図2は、実施形態の情報処理装置の機能的構成例を示している。図2の情報処理装置201は、受信部211、選択部212、送信部213、及び格納部214を含み、複数のサーバの中から、クライアントにより要求された処理を実行するサーバを選択する。
このような情報処理装置によれば、要求される処理を実行するサーバを選択するための選択アルゴリズムを処理の種別に応じて柔軟に変更できる。
APサーバ404は、ロードバランサ403から受信した処理要求に基づいてデータ要求を生成し、DBサーバ801に送信する。DBサーバ801は、並列処理に適したサーバOSを搭載した情報処理装置であり、リレーショナルデータベース(RDB)等のDBを保持する。DBサーバ801は、APサーバ404から受信したデータ要求に対するデータ応答を生成して、APサーバ404に返信する。
図9は、このような情報処理システムにおけるロードバランサ403とAPサーバ404−1及び404−2の機能的構成例を示している。APサーバの数が3台以上の場合も、同様の機能的構成が用いられる。
A:R1、R5、R9
B:R2、R6、R10
C:R3、R7
D:R4、R8
A:R1、R2、R3、R4
B:R5、R6、R7、R8
C:R9、R10
102、402 通信ネットワーク
103、403 ロードバランサ
104−1〜104−4、404−1〜404−4 APサーバ
201 情報処理装置
211 受信部
212 選択部
213 送信部
214 格納部
411 セッションDB
412 戦略情報
501〜505、1001〜1003、1101〜1103 エントリ
801 DBサーバ
911 DBリクエスト管理部
912 HTTPレスポンス管理部
913 DBリクエスト情報
914 HTTPレスポンス情報
921−1、921−2 DBリクエストブロック部
922−1、922−2 DBリクエスト取得部
923−1、923−2 DBレスポンス処理部
924−1、924−2 HTTPレスポンス処理部
1611、1622 テストシナリオ
1621 セッションID変換部
1623 順序情報
1801 CPU
1802 メモリ
1803 入力装置
1804 出力装置
1805 外部記憶装置
1806 媒体駆動装置
1807 ネットワーク接続装置
1808 バス
1809 可搬型記録媒体
Claims (6)
- コンピュータのためのプログラムであって、
前記プログラムは、
クライアントから第1の処理要求を受信し、
要求される処理を示す処理識別情報と、複数のサーバの中から前記クライアントの識別情報に基づいて同一のクライアントにより要求された処理を実行するサーバとして同一のサーバを選択する第1の選択アルゴリズム、又は前記複数のサーバの中からラウンドロビン方式でサーバを選択する第2の選択アルゴリズムのいずれか一方との対応関係を格納する格納手段から、前記第1の処理要求により指定される処理識別情報に対応する選択アルゴリズムを取得し、取得した選択アルゴリズムに基づいて、前記複数のサーバの中から、該第1の処理要求により要求された処理を実行するサーバを選択し、
選択されたサーバに前記第1の処理要求を送信する
処理を前記コンピュータに実行させ、
前記プログラムは、
前記格納手段に前記対応関係を登録するとき、前記クライアントから受信する第2の処理要求を、前記第1の選択アルゴリズムにより選択される第1のサーバと前記第2の選択アルゴリズムにより選択される第2のサーバに送信し、
前記第1のサーバ及び前記第2のサーバから前記第2の処理要求に対する第1の処理結果及び第2の処理結果をそれぞれ受信し、
前記第1の処理結果と前記第2の処理結果が一致しているとき、前記第2の処理要求により要求される処理を示す処理識別情報と前記第2の選択アルゴリズムとを対応付けて前記格納手段に登録する
処理を前記コンピュータにさらに実行させることを特徴とするプログラム。 - 前記コンピュータは、前記クライアントから受信する前記第2の処理要求に基づいてデータベースに対するデータ要求が発生する場合、前記第1のサーバが前記データ要求を前記データベースに送信して該データベースから受信したデータ応答を含む、前記第1の処理結果を前記第1のサーバから受信し、前記データ応答を前記第2のサーバに送信し、前記データ応答を含む前記第2の処理結果を前記第2のサーバから受信することを特徴とする請求項1記載のプログラム。
- コンピュータのためのプログラムであって、
前記プログラムは、
クライアントから処理要求を受信し、
要求される処理を示す処理識別情報と、複数のサーバの中から前記クライアントの識別情報に基づいて同一のクライアントにより要求された処理を実行するサーバとして同一のサーバを選択する第1の選択アルゴリズム、又は前記複数のサーバの中からラウンドロビン方式でサーバを選択する第2の選択アルゴリズムのいずれか一方との対応関係を格納する格納手段から、前記処理要求により指定される処理識別情報に対応する選択アルゴリズムを取得し、取得した選択アルゴリズムに基づいて、前記複数のサーバの中から、該処理要求により要求された処理を実行するサーバを選択し、
選択されたサーバに前記処理要求を送信する
処理を前記コンピュータに実行させ、
前記プログラムは、
前記格納手段に前記対応関係を登録するとき、1つのセッションで前記クライアントから受信する複数の処理要求を、前記複数のサーバのうち前記第1の選択アルゴリズムにより選択される第1のサーバに送信し、
前記第1のサーバから前記複数の処理要求に対する第1の複数の処理結果を受信し、
前記複数の処理要求を前記複数のサーバに振り分けて送信し、
前記複数のサーバから前記複数の処理要求に対する第2の複数の処理結果を受信し、
前記第1の複数の処理結果と前記第2の複数の処理結果が一致しているとき、前記複数の処理要求の各々により要求される処理を示す処理識別情報と前記第2の選択アルゴリズムとを対応付けて前記格納手段に登録する
処理を前記コンピュータにさらに実行させることを特徴とするプログラム。 - 前記コンピュータは、前記複数の処理要求の数が前記複数のサーバの数より多い場合、各サーバに振り分ける処理要求の組み合わせを変更しながら、前記複数の処理要求を前記複数のサーバに振り分けて送信する処理を複数回繰り返し、それぞれの繰り返しについて、前記複数のサーバから前記複数の処理要求に対する第2の複数の処理結果を受信し、前記第1の複数の処理結果と、それぞれの繰り返しについて受信した前記第2の複数の処理結果が一致しているとき、前記複数の処理要求の各々により要求される処理を示す処理識別情報と前記第2の選択アルゴリズムとを対応付けて前記格納手段に登録することを特徴とする請求項3記載のプログラム。
- クライアントから第1の処理要求を受信する受信手段と、
要求される処理を示す処理識別情報と、複数のサーバの中から前記クライアントの識別情報に基づいて同一のクライアントにより要求された処理を実行するサーバとして同一のサーバを選択する第1の選択アルゴリズム、又は前記複数のサーバの中からラウンドロビン方式でサーバを選択する第2の選択アルゴリズムのいずれか一方との対応関係を格納する格納手段と、
前記格納手段から、前記第1の処理要求により指定される処理識別情報に対応する選択アルゴリズムを取得し、取得した選択アルゴリズムに基づいて、前記複数のサーバの中から、該第1の処理要求により要求された処理を実行するサーバを選択する選択手段と、
選択されたサーバに前記第1の処理要求を送信する送信手段と、
前記格納手段に前記対応関係を登録するとき、前記クライアントから受信する第2の処理要求を、前記第1の選択アルゴリズムにより選択される第1のサーバと前記第2の選択アルゴリズムにより選択される第2のサーバに送信し、前記第1のサーバ及び前記第2のサーバから前記第2の処理要求に対する第1の処理結果及び第2の処理結果をそれぞれ受信し、前記第1の処理結果と前記第2の処理結果が一致しているとき、前記第2の処理要求により要求される処理を示す処理識別情報と前記第2の選択アルゴリズムとを対応付けて前記格納手段に登録する手段と
を備えることを特徴とする情報処理装置。 - クライアントから第1の処理要求を受信し、
要求される処理を示す処理識別情報と、複数のサーバの中から前記クライアントの識別情報に基づいて同一のクライアントにより要求された処理を実行するサーバとして同一のサーバを選択する第1の選択アルゴリズム、又は前記複数のサーバの中からラウンドロビン方式でサーバを選択する第2の選択アルゴリズムのいずれか一方との対応関係を格納する格納手段から、前記第1の処理要求により指定される処理識別情報に対応する選択アルゴリズムを取得し、取得した選択アルゴリズムに基づいて、前記複数のサーバの中から、該第1の処理要求により要求された処理を実行するサーバを選択し、
選択されたサーバに前記第1の処理要求を送信し、
前記格納手段に前記対応関係を登録するとき、前記クライアントから受信する第2の処理要求を、前記第1の選択アルゴリズムにより選択される第1のサーバと前記第2の選択アルゴリズムにより選択される第2のサーバに送信し、
前記第1のサーバ及び前記第2のサーバから前記第2の処理要求に対する第1の処理結果及び第2の処理結果をそれぞれ受信し、
前記第1の処理結果と前記第2の処理結果が一致しているとき、前記第2の処理要求により要求される処理を示す処理識別情報と前記第2の選択アルゴリズムとを対応付けて前記格納手段に登録する
ことを特徴とするサーバ選択方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011147923A JP5724687B2 (ja) | 2011-07-04 | 2011-07-04 | 情報処理装置、サーバ選択方法、及びプログラム |
US13/470,428 US8694580B2 (en) | 2011-07-04 | 2012-05-14 | Information processing apparatus, server selecting method and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011147923A JP5724687B2 (ja) | 2011-07-04 | 2011-07-04 | 情報処理装置、サーバ選択方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013015991A JP2013015991A (ja) | 2013-01-24 |
JP5724687B2 true JP5724687B2 (ja) | 2015-05-27 |
Family
ID=47439314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011147923A Expired - Fee Related JP5724687B2 (ja) | 2011-07-04 | 2011-07-04 | 情報処理装置、サーバ選択方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8694580B2 (ja) |
JP (1) | JP5724687B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108591A1 (en) * | 2012-10-12 | 2014-04-17 | Victoria's Secret Stores Brand Management, Inc. | Methods And Systems For Delivering Individualized Content |
JP6150281B2 (ja) * | 2013-06-03 | 2017-06-21 | 国立研究開発法人海洋研究開発機構 | サーバシステム,及びプログラム |
US9349020B2 (en) * | 2013-12-27 | 2016-05-24 | Facebook, Inc. | Aggregated actions |
US9811390B1 (en) * | 2015-03-30 | 2017-11-07 | EMC IP Holding Company LLC | Consolidating tasks into a composite request |
US10659366B1 (en) * | 2015-11-04 | 2020-05-19 | Amazon Technologies, Inc. | Load balancer metadata forwarding on secure connections |
JP6368699B2 (ja) * | 2015-12-09 | 2018-08-01 | 日本電信電話株式会社 | 負荷分散装置および負荷分散方法 |
CN107168960B (zh) * | 2016-03-07 | 2021-06-25 | 创新先进技术有限公司 | 一种业务执行方法及装置 |
US10999361B2 (en) * | 2018-09-07 | 2021-05-04 | Red Hat, Inc. | Consistent hash-based load balancer |
JP2021039423A (ja) * | 2019-08-30 | 2021-03-11 | キヤノン株式会社 | システム、および制御方法 |
CN112769900B (zh) * | 2020-12-22 | 2023-04-25 | 中冶赛迪信息技术(重庆)有限公司 | 一种数据分发方法、系统、介质及电子终端 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3537338B2 (ja) | 1999-01-12 | 2004-06-14 | 沖電気工業株式会社 | Webコンピューティングのサーバシステム |
US6985956B2 (en) * | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
US7313614B2 (en) * | 2000-11-02 | 2007-12-25 | Sun Microsystems, Inc. | Switching system |
US7409420B2 (en) * | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US7190695B2 (en) * | 2001-09-28 | 2007-03-13 | Lucent Technologies Inc. | Flexible application of mapping algorithms within a packet distributor |
US7356592B2 (en) | 2002-01-24 | 2008-04-08 | International Business Machines Corporation | Method and apparatus for web farm traffic control |
US7406692B2 (en) * | 2003-02-24 | 2008-07-29 | Bea Systems, Inc. | System and method for server load balancing and server affinity |
US8159961B1 (en) * | 2007-03-30 | 2012-04-17 | Amazon Technologies, Inc. | Load balancing utilizing adaptive thresholding |
US8150970B1 (en) * | 2007-10-12 | 2012-04-03 | Adobe Systems Incorporated | Work load distribution among server processes |
US9535967B2 (en) * | 2008-09-10 | 2017-01-03 | Salesforce.Com, Inc. | Method and system for providing efficient and complex database functionality to a mobile device |
JP5109901B2 (ja) | 2008-09-25 | 2012-12-26 | 沖電気工業株式会社 | セッションデータ共有方法 |
US8755283B2 (en) * | 2010-12-17 | 2014-06-17 | Microsoft Corporation | Synchronizing state among load balancer components |
US8612550B2 (en) * | 2011-02-07 | 2013-12-17 | Microsoft Corporation | Proxy-based cache content distribution and affinity |
-
2011
- 2011-07-04 JP JP2011147923A patent/JP5724687B2/ja not_active Expired - Fee Related
-
2012
- 2012-05-14 US US13/470,428 patent/US8694580B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20130013668A1 (en) | 2013-01-10 |
US8694580B2 (en) | 2014-04-08 |
JP2013015991A (ja) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5724687B2 (ja) | 情報処理装置、サーバ選択方法、及びプログラム | |
US20150128121A1 (en) | Dynamic application version selection | |
US20090177778A1 (en) | Session Affinity Cache and Manager | |
US20110161825A1 (en) | Systems and methods for testing multiple page versions across multiple applications | |
US20110307467A1 (en) | Distributed web crawler architecture | |
JP2005539298A (ja) | サーバを遠隔かつ動的に構成する方法およびシステム | |
JP2010026653A (ja) | データアクセス制御方法、データアクセス制御装置、及びプログラム | |
US20150222616A1 (en) | Private cloud connected device cluster architecture | |
CN110830374B (zh) | 一种基于sdk的灰度发布的方法和装置 | |
CN101783771A (zh) | 一种实现负载均衡持续性的方法和设备 | |
US8019884B2 (en) | Proxy content for submitting web service data in the user's security context | |
US9967412B2 (en) | Information processing apparatus, system, and control method for information processing apparatus | |
JP5936103B2 (ja) | クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム | |
JP5638761B2 (ja) | 画面生成方法、画面表示方法、画面生成装置、及びプログラム | |
US9369544B1 (en) | Testing compatibility with web services | |
US9621632B2 (en) | Scaling of stateful enterprise services | |
CN113778499B (zh) | 发布服务的方法、装置、设备和计算机可读介质 | |
EP1754145B1 (en) | Method and apparatus for supporting multiple versions of a web services protocol | |
US20090193031A1 (en) | Tiered processing for xdm and other xml databases | |
JP5208613B2 (ja) | サーバシステム | |
US8321535B2 (en) | Web services integration systems and methods | |
JP2006106933A (ja) | 負荷分散ネットワークシステム及び負荷分散用プログラム | |
CN108228359B (zh) | web程序与R程序集成处理数据的方法和系统 | |
JP2015049714A (ja) | ソフトウェア管理装置、ソフトウェア管理システム、ソフトウェア管理方法、及びプログラム | |
US11546405B2 (en) | Methods for exposing mainframe data as a web service and devices thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141028 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141208 |
|
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: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5724687 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |