(57)【要約】      （修正有）【課題】サーバシステムのハングアップしたデバイスを、ウェイク・オン・ラン（ＷｏＬ）メッセージおよびハングアップしたそのデバイスのステータスに基づいて、スマートにリセットするためのシステムおよび方法を提供する。【解決手段】サーバシステムは、管理デバイス、スイッチ、ネットワークに連結された物理層（ＰＨＹ）、ネットワークインタフェース（ＮＩＣ）、モニタリングデバイス、および遅延回路を含む。ＷｏＬメッセージを含むネットワークパケットを受信するために、ＰＨＹはネットワークに連結される。モニタリングデバイスは、管理デバイスからのステータス情報およびＷｏＬメッセージを受信し、受信した情報に基づいて管理デバイスをリセットするように構成される。【選択図】図２
2018116677.tif 000002
【特許請求の範囲】
【請求項１】
システムの管理デバイスをリセットするためのコンピュータ実装方法であって、
前記システムのネットワークインタフェース（ＮＩＣ）において、前記システムのスイッチを介してウェイク・オン・ラン（ＷｏＬ）メッセージを受信する段階と、
前記システムのモニタリングデバイスにおいて、前記システムの管理デバイスのステータス情報を受信する段階と、
前記ステータス情報に基づいて、前記管理デバイスが機能停止していることを判断する段階と、
前記モニタリングデバイスを通じて、前記管理デバイスをリセットさせる段階と、
含む、コンピュータ実装方法。
【請求項２】
前記ステータス情報に基づいて、前記管理デバイスが機能停止していないことを判断する段階と、
前記管理デバイスを前記ＷｏＬメッセージから遮断して、前記管理デバイスがリセットされることを防ぐ段階と、
をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記システムの前記ＮＩＣにおいて前記ＷｏＬメッセージを受信する段階は、
前記システムの物理層ハードウェア（ＰＨＹ）において、ネットワーク上で前記ＷｏＬメッセージを受信する段階と、
前記スイッチにおいて、前記ＰＨＹから前記ＷｏＬメッセージを受信する段階と、
を含む、請求項１または請求項２に記載のコンピュータ実装方法。
【請求項４】
前記スイッチにおいて、前記ＰＨＹを介してネットワークパケットを受信する段階と、
前記管理デバイスが機能停止から回復することを判断する段階と、
前記ネットワークパケットを前記スイッチから前記管理デバイスへ直接転送させる段階と、
をさらに含む、請求項３に記載のコンピュータ実装方法。
【請求項５】
前記スイッチは、第１のシリアルギガビットメディア独立型インタフェース（ＳＧＭＩＩ）を介して前記ＰＨＹと通信し、第２のＳＧＭＩＩを介して前記ＮＩＣと通信する、請求項３または請求項４に記載のコンピュータ実装方法。
【請求項６】
前記スイッチは、リデューストギガビットメディア独立型インタフェース（ＲＧＭＩＩ）を介して前記管理デバイスと通信する、請求項３または請求項４に記載のコンピュータ実装方法。
【請求項７】
遅延回路において、前記ＮＩＣから前記ＷｏＬメッセージを受信する段階と、
前記遅延回路により、前記ＮＩＣをリセットさせる段階と、
をさらに含む、請求項１から請求項６のいずれか１項に記載のコンピュータ実装方法。
【請求項８】
前記遅延回路により前記ＮＩＣをリセットさせる段階は、
前記遅延回路において、閾値期間にわたって前記ＷｏＬメッセージを保留する段階と、
前記閾値期間の最後に、前記ＷｏＬメッセージが前記ＮＩＣに送られるようにさせる段階と、
を含む、請求項７に記載のコンピュータ実装方法。
【請求項９】
前記モニタリングデバイスは、単一段階ウォッチドッグ回路または多段階ウォッチドッグ回路を備える、請求項１から請求項８のいずれか１項に記載のコンピュータ実装方法。
【請求項１０】
前記モニタリングデバイスは、前記管理デバイスの前記ステータス情報を受信するための第１入力ピンと、前記ＷｏＬメッセージを受信するための第２入力ピンとを備える、請求項１から請求項９のいずれか１項に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、概して、コンピューティングシステムにおけるシステムリカバリに関する。
【背景技術】
【０００２】
最新のサーバファームまたはデータセンタは、通常、様々なアプリケーションサービスの処理および記憶の要求を処理するために、多数のサーバを使用する。サーバの数が増えると、これらのサーバにあるプロセッサまたはコントローラは、ハングアップする可能性が高い。
【０００３】
しかしながら、サーバシステムのコントローラが機能停止した場合、サーバシステムの管理者にとって、コントローラを復旧させるまたはリセットするために取れる選択肢はほんのわずかだけしかない。管理者は、コントローラがハングアップから回復できるかどうかをじっと待つか、もしくは、コントローラまたはサーバシステムを物理的にリセットするために人を送るかしなくてはならない。従って、リモートサーバシステムをスマートにリセットするための解決策を提供する必要がある。
【０００４】
例えば、米国特許第８４５３０１３Ｂ１号明細書は、クライアントコンピュータおよび１または複数のサーバコンピュータを含む分散型の環境におけるハングアップした状況に関連した方法および装置を提供する。
【発明の概要】
【０００５】
本技術の様々な例によるシステムおよび方法が、サーバシステムのハングアップしたデバイス（例えば、管理デバイス）を、ウェイク・オン・ラン（ＷｏＬ）メッセージおよびハングアップしたこのデバイスのステータスに基づいてスマートにリセットすることにより、上述の問題に対する解決策を提供する。このシステムは、管理デバイス、スイッチ、ネットワークに連結された物理層ハードウェア（ＰＨＹ）、ネットワークインタフェース（ＮＩＣ）、モニタリングデバイス、および遅延回路を含む。ＰＨＹは、ネットワークに連結され、ＷｏＬメッセージを含むネットワークパケットを受信するように構成される。モニタリングデバイスは、管理デバイスのステータス情報およびＷｏＬメッセージを受信し、受信した情報に基づいて管理デバイスをリセットするように構成される。
【０００６】
いくつかの例において、モニタリングデバイスは、管理デバイスのステータス情報を受信するための第１入力ピンと、コマンドメッセージ（例えば、ＷｏＬメッセージ）を受信するための第２入力ピンを有する。管理デバイスのステータス情報は、管理デバイスから直接、または、管理デバイスに接続された別個のデバイスから受信され得る。
【０００７】
モニタリングデバイスは、管理デバイスのステータス情報に基づいて、この管理デバイスが機能停止しているかどうかを判断できる。管理デバイスが機能停止しており、ＷｏＬメッセージが受信された場合、モニタリングデバイスは、管理デバイスへリセット信号を送信できる。管理デバイスが機能停止しておらず、ＷｏＬメッセージが受信された場合、モニタリングデバイスは、ＷｏＬメッセージから管理デバイスを遮断し、管理デバイスがリセットされることを防ぐことができる。
【０００８】
いくつかの例において、モニタリングデバイスは、モニタリングデバイスの出力ピンおよび管理デバイスの電源オンリセットピンを介して管理デバイスに連結される。モニタリングデバイスは、管理デバイスをリセットするためのリセット信号を送信できる。リセットされた後に管理デバイスが回復すると判断することに応答して、スイッチは、ＰＨＹから直接管理デバイスへネットワークパケットを送ることができる。
【０００９】
いくつかの例において、ＮＩＣは、システムのスイッチを介してＰＨＹに連結される。スイッチからＷｏＬメッセージを受信することに応答して、ＮＩＣは、遅延回路およびモニタリングデバイスへＷｏＬメッセージを送ることができる。遅延回路は、ＬＣ回路、ＲＣ回路、および適切な時間遅延回路であり得る。遅延回路は、閾値期間にわたってＷｏＬメッセージを保留し、その後、ＮＩＣをリセットすべく、ＷｏＬメッセージをＮＩＣへ送り戻すように構成される。
【００１０】
いくつかの例において、モニタリング回路は、単一段階ウォッチドッグ回路または多段階ウォッチドッグ回路である。いくつかの例において、スイッチは、第１のシリアルギガビットメディア独立型インタフェース（ｓｅｒｉａｌ  ｇｉｇａｂｉｔ  ｍｅｄｉａ  ｉｎｄｅｐｅｎｄｅｎｔ  ｉｎｔｅｒｆａｃｅ：ＳＧＭＩＩ）を介してシステムのＰＨＹと通信することができ、第２のＳＧＭＩＩを介してシステムのＮＩＣと通信することができる。さらに、スイッチは、リデューストギガビットメディア独立型インタフェース（ｒｅｄｕｃｅｄ  ｇｉｇａｂｉｔ  ｍｅｄｉａ  ｉｎｄｅｐｅｎｄｅｎｔ  ｉｎｔｅｒｆａｃｅ：ＲＧＭＩＩ）を介して管理デバイスと通信することができる。
【図面の簡単な説明】
【００１１】
上記にて挙げた並びにその他の本開示の利点および特徴を得ることのできる態様を記載すべく、上記にて簡潔に記載された本原理のより特定された記載が、添付の図面に示されたそれらの具体例を参照して提供されるであろう。これらの図面は本開示の例となる態様を示すのみであり、従って、その範囲の限定であるとみなされるべきではないことを理解しつつ、本明細書における原理が、添付の図面の使用を通じた追加的な具体性および詳細により、記載および説明される。
【００１２】
【図１Ａ】本技術の実施例による例示的なサーバシステムの概略ブロック図を示す。
【００１３】
【図１Ｂ】本技術の実施例による例示的なシステムにおいてハングアップしたデバイスをスマートにリセットするように構成された例示的なシステムの概略ブロック図を示す。
【００１４】
【図２】本技術の実施例によるシステムの管理デバイスをスマートにリセットするための例示的な方法を示す。
【００１５】
【図３】本技術の様々な実施例による例示的なコンピューティングデバイスを示す。
【００１６】
【図４】本技術の様々な例による例示的なシステムを示す。
【図５】本技術の様々な例による例示的なシステムを示す。
【発明を実施するための形態】
【００１７】
本技術の様々な例が、サーバシステムにおけるハングアップしたデバイス（例えば、管理デバイス）を、ＷｏＬメッセージおよびハングアップしたこのデバイスのステータスに基づいてリセットするためのシステムおよび方法を提供する。このシステムは、管理デバイス、スイッチ、ネットワークに連結されたＰＨＹ、ＮＩＣ、モニタリングデバイス、および遅延回路を含む。ＰＨＹは、ネットワークに連結され、ＷｏＬメッセージを含むネットワークパケットを受信するように構成される。モニタリングデバイスは、管理デバイスのステータス情報およびＷｏＬメッセージを受信し、受信した情報に基づいて、管理デバイスをリセットするように構成される。
【００１８】
図１Ａは、本技術の実施例による例示的なサーバシステム１００Ａの概略ブロック図を示す。この例において、サーバシステム１００Ａは、キャッシュ１０６に接続された少なくとも１つのマイクロプロセッサまたはプロセッサ１０５、システム１００Ａをネットワーク１０１へ連結する物理層ハードウェア（ＰＨＹ）、１または複数の冷却コンポーネント１１５、メインメモリ（ＭＥＭ）１１４、電源１０９からＡＣ電力を受信し、サーバシステム１００Ａの様々なコンポーネントに電力を供給する、少なくとも１つの電源ユニット（ＰＳＵ）１０８を含む。様々なコンポーネントとしては、プロセッサ１０５、キャッシュ１０６、ノースブリッジ（ＮＢ）ロジック１１０、ＰＣＩｅスロット１６０、メモリ１１４、サウスブリッジ（ＳＢ）ロジック１１２、記憶デバイス１１３、ＩＳＡスロット１５０、ＰＣＩスロット１７０、管理デバイス１０４、および、ＰＨＹ１０２を管理デバイス１０４へ連結するスイッチ１０７のようなものが挙げられる。電源オンにされた後、サーバシステム１００Ａは、メモリ、コンピュータ記憶デバイス、または外部記憶デバイスから、様々な動作を実行するためのソフトウェアアプリケーションをロードするように構成される。記憶デバイス１１３は、サーバシステム１００Ａのオペレーティングシステムおよびアプリケーションが利用可能な複数の論理ブロックに構造化され、サーバシステム１００Ａが電源オフにされている場合さえもサーバデータを保持するように構成される。
【００１９】
いくつかの例において、１または複数の冷却コンポーネント１１５は、空冷式のコンポーネント、液冷式のコンポーネント、または空冷式および液冷式コンポーネントの組み合わせであり得る。いくつかの例において、１または複数の冷却コンポーネント１１５は、サーバシステム１００Ａの前側および／または後側に配置される複数のファンを含む。
【００２０】
メインメモリ１１４は、ＮＢロジック１１０を介してプロセッサ１０５に連結され得る。メモリ制御モジュール（図示されず）が、メモリ動作の間に必要な制御信号をアサートすることにより、メモリ１１４の動作を制御するために使用され得る。メインメモリ１１４は、これらに限定されるものではないが、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲ  ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、またはその他のタイプの適切なメモリを含んでよい。
【００２１】
いくつかの実装例において、プロセッサ１０５は、ＮＢロジック１１０に接続されたＣＰＵバスを通じてそれぞれが一緒に連結された、マルチコアプロセッサであり得る。いくつかの実装例において、ＮＢロジック１１０は、プロセッサ１０５に統合され得る。ＮＢロジック１１０は、複数のペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）スロット１６０およびＳＢロジック１１２（任意）にもまた接続され得る。複数のＰＣＩｅスロット１６０は、ＰＣＩエクスプレスｘ１、ＵＳＢ２．０、ＳＭＢｕｓ、ＳＩＭカード、別のＰＣＩｅレーンのための将来の拡張、１．５Ｖおよび３．３Ｖ電力、およびサーバ筐体上の診断ＬＥＤへのワイヤのような接続およびバスのために使用され得る。
【００２２】
この例において、ＮＢロジック１１０とＳＢロジック１１２は、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス１１１により接続される。ＰＣＩバス１１１は、ＣＰＵのネイティブバスのいずれとも独立した標準化されたフォーマットにあるＣＰＵバス上の機能をサポートできる。ＰＣＩバス１１１は、複数のＰＣＩスロット１６０（例えば、ＰＣＩスロット１６１）にさらに接続され得る。ＰＣＩバス１１１へのデバイス接続は、バスコントローラ（図示されず）にとって、ＣＰＵバスへ直接接続され、プロセッサ１０５のアドレス空間においてアドレスを割り当てられ、単一のバスクロックに同期されているように見えるかもしれない。ＰＣＩカードは、複数のＰＣＩスロット１７０において使用されることができ、これらに限定されるものではないが、ネットワークインタフェースカード（ＮＩＣ）、サウンドカード、モデム、テレビチューナーカード、ディスクコントローラ、ビデオカード、スモールコンピュータシステムインタフェース（ＳＣＳＩ）アダプタ、およびパーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）カードを含むことができる。
【００２３】
ＳＢロジック１１２は、ＰＣＩバス１１１を、拡張バスを介して複数の拡張カードまたはスロット１５０（例えば、ＩＳＡスロット１５１）へ連結できる。拡張バスは、ＳＢロジック１１２と周辺機器との間の通信に使用されるバスであることができ、これらに限定されるものではないが、業界標準アーキテクチャ（ＩＳＡ）バス、ＰＣ／１０４バス、ローピンカウントバス、拡張ＩＳＡ（ＥＩＳＡ）バス、ユニバーサルシリアルバス（ＵＳＢ）、インテグレーテッドドライブエレクトロニクス（ＩＤＥ）バス、または、周辺機器用のデータ通信のために使用され得る任意の他の適切なバスを含むことができる。
【００２４】
この例においてＳＢロジック１１２は、少なくとも１つのＰＳＵ１０８に接続された管理デバイス１０４にさらに連結される。いくつかの実装例において、管理デバイス１０４は、ベースボード管理コントローラ（ＢＭＣ）、ラック管理コントローラ（ＲＭＣ）、または、任意の他の適切なタイプのシステムコントローラであり得る。管理デバイス１０４は、少なくとも１つのＰＳＵ１０８の動作および／またはその他の適用可能な動作を制御するように構成される。いくつかの実装例において、管理デバイス１０４は、処理要求、並びに、サーバシステム１００Ａのコンポーネントおよび／または接続ステータスを監視するように構成される。
【００２５】
図１Ｂは、本技術の実施例による例示的なシステムにおいてハングアップしたデバイスをスマートにリセットするように構成された例示的なシステム１００Ｂの概略ブロック図を示す。この例において、システム１００Ｂは、ＰＨＹ１０２、スイッチ１０７、管理デバイス１０４、ＮＩＣ１１７、ＥＥＰＲＯＭ１２０、モニタリングデバイス１１９、および遅延回路１１８を含む。ＰＨＹ１０２は、ネットワーク１０１に接続され、ネットワーク１０１へネットワークパケットを送信するように、およびネットワーク１０１からネットワークパケットを受信するように構成される。スイッチ１０７を通じて、ＰＨＹ１０２は、管理デバイス１０４およびＮＩＣ１１７に連結される。
【００２６】
ＮＩＣ１１７は、管理可能性トラフィックに対する様々なインタフェースを提供するように構成され得る。例えば、ＮＩＣ１１７は、２つの異なるバスインタフェースであって、互いに排他的なバスインタフェース、例えば、システム管理バス（ＳＭＢｕｓ）およびネットワークコントローラ−サイドバンドインタフェース（ＮＣ−ＳＩ）を提供できる。ＥＥＰＲＯＭ１２０は、ＮＩＣ１１７のインタフェースの管理ファームウェアを格納するように構成され得る。
【００２７】
モニタリングデバイス１１９は、モニタリングデバイス１１９の出力ピン１２１および管理デバイス１０４の入力ピン１２２を通じて、管理デバイス１０４に連結される。モニタリングデバイス１１９は、第１入力ピン１２６を介して管理デバイス１０４のステータス情報１２４を受信するように構成され、第２入力ピン１２３を介してＮＩＣ１１７からコマンドメッセージ（例えば、ＷｏＬメッセージ）を受信するように構成される。管理デバイス１０４が機能停止しており、ＷｏＬメッセージが受信されると判断することに応答して、モニタリングデバイス１１９は、管理デバイス１０４をリセットするため、または復旧させるためのリセット信号１２５を送信できる。リセットされた後に管理デバイス１０４が回復したと判断すると、スイッチ１０７は、ＰＨＹ１０２から管理デバイス１０４へ直接ネットワークパケットを送ることができる。
【００２８】
管理デバイス１０４が機能停止しておらず、ＷｏＬメッセージが受信されると判断することに応答して、モニタリングデバイス１１９は、ＷｏＬメッセージから管理デバイス１０４を遮断し、管理デバイス１０４がリセットされることを防ぐことができる。いくつかの例において、モニタリングデバイス１１９は、単一段階ウォッチドッグ回路または多段階ウォッチドッグ回路であり得る。
【００２９】
この例において、ＮＩＣ１１７は、遅延回路１１８に接続される。遅延回路１１８は、閾値期間にわたってメッセージ（例えば、ＷｏＬメッセージ）を保留し、その後、このメッセージをＮＩＣ１１７へ送り戻すように構成される。例えば、メッセージがＷｏＬメッセージである場合、遅延回路１１８は、ＮＩＣ１１７をリセットするための閾値期間の後、ＷｏＬメッセージをＮＩＣ１１７へと送り戻すことができる。
【００３０】
図１Ａ−１Ｂにおける例示的なシステム１００Ａ−１００Ｂ内にはいくつかのコンポーネントのみが示されているものの、それぞれ、データを処理または格納することの可能な、信号を受信または送信することの可能な、もしくは、下流にあるコンポーネントに新鮮な空気を提供することの可能な、様々なタイプの電子コンポーネントまたはコンピューティングコンポーネントもまた、例示的なシステム１００Ａ−１００Ｂに含まれ得る。さらに、例示的なシステム１００Ａ−１００Ｂ中の電子コンポーネントまたはコンピューティングコンポーネントは、様々なタイプのアプリケーションを実行するように構成され得る。および／または、様々なタイプのオペレーティングシステムを使用できる。これらのオペレーティングシステムは、限定されるものではないが、Ａｎｄｒｏｉｄ（登録商標）、Ｂｅｒｋｅｌｅｙ  Ｓｏｆｔｗａｒｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ（ＢＳＤ）、ｉＰｈｏｎｅ（登録商標）ＯＳ（ｉＯＳ）、Ｌｉｎｕｘ（登録商標）、ＯＳＸ、Ｕｎｉｘ（登録商標）系リアルタイムオペレーティングシステム（例えば、ＱＮＸ）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗ  Ｐｈｏｎｅ、およびＩＢＭ  ｚ／ＯＳを含むことができる。
【００３１】
例示的なシステム１００Ａ−１００Ｂに対して所望される実装に応じて、これらに限定されるものではないが、ＴＣＰ／ＩＰ、開放型システム間相互接続（ＯＳＩ）、ファイル転送プロトコル（ＦＴＰ）、ユニバーサルプラグアンドプレイ（ＵｐｎＰ）、ネットワークファイルシステム（ＮＦＳ）、共通インターネットファイルシステム（ＣＩＦＳ）、Ａｐｐｌｅ  Ｔａｌｋなどを含む、様々なネットワーキングプロトコルおよびメッセージングプロトコルが使用され得る。当業者には理解されるだろうが、図１Ａ−１Ｂに示される例示的なシステム１００Ａ−１００Ｂは、説明を目的として使用されている。従って、ネットワークシステムは、必要に応じて、多くの変形とともに実装されることができ、本技術の様々な例によるネットワークプラットフォームの構成をさらに提供することができる。
【００３２】
図１Ａ−１Ｂの例示的な構成において、例示的なシステム１００Ａ−１００Ｂは、特定の無線チャネルの通信範囲内にある１または複数の電子デバイスと通信するように動作可能な１または複数の無線コンポーネントを含むこともまたできる。無線チャネルは、Ｂｌｕｅｔｏｏｔｈ（登録商標）、セルラー、ＮＦＣ、またはＷｉ−Ｆｉチャネルのように、デバイスが無線で通信することを可能にするために使用される、任意の適切なチャネルであり得る。デバイスは、当技術分野において知られているような、１または複数の従来の有線通信接続を有し得ることが理解されるべきである。様々なその他の要素および／または組み合わせが、様々な例の範囲内で同様に可能である。
【００３３】
上記の説明は、本技術の原理および様々な例の例示であることが意図されている。ひとたび上記の開示が十分に理解されれば、多数の変更および修正が明らかになるであろう。
【００３４】
図２は、本技術の実施例による、システムの管理デバイスをスマートにリセットするための例示的な方法２００を示す。例示的な方法２００は、単に例示的な目的で提示されており、本技術によるその他の方法が、同様な、または代替的な順序で、もしくは並行して実行される、追加の、より少ない、または代替的なステップを含み得ることが理解されるべきである。例示的な方法２００は、ステップ２０２において、ネットワーク上のＷｏＬメッセージを受信することから始まる。ＷｏＬメッセージは、図１Ａ−１Ｂに示されるように、システムのＰＨＹにおいて受信され得る。ＰＨＹは、ネットワークへネットワークパケットを送信するように、またはネットワークからネットワークパケットを受信するように構成され得る。例えば、ＰＨＹは、システムのスイッチを介して、ＮＩＣおよび管理デバイスへネットワークパケットを送ることができる。
【００３５】
ステップ２０４において、図１Ｂに示されるように、ＮＩＣが、スイッチを介してＰＨＹからＷｏＬメッセージを受信する。ＮＩＣは、データトラフィックのための様々なインタフェースを提供するように構成され得る。いくつかの例において、ＮＩＣは、モニタリングデバイスおよび遅延回路に接続される。
【００３６】
ステップ２０６において、図１Ｂに示されるように、モニタリングデバイスが管理デバイスのステータス情報を受信する。このステータス情報は、管理デバイスから直接受信され得る、または、管理デバイスのステータスを監視する別個のデバイスから受信され得る。ステップ２０８において、モニタリングデバイスは、管理デバイスが機能停止しているかまたはしていないかどうかを判断できる。
【００３７】
ステップ２１０において、管理デバイスが機能停止していると判断することに応答して、図１Ｂに示されるように、モニタリングデバイスは、管理デバイスをリセットさせることができる。例えば、モニタリングデバイスは、管理デバイスをリセットするために、管理デバイスの電源オンリセットピンへリセット信号を送信できる。
【００３８】
ステップ２１２において、遅延回路が、図１Ｂに示されるように、閾値期間にわたってＷｏＬメッセージを保留することができ、その後、ＮＩＣをリセットするために、ＷｏＬメッセージをＮＩＣへ送り戻すことができる。
【００３９】
ステップ２１４において、ＰＨＹは、ネットワーク上でネットワークパケットを受信し、受信したネットワークパケットをスイッチへ送る。ステップ２１６において、リセットされた後に管理デバイスが回復すると判断すると、図１Ｂに示されるように、スイッチは、受信したネットワークパケットを直接管理デバイスへ送ることができる。
用語
【００４０】
コンピュータネットワークとは、パーソナルコンピュータおよびワークステーションのような、複数のエンドポイント間でデータを転送するための通信リンクおよびセグメントによって相互結合された、地理的に分散した一群のノードである。多くのタイプのネットワークが利用可能であり、それらのタイプは、ローカルエリアネットワーク（ＬＡＮ）およびワイドエリアネットワーク（ＷＡＮ）から、仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ）のようなオーバーレイおよびソフトウェア定義ネットワークにまで及ぶ。
【００４１】
ＬＡＮは、通常、ビルディングまたはキャンパスのような、同一の一般的な物理的位置に配置された専用のプライベート通信リンク上で、複数のノードを接続する。他方、ＷＡＮは、通常、共通キャリア電話線、光パス、同期型光ネットワーク（ＳＯＮＥＴ）、または、同期デジタルハイアラーキ（ＳＤＨ）リンクのような、長距離通信リンク上で、地理的に分散した複数のノードを接続する。ＬＡＮおよびＷＡＮは、レイヤ２（Ｌ２）および／またはレイヤ３（Ｌ３）ネットワークおよびデバイスを含むことができる。
【００４２】
インターネットは、世界中の異なるネットワークを接続するＷＡＮの例であり、様々なネットワーク上の複数のノード間でのグローバルな通信を提供する。これらのノードは、通常、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）のような、予め定義されたプロトコルに従って、個別のデータのフレームまたはパケットを交換することにより、ネットワーク上で通信する。これに関連して、プロトコルとは、これらのノードがどのようにして互いにやり取りするのかを画定する複数のルールの組を指すことができる。コンピュータネットワークは、各ネットワークの実効的な"サイズ"を拡張すべく、ルータのような中間のネットワークノードによって、さらに相互結合され得る。
【００４３】
オーバーレイネットワークは、概して、仮想ネットワークが生成されること、および物理ネットワークインフラストラクチャ上に重ねられることを可能にする。仮想拡張可能ＬＡＮ（ＶＸＬＡＮ）、Ｎｅｔｗｏｒｋ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ｕｓｉｎｇ  Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ（ＮＶＧＲＥ）、ネットワーク仮想化オーバーレイ（ＮＶＯ３）、およびＳｔａｔｅｌｅｓｓ  Ｔｒａｎｓｐｏｒｔ  Ｔｕｎｎｅｌｉｎｇ（ＳＴＴ）のようなオーバーレイネットワークプロトコルが、論理トンネル上でＬ２およびＬ３ネットワークにわたってネットワークトラフィックが伝搬されることを可能にするトラフィックカプセル化スキームを提供する。そのような論理トンネルは、仮想トンネルエンドポイント（ＶＴＥＰ）を通じて起点とされ、終端され得る。
【００４４】
さらに、オーバーレイネットワークは、その上でＶＭが通信する仮想Ｌ２および／またはＬ３オーバーレイネットワークを含むことのできる、ＶＸＬＡＮオーバーレイネットワーク中のＶＸＬＡＮセグメントのような、仮想セグメントを含むことができる。仮想セグメントは、関連する仮想セグメントまたはドメインを具体的に特定することのできる、ＶＸＬＡＮネットワーク識別子のような、仮想ネットワーク識別子（ＶＮＩ）を通じて特定され得る。
【００４５】
ネットワーク仮想化は、ハードウェアおよびソフトウェアリソースが仮想ネットワーク中で組み合わされることを可能にする。例えば、ネットワーク仮想化は、多数のＶＭが、それぞれの仮想ＬＡＮ（ＶＬＡＮ）を介して物理ネットワークに取り付けられることを可能にし得る。これらのＶＭは、それぞれのＶＬＡＮに従ってグループ化されることができ、内部または外部ネットワーク上で、他のＶＭ並びに他のデバイスと通信することができる。
【００４６】
物理セグメントまたは仮想セグメント、ネットワーク、デバイス、ポート、物理リンクまたは論理リンク、および／または一般のトラフィックのようなネットワークセグメントは、ブリッジドメインまたはフラッドドメインにグループ化され得る。ブリッジドメインまたはフラッドドメインは、Ｌ２ブロードキャストドメインのようなブロードキャストドメインを表すことができる。ブリッジドメインまたはフラッドドメインは、単一のサブネットを含むことができるが、複数のサブネットを含むこともまたできる。さらに、ブリッジドメインは、スイッチのような、ネットワークデバイス上のブリッジドメインインタフェースと関連付けられ得る。ブリッジドメインインタフェースは、Ｌ２ブリッジ接続されたネットワークとＬ３ルーティングされたネットワークとの間のトラフィックをサポートする論理インタフェースであり得る。さらに、ブリッジドメインインタフェースは、インターネットプロトコル（ＩＰ）終端、ＶＰＮ終端、アドレス決定処理、ＭＡＣアドレス指定などをサポートできる。ブリッジドメインおよびブリッジドメインインタフェースの両者が、同一のインデックスまたは識別子によって特定され得る。
【００４７】
さらに、エンドポイントグループ（ＥＰＧ）が、ネットワークに対してアプリケーションをマッピングするためにネットワーク内で使用され得る。特に、ＥＰＧは、アプリケーションのグループに対して接続性およびポリシーを適用するために、ネットワーク中のアプリケーションエンドポイントのグループ化を使用できる。ＥＰＧは、転送およびポリシーロジックを実装するための、大量のまたは一群のアプリケーション、もしくはアプリケーションコンポーネント、およびティアに対するコンテナとして作用し得る。ＥＰＧはまた、ネットワークポリシー、セキュリティ、および転送のアドレス指定からの分離を、論理アプリケーション境界を代わりに使用することによって可能にする。
【００４８】
共有リソースを使用したコンピューティングサービスを提供すべく、クラウドコンピューティングもまた、１または複数のネットワーク中に提供され得る。クラウドコンピューティングは、概して、インターネットベースのコンピューティングを含むことができる。そこでは、コンピューティングリソースが、動的にプロビジョニングされ、ネットワーク（例えば、"そのクラウド"）を介して利用可能な一群のリソースから、クライアントまたはユーザコンピュータまたは他のデバイスにオンデマンドで割り当てられる。例えば、クラウドコンピューティングリソースは、コンピューティングデバイス、記憶デバイス、およびネットワークデバイス、仮想マシン（ＶＭ）などのような、あらゆるタイプのリソースを含むことができる。例えば、リソースは、サービスデバイス（ファイアウォール、ディープパケットインスペクタ、トラフィックモニタ、ロードバランサ、など）、演算／処理デバイス（サーバ、ＣＰＵ、メモリ、ブルートフォース処理能力）、記憶デバイス（例えば、ネットワーク装着された記憶装置、ストレージエリアネットワークデバイス）などを含むことができる。さらに、そのようなリソースは、仮想ネットワーク、仮想マシン（ＶＭ）、データベース、アプリケーション（Ａｐｐ）などをサポートすべく使用され得る。
【００４９】
クラウドコンピューティングリソースは、"プライベートクラウド"、"パブリッククラウド"、および／または"ハイブリッドクラウド"を含むことができる。"ハイブリッドクラウド"は、技術を通じて相互に動作するまたは連合する、２またはそれよりも多くのクラウドから構成されるクラウドインフラストラクチャであり得る。基本的に、ハイブリッドクラウドは、プライベートおよびパブリッククラウド間のインタラクションである。ここでは、プライベートクラウドがパブリッククラウドに参加し、セキュア且つ拡張可能な態様で、パブリッククラウドのリソースを利用する。クラウドコンピューティングリソースはまた、ＶＸＬＡＮのようなオーバーレイネットワークにおける仮想ネットワークを介してプロビジョニングされ得る。
【００５０】
ネットワークスイッチシステムにおいて、スイッチシステムに取り付けられた多数のエンドポイント間のルートを追跡すべく、検索データベースが維持され得る。しかしながら、エンドポイントは様々な構成を有することができ、多くのテナントと関連付けられる。これらのエンドポイントは、様々なタイプの識別子、例えば、ＩＰｖ４、ＩＰｖ６、またはレイヤ−２を有し得る。検索データベースは、様々なタイプのエンドポイント識別子を処理すべく、様々なモードで構成されなくてはならない。様々なアドレスタイプの受信パケットに対処すべく、検索データベースのいくらかの容量が分割される。さらに、ネットワークスイッチシステム上の検索データベースは、通常、１Ｋ  ｖｉｒｔｕａｌ  ｒｏｕｔｉｎｇ  ａｎｄ  ｆｏｒｗａｒｄｉｎｇ（ＶＲＦ）によって制限される。従って、様々なタイプのエンドポイント識別子を処理するために、改善された検索アルゴリズムが所望される。開示される技術は、電気通信ネットワークにおけるアドレス検索に対する当技術分野における要求に対処する。エンドポイント識別子を一様空間にマッピングすることにより、様々なタイプのエンドポイント識別子を統合し、様々な形の検索を一様に処理することを可能にするシステム、方法、およびコンピュータ可読記憶媒体が開示される。図３および４に示されるような、例示的なシステムおよびネットワークの簡潔な導入的記載が本明細書にて開示される。様々な例が説明されるので、これらの変形が本明細書に記載されるであろう。本技術は、ここから図３を参照する。
【００５１】
図３は、本技術を実装するのに適切なコンピューティングデバイス３００の例を示す。コンピューティングデバイス３００は、マスター中央演算処理装置（ＣＰＵ）３６２、インタフェース３６８、およびバス３１５（例えば、ＰＣＩバス）を含む。適切なソフトウェアまたはファームウェアの制御下で動作する場合、ＣＰＵ３６２は、例えば、ミスケーブリング検出機能のような、パケット管理、エラー検出、および／またはルーティング機能を実行する役割を担う。ＣＰＵ３６２は、好ましくは、オペレーティングシステムおよび任意の適切なアプリケーションソフトウェアを含むソフトウェアの制御下において、これらの全ての機能を遂行する。ＣＰＵ３６２は、モトローラ系のマイクロプロセッサまたはＭＩＰＳ系のマイクロプロセッサからのプロセッサのような、１または複数のプロセッサ３６３を含むことができる。代替例において、プロセッサ３６３は、コンピューティングデバイス３００の動作を制御するために特別に設計されたハードウェアである。具体例において、（不揮発性ＲＡＭおよび／またはＲＯＭのような）メモリ３６１もまた、ＣＰＵ３６２の一部を形成する。しかしながら、メモリがシステムに連結されることができるような、多くの異なるやり方がある。
【００５２】
インタフェース３６８は、通常、インタフェースカード（場合により"ラインカード"と呼ばれる）として提供される。これらは、概して、ネットワーク上でのデータパケットの送信および受信を制御し、場合により、コンピューティングデバイス３００とともに使用されるその他の周辺機器をサポートする。提供され得るインタフェースの中では、イーサネット（登録商標）インタフェース、フレームリレーインタフェース、ケーブルインタフェース、ＤＳＬインタフェース、トークンリングインタフェースなどがある。さらに、ファストトークンリングインタフェース、無線インタフェース、イーサネット（登録商標）インタフェース、ギガビットイーサネット（登録商標）インタフェース、ＡＴＭインタフェース、ＨＳＳＩインタフェース、ＰＯＳインタフェース、ＦＤＤＩインタフェースなどのような、様々な、非常に高速のインタフェースが提供され得る。これらのインタフェースは、概して、適切な媒体との通信のために適切な複数のポートを含むことができる。いくつかの事例において、これらは、独立したプロセッサを含むこともまたでき、いくつかの例においては、揮発性ＲＡＭを含むこともできる。独立したこれらのプロセッサは、パケットスイッチング、媒体制御および管理として、そのような通信集約的タスクを制御できる。通信集約的タスク用に別個のプロセッサを提供することにより、これらのインタフェースは、ルーティング計算、ネットワーク診断、セキュリティ機能などをマスターマイクロプロセッサ３６２が効率的に実行することを可能にする。
【００５３】
図３に示されるシステムは、本技術における、ある１つの特定のコンピューティングデバイスであるものの、これが、本願が実装され得る唯一のネットワークデバイスアーキテクチャでは決してない。例えば、通信並びにルーティング計算などを処理する単一のプロセッサを有するアーキテクチャがしばしば使用される。さらに、その他のタイプのインタフェースおよび媒体もまた、ルータとともに使用され得るだろう。
【００５４】
ネットワークデバイスの構成に関わらず、本明細書に記載されるローミング、ルート最適化およびルーティング機能に向けた、汎用のネットワーク動作およびメカニズムのためのプログラム命令を格納するように構成された、１または複数のメモリまたはメモリモジュール（メモリ３６１を含む）を使用できる。プログラム命令は、例えば、オペレーティングシステムおよび／または１または複数のアプリケーションの動作を制御できる。メモリまたは複数のメモリもまた、モビリティバインディング、レジストレーション、および関連テーブルなどのようテーブルを格納するように構成され得る。
【００５５】
図４および５は、システムの実施形態の例を示す。本技術を実施する場合に、より適切な実施形態が当業者に明らかになるであろう。当業者は、その他のシステムの実施形態が可能なこともまた、容易に理解するであろう。
【００５６】
図４は、システムバスコンピューティングシステムアーキテクチャ４００を示し、このシステムの複数のコンポーネントが、バス４０２を使用して、互いに電気的に通じている。例示的なシステム４００は、プロセッシングユニット（ＣＰＵまたはプロセッサ）４３０、および、リードオンリメモリ（ＲＯＭ）４０６およびランダムアクセスメモリ（ＲＡＭ）４０８のようなシステムメモリ４０４を含む様々なシステムコンポーネントをプロセッサ４３０へ連結するシステムバス４０２を含む。システム４００は、プロセッサ４３０と直接接続された、プロセッサ４３０に近接した、または、プロセッサ４３０の一部として統合された、高速メモリのキャッシュを含むことができる。システム４００は、メモリ４０４および／または記憶デバイス４１２から、プロセッサ４３０による迅速なアクセス用のキャッシュ４２８へデータをコピーできる。このように、キャッシュは、データを待っている間のプロセッサ４３０の遅延を避ける、性能ブーストを提供できる。これらの、およびその他のモジュールは、様々な動作を実行すべく、プロセッサ４３０を制御できる。または、プロセッサ４３０を制御するように構成され得る。その他のシステムメモリ４０４が、同様に使用するために利用可能であってよい。メモリ４０４は、異なる性能特性を有する異なる複数のタイプのメモリを含むことができる。プロセッサ４３０は、ソフトウェア命令が実際のプロセッサ設計に組み込まれているプロセッサ４３０並びに特定用途向けプロセッサを制御するように構成された、モジュール１  ４１４、モジュール２  ４１６、およびモジュール３  ４１８のような、記憶デバイス４１２に格納された任意の汎用プロセッサおよびハードウェアモジュールまたはソフトウェアモジュールを含むことができる。プロセッサ４３０は、本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む完全に自己完結型のコンピューティングシステムであってよい。マルチコアプロセッサは、対称的または非対称的であってよい。
【００５７】
コンピューティングデバイス４００とのユーザインタラクションを可能とすべく、入力デバイス４２０は、音声用のマイク、ジェスチャ入力またはグラフィカル入力用のタッチセンサ式スクリーン、キーボード、マウス、動き入力、音声などのような、任意の数の入力メカニズムを表すことができる。出力デバイス４２２もまた、当業者に知られた多数の出力メカニズムのうちの１または複数であり得る。いくつかの例において、マルチモードのシステムが、システム４００と通信するための複数のタイプの入力をユーザが提供することを可能にし得る。通信インタフェース４２４は、概して、ユーザ入力およびシステム出力を制御および管理できる。あらゆる特定のハードウェア配置における動作には、何の制約も無い。従って、ここでの基本的な特徴は、改善されたハードウェア配置またはファームウェア配置のために、開発されるに連れて、容易に置換されてよい。
【００５８】
記憶デバイス４１２は、不揮発性メモリであり、コンピュータによってアクセス可能なデータを格納することのできる、ハードディスクまたはその他のタイプのコンピュータ可読媒体であることができ、例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）４０８、リードオンリメモリ（ＲＯＭ）４０６、およびそれらのハイブリッドである。
【００５９】
記憶デバイス４１２は、プロセッサ４３０を制御するためのソフトウェアモジュール４１４、４１６、４１８を含むことができる。その他のハードウェアモジュールまたはソフトウェアモジュールが考えられる。記憶デバイス４１２は、システムバス４０２に接続され得る。ある１つの態様において、特定の機能を実行するハードウェアモジュールは、その機能を実行するための、プロセッサ４３０、バス４０２、ディスプレイ４３６などのような必要なハードウェアコンポーネントと接続したコンピュータ可読媒体に格納されたソフトウェアコンポーネントを含むことができる。
【００６０】
コントローラ４１０は、ＢＭＣ（ベースボード管理コントローラ）のような、システム４００上の専用のマイクロコントローラまたはプロセッサであり得る。いくつかの事例において、コントローラ４１０は、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）の一部であり得る。さらに、いくつかの事例において、コントローラ４１０は、システム４００のマザーボードまたはメイン回路基板に組み込まれ得る。コントローラ４１０は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理できる。コントローラ４１０は、さらに以下に記載されるように、コントローラまたは周辺機器のような、様々なシステムデバイスおよびコンポーネント（内部および／または外部）ともまた通信できる。
【００６１】
コントローラ４１０は、通知、アラート、および／またはイベントに対する特定の応答を生成すること、リモートデバイスまたはコンポーネントと通信すること（例えば、電子メールメッセージ、ネットワークメッセージなど）、自動ハードウェアリカバリ手順のための命令またはコマンドを生成することなどができる。管理者は、以下にさらに記載されるように、特定のハードウェアリカバリ手順または動作を開始または実行するために、コントローラ４１０とリモート通信することもまたできる。
【００６２】
システム４００の様々なタイプのセンサ（例えば、センサ４２６）が、冷却ファン速度、電力ステータス、オペレーティングシステム（ＯＳ）ステータス、ハードウェアステータスなどのようなパラメータについて、コントローラ４１０に対してレポートできる。コントローラ４１０は、システムイベントログコントローラ、および／または、コントローラ４１０によって受信されたイベント、アラート、並びに通知を管理および維持するための記憶装置を含むこともまたできる。例えば、コントローラ４１０またはシステムイベントログコントローラは、１または複数のデバイスおよびコンポーネントからアラートまたは通知を受信すること、および、そのアラートまたは通知をシステムイベントログ記憶コンポーネントに維持することができる。
【００６３】
フラッシュメモリ４３２は、記憶および／またはデータ転送のためにシステム４００によって使用され得る、電子的不揮発性コンピュータ記憶媒体またはチップであり得る。フラッシュメモリ４３２は、電気的に消去および／または再プログラムされ得る。フラッシュメモリ４３２は、例えば、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、ＲＯＭ、ＮＶＲＡＭ、または相補型金属酸化膜半導体（ＣＭＯＳ）を含むことができる。フラッシュメモリ４３２は、システム４００が最初に電源オンにされたときにシステム４００によって実行されるファームウェア４３４を、このファームウェア４３４に対して特定される複数の設定の組と共に格納できる。フラッシュメモリ４３２は、ファームウェア４３４によって使用される設定を格納することもまたできる。
【００６４】
ファームウェア４３４は、基本入出力システムまたは、拡張可能ファームウェアインタフェース（ＥＦＩ）またはユニファイドエクステンシブルファームウェアインタフェース（ＵＥＦＩ）のような、その後継物もしくは同等物を含むことができる。ファームウェア４３４は、システム４００が起動されるたびに、一連のプログラムとしてロードおよび実行され得る。ファームウェア４３４は、複数の設定の組に基づいて、システム４００に存在するハードウェアを認識、初期化、および試験できる。ファームウェア４３４は、パワーオンセルフテスト（ＰＯＳＴ）のようなセルフテストを、システム４００に実行できる。このセルフテストは、ハードディスクドライブ、光学式読取デバイス、冷却デバイス、メモリモジュール、拡張カードなどのような、様々なハードウェアコンポーネントの機能を試験できる。ファームウェア４３４は、オペレーティングシステム（ＯＳ）を格納するために、メモリ４０４、ＲＯＭ４０６、ＲＡＭ４０８、および／または記憶デバイス４１２中の領域をアドレス指定すること、および割り当てることができる。ファームウェア４３４は、ブートローダおよび／またはＯＳをロードすることができ、システム４００の制御をこのＯＳに与えることができる。
【００６５】
システム４００のファームウェア４３４は、システム４００中の様々なハードウェアコンポーネントをファームウェア４３４がどのように制御するかを画定するファームウェア設定を含むことができる。このファームウェア設定は、システム４００中の様々なハードウェアコンポーネントが起動される順序を判断できる。ファームウェア４３４は、ファームウェアのデフォルト設定におけるパラメータとは異なり得る、様々な異なるパラメータが設定されることを可能にする、ＵＥＦＩのようなインタフェースを提供できる。例えば、ユーザ（例えば、管理者）は、クロック速度およびバス速度を特定するため、どんな周辺機器がシステム４００に取り付けられているかを画定するため、健全性（例えば、ファン速度およびＣＰＵ温度限界）の監視を設定するため、および／または、システム４００の全体的な性能および電力使用量に影響を及ぼす様々なその他のパラメータを提供するために、ファームウェア４３４を使用できる。
【００６６】
ファームウェア４３４はフラッシュメモリ４３２に格納されるように示されているものの、例えば、メモリ４０４またはＲＯＭ４０６のようなその他のメモリコンポーネントにファームウェア４３４が格納され得ることを、当業者は容易に認識するであろう。しかしながら、ファームウェア４３４は、説明目的で、非限定的な例として、フラッシュメモリ４３２中に格納されるものとして示されている。
【００６７】
システム４００は、１または複数のセンサ４２６を含むことができる。１または複数のセンサ４２６は、例えば、１または複数の温度センサ、熱センサ、酸素センサ、化学センサ、ノイズセンサ、加熱センサ、電流センサ、電圧検出器、エアフローセンサ、流量センサ、赤外線温度計、熱流束センサ、温度計、パイロメータなどを含むことができる。１または複数のセンサ４２６は、例えば、バス４０２を介して、プロセッサ、キャッシュ４２８、フラッシュメモリ４３２、通信インタフェース４２４、メモリ４０４、ＲＯＭ４０６、ＲＡＭ４０８、コントローラ４１０、および記憶デバイス４１２と通信できる。１または複数のセンサ４２６は、ｉｎｔｅｒ−ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ（Ｉ２Ｃ）、汎用出力（ＧＰＯ）などのような、１または複数の異なる手段を介して、システム中のその他のコンポーネントともまた通信できる。
【００６８】
図５は、記載される方法または動作を実行すること、並びに、グラフィカルユーザインタフェース（ＧＵＩ）を生成および表示することにおいて使用され得るチップセットアーキテクチャを有するコンピュータシステム５００の例を示す。コンピュータシステム５００は、開示される技術を実装するために使用され得るコンピュータハードウェア、ソフトウェア、およびファームウェアを含むことができる。システム５００は、任意の数の物理的および／または論理的に区別できるリソースを表し、特定される計算を実行するように構成されたソフトウェア、ファームウェア、およびハードウェアを実行することの可能な、プロセッサ５１０を含むことができる。プロセッサ５１０は、プロセッサ５１０への入力およびプロセッサ５１０からの出力を制御し得る、チップセット５０２と通信できる。この例において、チップセット５０２は、ディスプレイのような出力デバイス５１４へ情報を出力し、例えば磁気媒体およびソリッドステート媒体を含むことのできる記憶デバイス５１６に対する情報を読み出すこと、および書き込むことができる。チップセット５０２は、ＲＡＭ５１８からデータを読み出すこと、およびＲＡＭ５１８へデータを書き込むこともまたできる。様々なユーザインタフェースコンポーネント５０６にインタフェース接続するためのブリッジ５０４が、チップセット５０２にインタフェース接続するために提供され得る。そのようなユーザインタフェースコンポーネント５０６は、キーボード、マイク、タッチ検出および処理回路、マウスのようなポインティングデバイスなどを含むことができる。一般に、システム５００への入力は、機械により生成された、および／または人により生成された、様々なソースの任意のものから来ることができる。
【００６９】
チップセット５０２は、様々な物理インタフェースを有し得る、１または複数の通信インタフェース５０８とインタフェース接続することもまたできる。そのような通信インタフェースは、有線および無線ローカルエリアネットワークのため、ブロードバンド無線ネットワークのため、並びにパーソナルエリアネットワークのためのインタフェースを含むことができる。本明細書に開示される、ＧＵＩを生成、表示、および使用するための、この方法のいくつかのアプリケーションは、順序付けられたデータセットを物理インタフェース上で受信することを含み得る。または、記憶装置５１６または５１８に格納されたデータを分析するプロセッサ５１０によって、この機械自体によって生成され得る。さらに、この機械は、ユーザインタフェースコンポーネント５０６を介してユーザからの入力を受信することができ、プロセッサ５１０を使用してこれらの入力を解釈することにより、ブラウジング機能のような適切な機能を実行することができる。
【００７０】
さらに、チップセット５０２は、電源をオンにしたときにコンピュータシステム５００によって実行され得るファームウェア５１２と通信することもまたできる。ファームウェア５１２は、複数のファームウェア設定の組に基づいて、コンピュータシステム５００に存在するハードウェアを認識、初期化、および試験できる。ファームウェア５１２は、ＰＯＳＴのようなセルフテストを、システム５００に実行できる。このセルフテストは、様々なハードウェアコンポーネント５０２−５１８の機能を試験できる。ファームウェア５１２は、ＯＳを格納するために、メモリ５１８中の領域をアドレス指定すること、および割り当てることができる。ファームウェア５１２は、ブートローダおよび／またはＯＳをロードすることができ、システム５００の制御をこのＯＳに与えることができる。いくつかの事例において、ファームウェア５１２は、ハードウェアコンポーネント５０２−５１０および５１４−５１８と通信できる。ここで、ファームウェア５１２は、チップセット５０２を通じて、および／または１または複数の他のコンポーネントを通じて、ハードウェアコンポーネント５０２−５１０および５１４−５１８と通信できる。いくつかの事例において、ファームウェア５１２は、ハードウェアコンポーネント５０２−５１０および５１４−５１８と直接通信できる。
【００７１】
例示的なシステム３００、４００および５００は、１つよりも多くのプロセッサ（例えば、３６３、４３０、５１０）を有し得ること、または、より大きな処理能力を提供すべく一緒にネットワーク接続された複数のコンピューティングデバイスのグループまたはクラスタの一部であり得ることが理解され得る。
【００７２】
説明を明瞭にするため、いくつかの例において、本技術は、個別の機能ブロックを複数含むように提示されてよい。そのような機能ブロックは、複数のデバイス、複数のデバイスコンポーネント、ソフトウェアにおいて具現化される方法中の複数のステップまたはルーチン、もしくはハードウェアとソフトウェアの組み合わせを備える複数の機能ブロックを含む。
【００７３】
いくつかの実施形態において、コンピュータ可読記憶デバイス、媒体、およびメモリは、ビットストリームなどを含む、ケーブルまたは無線信号を含むことができる。しかしながら、非一時的コンピュータ可読記憶媒体について述べる場合、エネルギー、キャリア信号、電磁波、および信号それ自体のような媒体は、明示的に除外する。
【００７４】
上述の例による方法は、コンピュータ可読媒体に格納される、もしくは、そうでなければコンピュータ可読媒体から利用可能なコンピュータ実行可能命令を使用して実装され得る。このような命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに対して、ある機能または複数の機能のグループを実行させる、または、そうでなければこれらを構成する、命令及びデータを含むことができる。使用されるコンピュータリソースの一部分は、ネットワーク上でアクセス可能であり得る。コンピュータ実行可能な命令は、例えば、バイナリ、アセンブリ言語のような中間フォーマット命令、ファームウェア、またはソースコードであってよい。記載される例による方法の間に、命令、使用される情報、および／または、生成される情報を格納するために使用され得るコンピュータ可読媒体の例は、磁気ディスクまたは光ディスク、フラッシュメモリ、不揮発性メモリが提供されたＵＳＢデバイス、ネットワーク接続記憶デバイスなどを含む。
【００７５】
これらの開示による方法を実装するデバイスは、ハードウェア、ファームウェア、および／またはソフトウェアを含むことができ、様々なフォームファクタの任意のものを取ることができる。そのようなフォームファクタの代表的な実施例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、パーソナルデジタルアシスタント、ラックマウントデバイス、スタンドアロンデバイスなどを含む。本明細書に記載される機能は、周辺機器またはアドインカードで具現化されることもまたできる。そのような機能は、さらなる例として、様々なチップ中の回路基板にて、または単一デバイス中で実行する様々なプロセスにて実装されることもまたできる。
【００７６】
これらの命令、そのような命令を伝えるための媒体、それらを実行するためのコンピューティングリソース、および、そのようなコンピューティングリソースをサポートするためのその他の構造は、本明細書に記載される機能を提供するための手段である。
【００７７】
本技術の様々な態様が、サーバシステムにおけるハングアップしたデバイスを、ＷｏＬメッセージおよびこのハングアップしたデバイスのステータスに基づいて、スマートにリセットするためのシステムおよび方法を提供する。任意選択の動作が、様々な命令においてどのように使用され得るかを示す複数の具体例が上記にて引用されてきたものの、その他複数の例が、任意選択の動作を様々な命令に組み込むことができる。説明を明瞭にするため、いくつかの例において、本技術は、個別の機能ブロックを複数含むように提示され得る。そのような機能ブロックは、複数のデバイス、複数のデバイスコンポーネント、ソフトウェアにおいて具現化される方法中の複数のステップまたはルーチン、もしくはハードウェアとソフトウェアの組み合わせを備える複数の機能ブロックを含む。
【００７８】
様々な例が、多種多様な動作環境においてさらに実装され得る。これらは、いくつかの事例において、多数のアプリケーションの任意のものを動作させるために使用され得る、１または複数のサーバコンピュータ、ユーザコンピュータまたはコンピューティングデバイスを含むことができる。ユーザまたはクライアントデバイスは、標準的なオペレーティングシステムを動作させるデスクトップまたはラップトップコンピュータのような、多数の汎用パーソナルコンピュータ、並びに、モバイルソフトウェアを動作させ、多数のネットワーキングプロトコルおよびメッセージングプロトコルをサポートすることが可能なセルラー、無線、およびハンドヘルドデバイスのうちの任意のものを含むことができる。そのようなシステムは、様々な市販のオペレーティングシステム、および、ディベロップメントおよびデータベース管理のような目的のための他の既知のアプリケーションの任意のものを動作させる、多数のワークステーションを含むこともまたできる。これらのデバイスは、ダミーターミナル、シンクライアント、ゲームシステム、およびネットワークを介して通信可能なその他のデバイスのような、その他の電子デバイスを含むこともまたできる。
【００７９】
複数の例が、またはそれらの一部分がハードウェアに実装されるという点で、本願は、以下の技術、またはそれらの組み合わせの任意のものによって実装され得る。すわなち、データ信号に対してロジック機能を実装するための複数の論理ゲートを有するディスクリートロジック回路、複数の適切な組み合わせ論理ゲートを有する特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのようなプログラム可能なハードウェアといった技術である。
【００８０】
大部分の例は、ＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、Ａｐｐｌｅ  Ｔａｌｋなどのような様々な市販のプロトコルの任意のものを使用した通信をサポートするための、当業者にはよく知られているであろう少なくとも１つのネットワークを利用する。このネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、および、それらの任意の組み合わせであり得る。
【００８１】
上述の例による方法は、コンピュータ可読媒体に格納される、もしくは、そうでなければコンピュータ可読媒体から利用可能なコンピュータ実行可能命令を使用して実装され得る。このような命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに対して、ある機能または複数の機能のグループを実行させる、または、そうでなければこれらを構成する、命令及びデータを含むことができる。使用されるコンピュータリソースの一部分は、ネットワーク上でアクセス可能であり得る。コンピュータ実行可能な命令は、例えば、バイナリ、アセンブリ言語のような中間フォーマット命令、ファームウェア、またはソースコードであり得る。記載される例による方法の間に、命令、使用される情報、および／または、生成される情報を格納するために使用され得るコンピュータ可読媒体の例は、磁気ディスクまたは光ディスク、フラッシュメモリ、不揮発性メモリが提供されたＵＳＢデバイス、ネットワーク接続記憶デバイスなどを含む。
【００８２】
これらの技術による方法を実装するデバイスは、ハードウェア、ファームウェア、および／またはソフトウェアを含むことができ、様々なフォームファクタの任意のものを取ることができる。そのようなフォームファクタの代表的な実施例は、サーバコンピュータ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、パーソナルデジタルアシスタントなどを含む。本明細書に記載される機能は、周辺機器またはアドインカードで具現化されることもまたできる。そのような機能は、さらなる例として、様々なチップ中の回路基板にて、または単一デバイス中で実行する様々なプロセスにて実装されることもまたできる。
【００８３】
ウェブサーバを利用する例において、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａ（登録商標）サーバ、およびビジネスアプリケーションサーバを含め、様々なサーバまたはミッドティアアプリケーションの任意のものを動作させることができる。これらのサーバは、ユーザデバイスからのリクエストに応答して、例えば、任意のプログラミング言語で書き込まれた１または複数のスクリプトまたはプログラムとして実装され得る１または複数のウェブアプリケーションを実行することにより、プログラムまたはスクリプトを実行することもまた可能であり得る。任意のプログラミング言語は、例えば、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、またはＣ＋＋、もしくは、Ｐｅｒｌ、Ｐｙｔｈｏｎ、またはＴＣＬ、並びにそれらの組み合わせのような任意のスクリプト言語である。これらのサーバは、制限無く、一般市場から商業的に利用可能なものを含めたデータベースサーバを含むこともまたできる。
【００８４】
サーバシステムは、上記にて説明した、様々なデータ格納装置並びに他のメモリおよび記憶媒体を含むことができる。これらは、こうしたコンピュータのうちの１または複数に対してローカルな（および／またはそれらに常駐する）記憶媒体上、もしくは、ネットワークにわたって、こうしたコンピュータのうちの任意のものまたは全てから離れた記憶媒体上のように、様々な位置に存在できる。複数の例の特定の組において、情報は、当業者にはよく知られたストレージエリアネットワーク（ＳＡＮ）に存在できる。同様に、コンピュータ、サーバ、またはその他のネットワークデバイスに帰属する機能を実行するためのあらゆる必要なファイルが、必要に応じて、ローカルに、および／またはリモートに格納され得る。コンピュータ化されたデバイスをシステムが含む場合、そのようなデバイスは、それぞれ、バスを介して電気的に連結され得る複数のハードウェア要素を含むことができる。これらの要素は、例えば、少なくとも１つの中央演算処理装置（ＣＰＵ）、少なくとも１つの入力デバイス（例えば、マウス、キーボード、コントローラ、タッチセンサ式ディスプレイ要素、またはキーパッド）、および、少なくとも１つの出力デバイス（例えば、ディスプレイデバイス、プリンタ、またはスピーカ）を含む。そのようなシステムは、ディスクドライブ、光学式記憶デバイス、および、ランダムアクセスメモリ（ＲＡＭ）またはリードオンリメモリ（ＲＯＭ）、並びにリムーバブル媒体デバイス、メモリカード、フラッシュカードなどのようなソリッドステート記憶デバイスといった、１または複数の記憶デバイスを含むこともまたできる。
【００８５】
そのようなデバイスは、コンピュータ可読記憶媒体リーダ、通信デバイス（例えば、モデム、ネットワークカード（無線または有線）、赤外線コンピューティングデバイス）および上記にて記載されるような作業メモリを含むこともまたできる。コンピュータ可読記憶媒体リーダは、リモートな、ローカルな、固定および／またはリムーバブルな記憶デバイス、並びに、コンピュータ可読情報を一時的および／またはより永久的に含むため、格納するため、送信するため、および取得するための記憶媒体を表す、コンピュータ可読記憶媒体に接続され得る。またはコンピュータ可読記憶媒体を受容するように構成され得る。このシステムおよび様々なデバイスは、オペレーティングシステムおよびクライアントアプリケーションまたはウェブブラウザのようなアプリケーションプログラムを含めて、通常、少なくとも１つの作業メモリデバイス内に配置された、多数のソフトウェアアプリケーション、モジュール、サービス、または、その他の要素もまた含むであろう。代替的な例は、上記にて記載された例から多数の変更を有し得ることが理解されるべきである。例えば、カスタマイズされたハードウェアもまた使用されてよい。および／または、特定の要素が、ハードウェア、ソフトウェア（アプレットのようなポータブルソフトウェアを含む）、またはその両者で実装されてよい。さらに、ネットワーク入出力デバイスのようなその他のコンピューティングデバイスへの接続が使用され得る。
【００８６】
コードまたはコードの一部分を含むための記憶媒体およびコンピュータ可読媒体は、当技術分野において知られている、または使用されている任意の適切な媒体を含むことができる。これらは、限定されるものではないが、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータのような情報の記憶および／または送信のための任意の方法または技術にて実装される、揮発性および不揮発性のリムーバブルおよび非リムーバブル媒体のような記憶媒体およびコンピューティング媒体を含み、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、またはその他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、またはその他の磁気記憶デバイス、もしくは、所望の情報を格納するために使用されること、且つ、システムデバイスによってアクセスされることのできる任意のその他の媒体を含む。本明細書にて提供される技術および教示に基づいて、当業者は、本技術の様々な態様を実装するための、その他のやり方および／または方法を理解するであろう。
【００８７】
従って、明細書および図面は、限定的な意味ではなく、例示とみなされるべきである。しかしながら、特許請求の範囲に説明される本特許出願のより広範な主旨および範囲から逸脱することなく、様々な修正および変更がこれらに成され得ることが明らかであろう。
【図１Ａ】
2018116677.tif 000003
【図１Ｂ】
2018116677.tif 000004
【図２】
2018116677.tif 000005
【図３】
2018116677.tif 000006
【図４】
2018116677.tif 000007
【図５】
2018116677.tif 000008