(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-24
(45)【発行日】2022-02-01
(54)【発明の名称】高可用性サーバクラスタを拡張する方法及び装置
(51)【国際特許分類】
G06F 9/50 20060101AFI20220125BHJP
G06F 11/07 20060101ALI20220125BHJP
G06F 11/18 20060101ALI20220125BHJP
【FI】
G06F9/50 120Z
G06F9/50 150D
G06F11/07 140A
G06F11/18 610
(21)【出願番号】P 2018546710
(86)(22)【出願日】2017-03-24
(86)【国際出願番号】 US2017024061
(87)【国際公開番号】W WO2017165792
(87)【国際公開日】2017-09-28
【審査請求日】2020-03-11
(31)【優先権主張番号】201610179486.9
(32)【優先日】2016-03-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】シアオピン ジュー
【審査官】久保 光宏
(56)【参考文献】
【文献】特開2015-162066(JP,A)
【文献】米国特許出願公開第2008/0320121(US,A1)
【文献】Gregor v. Bochmann, et al.,"Scalability of Web-Based Electronic Commerce Systems",IEEE Communications Magazine,2003年07月28日,Vol.41, No.7,Pages 110-115,ISSN: 0163-6804, <DOI: 10.1109/MCOM.2003.1215647>.
【文献】加藤 幸一,「特集 徹底解剖!! Exchange2000 Server」,BackOffice WORLD,日本,(株)IDGジャパン,2000年08月01日,2000年8月号(第3巻,第8号),第37~51頁,ISBN: 4-87280-130-X
【文献】近藤 悟(外3名),「セッション制御サーバにおける負荷分散を考慮したデータ分散管理方式」,電子情報通信学会論文誌B,日本,一般社団法人電子情報通信学会,2015年01月01日,Vol.J98-B, No.1,第11~23頁,[online], [2015年2月19日検索],インターネット,<URL: http://search.ieice.org/bin/pdf_link.php?category=B&lang=J&year=2015&fname=j98-b_1_11&abst=>,ISSN: 1881-0209.
【文献】NTTオープンソースソフトウェアセンタ(外1名),「JBoss Enterprise Application Platform 6 構築・運用パーフェクトガイド」,初版,日本,株式会社技術評論社,2013年07月25日,第173~218頁,ISBN: 978-4-7741-5794-8.
【文献】藤野 圭一,「詳解Tomcat」,初版,日本,株式会社オライリー・ジャパン,2014年12月25日,第148~207頁,ISBN: 978-4-87311-705-8.
【文献】Alberto Bartoli, et al.,"A replication framework for program-to-program interaction across unreliable networks and its implementation in a servlet container",CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE,2005年10月20日,Vol.18,Pages 701-724,[online], [2021年4月22日検索], インターネット, <URL: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.506.8674&rep=rep1&type=pdf>,<DOI: 10.1002/cpe.957>.
(58)【調査した分野】(Int.Cl.,DB名)
G06F9/46-9/54
G06F11/00-11/20
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
拡張対象のサーバクラスタに含まれる複数のノードを、1つまたは複数のサーバユニットとして構成することであって、前記1つまたは複数のサーバユニットの各サーバユニットが少なくとも2つのノードを含む、前記1つまたは複数のサーバユニットとして構成することと、
新規追加ノードを前記サーバクラスタ内に構成し、前記新規追加ノードを、前記サーバクラスタの少なくとも1つの新規追加サーバユニットとして構成することと、
前記新規追加サーバユニットのルーティング情報を投稿することと、
前記新規追加サーバユニットの前記ルーティング情報を投稿後、前記1つまたは複数のサーバユニットのルーティング情報を投稿することと
を含む、方法。
【請求項2】
前記1つまたは複数のサーバユニットとして構成することに先立って、前記サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを決定することをさらに備え、
前記サーバクラスタの前記性能パラメータが前記予め設定された性能パラメータ閾値より大きいと決定されたことに応答して、前記拡張対象のサーバクラスタに含まれる前記複数のノードを前記1つまたは複数のサーバユニットとして
構成し、
そうでない場合、前記サーバクラスタの前記性能パラメータが前記予め設定された性能パラメータ閾値より大きいか否かを決定することに戻って、再度、
実行する、請求項1に記載の方法。
【請求項3】
前記性能パラメータは、前記サーバクラスタのセッション数または負荷の1つを含む、請求項2に記載の方法。
【請求項4】
前記1つまたは複数のサーバユニットの各サーバユニットに対して各ユニット識別子と、前記少なくとも1つの新規追加サーバユニットの各新規追加サーバユニットに対して他の各ユニット識別子を設定することをさらに含む、請求項1に記載の方法。
【請求項5】
前記少なくとも1つの新規追加サーバユニットの前記ルーティング情報は、前記少なくとも1つの新規追加サーバユニットに含まれる各新規追加ノードの各ルーティング設定情報と、前記少なくとも1つの新規追加サーバユニットの各障害回復ユニットのルーティング情報とを含む、請求項1に記載の方法。
【請求項6】
同じサーバユニットに属するノードは、同じIPアドレスを含む、請求項
5に記載の方法。
【請求項7】
前記少なくとも1つの新規追加サーバユニットの前記ルーティング情報は、前記少なくとも1つの追加サーバユニットの各ルーティング優先度をさらに含む、請求項
6に記載の方法。
【請求項8】
前記1つまたは複数のサーバユニットのうちのあるサーバユニットのための障害回復ユニットを構成することをさらに含み、前記サーバユニットの前記障害回復ユニットは、前記少なくとも1つの新規追加サーバユニットまたは前記サーバユニット以外の前記1つまたは複数のサーバユニットのいずれか1つを含む、請求項1に記載の方法。
【請求項9】
前記1つまたは複数のサーバユニットと前記少なくとも1つの新規追加サーバユニットの各サーバユニットは、等しい数のノードを含む、請求項1に記載の方法。
【請求項10】
前記1つまたは複数のサーバユニットのそれぞれに含まれるノードの数は、前記少なくとも1つの新規追加サーバユニットのそれぞれに含まれる新規追加ノードの数に等しい、請求項1に記載の方法。
【請求項11】
実行可能命令を記憶する1つまたは複数のコンピュータ可読媒体であって、前記実行可能命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
拡張対象のサーバクラスタに含まれる複数のノードを、1つまたは複数のサーバユニットとして構成することであって、前記1つまたは複数のサーバユニットの各サーバユニットは少なくとも2つのノードを含む、前記1つまたは複数のサーバユニットとして構成することと、
新規追加ノードを前記サーバクラスタ内に構成し、前記新規追加ノードを前記サーバクラスタの少なくとも1つの新規追加サーバユニットとして構成することと、
前記新規追加サーバユニットのルーティング情報を投稿することと、
前記新規追加サーバユニットの前記ルーティング情報を投稿後、前記1つまたは複数のサーバユニットのルーティング情報を投稿することと
を含む行為を行わせる、前記1つまたは複数のコンピュータ可読媒体。
【請求項12】
前記行為は、
前記1つまたは複数のサーバユニットとして構成することに先立って、前記サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを決定することをさらに備え、
前記サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを決定することと、
前記サーバクラスタの前記性能パラメータが前記予め設定された性能パラメータ閾値より大きいと決定することに応答して、前記拡張対象のサーバクラスタに含まれる前記複数のノードを前記1つまたは複数のサーバユニットとして
構成し、
そうでない場合、前記サーバクラスタの前記性能パラメータが前記予め設定された性能パラメータ閾値より大きいか否かを決定することに戻って、再度、
実行する、
請求項
11に記載の1つまたは複数のコンピュータ可読媒体。
【請求項13】
前記性能パラメータは、前記サーバクラスタのセッション数または負荷のうちの1つを含む、請求項
12に記載の1つまたは複数のコンピュータ可読媒体。
【請求項14】
前記少なくとも1つの新規追加サーバユニットの前記ルーティング情報は、前記少なくとも1つの新規追加サーバユニットに含まれる各新規追加ノードの各ルーティング設定情報と、前記少なくとも1つの新規追加サーバユニットの各障害回復ユニットのルーティング情報とを含む、請求項
11に記載の1つまたは複数のコンピュータ可読媒体。
【請求項15】
前記少なくとも1つの新規追加サーバユニットの前記ルーティング情報は、前記少なくとも1つの追加されたサーバユニットの各ルーティング優先度をさらに含む、請求項
14に記載の1つまたは複数のコンピュータ可読媒体。
【請求項16】
前記1つまたは複数のサーバユニットのうちのあるサーバユニットのための障害回復ユニットを構成することをさらに含み、前記サーバユニットの前記障害回復ユニットは、前記少なくとも1つの新規追加サーバユニット、または、前記サーバユニット以外の前記1つまたは複数のサーバユニットのうちのいずれか1つを含む、請求項
11に記載の1つまたは複数のコンピュータ可読媒体。
【請求項17】
1つまたは複数のプロセッサと、
メモリと、
前記メモリに記憶され、拡張対象のサーバクラスタに含まれた少なくとも2つのノードを1つまたは複数のサーバユニットとして構成するように前記1つまたは複数のプロセッサによって実行可能なサーバユニット構成ユニットであって、各サーバユニットが少なくとも2つのノードからなる、前記サーバユニット構成ユニットと、
前記メモリに記憶され、新規追加ノードを前記サーバクラスタ内に構成するように、且つ、前記新規追加ノードを前記サーバクラスタの少なくとも1つの新規追加サーバユニットとして構成するように、前記1つまたは複数のプロセッサによって実行可能な新規追加サーバユニット構成ユニットと、
前記メモリに記憶され、前記新規追加サーバユニットのルーティング情報を
投稿し、前記新規追加サーバユニットの前記ルーティング情報を投稿後、前記1つまたは複数のサーバユニットのルーティング情報を投稿するように前記1つまたは複数のプロセッサによって実行可能なルーティング情報投稿ユニットと
を含む、装置。
【請求項18】
前記1つまたは複数のサーバユニットとして構成することに先立って、前記サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを決定する拡張決定ユニットをさらに含み、
前記サーバユニット構成ユニット、前記新規追加サーバユニット構成ユニット、及び、前記ルーティング情報投稿ユニットは、前記サーバクラスタの前記性能パラメータが予め設定された性能パラメータ閾値より大きいと決定することに応答して、実行され、
それ以外の場合、前記拡張決定ユニットが実行される、請求項
17に記載の装置。
【請求項19】
前記少なくとも1つの新規追加サーバユニットの前記ルーティング情報は、前記少なくとも1つの新規追加サーバユニットに含まれる各新規追加ノードの各ルーティング設定情報と、前記少なくとも1つの新規追加サーバユニットの各障害回復ユニットのルーティング情報と、前記少なくとも1つの追加サーバユニットの各ルーティング優先度とを含む、請求項
17に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、「Method and Apparatus for Expanding High-Availability Server Cluster」と題する2016年3月25日出願の中国特許出願第201610179486.9号の外国優先権を主張し、その全体を参照により本明細書に組み込む。
【0002】
本開示は、サーバクラスタ技術の分野に関し、詳細には、高可用性サーバクラスタを拡張する方法に関する。本開示は、高可用性サーバクラスタを拡張する装置にも関する。
【背景技術】
【0003】
情報のやり取りがますます頻繁になる時代において、データ処理及びデータ記憶等のデータサービスを提供するサーバへの要求は、より厳しくなった。ユーザ数の増加につれて、このような多数のユーザのデータ情報も増え続け、従って、サーバの負荷も増している。サーバの負荷は、サーバの構成をアップグレードすることによって低減できる。しかしながら、単一サーバのサービス能力には、結局のところ、限界がある。こういう状況で、クラスタ技術が登場し、効果的な解決法となっている。クラスタ技術を用いると、性能、信頼性、及び、柔軟性を、比較的低コストで、大きく増強することができる、また、タスクスケジューリングは、クラスタ技術の中核である。複数のサーバを集めてサーバクラスタにし、共同で外部サービスを提供することによって、サーバクラスタは、複数のサーバを用いた並列コンピューティングを行って、非常に速い計算スピードを得ながら、各単一サーバの負荷を減らすことができる。サーバクラスタのサーバは、互いにバックアップでき、その結果、サーバのいずれかが故障しても、サーバクラスタは依然として正常に動作して、サーバクラスタの高可用性を達成できる。例として、Aliyun提供の、典型的なサーバクラスタであるサーバロードバランサ(SLB)クラスタが含まれる。
図1に示すように、SLBサービスは、仮想IPアドレス(VIP)を設定することによって、同じ領域にある複数のクラウドサーバ(ノード)リソースを高性能・高可用性のクラウドサーバプール(すなわち、サーバクラスタ)に仮想化し、クライアント端末からのセッションを指定された方法に従ってクラウドサーバプールに分配する。一方、SLBサービスは、クラウドサーバプールの各クラウドサーバの健康状態をチェックし、正常でない状態のクラウドサーバを自動的に隔離することによって、単一クラウドサーバに関連する単一点問題を解決し、クラウドサーバプール全体としてのサービス能力を向上させる。SLBクラスタは、クラウドサーバプール、負荷分散システム、及び、制御システムの3つの部分から構成される。SLBクラスタの負荷分散システムは、クライアント端末のセッションをクラウドサーバプールの利用可能なクラウドサーバに分配するために使用され、SLBクラスタの制御システムは、負荷分散システムを構成、モニタするために使用される。
【0004】
現行のサーバクラスタは全て、少なくとも2つのサーバから形成される高可用性サーバクラスタで、負荷分散機能を有する。例えば、同じクライアント端末(同じIPアドレス)からのセッションが、サーバクラスタの複数のサーバに分配される。さらに、現行のサーバクラスタは、高可用性を有する。サーバクラスタ内のあるサーバのセッションは、他のサーバに同期されてよく、当該サーバが故障すると、セッションは、自動的に他のサーバに切り替えられ、そうすることによって、セッションが中断、終了しないことを確実する。しかしながら、このタイプのサーバクラスタにおいては、セッション数が全てのサーバ間で同期されるので、サーバクラスタのセッション数は、サーバクラスタ内のあるサーバのセッション数に等しく、サーバクラスタのセッション能力は、1つのサーバのセッション能力によって制限される。よって、このタイプのサーバクラスタを拡張する時、サーバクラスタの処理性能を向上させることしかできず、サーバクラスタのセッション数は増やすことができない。サーバクラスタのセッション数が不十分な時、新規サーバクラスタを構築して、増加するセッション数の需要を満たすことが唯一の選択肢である。新規サーバクラスタを構築するコストは、比較的高く、サーバクラスタを管理するコストも、それに応じて増加する。
【発明の概要】
【0005】
本概要は、発明の詳細な説明で以下にさらに記載する概念の一部を簡単に紹介するものである。本概要は、特許を請求する主題の全ての主要な特徴や必須の特徴を特定することを意図したものではなく、単独で、特許を請求する主題の範囲の決定に役立つように使用されることも意図していない。例えば、「技術」という用語は、上記の文脈によって、及び、本開示を通して認められる装置(複数可)、システム(複数可)、方法(複数可)、及び/または、コンピュータ可読命令を指してよい。
【0006】
本開示は、高可用性サーバクラスタを拡張する方法を提供して、既存のサーバクラスタを拡張する時の比較的高いコストの問題を解決する。
【0007】
本開示は、高可用性サーバクラスタを拡張する装置にも関する。
【0008】
本開示は、高可用性サーバクラスタを拡張する方法を提供する。実施態様において、方法は、拡張対象のサーバクラスタに含まれる少なくとも2つのノードを、1つまたは複数のサーバユニットであって、各サーバユニットが、少なくとも2つのノードから形成される1つまたは複数のサーバユニットとして構成することと、新規追加ノードをサーバクラスタ内に構成し、新規追加ノードをサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成することと、新規追加サーバユニットのルーティング情報を投稿することと、を含んでよい。
【0009】
実施態様において、拡張対象のサーバクラスタに含まれる少なくとも2つのノードを1つまたは複数のサーバユニットとして構成する前に、方法は、サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを性能パラメータに基づいて決定することと、肯定の場合、拡張対象のサーバクラスタに含まれる少なくとも2つのノードを1つまたは複数のサーバユニットとして構成すること、または、それ以外の場合、性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを性能パラメータに基づいて決定する動作に戻ることと、をさらに含んでよい。
【0010】
実施態様において、性能パラメータは、セッション数、及び/または、負荷を含んでよい。
【0011】
実施態様において、各ユニット識別子が、各サーバユニットに対して設定され、対応するユニット識別子が、各新規追加サーバユニットに対して設定される。
【0012】
実施態様において、サーバクラスタ内の同期対象のノードまたは同期対象の新規追加ノードに関して、方法は、同期対象のノードまたは同期対象の新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子が、同期されたノードまたは同期された新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子と同じであるか否かを決定することと、肯定の場合、同期されたノードまたは同期された新規追加ノードのセッション及び対応するデータを、同期対象のノードまたは同期対象の新規追加ノードに同期すること、または、それ以外の場合、同期対象のノードまたは同期対象の新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子が、同期されたノードまたは同期された新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子と同じであるか否かを決定する動作に戻ることと、をさらに含む。
【0013】
実施態様において、新規追加サーバユニットのルーティング情報を投稿後、方法は、サーバユニットのルーティング情報を投稿することをさらに含んでよい。
【0014】
実施態様において、サーバクラスタの各サーバユニットのルーティング情報は、サーバユニットに含まれる各ノードの各ルーティング設定情報と、サーバユニットの障害回復ユニットのルーティング情報とを含んでよい。
【0015】
それに対応して、各新規追加サーバユニットのルーティング情報は、新規追加サーバユニットに含まれる各新規追加ノードの各ルーティング設定情報と、新規追加サーバユニットの障害回復ユニットのルーティング情報とを含んでよい。
【0016】
実施態様において、ルーティング設定情報は、IPアドレスを含んでよい。
【0017】
実施態様において、同じサーバユニットに属するノードの各ルーティング設定情報に含まれるIPアドレスは、同じIPアドレスである。
【0018】
それに対応して、同じ新規追加サーバユニットに属する新規追加ノードの各ルーティング設定情報に含まれるIPアドレスは、同じIPアドレスである。
【0019】
実施態様において、サーバクラスタの各サーバユニットのルーティング情報は、サーバユニットの第1の各ノードのルーティング優先度と、サーバユニットの第2の各ノードのルーティング優先度とをさらに含んでよい。
【0020】
それに対応して、各新規追加サーバユニットのルーティング情報は、新規追加サーバユニットの第3の各ノードのルーティング優先度と、新規追加サーバユニットの第4の各ノードのルーティング優先度とをさらに含んでよい。
【0021】
実施態様において、サーバユニットの第1の各ノードのルーティング優先度は、サーバユニットの第2の各ノードのルーティング優先度より高い。
【0022】
それに対応して、新規追加サーバユニットの第3の各ノードのルーティング優先度は、新規追加サーバユニットの第4の各ノードのルーティング優先度より高い。
【0023】
実施態様において、サーバユニットの障害回復ユニットは、サーバクラスタ内のそのサーバユニット以外の任意のサーバユニット、または、任意の新規追加サーバユニットを含んでよい。
【0024】
それに対応して、新規追加サーバユニットの障害回復ユニットは、サーバクラスタ内のその新規追加サーバユニット以外の任意のサーバユニット、または、任意の新規追加サーバユニットを含んでよい。
【0025】
実施態様において、サーバクラスタの各サーバユニットに含まれるノードの数は、同じであってよい。
【0026】
実施態様において、サーバクラスタの各新規追加サーバユニットに含まれる新規追加ノードの数は、同じであってよい。
【0027】
実施態様において、各サーバユニットに含まれるノードの数は、各新規追加サーバユニットに含まれる新規追加ノードの数と等しい。
【0028】
実施態様において、サーバクラスタのサーバユニットの数は、1つで、新規追加ノードをサーバクラスタ内に構成し、新規追加ノードをサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成する動作を行う度に、サーバクラスタの新規追加サーバユニットの数は、1つずつ増える。
【0029】
本開示は、高可用性サーバクラスタを拡張する装置をさらに提供する。実施態様において、装置は、拡張対象のサーバクラスタに含まれる少なくとも2つのノードを1つまたは複数のサーバユニットであって、各サーバユニットは少なくとも2つのノードからなる1つまたは複数のサーバユニットとして構成するように構成されたサーバユニット構成ユニットと、新規追加ノードをサーバクラスタ内に構成し、新規追加ノードをサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成するように構成された新規追加サーバユニット構成ユニットと、新規追加サーバユニットのルーティング情報を投稿するように構成されたルーティング情報投稿ユニットと、を含んでよい。
【0030】
実施態様において、高可用性サーバクラスタを拡張する装置は、サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを性能パラメータに基づいて決定するように構成された拡張決定ユニットをさらに含んでよい。
【0031】
肯定の場合、サーバユニット構成ユニット、新規追加サーバユニット構成ユニット、及び、ルーティング情報投稿ユニットが、実行される。
【0032】
そうでない場合、拡張決定ユニットが実行される。
【0033】
実施態様において、各ユニット識別子が、各サーバユニットに対して設定され、対応するユニット識別子が、各新規追加サーバユニットに対して設定される。
【0034】
実施態様において、サーバクラスタの同期対象の各ノードまたは新規追加ノードに対して同期決定ユニットが実行される。
【0035】
同期決定ユニットは、同期対象のノードまたは新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子が、同期されたノードまたは同期された新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子と同じであるか否かを決定するように構成される。
【0036】
肯定の場合、同期ユニットが実行される。
【0037】
同期ユニットは、同期されたノードまたは同期された新規追加ノードのセッション及び対応するデータを同期対象のノードまたは新規追加ノードに同期するように構成される。
【0038】
そうでない場合、同期決定ユニットが実行される。
【0039】
実施態様において、高可用性サーバクラスタを拡張する装置は、サーバユニットのルーティング情報を投稿するように構成された第2のルーティング情報投稿ユニットをさらに含んでよい。
【0040】
開示された方法は、拡張対象のサーバクラスタに含まれる少なくとも2つのノードを、1つまたは複数のサーバユニットであって、各サーバユニットが少なくとも2つのノードからなる1つまたは複数のサーバユニットとして構成することと、新規追加ノードをサーバクラスタ内に構成し、新規追加ノードをサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成することと、新規追加サーバユニットのルーティング情報を投稿することと、を含む。
【0041】
拡張対象のサーバクラスタを拡張する時、開示の方法は、サーバクラスタにデプロイされた少なくとも2つのノードを、1つまたは複数のサーバユニットとして構成し、各サーバユニットは、少なくとも2つのノードからなる。サーバクラスタにデプロイされたノードの構成を終えた後、方法は、新規追加ノードをサーバクラスタ内に構成し、新規追加ノードをサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成して、新規追加サーバユニットのサーバクラスタへのデプロイメントを実施する。新規追加サーバユニットのルーティング情報を投稿することによって、新規追加サーバユニットは、サーバクラスタ内の1つまたは複数のサーバユニットと同じ機能を実施する。このようにして、拡張されたサーバクラスタのセッション数と処理性能を向上させることができ、拡張コストは比較的低い。
【図面の簡単な説明】
【0042】
【
図2】本開示による、高可用性サーバクラスタを拡張する第1の例の方法を示すフローチャートである。
【
図3】本開示による、第1の高可用性サーバクラスタの概略図である。
【
図4】本開示による、第2の高可用性サーバクラスタの概略図である。
【
図5】本開示による、第3の高可用性サーバクラスタの概略図である。
【
図6】本開示による、第4の高可用性サーバクラスタの概略図である。
【
図7】本開示による、高可用性サーバクラスタを拡張する第2の方法のフローチャートである。
【
図8】本開示による、第5の高可用性サーバクラスタの概略図である。
【
図9】本開示による、第6の高可用性サーバクラスタの概略図である。
【
図10】本開示による、高可用性サーバクラスタを拡張する装置の例の概略図である。
【発明を実施するための形態】
【0043】
本開示の完全な理解を容易にするために以下の記載で詳細を説明する。しかしながら、本開示は、本明細書に記載するのとは別の多くの他の方法で実施できる。当業者は、本開示の含意を逸脱することなく、類似の一般化を行うことができる。よって、本開示は、本明細書に開示される例示の実施態様に限定されない。
【0044】
本開示は、高可用性サーバクラスタを拡張する方法と、高可用性サーバクラスタを拡張する装置とを提供する。
【0045】
方法及び装置を、本開示に提供された実施形態の添付の図面を参照して以下に続けて記載する。
【0046】
第1の実施形態
図2~
図6を参照する。
図2は、本開示による、高可用性サーバクラスタを拡張する第1の例の方法のフローチャートを示す。
図3は、本開示による、第1の高可用性サーバクラスタ300の概略図を示す。
図4は、本開示による、第2の高可用性サーバクラスタ400の概略図を示す。
図5は、本開示による、第3の高可用性サーバクラスタ500の概略図を示す。
図6は、本開示による、第4の高可用性サーバクラスタ600の概略図を示す。
【0047】
図2は、本開示による、サーバクラスタを拡張する第1の例の方法200のフローチャートを示す。さらに、高可用性サーバクラスタを拡張する方法200の動作間の関係は、
図2を参照して決定できる。
【0048】
S202は、拡張対象のサーバクラスタに含まれる少なくとも2つのノードを、1つまたは複数のサーバユニットとして構成する。
【0049】
実施態様において、サーバクラスタは、一緒にまとめられた複数のノード(すなわち、サーバ)によって形成されたサーバクラスタを指す。外部でサービスを提供する時、サーバクラスタは、複数のノードを用いて並列処理を行うことによって、非常に速い処理速度を得ながら、サーバクラスタの各単一ノードの負荷を低減し得る。
【0050】
サーバクラスタの各サーバユニットは、少なくとも2つのノードによって形成される。例えば、サーバユニット301は、
図3に示すサーバクラスタ300のノード301-1及びノード301-2によって形成される。
【0051】
サーバクラスタにおいて、各サーバユニットに含まれる全てのノードは、アクティブ状態にあり、クライアント端末(複数可)からトラフィックを引き受けて、データ処理及びデータ記憶等のデータサービスを提供できる。例えば、
図3に示すように、サーバクラスタ300において、ノード301-1は、IPアドレス1.1.1.1からトラフィックを引き受け、IPアドレス1.1.1.1からのセッションを処理して、対応するセッション応答をIPアドレス1.1.1.1を通して送信する。
【0052】
実施態様において、ユニット識別子が、各サーバユニットに対して個々に設定される。例えば、対応する一意のグループidが、サーバクラスタの各サーバユニットに対して、それぞれ、設定される。
【0053】
さらに、セッション(複数可)同期が、サーバクラスタのサーバユニットに含まれるノード間で行われてよく、セッション(複数可)のパーシステンスが、セッション(複数可)同期に基づいて実施できる。さらに、サーバクラスタのあるノードが故障すると(例えば、あるサーバがクラッシュすると)、故障したノードのセッション(複数可)は、アクティブ状態の他のノード(複数可)に自動的に切り替えられることによって、セッション(複数可)が中断や終了しないことを確実にしてよく、これは、セッション同期の利点である。実施態様において、ノード間で行われるセッション同期は、既存技術とは異なる。詳細には、セッション同期は、各サーバユニットに含まれるノード間でのみ行われ、異なるサーバユニットに属するノード間では行われない。この実施態様は、以下のアプローチを使用してよい。
【0054】
サーバクラスタの同期対象の各ノードまたは同期対象の各新規追加ノードに対して、以下の動作を実行する。
同期対象のノードまたは同期対象の新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子が、同期されたノードまたは同期された新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子と同じであるか否かを決定することと、
肯定の場合、同期されたノードまたは同期された新規追加ノードのセッション及び対応するデータを、同期対象のノードまたは同期対象の新規追加ノードに同期すること、または、
そうでない場合、同期対象のノードまたは同期対象の新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子が、同期されたノードまたは同期された新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子と同じであるか否かを決定する動作の実行に戻って、繰り返すこと。
【0055】
サーバクラスタの各サーバユニットに関して、サーバユニットに含まれるノードは、セッションが割り当てられて、次のセッション同期動作を待っている場合、同期対象のノードと呼ばれる。同期されておらず、次のセッション同期動作で同期されるセッションを有するサーバユニットのノードは、同期されたノードである。
【0056】
上記のように、サーバクラスタの各サーバユニットに含まれるノード間で、上記セッション同期動作に基づいて、セッション同期が維持される。サーバユニットのいずれかのノードが故障すると、故障したノードのトラフィックは、アクティブ状態のノード(複数可)に自動的に切り替えられ、既に構築されたセッションの接続が中断されないことを確実にすることによって、サーバユニットの高可用性を保証してよい。例えば、サーバユニット301のノード301-1が故障した場合、ノード301-1によって引き受けられたIPアドレス1.1.1.1からのトラフィックは、ノード301‐2に自動的に切り替えられる。
【0057】
実際の適用例において、複数の異なる実施態様が、サーバユニットに含まれるノード間のセッション同期動作を実施するように採用されてよい。サーバユニットに含まれるノード間のセッション同期動作の異なる変更形態は、例示の実施態様の単なる修正であり、本開示の中核を逸脱せず、よって、全て、本開示の保護の範囲内にある。
【0058】
実施態様において、サーバクラスタのサーバユニットのノード数は、実際に使用するサーバクラスタの需要に従ってデプロイされる。実際の需要が、サーバクラスタの処理性能に対して比較的高い要求を有する場合、より多くのノードがサーバユニットにデプロイされてよい。デプロイされたサーバクラスタの処理性能が高くなるように、ノード数は、より大きい値に設定される。実際の需要が、サーバクラスタの処理性能に関して比較的低い要求を有する場合、ノード数は、より小さい値に設定されてよい。同様に、サーバクラスタのサーバユニット数も、実際に使用するサーバクラスタの需要に従ってデプロイされてよく、より大きい値またはより小さい値に設定されてよい。
【0059】
さらに、サーバクラスタのサーバユニットは、同じノード数を有するようにデプロイされる場合、または、それぞれ、互いに異なるノード数を有する場合がある。実施態様において、同じ数のノード構成は、サーバクラスタのサーバユニット間の障害回復の実現を支援し、且つ、トラフィックがアクティブ状態のサーバユニットに切り替えられた後、アクティブ状態のサーバユニットが故障したサーバユニットが引き受けたトラフィックに耐えることができないという欠陥を回避することを支援する。例えば、故障したサーバユニットにデプロイされたノード数が、アクティブ状態のサーバユニットにデプロイされたノード数より多いために、アクティブ状態のサーバユニットが、過負荷になったり、または、停止したりする場合がある。よって、実施態様において、サーバクラスタの各サーバユニットのノード数は、同じである。
【0060】
上記に基づいて、実施態様において、サーバクラスタにデプロイされるサーバユニット数は、リソースの浪費を避けるために1と設定されてよい。実際の使用時のサーバクラスタの処理性能に対する要求を満たすことができない場合、サーバクラスタのサーバユニット数を拡張によって増やして、実際の使用時のサーバクラスタに対する特定の要求を満たしてよい。
【0061】
さらに、実施態様において、サーバユニットに含まれるノードの数は、リソースの浪費を避けるように2つのうちの最小値として設定される。セッション同期を2つのノードの最小値に基づいて実施することによって、サーバユニットの高可用性を保証できる。それに対応して、実際の使用時にサーバクラスタの処理性能に対する要求を満たすことができない場合、サーバクラスタのサーバユニット数を拡張によって増やして、サーバユニットに含まれるノードの数を増やし、それによって、実際の使用時のサーバクラスタに対する特定の要求を満たしてよい。
【0062】
サーバクラスタのサーバユニット数を1に設定し、サーバユニットに含まれるノード数を設定するという上記の説明は、単にリソースを節約する方法であり、本明細書では、それらの数に制限しないことに注意されたい。様々な使用シナリオにおいて、サーバクラスタの処理性能に対する要求を満たすことは可能である。これらの状況において、複数のサーバユニットが、サーバクラスタに設定されてよく、3つ以上のノードもサーバユニットに設定されてよく、本明細書では制限しない。
【0063】
例えば、サーバユニット数は、
図4に示すサーバクラスタ400においては、2、すなわち、サーバユニット401及びサーバユニット402として設定される。さらに、サーバユニット401及びサーバユニット402は、それぞれ、2つのノードを含むように構成される。サーバユニット401に含まれるノードは、ノード401-1及びノード401-2であり、サーバユニット402に含まれるノードは、ノード402-1及びノード402-2である。
【0064】
実施態様において、サーバクラスタにデプロイされたサーバユニットの数が、2以上の場合、サーバユニット間で障害回復が実施されてよい。いずれかのサーバユニットが故障すると、故障したサーバユニットが扱うトラフィックが、アクティブ状態のサーバユニット(複数可)に切り替えられることによって、サーバクラスタのトラフィックの高可用性を保証してよい。サーバクラスタの各サーバユニットに関して、サーバユニットの障害回復ユニットは、サーバクラスタ内のそのサーバユニット以外の任意のサーバユニット、または、任意の新規追加サーバユニットを含んでよい。
【0065】
実施態様において、サーバクラスタにデプロイされたサーバユニットの数が2の場合、サーバユニットは、互いの障害回復ユニットに設定されてよい。例えば、
図4に示すサーバクラスタ400のサーバユニット402は、サーバユニット401の障害回復ユニットに設定され、サーバユニット401は、サーバユニット402の障害回復ユニットに設定される。
【0066】
サーバクラスタにデプロイされたサーバユニットの数が2を超える場合、サーバユニットは、サーバユニットの各ユニット識別子に従って、連続的に順序付けられてよく、後ろのサーバユニットは、連続的に、前のサーバユニットの障害回復ユニットに設定され、最初のサーバユニットは、最後のサーバユニットの障害回復ユニットに設定される。
【0067】
実施態様において、障害回復ユニットは、ルーティング優先度を設定することによって実施されてもよい。例えば、サーバユニット402は、
図4に示すサーバクラスタ400のサーバユニット401の障害回復ユニットとして構成され、それは、サーバユニット401のルーティング情報において、サーバユニット402に関連付けられた優先度の低いルートを設定することによって実施される。サーバユニット401のルーティング優先度は、サーバユニット402のルーティング優先度より高いので、トラフィックは、サーバユニット401によって優先的に引き受けられる。サーバユニット401が引き受けたトラフィックは、サーバユニット401が故障した時のみ、サーバユニット402に切り替えられる。
【0068】
実施態様において、サーバクラスタの拡張決定の動作は、現行の動作(すなわち、S202)に先立って行われてもよい。実施態様において、拡張決定の動作は以下のように実施されてよい。
サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを性能パラメータに基づいて決定することと、
肯定の場合、サーバクラスタを拡張する現行の動作を行うことと、
そうでない場合、サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを性能パラメータに基づいて決定する動作に戻って、実行すること。
【0069】
実施態様において、性能パラメータは、セッション数、及び/または、負荷を含んでよい。
【0070】
実際の適用例において、多くの異なる実施態様が、拡張決定の動作の実施に採用されてよい。拡張決定の動作の異なる変更形態は、例示の実施態様の修正に過ぎず、本開示の中核を逸脱せず、よって、全て、本開示の保護の範囲にある。
【0071】
S204は、新規追加ノードをサーバクラスタ内に構成し、新規追加ノードをサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成する。
【0072】
前述のように、実際の使用時のサーバクラスタの処理性能に対する要求は、絶えず増加するので、サーバクラスタは、サーバクラスタのサーバユニット数を増やすことによって拡張されて、実際の要求を満たし、それによって、サーバクラスタの処理性能を向上させて実際の適用例におけるサーバクラスタの処理性能に対する要求を満たしてよい。この動作において、新しく追加されるノード(すなわち、新規追加ノード)が、拡張対象のサーバクラスタにデプロイされ、新規追加ノードは、新しく追加された少なくとも1つのサーバユニット、すなわち、新規追加サーバユニットとして構成される。
【0073】
例えば、
図5に示すサーバクラスタ500において、新規サーバユニット501が、
図3に示すサーバクラスタ300のベースに追加され、新規追加サーバユニット501は、新規追加ノード501-1及び新規追加ノード501-2からなる。
【0074】
例えば、
図6に示すサーバクラスタ600において、2つの新規サーバユニット、すなわち、新規サーバユニット601及び新規サーバユニット602が、
図4に示すサーバクラスタ400のベースに追加される。新規追加サーバユニット601は、新規追加ノード601-1及び新規追加ノード601-2からなり、新規追加サーバユニット602は、新規追加ノード602-1及び新規追加ノード602-2からなる。
【0075】
新規追加ノードは、基本的に、サーバクラスタのサーバユニットに含まれるノードと同じであり、それらの間の相違は、サーバユニットに含まれるノードは、拡張前にサーバクラスタにデプロイされたノードであり、新規追加ノードは、拡張中に追加されたノードであることである。それらの間に本質的な相違はない。
【0076】
それに対応して、新規追加サーバユニットは、拡張中に追加されたサーバユニットであり、同様に、拡張前にサーバクラスタにデプロイされたサーバユニットと基本的に異ならない。
【0077】
新規追加サーバユニットに関する記載の詳細は、上記S202のサーバユニットに関する記載を参照できる。それに対応して、新規追加ノードに関する記載の詳細は、上記S202のサーバユニットに含まれるノードに関する詳細を参照でき、その詳細をここに重複して記載しない。
【0078】
現行の動作は、特定のデプロイメント法で、少なくとも1つの新規追加サーバユニットをサーバクラスタ内にデプロイすることのみを行い、新規追加サーバユニットは、機能的には実施されないことに注意されたい。新規追加サーバユニットは、以下に記載するS206を実行して初めて、サーバユニットと同じ機能を実施すること。
【0079】
S206は、新規追加サーバユニットのルーティング情報をブロードキャストする。
【0080】
現行の動作において、新規追加サーバユニットは、新規追加サーバユニットのルーティング情報を投稿することによって、1つまたは複数のサーバユニットと同じ機能を実施する。
【0081】
例えば、
図5に示すサーバクラスタ500において、新規サーバユニット501が、
図3に示すサーバクラスタ300のベースに追加される。ノード301-1、ノード301-2、新規追加ノード501-1、及び、新規追加ノード501-2が同じ構成を有する機械であるという状況においては、サーバクラスタの処理性能及びセッション数は両方とも、新規ノード501-1及び新規ノード501-2の追加後、追加前と比較して2倍になる。
【0082】
ノード301-1、ノード301-2、新規追加ノード501-1、及び、新規追加ノード501-2のそれぞれの処理性能が200Gであり、それらのセッション数がAである場合、新規追加ノード501-1及び新規追加ノード501-2の追加前、サーバクラスタの処理性能は400Gで、セッション数はAである。新規追加ノード501-1及び新規追加ノード501-2の追加後、処理性能は、400Gに増強され、セッション数は、A*2に増強される。
【0083】
図6に示すサーバクラスタ600において、2つの新規サーバユニット、すなわち、新規サーバユニット601及び新規サーバユニット602が、
図4に示すサーバクラスタ400のベースに追加される。新規サーバユニット601及び新規サーバユニット602の追加後、サーバクラスタのセッション数は2倍になる。
【0084】
前述のように、上記S202の障害回復ユニットの実施態様に従って、新規サーバユニットがサーバクラスタに追加され、新規追加サーバユニットが1つまたは複数のサーバユニットと同じ機能を実施すると、サーバクラスタの、サーバユニット間または新規追加サーバユニット間の障害回復関係は変わる。新規追加サーバユニットが、サーバユニット(複数可)の障害回復ユニットとして設定されてよく、新規追加サーバユニットの障害回復ユニットが構成されてよい。実施態様において、現行の動作を実行後、サーバユニットのルーティング情報を投稿する動作が実行される、すなわち、サーバユニットのルーティング情報が再投稿される。
【0085】
実施態様において、サーバクラスタの各サーバユニットのルーティング情報は、サーバユニットに含まれる各ノードの各ルーティング設定情報と、サーバユニットの障害回復ユニットのルーティング情報とを含んでよい。それに対応して、各新規追加サーバユニットのルーティング情報は、その新規追加サーバユニットに含まれる各新規追加ノードの各ルーティング設定情報と、その新規追加サーバユニットの障害回復ユニットのルーティング情報とを含んでよい。
【0086】
実施態様において、ルーティング設定情報は、IPアドレスを含んでよい。
【0087】
同じサーバユニットに属するノードの各ルーティング設定情報に含まれるIPアドレスは、同じIPアドレスであることに注意されたい。それに対応して、同じ新規追加サーバユニットに属する新規追加ノードの各ルーティング設定情報に含まれるIPアドレスは、同じIPアドレスである。
【0088】
例えば、ノード301-1及びノード301-2は、IPアドレス1.1.1.1からトラフィックを引き受け、新規追加ノード501-1及び新規追加ノード501-2は、
図5に示すサーバクラスタ500のIPアドレス2.2.2.2からトラフィックを引き受ける。
【0089】
前述のように、サーバクラスタの、サーバユニット間の障害回復関係、サーバユニットと新規追加優先ユニットの間の障害回復関係、及び、新規追加優先ユニット間の障害回復関係は、ルーティング優先度を設定することによって実施される。よって、サーバクラスタの各サーバユニットのルーティング情報は、サーバユニットの第1の各ノードのルーティング優先度と、サーバユニットの第2の各ノードのルーティング優先度とをさらに含んでよい。さらに、サーバユニットの第1の各ノードのルーティング優先度は、サーバユニットの第2の各ノードのルーティング優先度より高い。それに対応して、各新規追加サーバユニットのルーティング情報は、新規追加サーバユニットの第3の各ノードのルーティング優先度と新規追加サーバユニットの第4の各ノードのルーティング優先度とをさらに含んでよい。さらに、新規追加サーバユニットの第3の各ノードのルーティング優先度は、新規追加サーバユニットの第4の各ノードのルーティング優先度より高い。
【0090】
実施態様において、サーバクラスタの各サーバユニットの障害回復ユニットは、サーバクラスタ内のそのサーバユニット以外の任意のサーバユニット、または、任意の新規追加サーバユニットを含んでよい。それに対応して、サーバクラスタの各新規追加サーバユニットの障害回復ユニットは、サーバクラスタ内のその新規追加サーバユニット以外の任意のサーバユニット、または、任意の他の新規追加サーバユニットを含んでよい。
【0091】
例えば、新規追加サーバユニット501は、サーバユニット301の障害回復ユニットであるように構成され、サーバユニット301は、
図5に示すサーバクラスタ500の新規追加サーバユニット501の障害回復ユニットであるように設定される。
【0092】
図6に示すサーバクラスタ600において、障害回復は、サーバユニット401→サーバユニット402→新規追加サーバユニット601→新規追加サーバユニット602→サーバユニット401のように行われる。詳細には、サーバユニット402は、サーバユニット401の障害回復ユニットとして設定され、新規追加サーバユニット601は、サーバユニット402の障害回復ユニットとして設定され、新規追加サーバユニット602は、新規追加サーバユニット601の障害回復ユニットとして設定され、サーバユニット401は、新規追加サーバユニット602の障害回復ユニットとして設定される。
【0093】
従って、拡張対象のサーバクラスタの拡張中、例示の方法は、サーバクラスタにデプロイされた少なくとも2つのノードを1つまたは複数のサーバユニットとして構成し、各サーバユニットは、少なくとも2つのノードからなる。サーバクラスタにデプロイされたノードの構成が終わった後、方法は、新規追加ノードをサーバクラスタ内に構成し、新規追加ノードをサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成して、新規追加サーバユニットのサーバクラスタへのデプロイメントを実施する。新規追加サーバユニットのルーティング情報を投稿することによって、新規追加サーバユニットは、サーバクラスタの1つまたは複数のサーバユニットと同じ機能を実施する。このようにして、拡張されたサーバクラスタのセッション数及び処理性能を向上させることができ、拡張コストは比較的低い。
【0094】
第2の実施形態
図7~
図9を参照する。
図7は、本開示による、高可用性サーバクラスタを拡張する第2の例の方法のフローチャートを示す。
図8は、本開示による、第5の高可用性サーバクラスタ800の概略図を示し、
図9は、本開示による、第6の高可用性サーバクラスタ900の概略図を示す。
【0095】
本実施形態は、上記の実施形態に比較的類似しているので、上記の実施形態と同じ本実施形態の部分は、ここに繰り返し記載せず、上記の実施形態の対応する部分の記載を参照できる。
【0096】
図7は、本開示による、サーバクラスタを拡張する第2の例の方法700のフローチャートを示す。
【0097】
S702は、拡張対象のサーバクラスタに含まれる少なくとも2つのノードを1つまたは複数のサーバユニットとして構成し、各サーバユニットは、少なくとも2つのノードから形成される。
【0098】
図8に示すサーバクラスタ800において、ノード801-1、ノード801-2、及び、ノード801-3は、サーバユニット801として構成される。ノード801-1、ノード801-2、及び、ノード801-3は全て、アクティブ状態にあり、ノード801-1、ノード801-2、及び、ノード801-3の間で、セッション同期が維持されて、サーバユニット801の高可用性を保証する。
【0099】
ノード802-1、ノード802-2、及び、ノード802-3は、サーバユニット802として構成される。ノード802-1、ノード802-2、及び、ノード802-3は全て、アクティブ状態にあり、ノード802-1、ノード802-2、及び、ノード802-3の間でセッション同期が維持されて、サーバユニット802の高可用性を保証する。
【0100】
さらに、サーバユニット801及びサーバユニット802は、互いの障害回復ユニットである。サーバユニットの1つが故障すると、故障したサーバユニットのトラフィックは、アクティブ状態の他のサーバユニットに切り替えられて、それにより、サーバクラスタのトラフィックの高可用性を保証する。
【0101】
S704は、新規追加ノード(複数可)をサーバクラスタ内に構成し、新規追加ノード(複数可)をサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成する。
【0102】
図9に示すサーバクラスタ900において、6つの新規追加ノード、すなわち、新規追加ノード901-1、新規追加ノード901-2、新規追加ノード901-3、新規追加ノードノード902-1、新規追加ノード902-2、及び、新規追加ノード902-3は、
図8に示すサーバクラスタ900のベースに追加される。
【0103】
新規追加ノード901-1、新規追加ノード901-2、及び、新規追加ノード901-3が、新規追加サーバユニット901として構成される。新規追加ノード902-1、新規追加ノード902-2、及び、新規追加ノード902-3が、新規追加サーバユニット902として構成される。
【0104】
S706は、少なくとも1つの新規追加サーバユニットのルーティング情報を投稿する。
【0105】
新規追加サーバユニット901及び新規追加サーバユニット902のルーティング情報を投稿後、新規追加サーバユニット901及び新規追加サーバユニット902は、サーバユニット801またはサーバユニット802と同じ機能を実施する。新規追加サーバユニット901に含まれる新規追加ノード901-1、新規追加ノード901-2、及び、新規追加ノード901-3は全て、アクティブ状態にある。新規追加ノード901-1、新規追加ノード901-2、及び、新規追加ノード901-3の間で、セッション同期が維持されて、新規追加サーバユニット901の高可用性を保証する。
【0106】
同様に、新規追加サーバユニット902に含まれる新規追加ノード902-1、新規追加ノード902-2、及び、新規追加ノード902-3は全て、アクティブ状態にある。新規追加ノード902-1、新規追加ノード902-2、及び、新規追加ノード902-3の間で、セッション同期が維持されて、新規追加サーバユニット902の高可用性を保証する。
【0107】
新規追加サーバユニット901及び新規追加サーバユニット902がサーバクラスタに追加された後、サーバクラスタの障害回復関係は変化し、障害回復は、サーバユニット801→サーバユニット802→新規追加サーバユニット901→新規追加サーバユニット902→サーバユニット801のように行われる。詳細には、サーバユニット802は、サーバユニット801の障害回復ユニットとして設定され、新規追加サーバユニット901は、サーバユニット802の障害回復ユニットとして設定され、新規追加サーバユニット902は、新規追加サーバユニット901の障害回復ユニットとして設定され、サーバユニット801は、新規追加サーバユニット902の障害回復ユニットとして設定される。
【0108】
本開示によって提供される高可用性サーバクラスタを拡張する装置の実施形態は、以下のようになる。
【0109】
上記の実施形態において、高可用性サーバクラスタを拡張する方法を提供する。方法に対応して、本開示は、高可用性サーバクラスタを拡張する装置をさらに提供し、添付図面を参照してここに記載する。
【0110】
図10は、本開示による、高可用性サーバクラスタを拡張する装置1000の例の概略図を示す。
【0111】
装置の実施形態は、方法の実施形態に類似しているので、比較的、簡単に記載する。関連部分は、上記の方法の実施形態の対応する記載を参照してよい。本明細書に記載する装置の実施形態は、単に例示的なものである。
【0112】
本開示は、高可用性サーバクラスタを拡張する装置1000を提供する。装置1000は、1つまたは複数のプロセッサ1002、入力/出力インタフェース1004、ネットワークインタフェース1006、及び、メモリ1008を含んでよい。
【0113】
メモリ1008は、ある形態のコンピュータ可読媒体、例えば、非永続的記憶装置、ランダムアクセスメモリ(RAM)、及び/または、リードオンリメモリ(ROM)もしくはフラッシュRAM等、不揮発性内部記憶装置を含んでよい。メモリ1008は、コンピュータ可読媒体の例である。
【0114】
コンピュータ可読媒体は、永続的または非永続的タイプの、取り外し可能または取り外し不能な媒体を含んでよく、任意の方法または技術を用いて情報を記憶してよい。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または、他のデータを含んでよい。コンピュータ記憶媒体の例は、コンピューティング装置によってアクセス可能な情報の記憶に使用し得る、位相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラム可能リードオンリメモリ(EEPROM)、クイックフラッシュメモリ、もしくは、他の内部記憶技術、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、もしくは、他の光学記憶装置、磁気カセットテープ、磁気ディスク記憶装置、もしくは、他の磁気記憶装置、または、任意の他の非伝送媒体を含むが、これらに限らない。本明細書の定義では、コンピュータ可読媒体は、変調データ信号及び搬送波等の一時的媒体を含まない。
【0115】
実施態様において、メモリ1008は、プログラムユニット1010及びプログラムデータ1012を含んでよい。プログラムユニット1010は、拡張対象のサーバクラスタに含まれる少なくとも2つのノードを1つまたは複数のサーバユニットであって、各サーバユニットが少なくとも2つのノードからなる1つまたは複数のサーバユニットを構成するように構成されたサーバユニット構成ユニット1014と、新規追加ノードをサーバクラスタ内に構成し、新規追加ノードをサーバクラスタの少なくとも1つの新規追加サーバユニットとして構成するように構成された新規追加サーバユニット構成ユニット1016と、新規追加サーバユニットのルーティング情報をブロードキャストするように構成されたルーティング情報投稿ユニット1018と、を含んでよい。
【0116】
実施態様において、装置1000は、サーバクラスタの性能パラメータが予め設定された性能パラメータ閾値より大きいか否かを性能パラメータに基づいて決定するように構成された拡張決定ユニット1020をさらに含んでよく、肯定の場合、サーバユニット構成ユニット1014、新規追加サーバユニット構成ユニット1016、及び、ルーティング情報投稿ユニット1018を実行し、そうでない場合、拡張決定ユニット1020を実行してよい。
【0117】
実施態様において、性能パラメータは、セッション数、及び/または、負荷を含んでよい。
【0118】
実施態様において、各ユニット識別子が、各サーバユニットに対して設定され、それに対応して、各ユニット識別子が、各新規追加サーバユニットに対して設定される。
【0119】
実施態様において、サーバクラスタの、同期対象の各ノード、または、新規追加ノードに対して、同期決定ユニット1022が実行される。
【0120】
同期決定ユニット1022は、同期対象のノードまたは同期対象の新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子が、同期されたノードまたは同期された新規追加ノードが属するサーバユニットまたは新規追加サーバのユニット識別子と同じであるか否かを決定するように構成される。
【0121】
肯定の場合、同期ユニット1024が実行される。同期ユニット1024は、同期されたノードまたは同期された新規追加ノードのセッション及び対応するデータを、同期対象のノードまたは新規追加ノードに同期するように構成される。
【0122】
そうでない場合、同期決定ユニット1022が実行される。
【0123】
実施態様において、装置1000は、サーバユニット(複数可)のルーティング情報を投稿するように構成された第2のルーティング情報投稿ユニット1026をさらに含んでよい。
【0124】
実施態様において、サーバクラスタの各サーバユニットのルーティング情報は、サーバユニットに含まれる各ノードの各ルーティング設定情報と、サーバユニットの障害回復ユニットのルーティング情報とを含んでよい。
【0125】
それに対応して、各新規追加サーバユニットのルーティング情報は、新規追加サーバユニットに含まれる各新規追加ノードの各ルーティング設定情報と、新規追加サーバユニットの障害回復ユニットのルーティング情報とを含んでよい。
【0126】
実施態様において、ルーティング設定情報は、IPアドレスを含んでよい。
【0127】
実施態様において、同じサーバユニットに属する各ルーティング設定情報に含まれるIPアドレスは、同じIPアドレスである。
【0128】
それに対応して、同じ新規追加サーバユニットに属する新規追加ノードの各ルーティング設定情報に含まれるIPアドレスは、同じIPアドレスである。
【0129】
実施態様において、サーバクラスタにおいて、各サーバユニットのルーティング情報は、サーバユニットの第1の各ノードのルーティング優先度と、サーバユニットの第2の各ノードのルーティング優先度とをさらに含んでよい。
【0130】
それに対応して、各新規追加サーバユニットのルーティング情報は、新規追加サーバユニットの第3の各ノードのルーティング優先度と、新規追加サーバユニットの第4の各ノードのルーティング優先度とをさらに含んでよい。
【0131】
実施態様において、サーバユニットの第1の各ノードのルーティング優先度は、サーバユニットの第2の各ノードのルーティング優先度より高い。
【0132】
それに対応して、新規追加サーバユニットの第3の各ノードのルーティング優先度は、新規追加サーバユニットの第4の各ノードのルーティング優先度より高い。
【0133】
実施態様において、サーバユニットの障害回復ユニットは、サーバクラスタ内のそのサーバユニット以外の任意のサーバユニット、または、任意の新規追加サーバユニットを含んでよい。
【0134】
それに対応して、新規追加サーバユニットの障害回復ユニットは、サーバクラスタ内のその新規追加サーバユニット以外の任意のサーバユニット、または、任意の他の新規追加サーバユニットを含んでよい。
【0135】
実施態様において、サーバクラスタの各サーバユニットは、等しい数のノードを含む。
【0136】
実施態様において、サーバクラスタ内の各新規追加サーバユニットは、等しい数の新規追加ノードを含む。
【0137】
実施態様において、各サーバユニットに含まれるノードの数は、各新規追加サーバユニットに含まれる新規追加ノードの数に等しい。
【0138】
実施態様において、サーバクラスタのサーバユニットの数は、1つであり、新規追加サーバユニット構成ユニット1016が実行される度に、サーバクラスタの新規追加サーバユニットの数は1つずつ増える。
【0139】
本開示を上記の例示の実施形態を用いて記載したが、例示の実施形態は、本開示を制限することを意図していない。当業者は、本開示の趣旨及び範囲を逸脱することなく、可能な変形及び修正を行うことができる。よって、本開示の保護の範囲は、本開示の請求項によって定義される範囲に従うものとする。
【0140】
典型的な構成において、コンピューティング装置は、1つまたは複数の中央処理装置(CPU)、I/Oインタフェース、ネットワークインタフェース、及び、メモリを含む。
【0141】
メモリは、ある形態のコンピュータ可読媒体、例えば、非永続的記憶装置、ランダムアクセスメモリ(RAM)、及び/または、リードオンリメモリ(ROM)もしくはフラッシュRAM等の不揮発性内部記憶装置を含んでよい。メモリは、コンピュータ可読媒体の例である。
【0142】
1.コンピュータ可読媒体は、永続的または非永続的、取り外し可能または取り外し不能な媒体を含んでよく、任意の方法または技術を用いて情報を記憶してよい。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または、他のデータを含んでよい。コンピュータ記憶媒体の例は、コンピューティング装置によってアクセス可能な情報の記憶に使用し得る、位相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラム可能リードオンリメモリ(EEPROM)、クイックフラッシュメモリ、もしくは、他の内部記憶技術、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、もしくは、他の光学記憶装置、磁気カセットテープ、磁気ディスク記憶装置、もしくは、他の磁気記憶装置、または、任意の他の非伝送媒体を含むが、これらに限定されない。本明細書の定義では、コンピュータ可読媒体は、変調データ信号及び搬送波等の一時的媒体を含まない。
【0143】
2.本開示の実施形態は、方法、システム、または、コンピュータプログラム製品として提供されてよいことを、当業者は理解されたい。よって、本開示は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態、または、ソフトウェアとハードウェアの組み合わせの実施形態として実施されてよい。さらに、本開示は、1つまたは複数のコンピュータ使用可能記憶媒体(磁気ディスクメモリ、CD‐ROM、光学メモリ等を含む)上で実施されるコンピュータ使用可能プログラムコードを含むコンピュータプログラム製品であってよい。