IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヒタチ ヴァンタラ エルエルシーの特許一覧

特表2022-535073ラック上のサーバを識別し、サーバの物理的な位置に基づいてサーバに適切なIPアドレスを割り当てるためのシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-04
(54)【発明の名称】ラック上のサーバを識別し、サーバの物理的な位置に基づいてサーバに適切なIPアドレスを割り当てるためのシステム及び方法
(51)【国際特許分類】
   H04L 61/5007 20220101AFI20220728BHJP
【FI】
H04L61/5007
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021571746
(86)(22)【出願日】2019-06-17
(85)【翻訳文提出日】2021-12-02
(86)【国際出願番号】 US2019037521
(87)【国際公開番号】W WO2020256691
(87)【国際公開日】2020-12-24
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.VISUAL BASIC
3.JAVASCRIPT
(71)【出願人】
【識別番号】520155228
【氏名又は名称】ヒタチ ヴァンタラ エルエルシー
(74)【代理人】
【識別番号】110000279
【氏名又は名称】特許業務法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】ホン,フランシス・キン-ウィン
(72)【発明者】
【氏名】グエン,ウィリアム
(72)【発明者】
【氏名】クルス,アート
(72)【発明者】
【氏名】ワグ,ウトカルシュ・プルショッタム
(72)【発明者】
【氏名】カンドリカール,ヨゲシュ
(57)【要約】
【課題】本明細書に記載する実装の例は、ラック内のサーバの物理的な位置に基づいてラック上のサーバに対するインターネットプロトコル(IP)アドレスの割り当てを管理するためのシステム及び方法を対象とする。
【解決手段】実装の例により、データセンタラック内のサーバの物理的な位置をIPアドレスに基づいて特定することができる。実装の例は、複数のサーバを特定するためにpingローカルを発行すること、複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得すること、複数のサーバの電源投入順序を決定すること、設置命令及び電源投入順序に基づいて1つ又は複数のラック内の複数のサーバの物理的な位置を特定にすること、及び物理的な位置に基づいて複数のサーバにIPアドレスを割り当てることを含む。
【特許請求の範囲】
【請求項1】
複数のサーバを特定するためにpingリンクローカルを発行し、
前記複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得し、
前記複数のサーバの電源投入順序を決定し、
設置命令及び電源投入順序に基づいて、1つ又は複数のラック内の前記複数のサーバの物理的な位置を特定し、
前記物理的な位置に基づいて前記複数のサーバに対してインターネットプロトコル(IP)アドレスを割り当てる、方法。
【請求項2】
前記物理的な位置に基づいて前記複数のサーバに対してIPアドレスを割り当てることは、
前記1つ又は複数のラックのそれぞれにIPアドレスの範囲を割り当て、
前記1つ又は複数のラックのそれぞれに含まれる前記複数のサーバの前記物理的な位置を示すように構成されるグラフィカルユーザインタフェース(GUI)を提供し、
前記1つ又は複数のラックのうちのあるラックに関して、前記ラックにおける前記電源投入順序に基づいて、前記ラック内の前記複数のサーバのために前記ラックに関連する前記IPアドレスの範囲内のIPアドレスの割り当てを前記GUI上で提供する、ことを含む、請求項1に記載の方法。
【請求項3】
前記GUIは、前記複数のサーバのうちの選択されたサーバへの前記IPアドレスの割り当てをスキップするように構成される、請求項2に記載の方法。
【請求項4】
前記物理的な位置に基づいて前記複数のサーバに対して前記IPアドレスを割り当てることは、
前記1つ又は複数のラックのそれぞれのスロット内の前記複数のサーバに対して、前記1つ又は複数のラックのそれぞれの中の前記スロットの一番下のものから前記スロットの一番上のものへと昇順に前記IPアドレスを割り当てること、を含む請求項1に記載の方法。
【請求項5】
前記IPアドレスの割り当てを降順に反転させるためのコマンドを受け付けるように構成されるグラフィカルユーザインタフェース(GUI)を提供することをさらに含む、請求項4に記載の方法。
【請求項6】
前記OS時間から導出される前記電源投入順序と前記現在のシステム時刻から導出される前記電源投入順序とが不一致である場合、前記不一致を有する前記1つ又は複数のラックのうちのラックに関連する前記複数のサーバに電源投入を再び行うための命令を送信する、請求項1に記載の方法。
【請求項7】
前記1つ又は複数のラックのうちの前記ラック内の前記不一致を強調表示するように構成されるグラフィカルユーザインタフェース(GUI)を提供することをさらに含む、請求項6に記載の方法。
【請求項8】
複数のサーバを特定するためにpingリンクローカルを発行すること、
前記複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得すること、
前記複数のサーバの電源投入順序を決定すること、
設置命令及び電源投入順序に基づいて、1つ又は複数のラック内の前記複数のサーバの物理的な位置を特定すること、及び、
前記物理的な位置に基づいて前記複数のサーバにインターネットプロトコル(IP)アドレスを割り当てること、を含む命令を格納するコンピュータプログラム。
【請求項9】
前記物理的な位置に基づいて前記複数のサーバに対してIPアドレスを割り当てることは、
前記1つ又は複数のラックのそれぞれにIPアドレスの範囲を割り当てること、
前記1つ又は複数のラックのそれぞれに含まれる前記複数のサーバの前記物理的な位置を示すように構成されるグラフィカルユーザインタフェース(GUI)を提供すること、及び、
前記1つ又は複数のラックのうちのあるラックに関して、前記ラックにおける前記電源投入順序に基づいて、前記ラック内の前記複数のサーバのために前記ラックに関連する前記IPアドレスの範囲内のIPアドレスの割り当てを前記GUI上で提供すること
を含む、請求項8に記載のコンピュータプログラム。
【請求項10】
前記GUIは、前記複数のサーバのうちの選択されたサーバへの前記IPアドレスの割り当てをスキップするように構成される、請求項9に記載のコンピュータプログラム。
【請求項11】
前記物理的な位置に基づいて前記複数のサーバに対して前記IPアドレスを割り当てることは、
前記1つ又は複数のラックのそれぞれのスロット内の前記複数のサーバに対して、前記1つ又は複数のラックのそれぞれの中の前記スロットの一番下のものから前記スロットの一番上のものへと昇順に前記IPアドレスを割り当てること、を含む請求項8に記載のコンピュータプログラム。
【請求項12】
前記IPアドレスの割り当てを降順に反転させるためのコマンドを受け付けるように構成されるグラフィカルユーザインタフェース(GUI)を提供することをさらに含む、請求項11に記載のコンピュータプログラム。
【請求項13】
前記OS時間から導出される前記電源投入順序と前記現在のシステム時刻から導出される前記電源投入順序とが不一致である場合、前記不一致を有する前記1つ又は複数のラックのうちのラックに関連する前記複数のサーバに電源投入を再び行うための命令を送信する、請求項8に記載のコンピュータプログラム。
【請求項14】
前記1つ又は複数のラックのうちの前記ラック内の前記不一致を強調表示するように構成されるグラフィカルユーザインタフェース(GUI)を提供することをさらに含む、請求項13に記載のコンピュータプログラム。
【請求項15】
1つ又は複数のラック上に設置された複数のサーバを管理する機器であって、前記機器は、ローカルエリアネットワーク(LAN)上で前記複数のサーバに接続され、
前記複数のサーバを特定するためにpingリンクローカルをLAN上で発行すること、
前記複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得すること、
前記複数のサーバの電源投入順序を決定すること、
設置命令及び電源投入順序に基づいて、1つ又は複数のラック内の前記複数のサーバの物理的な位置を特定すること、及び
前記物理的な位置に基づいて前記複数のサーバにインターネットプロトコル(IP)アドレスを割り当てること、を行うように構成されるプロセッサを含む機器。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サーバラックの管理に関し、より詳細にはサーバの物理的な位置に基づいてサーバラック内のサーバに適切なインターネットプロトコル(IP)アドレスを割り当てることに関する。
【背景技術】
【0002】
ドメイン名システム(DNS)又は静的なインターネットプロトコル(IP)を使用することは、データセンタ内に新たなサーバを配備するためにIPアドレスを割り当てるための従来技術による方法の例である。多くの場合、サポート従業員はハードウェアの保守及び準備のためにサーバの物理的な位置に関連するIPアドレスを知る必要がある。しかしながら、新たなサーバを配備する間にIPアドレスをサインするためにDNSを使用することには問題がある。配備においてIPアドレスを割り当てる際にDNSを使用する場合、サーバのIPアドレス及び物理的な位置は自動で管理されない。その結果、かかる配備はシステム管理者が静的IPアドレスを現場において手動で適用することを必要とする。このプロセスは大きな労力を必要とし、割り当てたIPアドレスに基づいてラック上のサーバの物理的な位置を明らかにする方法はないので、ことによるとプロセス内で人的ミスを生じさせる可能性がある。
【0003】
従来技術の実施例では、特許文献1に記載されているように、ラック内の棚及びスロットの位置に基づいてIPアドレスを割り当てる解決策がある。特許文献1に記載されているような、サーバの特定の地理的位置(例えばラック、シャーシ、スロット等)に基づいてサーバにIPアドレスを割り当てる別の従来技術の解決策もある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第7,340,538号明細書
【特許文献2】米国特許出願公開第2005/0262218号明細書
【発明の概要】
【課題を解決するための手段】
【0005】
但し、サーバの位置に基づいてIPアドレスを割り当てるための従来技術の実施例は、かかる実装を助けるための追加のハードウェアを必要とする傾向がある。本明細書に記載する実施例は、正しいサーバ位置を確認するために、一連の電源ボタン押下時刻及びシステム稼働時間と比較してデータセンタ技術者向けの知られている電源投入命令の組み合わせを利用する。このやり方で、サーバ以上に追加のハードウェアをラック内に配備する必要なしにサーバの位置をIPアドレスから特定することができる。
【0006】
本明細書に記載する実施例は、自動発見機能を有するプロセスを組み合わせて新たに配備されるサーバにIPアドレスを割り当てる推測作業をなくすことを含む。本明細書に記載する実施例を使用することにより、配備時間及びサポート/保守の労力を減らしながらデータセンタ内のサーバを管理する精度を改善することができる。
【0007】
一般的なデータセンタでは、保守及びサポート上の理由でサーバ用のIPアドレスがサーバのラック上の物理的な位置によって手動で割り当てられる。本明細書に記載する実施例では、サーバを自動発見し、電源ボタン押下時刻及びシステム稼働時間を取得してラック上のサーバの位置を特定するための、RedFishプロトコル等のプロトコルを利用する方法及び機器がある。ユーザは自分がIPアドレスを割り当てるのと同じシーケンスでサーバの電源を入れる。サーバの電源投入シーケンスに基づいて既定のIPアドレス値を増加的に割り当てられ、最も小さいIPアドレス値は電源投入される最初のシステムに割り当てられる。システム稼働時間の間の電源ボタン押下時刻の差を使用してサーバの位置を確認する。ファームウェア、ドライバ、及び基本入出力システム(BIOS)のアップグレード後の更なる解析作業のためにこのデータを保存する。
【0008】
本開示の態様は、複数のサーバを特定するためにIPv6リンクローカルを発行するステップと、複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得するステップと、複数のサーバの電源投入順序を決定するステップと、設置命令及び電源投入順序に基づいて1つ又は複数のラック内の複数のサーバの物理的な位置を特定するステップと、物理的な位置に基づいて複数のサーバにインターネットプロトコル(IP)アドレスを割り当てるステップとを含む方法を含み得る。
【0009】
本開示の態様は、複数のサーバを特定するためにIPv6リンクローカルを発行すること、複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得すること、複数のサーバの電源投入順序を決定すること、設置命令及び電源投入順序に基づいて1つ又は複数のラック内の複数のサーバの物理的な位置を特定すること、及び物理的な位置に基づいて複数のサーバにインターネットプロトコル(IP)アドレスを割り当てることを含む命令を記憶するコンピュータプログラムを含む。
【0010】
本開示の態様は、1つ又は複数のラック上に設置された複数のサーバを管理する機器を含むことができ、この機器は、ローカルエリアネットワーク(LAN)上で複数のサーバに接続され、複数のサーバを特定するためにping IPv6リンクローカルをLAN上で発行すること、複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得すること、複数のサーバの電源投入順序を特定すること、設置命令及び電源投入順序に基づいて1つ又は複数のラック内の複数のサーバの物理的な位置を特定すること、及び物理的な位置に基づいて複数のサーバにインターネットプロトコル(IP)アドレスを割り当てることを行うように構成されるプロセッサを含む。
【0011】
本開示の態様は、複数のサーバを特定するためにpingローカルを発行するための手段と、複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得するための手段と、複数のサーバの電源投入順序を決定するための手段と、設置命令及び電源投入順序に基づいて1つ又は複数のラック内の複数のサーバの物理的な位置を特定するための手段と、物理的な位置に基づいて複数のサーバにインターネットプロトコル(IP)アドレスを割り当てるための手段とを含むシステムを含み得る。
【図面の簡単な説明】
【0012】
図1】実施例による、サーバラックのためのIP割り当てプロセスの流れ図の一例を示す。
図2a】実施例による、GUIのスクリーンショットの一例を示す。
図2b】実施例による、GUIのスクリーンショットの一例を示す。
図3a】実施例による、データセンタ技術者にディスパッチされ得る命令の例を示す。
図3b】実施例による、配備マネージャによって管理される管理情報の一例を
図3c】実施例による、ラック及びラック内のスロットの位置にIPアドレスを関連付けるために配備マネージャによって管理される管理情報の一例を示す。
図4】実施例による、複数のラック及びデータセンタ管理機器を含むデータセンタシステムの一例を示す。
図5】実装の一部の例で使用するのに適した、コンピュータ装置の一例を有する計算環境の一例を示す。
【発明を実施するための形態】
【0013】
以下の詳細な説明は、図面の更なる詳細及び本願の実施例を示す。図面間の冗長な要素の参照番号及び説明は明瞭にするために省いている。説明の全体を通して使用する用語は例として示し、限定的であることは意図しない。例えば「自動」という用語の使用は、本願の実装を実践する当業者の所望の実装に応じて、完全に自動の実装又は実装の特定の側面に対するユーザ若しくは管理者の制御を含む半自動の実装を含み得る。選択は、ユーザインタフェース又は他の入力手段によってユーザによって行われてもよく、又は所望のアルゴリズムによって実装され得る。本明細書に記載する実施例は単独で又は組み合わせで利用することができ、実施例の機能は所望の実装に従って任意の手段によって実装され得る。「サーバ」及び「サーバノード」も区別なく使用する場合がある。
【0014】
実施例は、サーバの物理的な位置を特定し、サーバへのIPアドレスの割り当てを案内するために配備マネージャのウェブベースのグラフィカルユーザインタフェース(GUI)を使用するための一連のプロセスステップを含む。IPの割り当てはラック内の各サーバの物理的な位置に基づく。
【0015】
本明細書に記載する実施例では、予め割り当てられたIPアドレスの範囲を自動で割り当てるために電源投入シーケンスが使用される。
【0016】
本明細書に記載する実施例では、配備マネージャは、新たなサーバを選択するために、サーバの型式、デフォルトログインパスワード、システムファームウェアのバージョン、及びBIOSのバージョンを含む検証の組み合わせを使用することによって、ネットワーク内の利用可能なサーバを自動的に発見する。このプロセスは利用可能な新品のサーバを発見するだけでなく、製造されている既存のサーバを優先(override)する可能性を除去した。
【0017】
本明細書に記載する実施例により、サーバの物理的な位置に基づいてサーバにIPアドレスを割り当てることができ、それによりサーバの位置を特定するために追加の専用ハードウェアを利用する必要がなくなる。したがって、本明細書に記載する実施例は、ベンダに関係なく、いかなる汎用サーバにも拡張することができる。
【0018】
図1は、実施例による、サーバラックのためのIP割り当てプロセスの流れ図の一例を示す。まず図3(a)に示すように、サーバラックを管理する管理システムの管理者によって設定される通りに電源投入順序に位置を関連付けるサーバラックのための命令が(例えばデータセンタ技術者によって操作されるユーザ機器(UE)への通信によって)データセンタ技術者にディスパッチされる。データセンタ技術者は、全てのラック内にサーバを取り付け、全てのケーブルを接続した後、全てのサーバの電源が切られていることを確認する。続いて、データセンタ技術者は、100で、所望のIPアドレス割り当てに従って、ラック上のサーバの物理的な位置に基づいて順番にラックのサーバに電源を投入する。例えばサーバを物理的に設置しているデータセンタ技術者は、全てのサーバに電源が投入されるまで、10秒間隔でラックの一番下からラックの一番上へとサーバに電源投入することができる。複数のラックが関与する場合、次のラックの電源投入を(例えば、1分間)遅らせてから次のラックの一番下から次のラックの一番上まで順番にサーバの電源を投入してもよい。
【0019】
続いて、配備マネージャの自動発見プロセスを実行して配備に利用可能なサーバを識別する。配備マネージャは、設置が完了したことを示すコマンドをデータセンタ技術者が自分のユーザ機器からデータセンタ管理機器に送信することで、配備マネージャを実行するよう管理者に要求することによって、又は所望の実装による他の方法によって起動できる。
【0020】
101で、配備マネージャは、電源ボタン押下時刻及びサーバのシリアル番号等の情報を取得するために、所望のプロトコル及びツール(例えば、RedFishプロトコル、Intelligent Platform Management Interface(ipmi)ツール等)を使用することで情報を収集する。例えばIPMIツールは、インターネットプロトコルバージョン6(IPv6)pingなどのpingリンクローカルを発行してネットワークに接続される複数のサーバを特定するために配備マネージャによって実行することができる。通常のpingはサーバが所定のIPアドレスで既にセットアップされていることを要求するため、実施例では通常のping(例えばIPv4)ではなく、pingリンクローカルが発行される。実施例では、ラック内に設置されるサーバが同じスイッチに接続され、ラックに関連するスイッチに接続されるラック上のサーバのローカルアドレスを取得するためにスイッチング接続層をpingリンクローカルによってpingすることができる。pingリンクローカルを利用することにより、サーバの第2層(スイッチング接続層)がラック内のスイッチに接続されるサーバ指定(例えばローカルIP情報)で応答する。その後、サーバに関連するローカルアドレスに対してRedFishプロトコル等のプロトコルを実行するためにIPMIツールを使用してサーバのシリアル番号、サーバの現在のシステム時刻、サーバの電源投入時刻、オペレーティングシステム(OS)稼働時間などを得ることができる。従って、IPMIツールを利用することにより、スイッチを介してサーバに対してローカルエリアネットワーク(LAN)上で通信を行うことができ、所望の実装に応じてサーバの属性を特定するためにpingリンクローカルをLAN上で発行することができる。
【0021】
102で、配備マネージャは、システム稼働時間を特定するためのプロセス(例えばESXIコマンドラインインタフェース)を使用する。システム稼働時間は、サーバの現在のシステム時刻とサーバの電源投入時刻との差から決定される。各サーバは、このプロセスによってサーバの電源投入時刻及び現在のシステム時刻を与えるように構成することができる。各サーバが異なる時間で構成されたり、各サーバの内蔵クロックが正しくなかったりする恐れがあるため、実施例では、上記の差が使用される。サーバのシステム稼働時間は、どのサーバが最初に電源投入されたのかを特定するために使用される。
【0022】
但し、本開示は、上記の実施例に限定されず、配備マネージャから収集可能な他の情報も所望の実装に応じて利用することができる。
【0023】
情報は、所望の実装に応じてデータベース内に、又はアレイ形式のメモリ内に、又は他の方法で記憶されてもよい。例えば、103で、配備マネージャは、サーバのシリアル番号を含むアレイであって、そのアレイ内のシリアル番号の順序付けが電源ボタン押下時刻に基づくレイを作成する。104で、配備マネージャは、サーバのシリアル番号を含むアレイであって、そのアレイ内のシリアル番号の順序付けがシステム稼働時間に基づくアレイを作成する。105で、配備マネージャは、サーバのシリアル番号を含むアレイであって、そのアレイ内のシリアル番号の順序付けが電源ボタン押下時刻とプロセス開始時のサーバローカル時刻のそれぞれとの差に基づいている。
【0024】
106で、配備マネージャがアレイを比較し、シリアル番号のシーケンスが一致するか否かを確認する。このプロセスは、収集済みデータを比較してサーバの物理的な位置を識別し、予め割り当てられた静的IPアドレスをサーバに割り当てるために使用される。このプロセスでは、配備マネージャが電源ボタン押下時刻と現在のシステム時刻との差を判別して、サーバの位置を識別する。例えば、ラックの一番下からラックの一番上へとサーバに電源投入するようにデータセンタ技術者に対して送られる一連の命令では、値が小さいほど、サーバがラックの下の方に位置することを示す。このプロセスは、サーバのクロックが発送中又は設置中にリセットされる状況に対処するための正規化ステップとして使用される。
【0025】
複数のラックが設置されるシナリオでは、所望の実装に応じて、ラック間の時間間隔が1分だがサーバ間の時間間隔が10秒である状況のような、異なるラック間の異なるサーバ群を区別するために、正規化された値間の大きな差を使用することができる。
【0026】
システム稼働時間を利用できる場合、配備マネージャは、所望の実装に応じて、システム稼働時間及び電源ボタン押下時刻を利用してサーバの物理的な位置を更に検証することができる。
【0027】
シリアルシーケンスが一致する場合、流れが107に進み(はい)、他の場合、流れは108に進む(いいえ)。
【0028】
107では、配備マネージャは、106の結果に基づいて、ラック内のサーバの位置を示すように構成されたグラフィカルユーザインタフェース(GUI)を生成して、ユーザが所望の実装に応じて構成を変更できるようにする。図2(a)及び図2(b)は、実施例によるGUIのスクリーンショットの一例を示す。
【0029】
108で、配備マネージャは、所望の実装に応じて、図2(b)に示すようにサーバの物理的な位置をローカルビューに関連付けるGUIを生成して、不一致のサーバだけを強調表示する。
【0030】
109で、GUIは、所望の実装に応じて、ユーザに対して、サーバの背面にあるシリアル番号を確認し、かつ、所望の実装に従って、GUI上で不一致のサーバのIPアドレスを手入力するように促してもよい。
【0031】
110で、GUIは、所望の実装に応じて、GUI上で割り当てられたIPアドレスを確認するようにユーザを促すプロンプトを出してもよい。このプロンプトは、所望の実装に応じて、IPアドレスを確認したいか否かをユーザに尋ねてもよい。応答がはいの場合(はい)、配備マネージャは、111でサーバにIPアドレスを割り当てることができ、他の場合(いいえ)、112でサーバに対するIPアドレスの割り当てをスキップする。
【0032】
図2(a)及び図2(b)は、実施例によるGUIのスクリーンショットの一例を示す。図2(a)に示すように、ラック200は配備マネージャによって電源投入されて検出される複数のサーバ201に関連する複数のスロットを含むことができる。サーバのシリアル番号及びラック内のそれらに対応するスロットは、201で示すように表すことができる。IPアドレスは、202に割り当てられ、ラック内のサーバに対するIPアドレスの推奨設定を示すためにサイドに提供される。実施例では、設置命令が最初に一番下のスロットから一番上のスロットへとサーバに電源投入すべきことを示す場合、202に示すIPアドレスの割り当ては、デフォルトとして、一番下のスロットから一番上のスロットへと昇順で提供することができる。インタフェース203は、ノードに電源投入する順序、ノードを選択する順序、及びノードを手動で設定する順序など、所望の実装に応じて各サーバノードにIPアドレスを割り当てる又は再割り当てするためのユーザ選択を助けることができる。
【0033】
図2(b)の例では、一致していないノードが検出される場合、現在のシステム時刻とオペレーティングシステム時刻とから決定される電源投入順序間の不一致があることを示すために、サーバの強調表示204を行うことができる。不一致を強調表示するための所望の任意の実装を利用することができる。
【0034】
IPアドレスの割り当ては、所望の実装に応じて、電源投入順序に従って自動的に行うことができる。実施例では、デフォルトの設置命令は、ラック内にサーバを設置し、かつ、ラックの一番下のスロットからラックの一番上のスロットへとサーバに電源投入することで、電源投入順序から判断して、一番下のスロット内のサーバから一番上のスロット内のサーバへと昇順に(つまり、小さい数字から大きい数字へと)IPアドレスを割り当てることができるようにすることができる。別の実施例では、GUIは、所望の実装に応じて、この順序(図示せず)を昇順から降順に反転させたり、その逆に反転させたりするためのコマンドを(例えば、GUI内のボタンの選択によって)受け付けるように構成することもできる。
【0035】
図3(a)は、実施例による、データセンタ技術者に送信することができる命令の例を示す。この命令はデータセンタ技術者によって操作されるユーザ機器に対して送信することができ、設置されるラック、電源投入シーケンス、そのシーケンスを行うための時間遅延、及びラック間の時間遅延を含む。
【0036】
図3(b)は、実施例による、配備マネージャにて管理される管理情報の一例を示す。収集される情報は、サーバのシリアル番号、サーバ上で示される現在時間、電源投入時刻、及びオペレーティングシステム時刻を含む。与えられる情報から、システム稼働時間を導出することができる。現在時間、電源投入時刻及びオペレーティングシステム時刻は、所望の実装に応じて、タイムスタンプ形式、日時、又は他の形式で提供することができる。電源投入時刻、シリアル番号、システム稼働時間、及びオペレーティングシステムのローカル時刻に関する情報は、IPMIツールにてRedFishプロトコルを使用することで収集される。それにより、図3(b)の情報は、一連のサーバ電源投入時刻、サーバ稼働時間、及びサーバのローカル現在時間のそれぞれを比較するためのデータアレイを作成するために配備マネージャによって利用され、ラック内のサーバの物理的な位置を特定することができる。システム稼働時間は、サーバのそれぞれに対して導出され、サーバを最も長い又は最も短いシステム稼働時間を有するサーバに正規化する(例えば、他のサーバに対する最も長く実行されているサーバ又は最も短く実行されているサーバのシステム稼働時間の差を取る)データアレイを作成し、それにより正規化済みの差に基づいて電源投入順序を示すことができる(例えば、最も長い稼働時間を有するサーバは0秒に関連付けられ、2番目に長い稼働時間を有するサーバは最も長い稼働時間を有するサーバと2番目に長い稼働時間との差(5秒など)に関連付けられ、その後も同様に関連付けが行われ、電源投入順序は最も小さい差から最も大きい差へとなる)。この手続きは、間違ったシステム時刻又は日付を有する誤構成サーバにも対処することができる。
【0037】
システム稼働時間は、所望の実装に応じて、オペレーティングシステム時刻を使用することによって測定することもできる。このような実施例では、オペレーティングシステム時刻と電源投入時刻との差を利用してシステム稼働時間を決定することができる。その値は、システム稼働時間として利用されてもよいし、現在のシステム時刻と電源投入時刻との差から導出されるシステム稼働時間と比較するために利用されてもよい。また、オペレーティングシステム時刻は、サーバ上の記憶装置(例えば、ハードディスクドライブ、フラッシュドライブ)が動作しているか否か、及びオペレーティングシステムが正しく起動されているか否かを判定するために利用される。例えば、オペレーティングシステム時刻を取得できない場合、サーバは稼働していても実際には動作していない可能性がある。さらに、オペレーティングシステム時刻を使用する場合と現在のシステム時刻を使用する場合とでシステム稼働時間が一致しないことは、サーバに関する潜在的なハードウェアの問題がある可能性を示す。加えて、現在のシステム時刻に由来するシステム稼働時間から決定される一連のサーバが、オペレーティングシステム時刻に由来するシステム稼働時間から決定される一連のサーバと異なる場合、サーバの電源を再び切り、過去に送信された命令に従ってそれらのサーバに再び電源投入するための命令をデータセンタ技術者に送信することができる。所望の実装に応じて他の命令も利用することができる。
【0038】
図3(c)は、実施例による、ラック及びラック内のスロットの位置にIPアドレスを関連付けるために配備マネージャによって管理される管理情報の一例を示す。システム稼働時間が正規化されると、図3(a)に示すようにデータセンタ技術者に伝送される電源投入命令に基づいてサーバのシリアル番号をラック及びスロットに関連付けることができる。このプロセスは、命令を処理して電源投入時刻をラック又はスロットにどのように関連付けるべきかを明らかにすることで配備マネージャによって自動的に構成できる。
【0039】
図4は、実施例による、複数のラック及びデータセンタ管理機器を含むデータセンタシステムの一例を示す。1つ又は複数のラック401-1、401-2、401-3、及び401-4は、データセンタ管理システム402に接続されるネットワーク400に、所望の実装に応じてラック内のスイッチ又は外部スイッチを介して通信可能に結合される1つ又は複数のサーバを含む。ネットワーク400は、ラック上のサーバとデータセンタ管理システム402との間の通信を助けるローカルエリアネットワーク(LAN)を含むことができ、さらには、サーバの広域ネットワーク(WAN)接続にIPアドレスが割り当てられた場合にラック上のサーバを外部に接続するためのWANを含むことができる。データセンタ管理機器402は、ラック401-1、401-2、401-3、401-4内のサーバの配備、実行、及び保守を管理する。図4に示すように、実施例では、サーバは、複数のサーバ(例えば、30台又は40台のサーバ)がラック内に配備された状態でデータセンタ内に配備される。各データセンタは、複数のラックを有してもよい。データセンタ管理機器402は、ネットワーク400内で利用可能なサーバを判別するためにネットワークを走査するように構成される。但し、各ラック内のサーバを外に向けて配備できるように構成するためには、各サーバにIPアドレスを割り当てる必要がある。
【0040】
管理者側では、サーバを論理的に表すことができるため、IPアドレスは任意のサーバに割り当てることができる。但し、データセンタのフロアにいる保守及びサポートオペレータにとっては、保守及びサポートを円滑に行うためにIPアドレスに対応するサーバの物理的な位置を知る必要がある。例えば、データセンタ管理機器402の管理者は、特定のIPアドレスに対応するサーバが赤く点滅していることに気づいた場合、IPアドレスに対応するサーバがデータセンタ内のどこにあるかを保守及びサポートオペレータに知らせることができる必要がある。
【0041】
従来の技術による実装では、追加の専用ハードウェアが独自のブロードキャストプロトコルと共にラック内で利用され、技術者のユーザ装置によってpingされるときに光又は他の指示を与えるように構成される。しかしながら、このような実装では、データセンタに追加のハードウェア費用が加わる。これに対して、本明細書に記載する実施例は、サーバ自体を利用して、追加の専用ハードウェアを必要とせずに、ラック内のサーバの物理的な位置を管理機器402に容易に提供することができる。
【0042】
本明細書に記載する実施例では、ラック内にサーバを設置し、ラックの第1層を実装するために適切な物理的接続を行い、特定の順序で電源投入シーケンスを実行するためにデータセンタ技術者に命令が与えられる。
【0043】
図5は、図4に示す管理機器402等、実装の一部の例で使用するのに適したコンピュータ装置の一例を有する計算環境の一例を示す。計算環境500内のコンピュータ装置505は、1つ又は複数の処理ユニット、コア、又はプロセッサ510、メモリ515(例えばRAM、ROM等)、内部記憶装置520(例えば磁気、光学、ソリッドステート記憶域及び/又は有機)、及び/又はI/Oインタフェース525を含むことができ、その何れも情報を伝達するための通信機構又はバス530上で結合され、又はコンピュータ装置505内に埋め込まれ得る。I/Oインタフェース525は、所望の実装に応じてカメラから画像を受信するように又はプロジェクタ若しくはディスプレイに画像を与えるようにも構成される。
【0044】
コンピュータ装置505は、入力/ユーザインタフェース535及び出力装置/インタフェース540に通信可能に結合され得る。入力/ユーザインタフェース535及び出力装置/インタフェース540の一方又は両方は、有線又は無線のインタフェースとすることができ、取り外し可能であり得る。入力/ユーザインタフェース535は、入力を与えるために使用できる任意の装置、コンポーネント、センサ、又は物理的若しくは仮想的なインタフェース(例えばボタン、タッチスクリーンインタフェース、キーボード、ポインティング/カーソル制御、マイクロホン、カメラ、点字、運動センサ、光学式読取機等)を含むことができる。出力装置/インタフェース540は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字等を含み得る。実装の一部の例では、入力/ユーザインタフェース535及び出力装置/インタフェース540をコンピュータ装置505に埋め込むことができ、又はコンピュータ装置505に物理的に結合することができる。実装の他の例では、他のコンピュータ装置が、コンピュータ装置505のための入力/ユーザインタフェース535及び出力装置/インタフェース540として機能することができ、又はその機能を提供し得る。
【0045】
コンピュータ装置505の例は、これだけに限定されないが高移動性の装置(例えばスマートフォン、車両及び他の機械内の装置、人間及び動物が運ぶ装置等)、モバイル装置(例えばタブレット、ノートブック、ラップトップ、パーソナルコンピュータ、携帯型テレビ、ラジオ等)、及び移動性に関して設計されていない装置(例えばデスクトップコンピュータ、他のコンピュータ、情報キオスク、1つ又は複数のプロセッサが埋め込まれた及び/又は結合されたテレビ、ラジオ等)を含み得る。
【0046】
コンピュータ装置505は、同じ構成又は異なる構成の1つ又は複数のコンピュータ装置を含む任意の数のネットワーク化されたコンポーネント、装置、及びシステムと通信するために、外部記憶装置545及びネットワーク550に(例えばI/Oインタフェース525を介して)通信可能に結合され得る。コンピュータ装置505又は接続された任意のコンピュータ装置は、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、又は別のラベルとして機能することができ、そのサービスを提供することができ、又はそのように言及され得る。
【0047】
I/Oインタフェース525は、これだけに限定されないが、計算環境500内の少なくとも全ての接続されたコンポーネント、装置、及びネットワークとの間で情報をやり取りするために任意の通信プロトコル若しくは規格又はI/Oプロトコル若しくは規格(例えばイーサネット、802.11x、ユニバーサルシステムバス、WiMax、モデム、セルラネットワークプロトコル等)を使用する有線及び/又は無線のインタフェースを含み得る。ネットワーク550は、任意のネットワーク又はネットワークの組み合わせ(例えばインターネット、ローカルエリアネットワーク、広域ネットワーク、電話網、セルラネットワーク、衛星ネットワーク等)とすることができる。
【0048】
コンピュータ装置505は、一時的媒体及び非一時的媒体を含む、コンピュータ使用可能媒体又はコンピュータ可読媒体を使用する及び/又は使用して通信することができる。一時的媒体は、伝送媒体(例えば金属ケーブル、光ファイバ)、信号、搬送波等を含む。非一時的媒体は、磁気媒体(例えばディスク及びテープ)、光学媒体(例えばCD ROM、デジタルビデオディスク、ブルーレイディスク)、ソリッドステート媒体(例えばRAM、ROM、フラッシュメモリ、ソリッドステート記憶域)、及び他の不揮発性記憶域又はメモリを含む。
【0049】
計算環境の一部の例では、コンピュータ装置505を使用して技法、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実装することができる。コンピュータ実行可能命令は、一時的媒体から取得し、非一時的媒体上に記憶しそこから取得することができる。実行可能命令は、任意のプログラミング言語、スクリプト言語、及び機械言語(例えばC、C++、C#、Java、Visual Basic、Python、Perl、JavaScript等)の1つ又は複数に由来し得る。
【0050】
プロセッサ510は、ネイティブ環境又は仮想環境内で任意のオペレーティングシステム(OS)(不図示)の下で実行可能である。論理ユニット560、アプリケーションプログラミングインタフェース(API)ユニット565、入力ユニット570、出力ユニット575、並びに様々なユニットが互いに、OSと、及び他のアプリケーション(不図示)と通信するためのユニット間通信機構595を含む1つ又は複数のアプリケーションを導入することができる。記載のユニット及び要素は、設計、機能、構成、又は実装の点で変更することができ、行った説明に限定されない。プロセッサ510は、中央処理装置(CPU)等のハードウェアプロセッサ形式又はハードウェアとソフトウェアユニットとの組み合わせの形式にあり得る。
【0051】
実装の一部の例では、情報又は実行命令がAPIユニット565によって受信されると、それが1つ又は複数の他のユニット(例えば論理ユニット560、入力ユニット570、出力ユニット575)に伝達され得る。上記の実装の一部の例において、一部の例では論理ユニット560がユニット間の情報フローを制御し、APIユニット565、入力ユニット570、出力ユニット575によって提供されるサービスを指示するように構成され得る。例えば1つ又は複数のプロセス又は実装のフローが、論理ユニット560によって単独で又はAPIユニット565と組み合わせて制御され得る。入力ユニット570は実施例の中で説明した計算のための入力を得るように構成することができ、出力ユニット575は実施例の中で説明した計算に基づいて出力を提供するように構成され得る。
【0052】
プロセッサ510は、配備マネージャの機能を助け、図1に示す操作の全てを実行するように構成することができる。例えばプロセッサ510は、図1の要素101に関して説明したように1つ又は複数のラック上に配備された複数のサーバを明らかにするために、LAN上でローカルにpingを発行するように構成することができる。プロセッサ510は、図1の要素102に関して説明したように複数のサーバのそれぞれについて電源投入時刻、現在のシステム時刻、及びオペレーティングシステム(OS)稼働時間を取得し、図1の要素103及び104に関して説明したように複数のサーバの電源投入順序を明らかにするように構成することができる。
【0053】
プロセッサ510は、図3(a)に示す設置命令及び図3(b)に示す電源投入順序に基づいて、及び図2(a)に記載されている通りに1つ又は複数のラック内の複数のサーバの物理的な位置を明らかにするように構成することができる。
【0054】
プロセッサ510は、図3(c)に示す物理的な位置に基づいて、及び図2(a)に記載されている通りに複数のサーバにインターネットプロトコル(IP)アドレスを割り当てるように構成することができる。IPアドレスは、プロセッサ510にて割り当てられる、サーバによって使用される。
【0055】
プロセッサ510は、1つ又は複数のラックのそれぞれにIPアドレスの範囲を割り当て、図2(a)に示したように1つ又は複数のラックのそれぞれの中の複数のサーバの物理的な位置を示すように構成されるグラフィカルユーザインタフェース(GUI)を提供し、図2(a)の割り当てられるIPアドレス203に示すように、1つ又は複数のラックのうちのあるラックに関して、ラック内の複数のサーバのためにラックに関連するIPアドレスの範囲内のIPアドレスの割り当てをラックの電源投入順序に基づいてGUI上で提供することにより、物理的な位置に基づいて複数のサーバにIPアドレスを割り当てるように構成されてもよい。図2(a)及び図2(b)に関して説明したように、GUIは複数のサーバのうちの選択されたものへのIPアドレスの割り当てをスキップするように構成することができる。
【0056】
プロセッサ510は、1つ又は複数のラックのそれぞれのスロット内の複数のサーバに対して、図2(a)、図2(b)、及び図3(a)から図3(c)に示したように1つ又は複数のラックのそれぞれの中のスロットの一番下のものからスロットの一番上のものへと昇順にIPアドレスを割り当てることにより、物理的な位置に基づいて複数のサーバにIPアドレスを割り当てるように構成されてもよい。プロセッサ510は、所望の実装に応じて、IPアドレスの割り当てを降順と昇順との間で反転させるためのコマンドを受け付けるように構成されるグラフィカルユーザインタフェース(GUI)を提供するように構成することができる。
【0057】
プロセッサ510は、現在のシステム時刻から導出される電源投入順序をOS時間から導出される電源投入順序と比較するように構成することができる。それらが一致しない場合、プロセッサ510は、図2(b)に示す、不一致を有する1つ又は複数のラックのうちのラックに関連する複数のサーバに電源投入を再び行うための命令を伝送するように構成されてもよい。例えば、図3(a)に示すような命令を自動的に送信して、影響を受けるサーバをオフにし、検出のためにそれらを交換したり再び電源投入したりすることができる。別の実施例では、命令はラック全体をシャットダウンするものでもよい。図2(b)に示すように、プロセッサ510は、1つ又は複数のラックのうちのラック内の不一致を強調表示するように構成されるグラフィカルユーザインタフェース(GUI)を提供するように構成されてもよい。
【0058】
詳細な説明の一部はコンピュータ内の操作のアルゴリズム及び記号表現に関して提示した。これらのアルゴリズム的記述及び記号表現は、その革新の本質を他の当業者に伝えるためにデータ処理技術の当業者によって使用される手段である。アルゴリズムは、所望の終了状態又は結果をもたらす一連の定義済みのステップである。実施例では、実行されるステップが具体的な結果を実現するために有形量の物理的操作を必要とする。
【0059】
別段の定めがない限り、解説から明らかなように説明の全体を通して「処理」、「コンピューティング」、「計算」、「決定」、「表示」等の用語を利用する解説は、コンピュータシステムのレジスタ及びメモリ内で物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリ若しくはレジスタ、又は他の情報記憶域、伝送若しくは表示装置内で物理量として同様に表される他のデータに変換するコンピュータシステム又は他の情報処理装置のアクション及びプロセスを含み得ることが理解されよう。
【0060】
実施例は、本明細書の操作を行うための機器にも関係し得る。この機器は所要の目的のために特別に構築することができ、又は1つ若しくは複数のコンピュータプログラムによって選択的に活性化され又は再構成される1つ又は複数の汎用コンピュータを含み得る。かかるコンピュータプログラムは、コンピュータ可読記憶媒体又はコンピュータ可読信号媒体等のコンピュータ可読媒体の中に記憶され得る。コンピュータ可読記憶媒体は、これだけに限定されないが光ディスク、磁気ディスク、読取専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びドライブ等の有形媒体、又は電子情報を記憶するのに適した他の任意の種類の有形媒体若しくは非一時的媒体を含み得る。コンピュータ可読信号媒体は搬送波等の媒体を含み得る。本明細書で提示したアルゴリズム及び表示は、或る特定のコンピュータ又は他の機器に固有に関係するものではない。コンピュータプログラムは所望の実装の操作を実行する命令を含む純粋なソフトウェア実装を含み得る。
【0061】
様々な汎用システムは、本明細書の例によるプログラム及びモジュールと共に使用することができ、又は所望の方法ステップを実行するためのより特化した機器を構築するのに便利であることが証明され得る。加えて実施例は、或る特定のプログラミング言語に関して説明していない。本明細書に記載した実施例の教示を実装するために、様々なプログラミング言語を使用できることが理解されよう。プログラミング言語の命令は1つ又は複数の処理装置、例えば中央処理装置(CPU)、プロセッサ、又はコントローラによって実行され得る。
【0062】
当技術分野で知られているように、上述した操作はハードウェア、ソフトウェア、又はソフトウェアとハードウェアとの何らかの組み合わせによって行うことができる。実施例の様々な側面が回路及び論理装置(ハードウェア)を使用して実装できるが、機械可読媒体上に記憶される命令(ソフトウェア)を使用して他の側面が実装されてもよく、かかる命令はプロセッサによって実行されるとき、本願の実装を実行するための方法をプロセッサに実行させる。更に本願の実装の一部の例はハードウェアのみで実行できるのに対し、実装の他の例はソフトウェアのみで実行することができる。更に、記載した様々な機能は単一のユニット内で実行することができ、又は任意の数のやり方で幾つかのコンポーネントに分散させることができる。ソフトウェアによって実行される場合、方法はコンピュータ可読媒体上に記憶される命令に基づいて汎用コンピュータ等のプロセッサによって実行され得る。必要に応じて命令は圧縮形式及び/又は暗号化形式で媒体上に記憶することができる。
【0063】
更に、本明細書を検討すること及び本願の教示を実践することにより、本願の他の実装が当業者に明らかになる。記載した実施例の様々な側面及び/又はコンポーネントは単独で又は任意の組み合わせで使用することができる。本明細書及び実施例は単に例として検討されることを意図し、本願の真の範囲及び趣旨は添付の特許請求の範囲によって示す。
図1
図2(a)】
図2(b)】
図3a
図3b
図3c
図4
図5
【国際調査報告】