(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6246210
(24)【登録日】2017年11月24日
(45)【発行日】2017年12月13日
(54)【発明の名称】ミドルウェアマシン環境でインターネットプロトコル(IP)アドレスおよびノード名の整合性を確実にするためのシステムおよび方法
(51)【国際特許分類】
H04L 12/70 20130101AFI20171204BHJP
G06F 9/46 20060101ALI20171204BHJP
H04L 12/701 20130101ALI20171204BHJP
【FI】
H04L12/70 D
G06F9/46 430
H04L12/701
【請求項の数】12
【全頁数】10
(21)【出願番号】特願2015-528666(P2015-528666)
(86)(22)【出願日】2013年8月22日
(65)【公表番号】特表2015-534308(P2015-534308A)
(43)【公表日】2015年11月26日
(86)【国際出願番号】US2013056261
(87)【国際公開番号】WO2014031891
(87)【国際公開日】20140227
【審査請求日】2016年7月27日
(31)【優先権主張番号】61/692,164
(32)【優先日】2012年8月22日
(33)【優先権主張国】US
(31)【優先権主張番号】13/972,698
(32)【優先日】2013年8月21日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ヨンセン,ビョルン・ダグ
(72)【発明者】
【氏名】ナラシムハムルシー,プラブナンダン
(72)【発明者】
【氏名】ホドバ,プレドラグ
(72)【発明者】
【氏名】モクスネス,ダグ・ゲオルグ
【審査官】
上田 翔太
(56)【参考文献】
【文献】
国際公開第2007/088728(WO,A1)
【文献】
特開平05−250345(JP,A)
【文献】
特開平08−237249(JP,A)
【文献】
米国特許第05758052(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
G06F 9/46
H04L 12/701
(57)【特許請求の範囲】
【請求項1】
ミドルウェアマシン環境で分散トランザクションをサポートするための方法であって、
各々が複数のネットワークアドレスに関連付けられた1つ以上のリモートピアノードとの分散トランザクションを、ピアノードを介して開始するステップと、
前記1つ以上のリモートピアノードがすべて、ネットワーク構成を含むシステム構成を示す情報であって前記ピアノードが有する情報と同じ情報を有することを、情報を互いに比較することにより、前記ピアノードを介して検証するステップと、
前記1つ以上のリモートピアノードに関連付けられた複数のネットワークアドレスを介して、前記分散トランザクションを実行するステップとを含む、方法。
【請求項2】
ミドルウェアマシン環境で分散トランザクションをサポートするためのシステムであって、
1つ以上のマイクロプロセッサと、
前記1つ以上のマイクロプロセッサ上で実行されるピアノードとを含み、前記ピアノードは、
各々が複数のネットワークアドレスに関連付けられた1つ以上のリモートピアノードとの分散トランザクションを開始し、
前記1つ以上のリモートピアノードがすべて、ネットワーク構成を含むシステム構成を示す情報であって当該ピアノードが有する情報と同じ情報を有することを、情報を互いに比較することにより、検証し、
前記1つ以上のリモートピアノードに関連付けられた複数のネットワークアドレスを介して、前記分散トランザクションを実行するように動作する、システム。
【請求項3】
前記システム構成を示す情報は、
各ピアノードに関連付けられた1つ以上の一意的な名前、
各ピアノードが相互に通信するための1つ以上のネットワークを示すリスト、および
各ピアノードに到達するためのインターネットプロトコル(IP)アドレス
のうちの少なくとも1つを含む、請求項2に記載のシステム。
【請求項4】
応答する前に、前記1つ以上のリモートピアノードは、当該リモートピアノードにおける前記システム構成を示す情報が、1つ以上のリモートピアノードから受信する前記システム構成を示す情報と整合しているかどうかをチェックする、請求項2または3に記載のシステム。
【請求項5】
連携するピアノード間でネットワーク構成が整合してしない期間の間、前記分散トランザクションは開始されない、請求項2〜4のいずれか1項に記載のシステム。
【請求項6】
前記ネットワーク構成の変更が生じた場合、次の分散トランザクションが実行され得る前に、1つ以上の連携するピアノードの前記システム構成を示す情報は同期して更新される、請求項5に記載のシステム。
【請求項7】
前記ピアノードは、連携するピアノードのリストの変更を検出するように動作する、請求項2〜6のいずれか1項に記載のシステム。
【請求項8】
1回以上のネットワーク構成更新が、自動でまたは手動で行なわれる、請求項2〜7のいずれか1項に記載のシステム。
【請求項9】
前記分散トランザクションの実行中、ネットワークアドレスのうちの1つ以上が動的に変更される、請求項2〜8のいずれか1項に記載のシステム。
【請求項10】
命令を含む機械読取可能なプログラムであって、前記命令は、実行されると、
各々が複数のネットワークアドレスに関連付けられた1つ以上のリモートピアノードとの分散トランザクションを、ピアノードを介して開始するステップと、
前記1つ以上のリモートピアノードがすべて、ネットワーク構成を含むシステム構成を示す情報であって当該ピアノードが有する情報と同じ情報を有することを、情報を互いに比較することにより、ピアノードを介して検証するステップと、
リモートピアノードに関連付けられた複数のネットワークアドレスを介して、前記分散トランザクションを実行するステップとを、システムに行なわせる、機械読取可能なプログラム。
【請求項11】
前記ネットワーク構成の変更が生じた場合、次の分散トランザクションが実行され得る前に、1つ以上の連携するピアノードの前記システム構成を示す情報は同期して更新される、請求項1に記載の方法。
【請求項12】
前記ネットワーク構成の変更が生じた場合、次の分散トランザクションが実行され得る前に、1つ以上の連携するピアノードの前記システム構成を示す情報は同期して更新される、請求項10に記載の機械読取可能なプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
著作権表示
この特許文献の開示の一部は、著作権保護の対象となる資料を含む。この特許文献または特許開示は特許商標庁の特許ファイルまたは記録に記載されているため、著作権保有者は、何人によるその複写複製に対して異議はないが、その他の場合には如何なるときもすべての著作権を保有する。
【0002】
発明の分野
この発明は、一般にコンピュータシステムに関し、特にミドルウェアマシン環境に関する。
【背景技術】
【0003】
背景
相互接続ネットワークは、次世代のスーパーコンピュータ、クラスタおよびデータセンターにおいて有益な役割を果たす。たとえば、インフィニバンド(InfiniBand:IB)技術は、クラウド・コンピューティング・ファブリックの基盤として増加したデプロイメント(deployment)を見てきた。より大きいクラウド・コンピューティング・アーキテクチャが導入されるにつれて、伝統的なネットワークおよびストレージに関連する性能および管理上の障害が、かなりの問題となっている。
【0004】
これが、この発明の実施形態が取組もうとしている一般的領域である。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
ここに説明されるのは、同じリモートピアのために複数の無関係のIPアドレスを介してリモートトランザクションを行なう際のインターネットプロトコル(Internet Protocol:IP)アドレスおよびノード名の整合性を確実にし得るシステムおよび方法である。このシステムは、連携するピアノードがすべて、任意の時点で名前およびIPアドレスが完全に一致することを確実にし得る。特に、ネットワーク構成が動的に更新され得る場合、システムは、どのアドレスを使用すべきかについての古くなったビューをピアノードが有するために、そのような更新が整合性のないトランザクションまたは失敗したトランザクションをもたらすということがないことを確実にし得る。さらに、トランザクションを開始するピアノードは、各分散トランザクションが整合性のあるアドレス情報を使用して実行されることを確実にするために、他のピアノードがすべて、システム構成全体のまったく同じビューを有することを検証できる。
【図面の簡単な説明】
【0006】
【
図1】この発明の一実施形態に従って、ミドルウェアマシン環境で、高可用性通信を使用して分散トランザクションをサポートする図である。
【
図2】この発明の一実施形態に従って、ミドルウェアマシン環境で、分散トランザクションをサポートするために整合性のあるアドレス情報を確実にする図である。
【
図3】この発明の一実施形態に従って、ミドルウェアマシン環境で、ネットワーク構成が変化した場合に分散トランザクションをサポートする図である。
【
図4】この発明の一実施形態に従って、ミドルウェアマシン環境で、分散トランザクションをサポートするために整合性のあるアドレス情報を確実にするための例示的なフローチャートを示す図である。
【
図5】この発明の一実施形態に従って、ミドルウェアマシン環境で、分散トランザクションをサポートするために整合性のあるアドレス情報を確実にするための例示的な機能ブロック図である。
【
図6】この発明の一実施形態に従ったピアノードを示す図である。
【発明を実施するための形態】
【0007】
詳細な説明
この発明を、同じ参照符号が同様の要素を示す添付図面の図において、限定的ではなく例示的に説明する。なお、この開示における「ある」または「1つの」または「いくつかの」実施形態への言及は、必ずしも同じ実施形態とは限らず、そのような言及は少なくとも1つを意味する。
【0008】
以下のようなこの発明の説明は、コンピュータネットワークの一例として、インターネットプロトコル(IP)ネットワークを使用する。他のタイプのコンピュータネットワークが限定なしで使用可能であることは、当業者には明らかであろう。
【0009】
ここに説明されるのは、ミドルウェアマシン環境で、IPアドレスおよびノード名の整合性といったシステム構成の整合性を確実にすることができるシステムおよび方法である。
【0010】
図1は、この発明の一実施形態に従って、ミドルウェアマシン環境で、高可用性通信を使用して分散トランザクションをサポートする図を示す。
図1に示すように、ミドルウェアマシン環境100は、異なるサブネット、たとえばサブネットA111〜C113を介して相互接続する1つ以上のピアノードA101〜D104を含み得る。各ピアノードA101〜D104は、異なるIPアドレス、たとえばIPアドレス121〜124、およびさまざまなネットワークインターフェイス、たとえばネットワークインターフェイス131〜134に関連付けられ得る。
【0011】
この発明の一実施形態によれば、ミドルウェアマシン環境100において、複数のネットワーク(またはサブネット)を介して、複数のローカルネットワークインターフェイスならびに複数の独立したローカルおよびリモートIPアドレスを介して高可用性通信を使用して、さまざまな分散トランザクションを行なうかまたは実装することができる。
【0012】
さらに、連携するピアノードA101〜D104はすべて、そのようなピアごとに関連する名前およびIPアドレスについて、任意の時点で完全に一致し得る。加えて、ネットワーク構成、たとえば、ネットワーク構成110が動的に更新される場合、そのような更新が整合性のないトランザクションまたは失敗したトランザクションをもたらさないことを確実にすることが、有益である。なぜなら、ピアの中には、どのアドレスを使用すべきかについての古くなったビューを有するものがあるためである。
【0013】
図2は、この発明の一実施形態に従って、ミドルウェアマシン環境で、分散トランザクションをサポートするために整合性のあるアドレス情報を確実にする図を示す。
図2に示すように、ミドルウェアマシン環境200において、ピアノードA201は、1つ以上のリモートピアノード、たとえばピアノードB202との分散トランザクション210を開始できる。ここでは、ピアノードA201はネットワークアドレス211〜212に関連付けられ、ピアノード202はネットワークアドレス221〜223に関連付けられている。
【0014】
分散トランザクション210が整合性のあるアドレス情報を使用して実行可能であることを確実にするために、ピアノードA201は、ピアノードB202といった他のピアノードがすべて、システム構成220全体のまったく同じビューをそれ自体として有することを検証できる。
【0015】
この発明の一実施形態によれば、分散トランザクション210を開始するピアノードA201によってチェックされるべき情報は、各ピアノードに関連付けられた1つ以上の一意的な名前、 ネットワークのリスト、および個々のネットワークを介して各ピアノードに到達するはずであるIPアドレスを含み得る。
【0016】
さらに、各リモートピアノード(たとえば、ピアノードB202)は、応答する前に、それ自体についての情報がローカルOS/ネットワーキング構成230と整合していることを確実にし得る。このため、システムは、管理者エラーが分散トランザクションの整合性のある実行を妨げないことが保証され得る。
【0017】
図3は、この発明の一実施形態に従って、ミドルウェアマシン環境で、ネットワーク構成が変化した場合に分散トランザクションをサポートする図を示す。
図3に示すように、ピアノードA301〜C303を伴うミドルウェアマシン環境300において、分散トランザクションが実行可能である。ここでは、ピアノードA301はネットワークアドレス311に関連付けられ、一方、ピアノードB302はネットワークアドレス321〜322に関連付けられ、ピアノードC303はネットワークアドレス331〜333に関連付けられ得る。
【0018】
この発明の一実施形態によれば、ネットワーク構成320の変更が生じた場合、システムは、次の分散トランザクションが実行され得る前に、連携するピアノードA301〜C303をすべて同期させることができる。加えて、必要とされる整合性が達成可能である限り、ネットワーク構成320の更新は自動であってもよく、または手動であってもよい。
【0019】
さらに、ネットワーキングアドレス情報の潜在的変化を有する一定の一組の連携するピアノードA301〜C303にとって、各分散トランザクションの一部としてシステムによって実行される頑強な整合性チェックは、すべての連携するピアノードA301〜C303間でネットワーク構成が整合してしない期間の間、分散トランザクションが首尾よく開始されないことを確実にするのに十分であり得る。
【0020】
また、一組の連携するノードA301〜C303が、メンバ−ノードのリスト自体の点で同期していないかもしれない状況があり得る。頑強な整合性チェックは、連携する各ノードA301〜C303が、どのアドレスが各ノードに関連付けられているかに加えて、ノードの組全体が何かについての同じビューを有することができる、ということを確実にし得る。たとえば、連携するピアノードのリストが変更されることになっている場合、システムは、上述のスキームを使用して、ネットワーク構成320の変更(または不整合性)を検出することができる。
【0021】
この発明の一実施形態によれば、ネットワーク構成320の変更(または不整合性)は同期して検出可能であり、次のトランザクションが起こることを可能にするために、構成情報全体を適宜チェックし、更新することが可能である。
【0022】
図3に示すように、分散トランザクションの実行中、ネットワークアドレス331は動的に変更可能である。ネットワーク構成320のこの変更(または不整合性)は、分散トランザクション中、関連するアドレスがもはや使用されなくなった(または、関連するアドレスが全く使用されなくなった)後で、生じるかもしれない。これらの場合、ネットワーク構成320の変更(または不整合性)は、トランザクションを行なうための問題を引き起こさないかもしれない。
【0023】
加えて、ネットワーク構成320の変更は、アドレスがまだ使用されている間、またはそれが使用される前に生じるかもしれない。そのような場合、問題は、リモート動作の一部としての明示的チェック動作を介して、アドレスプローブ動作によって検出されるか、または、実際の通信中、通信障害(たとえばTCPタイムアウト)として扱われてもよい。
【0024】
図4は、この発明の一実施形態に従って、ミドルウェアマシン環境で、分散トランザクションをサポートするために整合性のあるアドレス情報を確実にするための例示的なフローチャートを示す。
図4に示すように、ステップ401で、ピアノードは、各々が複数のネットワークアドレスに関連付けられた1つ以上のリモートピアノードとの1つ以上の分散トランザクションを開始できる。次に、ステップ402で、ピアノードは、各リモートピアノードがシステム構成の同じビューを有することを検証できる。さらに、ステップ403で、システムは、リモートピアノードに関連付けられた複数のネットワークアドレスを介して、分散トランザクションを実行できる。
【0025】
図5は、この発明の一実施形態に従って、ミドルウェアマシン環境で、分散トランザクションをサポートするために整合性のあるアドレス情報を確実にするための例示的な機能ブロック図を示す。
図5に示すように、各ピアノードは、ネットワークマネージャ501と、ネットワークインターフェイス502と、トランザクション実行モジュール503と、検証モジュール504とを含む。ネットワークマネージャ501はシステム構成を管理し、システム構成は、すべての連携するピアノードに関係しており、1つ以上の一意的な名前と、ネットワークのリストと、インターネットプロトコル(IP)アドレスとを含む。ネットワークインターフェイス502は、1つ以上のリモートピアノードとの間で信号を送受信するための物理層として作用する。
【0026】
任意の明示的なまたは暗示的な事象に応答して、トランザクション実行モジュール503は、1つ以上のリモートピアノードとの分散トランザクションを開始する。各分散トランザクションは、複数のネットワークアドレスに関連付けられている。検証モジュール504は、1つ以上のリモートピアノードがすべて、システム構成の同じビューを有することを検証する。例示的な一実現化例として、検証モジュール504は、それ自体のピアノードにおけるネットワークマネージャ501からシステム構成を取得し、1つ以上のリモートピアノードからシステム構成を取得して、次に、整合性のあるアドレス情報を確実にするためにそれらを互いに比較する。
【0027】
トランザクション実行モジュール503が一旦、検証モジュール504から検証の好結果を受信すると、トランザクション実行モジュール503は、1つ以上のリモートピアノードに関連付けられた複数のネットワークアドレスを介して、分散トランザクションを実行し始める。
【0028】
図6は、この発明の一実施形態に従ったピアノード600を示す。
図6に示すように、ピアノード600は、各々が複数のネットワークアドレスに関連付けられた1つ以上のリモートピアノードとの分散トランザクションを開始するように構成された開始ユニット602と、1つ以上のリモートピアノードがすべて、システム構成の同じビューを有することを検証するように構成された検証ユニット604と、1つ以上のリモートピアノードに関連付けられた複数のネットワークアドレスを介して、分散トランザクションを実行するように構成された実行ユニット606とを含む。
【0029】
一例では、システム構成は、各ピアノードに関連付けられた1つ以上の一意的な名前、 ネットワークのリスト、および各ピアノードに到達するためのインターネットプロトコル(IP)アドレスのうちの少なくとも1つを含む。
【0030】
一例では、応答する前に、1つ以上のリモートピアノードは、ローカルシステム構成情報がローカルOS/ネットワーキング構成と整合しているかどうかをチェックする。
【0031】
別の例では、ネットワーク構成の変更が生じた場合、1つ以上の次の分散トランザクションが実行され得る前に、1つ以上の連携するピアノードは同期される。
【0032】
さらに別の例では、連携するピアノード間でネットワーク構成が整合してしない期間の間、分散トランザクションは開始されない。
【0033】
一例では、ピアノード600は、連携するピアのリストの変更を検出するように構成された検出ユニット608をさらに含む。
【0034】
一例では、1回以上のネットワーク構成更新は、自動でまたは手動で行なわれる。
たとえば、1回以上のネットワーク構成更新は、ピアノードまたは任意のリモートピアノードがシステム構成の古くなったビューを有することを引き起こさない。
【0035】
一例では、分散トランザクションの実行中、ネットワークアドレスは動的に変更される。
【0036】
なお、点線によって示されたユニットは任意である。ここに開示されたさまざまなユニットは、ハードウェア、ソフトウェア、またはそれらの組合せで実現または実行されてもよい。それらは、ここに説明された機能を行なうよう設計された、汎用のシングルまたはマルチチッププロセッサ、デジタル信号プロセッサ(digital signal processor:DSP)、特定用途向け集積回路(application specific integrated circuit:ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)または他のプログラマブルロジックデバイス、個別のゲートまたはトランジスタロジック、個別のハードウェアコンポーネント、もしくはそれらの任意の組合せで実現または実行されてもよい。汎用プロセッサは、マイクロプロセッサ、もしくは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連動する1つ以上のマイクロプロセッサ、または任意の他のそのような構成として実現されてもよい。いくつかの実現化例では、ユニットは、所与の機能に特有の回路によって実現されてもよい。
【0037】
この発明は、この開示の教示に従ってプログラミングされた1つ以上のプロセッサ、メモリ、および/またはコンピュータ読取可能な記憶媒体を含む、従来の汎用または専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを1つ以上用いて、都合よく実現されてもよい。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングが、この開示の教示に基づいて、熟練したプログラマらによって容易に準備可能である。
【0038】
いくつかの実施形態では、この発明は、この発明のプロセスのうちのいずれかを行なうようにコンピュータをプログラミングするために使用可能な命令が格納された記憶媒体またはコンピュータ読取可能な媒体である、コンピュータプログラム製品を含む。この記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含むあらゆるタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気カードまたは光カード、ナノシステム(分子メモリICを含む)、もしくは、命令および/またはデータを格納するのに好適なあらゆるタイプの媒体またはデバイスを含み得るものの、それらに限定されない。
【0039】
この発明の前述の説明は、例示および説明のために提供されてきた。それは、包括的であるよう、または、この発明を開示された形態そのものに限定するよう意図されてはいない。当業者には、多くの修正および変形が明らかであろう。修正および変形は、開示された特徴の任意の組合せを含む。実施形態は、この発明の原理およびその実際の応用を最良に説明するために選択され説明されており、それにより、当業者が、考えられる特定の用途に適したさまざまな実施形態に関する、およびさまざまな修正を有するこの発明を理解できるようにする。この発明の範囲は、特許請求の範囲およびその均等物によって定義されることが意図されている。