(57)【要約】      （修正有）【課題】予期せぬ状況下で、スレッドがシャーシから分離することによる突然の電力損失を防止するロック機構を提供する。【解決手段】装置３５０は、スレッド２０７とロック機構を受け入れるシャーシを有する。突然の電力損失を防止するため、電圧感知の電気的スイッチロックがシャーシに応用されて、スレッドが除去される準備ができるまで、機械的に、スレッドをシャーシにロックする。スレッドは、スレッドを除去するまえは非アクティブでなければならない一つ以上のコンピューティングデバイスを有する。装置は、コントローラーを有し、コントローラーは、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるか検出する。スレッド中のコンピューティングデバイスの状態の判断に基づいて、コントローラーは、ロック機構をアクティブにする、あるいは、ロック機構を非アクティブにする。【選択図】図３Ｂ
2017188085.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、 
一つ以上のコンピューティングデバイスを有するスレッドと、
前記スレッドを収容するシャーシと、
機械的に、前記スレッドを前記シャーシにロックする少なくとも一つのロック機構、および、
前記ロック機構に用いられるコントローラー、を有し
前記コントローラーは、
前記スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるかを検出する工程と、
前記少なくとも一つのコンピューティングデバイスが前記アクティブ状態であることを検出するとき、前記ロック機構をアクティブにする工程、および、
前記少なくとも一つのコンピューティングデバイスが前記非アクティブ状態であることを検出するとき、前記ロック機構を非アクティブにする工程、
を実行することを特徴とする装置。
【請求項２】
前記ロック機構は、前記スレッドに搭載する少なくとも一つのソレノイドスイッチを有し、前記ソレノイドに選択的にエネルギーを与え、前記ソレノイドスイッチは、前記ソレノイドで軸方向に移動するスイッチ棒を有することを特徴とする請求項１に記載の装置。
【請求項３】
前記ロック機構をアクティブにし、前記コントローラーは、さらに、 
前記ソレノイドに選択的にエネルギーを与えることにより、前記スレッドに関連する前記ソレノイドスイッチをアクティブにし、前記ソレノイドの通電は磁力を生成して、前記スイッチ棒を延伸させ、前記スレッドと結合することを特徴とする請求項２に記載の装置。
【請求項４】
前記ロック機構を非アクティブにし、前記コントローラーは、さらに、
前記ソレノイドを電気的に停止することにより、前記スレッドに関連する前記ソレノイドスイッチを非作動にし、前記ソレノイドの前記停止は、前記スイッチ棒を前記ソレノイドに回収することを特徴とする請求項２に記載の装置。
【請求項５】
前記少なくとも一つのコンピューティングデバイスが前記アクティブ状態であることを検出するとき、前記ロック機構をアクティブにし、前記コントローラーは、さらに、 
前記スレッドのメモリデバイスで、データバックアッププロセスを実行する工程と、  
前記データバックアッププロセスがすでに完了していることを示す通知を受信する工程、および、 
前記通知の受信に反応して、前記ロック機構を非アクティブにする工程、 
を実行することを特徴とする請求項１に記載の装置。
【請求項６】
方法であって、 
スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるかを検出する工程と、 
前記少なくとも一つのコンピューティングデバイスが前記アクティブ状態であるか検出するとき、ロック機構をアクティブにする工程、および、
前記少なくとも一つのコンピューティングデバイスが前記非アクティブ状態であることを検出するとき、前記ロック機構を非アクティブにする工程、  
を有することを特徴とする方法。
【請求項７】
前記ロック機構をアクティブにし、 
電気的に、ソレノイドにエネルギーを与えることにより、前記スレッドに関連するソレノイドスイッチを起動させ、前記ソレノイドの通電は磁力を生成して、スイッチ棒を延伸させ、前記スレッドと結合する工程を有することを特徴とする請求項６に記載の方法。
【請求項８】
前記ロック機構を非アクティブにし、 
前記ソレノイドを電気的に停止することにより、前記スレッドに関連する前記ソレノイドスイッチを非起動にし、前記ソレノイドの前記停止は、前記スイッチ棒を前記ソレノイドに回収する工程を有することを特徴とする請求項６に記載の方法。
【請求項９】
持続性コンピュータ読み取り可能媒体であって、指令を保存し、システムコントローラーにより実行されるとき、前記システムコントローラーに操作を実行させ、前記操作は、
スレッド中の少なくとも一つのコンピューティングデバイスがアクティブ状態、あるいは、非アクティブ状態であるか検出する工程と、
前記少なくとも一つのコンピューティングデバイスが前記アクティブ状態であることを検出するとき、ロック機構をアクティブにする工程、および、
前記少なくとも一つのコンピューティングデバイスが前記非アクティブ状態であることを検出するとき、前記ロック機構を非アクティブにする工程、
を有することを特徴とする持続性コンピュータ読み取り可能媒体。
【請求項１０】
前記指令が実行されるとき、前記システムコントローラーに操作を実行させ、前記操作は、さらに、 
除去要求を受信して、シャーシから、機械的に前記スレッドを切断する工程を有することを特徴とする請求項９に記載の持続性コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバデバイスの管理に関するものであって、とくに、ロック機構を用いた、サーバデバイスのデータ損失防止方法に関するものである。
【背景技術】
【０００２】
従来のシャーシシステム機構において、シャーシシステムは、個別に、且つ、互いに独立して作動する少なくとも一つの電源、および、一つ以上のスレッドを有する。電源を設置して、スレッドでコンピューティングデバイスを操作する際に必要な電力を供給する。ある状況下で、スレッド中の一つ以上のコンピューティングデバイスの失効のため、スレッドを置換、あるいは、修復する必要がある。よって、アセンブリ技術者は、機械的に、スレッドをシャーシから除去して、失効したコンピューティングデバイスを修復、あるいは、代替する。このアプローチに関する問題は、アセンブリ技術者が、スレッドの除去の準備が行われているか知らない、あるいは、アセンブリ技術者が、シャットダウン操作期間中に、スレッドを時期尚早に取り出してしまうことである。その結果、アセンブリ技術者が誤って、スレッドをシャーシから取り出した時、スレッドが作動中であり、スレッド中のコンピューティングデバイスに対する突然の電力損失のため、データ損失が発生する。
【発明の概要】
【０００３】
以下で、本発明の技術の基本認識を提供するため、一つ以上の実施例の簡潔な要約を記述する。この要約は、本発明の熟慮された全実施態様の詳細ではなく、全ての例の識別キーや重大な要素は、本発明の任意の、あるいは、全ての態様を描いていない。その唯一の目的は、後に提示されるさらに詳細な記述に対する前置きとして、簡潔な形式で、一つ以上の例のいくつかのコンセプトを表すことである。
【０００４】
ここで記述される例の一つ以上の態様に関し、システムと方法が提供され、サーバシステム中の電圧感知の電気的スイッチロックを用いて、電源損失を防止する。装置は、一つ以上のコンピューティングデバイスを有するスレッド、スレッドを収容するシャーシ、および、機械的に、スレッドをシャーシにロックする少なくとも一つのロック機構を有する。装置は、さらに、ロック機構のコントローラーを有し、コントローラーが設置されて、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるか検出し、少なくとも一つのコンピューティングデバイスがアクティブ状態であることを検出するとき、ロック機構をアクティブにするとともに、少なくとも一つのコンピューティングデバイスが非アクティブ状態であることを検出するとき、ロック機構を非アクティブにする。
【０００５】
さらに、ロック機構は、スレッドの上に装着される少なくとも一つのソレノイドスイッチを有し、ソレノイドに選択的にエネルギーを与え、ソレノイドスイッチは、ソレノイドで軸方向に移動するスイッチ棒を有する。いくつかの実施態様において、コントローラーは、シャーシ基板管理コントローラーである。別の実施態様において、コントローラーは、スレッド基板管理コントローラーである。さらに別の実施態様において、コントローラーは、ラック基板管理コントローラーである。
【０００６】
さらに、コントローラーが設置されて、ソレノイドに電気的にエネルギーを供給することにより、スレッドに関連するソレノイドスイッチを作動し、ソレノイドの通電は磁力を生成して、スイッチ棒を延伸させ、スレッドと結合する。コントローラーは、さらに、ソレノイドへの電気的なエネルギー供給を停止することにより、スレッドに関連するソレノイドスイッチを非作動にし、ソレノイドへの通電を停止して、スイッチ棒をソレノイドに回収する。
【０００７】
別の実施態様において、コントローラーがさらに設置されて、スレッドのメモリデバイス中で、データバックアッププロセスを実行し、データバックアッププロセスがすでに完成したことを示す通知を受信するとともに、通知の受信に対応して、ロック機構を非アクティブにする。別の実施態様において、コントローラーが設置されて、スレショルド電圧値をスレッドに提供して、データバックアッププロセスが実行中のときに、アクティブ状態のままにする。
【０００８】
装置は、さらに、コントローラーを有し、スレッド中の少なくとも一つのコンピューティングデバイスの電圧値を判断し、少なくとも一つのコンピューティングデバイスの電圧値が、スレショルド電圧値以上であると判断するとき、スレッドが非アクティブ状態であると判断する。装置は、コントローラーを有し、除去要求を受信して、シャーシからスレッドを機械的に切断する。
【０００９】
別の実施態様において、電源損失を防止する方法が提供される。本方法は、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるか判断し、少なくとも一つのコンピューティングデバイスがアクティブ状態であると判断するとき、ロック機構をアクティブにするとともに、少なくとも一つのコンピューティングデバイス非アクティブ状態であると判断するとき、ロック機構を非アクティブにする工程を有する。
【００１０】
さらに別の実施態様において、持続性コンピュータ読み取り可能媒体が提供されて、サーバシステム中の電源損失を防止する。持続性コンピュータ読み取り可能媒体は、実行可能指令を保存し、指令がシステムコントローラーにより実行されるとき、システムコントローラーにいくつかの操作を実行させ、その操作は、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるか検出し、少なくとも一つのコンピューティングデバイスがアクティブ状態でることを検出するとき、ロック機構をアクティブにするとともに、少なくとも一つのコンピューティングデバイスが非アクティブ状態であることを検出するとき、ロック機構を非アクティブにする工程を有する。
【００１１】
本発明の各種実施例にもとづいて、以下の図面とともに描写する。
【図面の簡単な説明】
【００１２】
【図１】サーバシステムにおける電源損失を防止する実施態様のブロック図である。
【図２Ａ】、および、
【図２Ｂ】スイッチロックが非アクティブであるときのスイッチロックの配置図である。
【図３Ａ】、および、
【図３Ｂ】スイッチロックがアクティブであるときのスイッチロックの配置図である。
【図４Ａ】、および、
【図４Ｂ】サーバシステムにおける電源損失を防止する方法のフローチャートである。
【図５】コンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１３】
本発明の各種態様は図面を参照して記述される。以下の記述において、一つ以上の態様の十分な理解を提供するため、いくつかの特定の詳細が記述される。しかし、本発明は、これらの特定の詳細がなくても実現できる。このほか、既知の構造と装置は、ブロック図の方式で示されて、これらの態様の描写を補助する。本文中の語彙“実施態様”は、ここでは、“例として、範例、あるいは、説明”という意味である。ここで記述される“実施態様”は、必ずしも、その他の実施態様において、好ましい、あるいは、有利であるとして解釈されない。
【００１４】
本発明は、シャーシのスレッドにロック構造を使用することにより、データ損失を防止する技術を提供する。図１は、本発明の実施態様によるデータ損失を防止するシャーシシステムのブロック図１００である。ブロック図１００に示されるように、シャーシ１０１が提供され、シャーシ１０１は、各種コンポーネンツをサポートするアセンブリで、独立して、ラックシステムに搭載される。シャーシ１０１は、構造と電力工程を、複数のスレッドユニット、および、その他の電気サブシステムに提供する。図１に示されるように、シャーシ１０１は、除去可能なスレッド１０３、電源供給ユニット (ＰＳＵ)１０５、Ｉ／Ｏ（Ｉｎｐｕｔ／ｏｕｔｐｕｔ）基板１０６、JBOD 筺体 (ＪＢＥ)１０２、配電板 (ＰＤＢ)１０４、および、スイッチロック１１０を有する。ＪＢＯＤ（Ｊｕｓｔ  ａ  Ｂｕｎｃｈ  ｏｆ  Ｄｉｓｋｓ／Ｄｒｉｖｅｒｓ）は、ハードディスクの集合、あるいは、いくつかのディスクに用いるハードディスク筺体である。   
【００１５】
図１に示されるように、ＰＳＵ１０５、あるいは、ＢＢＵ（Ｂａｃｋ-ｕｐ  Ｂａｔｔｅｒｙ  Ｕｎｉｔ）１１２は電源を供給して、スレッド１０３、Ｉ／Ｏ基板１０６、ＪＢＥ１０２、および、スイッチロック１１０を含むシャーシ１０１のコンポーネンツを操作する。配電板 (ＰＤＢ)１０４により電力配置が提供され、配電板１０４は、ＰＳＵ１０５から電力を受信するとともに、電力を上述のコンポーネンツに分配する。
【００１６】
スレッド１０３は、複数の異なるコンポーネンツを有する。たとえば、図１の配置に示されるように、スレッド１０３は、コントローラー１０９、ＢＢＵ１１２、ＣＰＵ１０７、ＲＡＭ１０８、および、ローカルストレージデバイス１１１を有する。しかし、本発明は、スレッドが、図１よりもさらに多い、あるいは、少ないコンポーネンツを有してもよい。
【００１７】
上で述べたように、スレッドは、ＣＰＵ１０７の他に、ＲＡＭ１０８、および、ローカルストレージデバイス１１１、ＢＢＵ１１２を有し、ＰＳＵ１０５、ＰＤＢ１０４、あるいは、それらの間のコンポーネンツの故障によるこのような突然の電力損失によって、スレッド１０３への電力供給が中断される問題を処理する。ＢＢＵ１１２は、スレッド１０３のコンポーネンツに二次電力を提供して、操作できるようにするか、あるいは、少なくとも安全な状態下でシャットダウンする。たとえば、スレッド１０３がＰＤＢ１０４により電源供給されるとともに、必要な量の電力を保存して、スレッド１０３のコンポーネンツが、データバックアップ操作期間中に、アクティブで維持される間、ＢＢＵ１１２が充電される。このようなコンポーネンツは、少なくともＲＡＭ１０８、ローカルストレージデバイス１１１、あるいは、ＣＰＵ１０７を有する。ＢＢＵ１１２は、十分な電力を維持して、スレッド１０３を数分から数時間操作する。   
【００１８】
スレッド１０３は、さらに、上で述べたように、コントローラー１０９を有する。コントローラー１０９は、ＣＰＵ１０７で独立して操作するサービス、あるいは、管理プロセッサ (たとえば、基板管理プロセッサ)で、サーバの管理タスクをサポートする。たとえば、コントローラー１０９は基板管理コントローラー (ＢＭＣ)であり、スレッド１０３の帯域外の管理／ネットワーク管理組織を提供する。  
【００１９】
上で述べたように、スレッド１０３は、シャーシ１０１から取り外し可能であり、且つ、完全に挿入されるとき、ラッチシステムにより、スレッドをある位置にロックされる。スレッド１０３の任意のコンポーネンツの修復、あるいは、置換において、アセンブリ技術者は、手動で、スレッド１０３をシャーシ１０１から引き出すことにより、スレッド１０３をシャーシ１０１から除去するか、あるいは、ＰＤＢ１０４とスレッド１０３の連結を分断する。スレッド１０３は一つ以上のコネクタ (図示しない)を有して、スレッド１０３がシャーシ１０１に挿入されるとき、ＰＤＢ１０４中の一つ以上の対応するコネクタ (図示しない)と結合する。いくつかの配置において、スレッド１０３は“熱交換（ｈｏｔ−ｓｗａｐｐａｂｌｅ）”である。つまり、シャーシ１０１の電源をオフする必要がなく、スレッド１０３を除去、あるいは、シャーシ１０１中に再挿入することができる。  
【００２０】
上で述べたように、本発明は、ロック機構を有して、スレッド１０３が、時期尚早に、シャーシ１０１から除去されるのを防止する（つまり、スレッド１０３中のコンポーネンツはアクティブであるとき）。よって、シャーシ１０１は、スイッチロック１１０をロック機構の一部分として組み込み、スイッチロック１１０は、機械的に、スレッド１０３をシャーシ１０１にロック、あるいは、固定するとともに、スレッド１０３と電源(つまり、ＰＳＵ１０５、および、ＰＤＢ１０４)の予期せぬ切断を防止する。よって、スイッチロック１１０は、シャーシ１０１からスレッド１０３を除去するのを物理的に防止することにより、連続したスレッド１０３への電力供給を確保する。   
【００２１】
本発明において、ロック機構は、さらに、感知システムを有し、感知システムは、スイッチロック１１０をアクティブ、あるいは、非アクティブにすることができる。たとえば、スイッチロック１１０は、電圧感知システムを有する、あるいは、電圧感知システムにより制御され、回路中の電圧値を検出するとともに、対応する出力信号を生成する。検出された電圧値に基づいて、電圧感知システムは、スイッチロック１１０を制御することができる。ロック機構の配置の一例は、図２Ａ-図３Ｂと併せて、以下で説明する。 
【００２２】
いくつかの実施態様において、コントローラー１０９は、電圧感知システムの一部である。たとえば、コントローラー１０９は、スレッド１０３中のコンピューティングデバイスそれぞれの電圧値を決定することにより、スレッド１０３がアクティブであるかどうかを検出することができる。スレッド１０３は、ＰＳＵ１０５、あるいは、ＢＢＵ１１２から電源が与えられるとき、スレッド１０３はアクティブであると判断される。コントローラー１０９が、任意のコンピューティングデバイスが、スレショルド電圧値より高い電圧値に関連すると判断する場合、コンピューティングデバイスはアクティブであるか判断されるとともに、対応する信号が生成されて、スイッチロック１１０をアクティブにする。スレショルド電圧値は、コントローラー１０９によりあらかじめ決定される。一般に、スレショルド電圧値はゼロであるが、場合によって、とても小さい余剰電圧値が０として識別される。    
【００２３】
いくつかの実施態様において、スイッチロック１１０がアクティブになり、データバックアッププロセス期間中、あるいは、サーバが作動モードであるとき、スレッドがシャーシ１０１から抜き取られるのを防止する。データバックアッププロセスがすでに完成している、あるいは、ＢＢＵ１１２が完全に放電された後、スイッチロック１１０は非アクティブになる。コントローラー１０９は、データバックアッププロセスを検出することができる。たとえば、コントローラー１０９は、ローカルストレージデバイス１１１がすでに最新データを保存したかどうか判断し、データバックアップが最新ではない場合、データバックアップ工程を開始する。コントローラー１０９は、ローカルストレージデバイス１１１中の書き込みデータとＲＡＭ１０８中のデータを比較して、それらが同じであるかどうか判断する。ローカルストレージデバイス１１１中の書き込みデータが、ＲＡＭ１０８中のデータと異なると判断するとき、ＲＡＭ１０８中に保存されたデータは、ローカルストレージデバイス１１１に複製されて、データバックアップを生成する。いくつかの実施態様において、電源失効であると判断されるとき、データバックアッププロセスが初期化される。たとえば、ＰＳＵ ＡＣが中断し、コントローラーは、ローカルストレージデバイス１１１中でデータをバックアップすることができる。類似工程が用いられて、ＣＰＵ１０７の状態データをバックアップする。   
【００２４】
いくつかの実施態様において、データバックアッププロセスがすでに完成していると判断するとき、コントローラー１０９は、ＢＢＵ１１２をオフにして、ＢＢＵ１１２の放電を停止する。一旦、データバックアップがローカルストレージデバイス１１１で保存されると、通知が生成されて、データバックアッププロセスがすでに完成しており、且つ、スレッド１０３の除去の準備がされていることを示す。通知が、Ｉ／Ｏ基板１０６、あるいは、管理装置に送信される。通知が生成されるとき、スイッチロック１１０は非アクティブになり、アセンブリ技術者は、容易、且つ、安全に、スレッドを除去することができる。   
【００２５】
いくつかの実施態様において、通知は光源通知である。たとえば、各スレッドは光源装置に関連し、光源装置は、シャーシ１０１、あるいは、スレッド１０３の外部から観察できる。光線通知は、発光ダイオード (ＬＥＤ)のフラッシュ光線で、アセンブリ技術者の注意を引く。その他の実施態様において、通知は音声通知、たとえば、ビープ音である。よって、ロック機構が非アクティブであるとき、特定のビープ音が再生されて、スレッド１０３の対応するロック状態を示す。       
【００２６】
図２Ａ、および、図２Ｂは、スイッチロックが非アクティブであるとき(つまり、ロック機構は非アクティブ)のスイッチロックの配置を示す図である。とくに、図２Ａは、スイッチロックが非アクティブであるときの配置２００を示す図で、図２Ｂは、スレッドとシャーシと接続している非アクティブのスイッチロックの配置２５０を示す図である。図２Ａに示されるように、スイッチロックはソレノイドスイッチタイプである。ソレノイドスイッチタイプは、電気エネルギーを磁気直線運動に変換することができる。たとえば、ソレノイドスイッチは、一般に、緊密に巻かれた螺旋状のコイルを有する。コイルは、通常、空間体積を包み、磁界がその中に生成される。コイル中で電流を与えることにより、磁界が生成される。生成される磁界は、電流の流動方向に基づいた線的方向のポインティング磁力である。いくつかの実施態様において、ポインティング磁力は十分な強さで、作動棒を動かし、指定された方向で、コイルにより囲まれる。
【００２７】
たとえば、図２Ａのソレノイドスイッチは、電機子２０２、スプリング２０３、コイル２０４、および、作動棒２０５を収容するハウジング２０１を有する。電機子２０２は、電気モーター／生成器中の回転構造であり、電流を運ぶことができるコイルにより巻かれる。作動棒２０５は長い金属棒で、生成された磁力により、ハウジング２０１の外に押し出される。作動棒２０５は、垂直に、電機子２０２に取り付けられる。電機子２０２、および、作動棒２０５は、スプリング２０３により、ハウジング２０１に取り付けられる。スプリング２０３は、電機子２０２、および、作動棒２０５の動きを促すことができる。
【００２８】
図２Ａに示されるように、スレッド２０７は、窪み、ホール、開口、あるいは、その他の受信素子２０８を有し、磁力によって、作動棒２０５がハウジング２０１外に押し出されるとき、作動棒２０５を受け入れることができる。電流がコイル２０４を流れないとき(たとえば、‘Ｉ＝０’で示される)、スイッチロックがオフになる。特定の実施態様において、電流は、採用される電圧感知システムにより、直接、あるいは、間接的に制御される。たとえば、スレッド中のコンポーネンツはアクティブであるかどうかを示すコントローラー１０９からの信号が用いられて、電流が供給されるかどうか制御する。しかし、本発明は、電流を制御するその他の任意の方法を用いることもできる。 
【００２９】
電流がコイルを流れないとき、作動棒２０５に、スプリング２０３の力を克服する磁力がなく、且つ、作動棒２０５がハウジング２０１で留まるとともに、受信素子２０８に延伸しない。よって、スレッド２０７は、シャーシ２０６から除去される。   
【００３０】
図３Ａ、および、図３Ｂは、スイッチロックがアクティブであるとき (つまり、ロック機構がアクティブである)の配置を示す図である。とくに、図３Ａは、スイッチロックがアクティブであるときの配置３００を示す図で、図３Ｂは、スレッドとシャーシと接続されるアクティブのスイッチロックの配置３５０を示す図である。図３Ａに示されるように、スイッチロックは、電機子２０２、スプリング２０３、コイル２０４、および、作動棒２０５を収容するハウジング２０１を有する。電流がコイル２０４を流れるとき (‘Ｉ’で示される)、スイッチはオンになり、磁力は、指定された方向 (すなわち、下方向)で生成される。図３Ａに示されるように、磁力が作動棒２０５に作用して、電機子２０２を下方に押すスプリング２０３の力に打ち勝つ。よって、作動棒２０５は、ハウジング２０１から突起するとともに、スレッド２０７の受信素子２０８に挿入する。よって、スレッド２０７を有する作動棒２０５の結束は、技術者の物理的力により、シャーシ２０６から、スレッド２０７が除去されるのを防止する。
【００３１】
上記では、ソレノイドタイプのスイッチは、一つ以上の態様の説明の目的のために記述されているが、その他のタイプのスイッチを用いて、スレッドをシャーシにロックすることができる。たとえば、任意の電子、磁気、あるいは、機械的スイッチを用いることもできる。
【００３２】
さらに、図１、図２Ａ、図２Ｂ、図３Ａ、および、図３Ｂでは、スイッチロックがスレッドから独立しているが、本発明は、さらに、スイッチロックが、スレッドの一部として実施されて、スレッドをシャーシに固定することも含む。さらに、ロック機構の全ての機能がスレッド内部に配置される。
【００３３】
いくつかの実施態様において、スイッチロックは、さらに、シャーシ中のその他のコンポーネンツと関連し、スレッドと作用する。よって、目下のところアクティブでない場合でも、シャーシ中の関連コンポーネンツがまだアクティブである場合、除去が防止される。
【００３４】
さらに別の実施態様において、単一スレッドは二個以上のスイッチロックを有する。各スイッチロックは通信可能で、互いに互換性があり、よって、一スイッチロックが失効した場合、このスイッチロックは同期化され、別のスイッチロックが引き継ぐ。いくつかの配置において、異なるスイッチロックは独立して制御され、且つ、異なる条件に基づいて、アクティブ、あるいは、非アクティブになる。よって、スレッドは、異なる条件が同時に符合するときだけ除去される。
【００３５】
さらに、上述の配置は、スレッドの除去管理に対するものであるが、各種実施態様はこれに制限されない。本発明の類似のロック機構が、シャーシ中の別のタイプのコンポーネンツに用いられてもよい。たとえば、ＰＳＵ、ＪＢＥ、あるいは、別のコンポーネンツの時期尚早な除去は、このようなロック構造を用いることにより防止される。
【００３６】
図４Ａは、サーバシステムにおける電源損失を防止する方法のフローチャート４００である。工程４０５において、コントローラーは、管理装置から、除去要求を受信して、機械的に、スレッドとシャーシを切断する。たとえば、管理装置は、Ｉ／Ｏ基板から、技術者からの入力を検出し、この入力は、技術者が、スレッドを置換、あるいは、修復するために、スレッドをシャーシから除去する必要があることを示す。特定の配置において、ボタン、あるいは、その他の制御装置がアクティブになり、スレッドの除去を要求する。管理装置は、除去要求をコントローラーに送信する。工程４１０において、コントローラーは、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態か検出する。上述のように、スレッドは、少なくとも一つ以上のコンピューティングデバイスを有し、コンピューティングデバイスは、スレッド、たとえば、ＢＢＵ、ＣＰＵ、ＲＡＭ、あるいは、コントローラー等の操作に必要である。スレッドをシャーシから安全に取り外すため、全部のコンピューティングデバイスをオフにする必要がある。よって、コントローラーは、少なくとも一つのコンピューティングデバイスが、非アクティブ状態であるかどうか検出して、ロック機構がアクティブにされる必要があるか判断する。
【００３７】
工程４１５において、少なくとも一つのコンピューティングデバイスがアクティブ状態であると判断するとき、コントローラーは、ロック機構をアクティブにして、機械的に、スレッドをシャーシにロックして、スレッドがシャーシから誤って除去されるのを防止する。工程４３０において、少なくとも一つのコンピューティングデバイスが、非アクティブ状態であると判断するとき、この状況下で、安全に、スレッドをシャーシから除去することができるので、コントローラーはロック機構をアクティブにしない。 
【００３８】
いくつかの実施態様において、工程４１７において、コントローラーが、電源がオフであると判断するとき、工程４３０において、ロック機構が非アクティブになり、シャーシからスレッドを除去することができる。工程４１６において、コントローラーが、電源が失効していると判断するとき、工程４１９において、データバックアッププロセスが開始される。工程４２５で、 データバックアッププロセスが完成するとき、工程４３０において、ロック機構は非アクティブになり、技術者はシャーシからスレッドを除去することができる。ＢＢＵは、工程４１８において、放電されて、データバックアッププロセスが進展中、データバックアッププロセスに必要な電力を供給する。データバックアッププロセスが完成する前、ＢＢＵが工程４２０で完全に放電される場合、ロック機構は非アクティブになる。データバックアッププロセスが完成しても、ＢＢＵが完全に放電されない場合、スレッドはアクティブを維持し、且つ、ＢＢＵが完全に放電されるまで、ロック機構はアクティブのまま維持される。
【００３９】
工程４３５において、指示が技術者に提供されて、スレッドの除去の準備ができたことを通知する。たとえば、上述のように、光学、あるいは、音声指示が提供される。
【００４０】
本発明は、その他の実施例にも適用できる。たとえば、技術者は、スレッドを除去する前、シャーシと電源の接続を切断する、あるいは、ＰＳＵを除去、あるいは、非アクティブにすることができる。しかし、ある状況において、スレッドは、操作中で、且つ、スレッドが除去される前にバックする必要がある。よって、本発明は、ＢＢＵを利用して、このような状況下で、スレッドが時期尚早に除去されるのを防止することができる。この内容は、図４Ｂに関連して説明される。
【００４１】
図４Ｂは、ＢＢＵを用いて、ロック機構をアクティブにする方法の詳細なフローチャート４５０である。工程４６０において、シャーシ (および、スレッド)がオンになり、スイッチロックがアクティブになる。工程４７０において、スレッドは操作モードに進入して、任意のタスクを実行し、スレッドは通常操作を実行する。
【００４２】
工程４７５、および、工程４８０において、シャーシは、同時に、ＡＣ電源損失 (４７５)、あるいは、ＰＳＵ失効(４８０)、あるいは、別のタイプのスレッドに関する外部電源損失事象を監視する。このような外部電源損失事象の事象において、工程４８５で、スレッドはバックアップモードに切り替える。バックアップモード期間中、データバックアップ操作が実行され、ＢＢＵが放電されて、データバックアップ操作に必要な電力を供給する。さらに、この期間中、ロックスイッチはアクティブで維持されて、時期尚早なスレッドの除去で、データが損失するのを防止する。たとえば、ＢＢＵにより供給される電力により、スイッチロックが操作できる。
【００４３】
工程４９０において、データバックアップ操作が完了後、スレッドのコンポーネンツがオフになる。コントローラーは、スレッド中の全コンピューティングデバイスがオフかどうか判断することにより、スレッドが非アクティブであるか判断する。さらに、ロックスイッチが非アクティブであり、スレッドの除去が実行される。ある場合において、上述のようにロック機構が非アクティブであり、且つ、スレッドが除去されることを通知する指示がアセンブリ技術者に提供される。別の場合では、ＢＢＵの尺寸が設計されて、十分な電力が保存されて、スレッドとスイッチロックに、少なくともバックアップ操作を完成させるのに必要な時間の電源が供給される。よって、ＢＢＵからの電源が損失することにより、ＢＢＵが放電され、且つ、スイッチが非アクティブになるとき、スレッドが安全に除去される。
【００４４】
図５は、図１〜図４の特徴とプロセスを実行するシステム機構５００のブロック図である。機構５００は、コンパイルされた指令から生成されるソフトウェアアプリケーションを実行する任意の電子装置上で実現され、電子装置は、これに限定されないが、パソコン、サーバ、スマートホン、メディアプレーヤー、電子タブレット、家庭用ゲーム、電子メール装置を有する。いくつかの実施において、機構５００は、一つ以上のプロセッサ５０２、一つ以上の入力装置５０４、一つ以上のディスプレイデバイス５０６、一つ以上のネットワークインターフェース５０８、および、一つ以上のコンピュータ読み取り可能媒体５１０を有する。これらのコンポーネンツは、それぞれ、バス５１２により結合される。
【００４５】
ディスプレイデバイス５０６は、任意の従来のディスプレイ技術であり、これに限定されないが、液晶ディスプレイ (ＬＣＤ)、あるいは、発光ダイオード(ＬＥＤ)技術を用いたディスプレイデバイスを含む。プロセッサ５０２は、任意の従来のプロセッサ技術を用いることができ、これに限定されないが、グラフィックプロセッサ、および、マルチコアプロセッサである。入力装置５０４は任意の従来の入力装置技術であり、これに限定されないが、キーボード (バーチャルキーボードを含む)、マウス、トラックボール、および、タッチセンサーパッド、あるいは、ディスプレイを含む。バス５１２は、従来の内部、あるいは、外部バス技術であり、これに限定されないがＩＳＡ，ＥＩＳＡ，ＰＣＩ，ＰＣＩ  Ｅｘｐｒｅｓｓ，ＮｕＢｕｓ，ＵＳＢ，Ｓｅｒｉａｌ  ＡＴＡ、あるいは、ＦｉｒｅＷｉｒｅである。
【００４６】
コンピュータ読み取り可能媒体５１０は、プロセッサ５０２が実行する指令を提供するのに加わる任意の媒体であり、これに限定されないが、非揮発性ストレージ媒体 (たとえば、光学ディスク、磁気ディスク、フラッシュドライブ等)、あるいは、揮発性媒体(たとえば、ＳＤＲＡＭ，ＲＯＭ等)を有する。コンピュータ読み取り可能媒体 (たとえば、ストレージデバイス、媒体、および、メモリ)は、たとえば、ケーブル、あるいは、ビットストリーム等を有する無線信号を有する。しかし、ここで記述される持続性コンピュータ読み取り可能媒体は、はっきりと、たとえば、エネルギー、キャリア信号、電磁波信号、および、信号自身等の媒体を排除する。
【００４７】
コンピュータ読み取り可能媒体５１０は、操作システム (たとえば、Ｍａｃ  ＯＳ（登録商標）,Ｗｉｎｄｏｗｓ（登録商標）,Ｌｉｎｕｘ（登録商標）)を実行する各種指令５１４を有する。操作システムは、マルチユーザー、マルチプロセッシング、マルチタスキング（ｍｕｌｔｉｔａｓｋｉｎｇ）、マルチスレッディング（ｍｕｌｔｉｔｈｒｅａｄｉｎｇ）、即時などである。操作システムは基本タスクを実行し、これに限定されないが、入力装置５０４からの入力を認識すること、出力をディスプレイデバイス５０６に送信すること、コンピュータ読み取り可能媒体５１０中のファイルとも目録の追跡を維持すること、直接制御、あるいは、Ｉ／Ｏコントローラーにより、周辺装置(たとえば、ディスクドライブ、プリンター等)を制御すること、および、バス５１２上のトラフィックを管理することである。ネットワーク通信５１６が構築されるとともに、ネットワーク接続 (たとえば、通信プロトコルを実行するソフトウェア、たとえば、ＴＣＰ／ＩＰ，ＨＴＴＰ，Ｅｔｈｅｒｎｅｔ)を維持する。   
【００４８】
グラフィック処理システム５１８は、グラフィック、および、イメージ処理能力を提供する指令を有する。アプリケーション５２０は、図１〜図４で記述されるプロセスを使用、あるいは、実現する一アプリケーションである。プロセスは、さらに、操作システム５１４で実現することができる。   
【００４９】
サービスコントローラー５２２は、プロセッサ５２２、および／または、操作システム５１４から独立して操作するコントローラーである。いくつかの実施において、プロセッサ５０２がオンになり、操作システム５１４がプロセッサ５０２にロードされる前、サービスコントローラー５２２がオンになり、操作可能になる。たとえば、サービスコントローラー５２２は、専用のネットワークインターフェース、あるいは、その他の入力装置により、コンピューティングデバイスのプレＯＳ管理を提供する。たとえば、システムコントローラー５２２は、基板管理コントローラー (ＢＭＣ)であり、デバイスセンサー (たとえば、電圧、温度、ファン等)、故障解析のログ事象を監視する、スレッドガイド診断を提供する、電源管理を実行する、および／または、自動制御プラットフォーム管理インターフェース（ＩＰＭＩ）により、リモート管理能力を提供する、キーボード、ビデオ、および、マウス（ＫＶＭ）出力先変更、シリアルオーバーＬＡＮ（ＳＯＬ）、および／または、その他のインターフェースである。サービスコントローラー５２２は、図１〜図４に関連して記述されるプロセスを実装する。たとえば、サービスコントローラー５２２が設置されて、サーバラック１０２に結合される電源ユニットを管理する。
【００５０】
記述される特徴は、一つ以上のコンピュータプログラムで有利に実現され、一つ以上のコンピュータプログラムは、少なくとも一つのプログラム可能なプロセッサを有するプログラム可能なシステムで実現され、少なくとも一つのプログラム可能なプロセッサがシステムに結合されて、データストレージシステムからデータと指令を受信、および、データと指令をデータストレージシステムに送信する。システムは、少なくとも一つの入力装置、および、少なくとも一つの出力装置を有する。コンピュータプログラムは、コンピュータ中で、直接、あるいは、間接的に用いられる一組の指令であり、特定活動を実行する、あるいは、特定結果をもたらす。コンピュータプログラムは、任意の形式のプログラミング言語で書きこまれ (たとえば、Ｏｂｊｅｃｔｉｖｅ−Ｃ，Ｊａｖａ（登録商標）)、コンパイルされた、あるいは、解釈された言語を有し、且つ、任意の形式で採用され、すなわち、プログラム言語は、スタンドアロンプログラムとして、あるいは、一モジュール、コンポーネント、サブルーチン、あるいは、コンピュータ環境に用いるのに適するその他のユニットの形式で採用される。
【００５１】
指令のプログラムを実行するのに適切なプロセッサは、任意の形式のコンピュータの汎用、および、特殊用途マイクロプロセッサ、単一プロセッサ、あるいは、複数のプロセッサ、あるいは、コアのひとつを有する。一般に、プロセッサは、読み取り専用メモリ、あるいは、ランダムアクセスメモリ、あるいは、両方から、指令とデータを受信する。コンピュータの必須要素は、指令を実行するプロセッサ、および、指令とデータを保存する一つ以上のメモリである。一般に、コンピュータは、データファイルを保存する一つ、あるいは、複数の大量ストレージデバイスを有する、あるいは、データファイルを保存する一つ、あるいは、複数の大量ストレージデバイスと操作可能な方式で結合して通信する。このような装置は、磁気ディスク、たとえば、内部ハードディスク、および、リムーバブルディスク等、光磁気ディスク、および、光学ディスクを有する。コンピュータプログラム指令とデータを明白に具体化するのに適するストレージデバイスは、全ての形式の不揮発性メモリを含み、半導体メモリデバイス、たとえば、ＥＰＲＯＭ，ＥＥＰＲＯＭ、および、フラッシュメモリデバイス; 磁気ディスク たとえば、内部ハードディスク、および、リムーバブルディスク; 光磁気ディスク; および、ＣＤＲＯＭとＤＶＤ−ＲＯＭディスクである。プロセッサとメモリは、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）により補充される、あるいは、特定用途向け集積回路に組み込まれる。
【００５２】
ユーザーとの相互作用を提供するため、いくつかの特徴は、ディスプレイデバイスを有するコンピュータで実現され、ディスプレイデバイスは、たとえば、ＣＲＴ (陰極線管)、あるいは、ＬＣＤ(液晶ディスプレイ) モニターであり、情報をユーザーに表示し、コンピュータは、キーボード、および、ポインティングデバイス、たとえば、マウス、あるいは、トラックボールを有して、ユーザーが入力をコンピュータに提供する。
【００５３】
上述の特徴は、コンピュータシステムで実現され、コンピュータシステムは、バックエンドコンポーネント、たとえば、データサーバを含む、あるいは、ミドルウェア、たとえば、アプリケーションサーバ、あるいは、インターネットサーバを含む、あるいは、フロントエンドコンポーネント、たとえば、グラフィカルユーザーインターフェース、あるいは、インターネットブラウザを有するクラインとコンピュータ、あるいは、それらの任意の組み合わせを有する。システムのコンポーネンツは、任意の形式、あるいは、デジタルデータ通信の媒体、たとえば、通信ネットワークにより接続される。通信ネットワークの例は、ＬＡＮ、ＷＡＮ、および、インターネットにより形成されるコンピュータ、および、ネットワークである。
【００５４】
コンピュータシステムは、クライアントとサーバを有する。クライアントとサーバは、一般に、互いに離れており、一般に、ネットワークにより相互作用する。クライアントとサーバの関係は、相関するコンピュータで実施されるコンピュータプログラムの効果により生成されるとともに、コンピュータプログラムは、クライアントとサーバの互いの関係を有する。
【００５５】
本発明の実施態様の一つ以上の特徴、あるいは、ステップは、ＡＰＩを用いて実行される。ＡＰＩは、サービスを提供する、データを提供する、あるいは、操作や計算を実行する呼び出しアプリケーション、および、別のソフトウェアコード (たとえば、操作システム、ライブラリールーティン、功能)間で伝送される一つ以上のパラメータを定義する。
【００５６】
ＡＰＩは、ＡＰＩ仕様書で定義される呼び出し規約に基づいて、パラメータリスト、あるいは、その他の構造により、一つ以上のパラメータを送受信するプログラムコード中で、一つ以上の呼び出しとして実施される。パラメータは、常数、キー、データ構造、物件、物件類別、変数、データタイプ、ポインター、アレイ、リスト、あるいは、別の呼び出しである。ＡＰＩ呼び出しとパラメータは任意のプログラミング言語で実現される。プログラミング言語は、語彙と呼び出し協定を定義して、プログラマーは上述の語彙と呼び出し協定を採用して、ＡＰＩをサポートする機能にアクセスする。
【００５７】
いくつかの実施態様において、ＡＰＩは一アプリケーションに対し、アプリケーションを実行する装置の能力、たとえば、入力能力、出力能力、処理能力、電力能力、通信能力等を報告する。
【００５８】
本発明は各種実施例を提供する。本発明に関する各種変化も予期、および、理解できる。たとえば、本発明の実施例による工程は、その他の工程を増加させたり、削除したりでき、および、本発明の実施例によるシステムは、その他のコンポーネンツを追加、あるいは、除去することができる。よって、その他の実施方法も、本発明の保護範囲に含まれる。
【００５９】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図１】
2017188085.tif 000003
【図２Ａ】
2017188085.tif 000004
【図２Ｂ】
2017188085.tif 000005
【図３Ａ】
2017188085.tif 000006
【図３Ｂ】
2017188085.tif 000007
【図４Ａ】
2017188085.tif 000008
【図４Ｂ】
2017188085.tif 000009
【図５】
2017188085.tif 000010
【手続補正書】
【提出日】平成29年5月18日(2017.5.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバデバイスの管理に関するものであって、とくに、ロック機構を用いた、サーバデバイスのデータ損失防止方法に関するものである。
【背景技術】
【０００２】
従来のシャーシシステム機構において、シャーシシステムは、個別に、且つ、互いに独立して作動する少なくとも一つの電源、および、一つ以上のスレッドを有する。電源を設置して、スレッドでコンピューティングデバイスを操作する際に必要な電力を供給する。ある状況下で、スレッド中の一つ以上のコンピューティングデバイスの失効のため、スレッドを置換、あるいは、修復する必要がある。よって、アセンブリ技術者は、機械的に、スレッドをシャーシから除去して、失効したコンピューティングデバイスを修復、あるいは、代替する。このアプローチに関する問題は、アセンブリ技術者が、スレッドの除去の準備が行われているか知らない、あるいは、アセンブリ技術者が、シャットダウン操作期間中に、スレッドを時期尚早に取り出してしまうことである。その結果、アセンブリ技術者が誤って、スレッドをシャーシから取り出した時、スレッドが作動中であり、スレッド中のコンピューティングデバイスに対する突然の電力損失のため、データ損失が発生する。
【発明の概要】
【０００３】
以下で、本発明の技術の基本認識を提供するため、一つ以上の実施例の簡潔な要約を記述する。この要約は、本発明の熟慮された全実施態様の詳細ではなく、全ての例の識別キーや重大な要素は、本発明の任意の、あるいは、全ての態様を描いていない。その唯一の目的は、後に提示されるさらに詳細な記述に対する前置きとして、簡潔な形式で、一つ以上の例のいくつかのコンセプトを表すことである。
【０００４】
ここで記述される例の一つ以上の態様に関し、システムと方法が提供され、サーバシステム中の電圧感知の電気的スイッチロックを用いて、電源損失を防止する。装置は、一つ以上のコンピューティングデバイスを有するスレッド、スレッドを収容するシャーシ、および、機械的に、スレッドをシャーシにロックする少なくとも一つのロック機構を有する。装置は、さらに、ロック機構のコントローラーを有し、コントローラーが設置されて、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるか検出し、少なくとも一つのコンピューティングデバイスがアクティブ状態であることを検出するとき、ロック機構をアクティブにするとともに、少なくとも一つのコンピューティングデバイスが非アクティブ状態であることを検出するとき、ロック機構を非アクティブにする。
【０００５】
さらに、ロック機構は、スレッドの上に装着される少なくとも一つのソレノイドスイッチを有し、ソレノイドに選択的にエネルギーを与え、ソレノイドスイッチは、ソレノイドで軸方向に移動するスイッチ棒を有する。いくつかの実施態様において、コントローラーは、シャーシ基板管理コントローラーである。別の実施態様において、コントローラーは、スレッド基板管理コントローラーである。さらに別の実施態様において、コントローラーは、ラック基板管理コントローラーである。
【０００６】
さらに、コントローラーが設置されて、ソレノイドに電気的にエネルギーを供給することにより、スレッドに関連するソレノイドスイッチを作動し、ソレノイドの通電は磁力を生成して、スイッチ棒を延伸させ、スレッドと結合する。コントローラーは、さらに、ソレノイドへの電気的なエネルギー供給を停止することにより、スレッドに関連するソレノイドスイッチを非作動にし、ソレノイドへの通電を停止して、スイッチ棒をソレノイドに回収する。
【０００７】
別の実施態様において、コントローラーがさらに設置されて、スレッドのメモリデバイス中で、データバックアッププロセスを実行し、データバックアッププロセスがすでに完成したことを示す通知を受信するとともに、通知の受信に対応して、ロック機構を非アクティブにする。別の実施態様において、コントローラーが設置されて、スレショルド電圧値をスレッドに提供して、データバックアッププロセスが実行中のときに、アクティブ状態のままにする。
【０００８】
装置は、さらに、コントローラーを有し、スレッド中の少なくとも一つのコンピューティングデバイスの電圧値を判断し、少なくとも一つのコンピューティングデバイスの電圧値が、スレショルド電圧値以上であると判断するとき、スレッドが非アクティブ状態であると判断する。装置は、コントローラーを有し、除去要求を受信して、シャーシからスレッドを機械的に切断する。
【０００９】
別の実施態様において、電源損失を防止する方法が提供される。本方法は、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるか判断し、少なくとも一つのコンピューティングデバイスがアクティブ状態であると判断するとき、ロック機構をアクティブにするとともに、少なくとも一つのコンピューティングデバイスが非アクティブ状態であると判断するとき、ロック機構を非アクティブにする工程を有する。
【００１０】
さらに別の実施態様において、持続性コンピュータ読み取り可能媒体が提供されて、サーバシステム中の電源損失を防止する。持続性コンピュータ読み取り可能媒体は、実行可能指令を保存し、指令がシステムコントローラーにより実行されるとき、システムコントローラーにいくつかの操作を実行させ、その操作は、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるか検出し、少なくとも一つのコンピューティングデバイスがアクティブ状態でることを検出するとき、ロック機構をアクティブにするとともに、少なくとも一つのコンピューティングデバイスが非アクティブ状態であることを検出するとき、ロック機構を非アクティブにする工程を有する。
【００１１】
本発明の各種実施例にもとづいて、以下の図面とともに描写する。
【図面の簡単な説明】
【００１２】
【図１】サーバシステムにおける電源損失を防止する実施態様のブロック図である。
【図２Ａ】、および、
【図２Ｂ】スイッチロックが非アクティブであるときのスイッチロックの配置図である。
【図３Ａ】、および、
【図３Ｂ】スイッチロックがアクティブであるときのスイッチロックの配置図である。
【図４Ａ】、および、
【図４Ｂ】サーバシステムにおける電源損失を防止する方法のフローチャートである。
【図５】コンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１３】
本発明の各種態様は図面を参照して記述される。以下の記述において、一つ以上の態様の十分な理解を提供するため、いくつかの特定の詳細が記述される。しかし、本発明は、これらの特定の詳細がなくても実現できる。このほか、既知の構造と装置は、ブロック図の方式で示されて、これらの態様の描写を補助する。本文中の語彙“実施態様”は、ここでは、“例として、範例、あるいは、説明”という意味である。ここで記述される“実施態様”は、必ずしも、その他の実施態様において、好ましい、あるいは、有利であるとして解釈されない。
【００１４】
本発明は、シャーシのスレッドにロック構造を使用することにより、データ損失を防止する技術を提供する。図１は、本発明の実施態様によるデータ損失を防止するシャーシシステムのブロック図１００である。ブロック図１００に示されるように、シャーシ１０１が提供され、シャーシ１０１は、各種コンポーネンツをサポートするアセンブリで、独立して、ラックシステムに搭載される。シャーシ１０１は、構造と電力工程を、複数のスレッドユニット、および、その他の電気サブシステムに提供する。図１に示されるように、シャーシ１０１は、除去可能なスレッド１０３、電源供給ユニット (ＰＳＵ)１０５、Ｉ／Ｏ（Ｉｎｐｕｔ／ｏｕｔｐｕｔ）基板１０６、ＪＢＯＤ筺体 (ＪＢＥ)１０２、配電板 (ＰＤＢ)１０４、および、スイッチロック１１０を有する。ＪＢＯＤ（Ｊｕｓｔ  ａ  Ｂｕｎｃｈ  ｏｆ  Ｄｉｓｋｓ／Ｄｒｉｖｅｒｓ）は、ハードディスクの集合、あるいは、いくつかのディスクに用いるハードディスク筺体である。   
【００１５】
図１に示されるように、ＰＳＵ１０５、あるいは、ＢＢＵ（Ｂａｃｋ−ｕｐ  Ｂａｔｔｅｒｙ  Ｕｎｉｔ）１１２は電源を供給して、スレッド１０３、Ｉ／Ｏ基板１０６、ＪＢＥ１０２、および、スイッチロック１１０を含むシャーシ１０１のコンポーネンツを操作する。配電板 (ＰＤＢ)１０４により電力配置が提供され、配電板１０４は、ＰＳＵ１０５から電力を受信するとともに、電力を上述のコンポーネンツに分配する。
【００１６】
スレッド１０３は、複数の異なるコンポーネンツを有する。たとえば、図１の配置に示されるように、スレッド１０３は、コントローラー１０９、ＢＢＵ１１２、ＣＰＵ１０７、ＲＡＭ１０８、および、ローカルストレージデバイス１１１を有する。しかし、本発明は、スレッドが、図１よりもさらに多い、あるいは、少ないコンポーネンツを有してもよい。
【００１７】
上で述べたように、スレッドは、ＣＰＵ１０７の他に、ＲＡＭ１０８、および、ローカルストレージデバイス１１１、ＢＢＵ１１２を有し、ＰＳＵ１０５、ＰＤＢ１０４、あるいは、それらの間のコンポーネンツの故障によるこのような突然の電力損失によって、スレッド１０３への電力供給が中断される問題を処理する。ＢＢＵ１１２は、スレッド１０３のコンポーネンツに二次電力を提供して、操作できるようにするか、あるいは、少なくとも安全な状態下でシャットダウンする。たとえば、スレッド１０３がＰＤＢ１０４により電源供給されるとともに、必要な量の電力を保存して、スレッド１０３のコンポーネンツが、データバックアップ操作期間中に、アクティブで維持される間、ＢＢＵ１１２が充電される。このようなコンポーネンツは、少なくともＲＡＭ１０８、ローカルストレージデバイス１１１、あるいは、ＣＰＵ１０７を有する。ＢＢＵ１１２は、十分な電力を維持して、スレッド１０３を数分から数時間操作する。   
【００１８】
スレッド１０３は、さらに、上で述べたように、コントローラー１０９を有する。コントローラー１０９は、ＣＰＵ１０７で独立して操作するサービス、あるいは、管理プロセッサ (たとえば、基板管理プロセッサ)で、サーバの管理タスクをサポートする。たとえば、コントローラー１０９は基板管理コントローラー (ＢＭＣ)であり、スレッド１０３の帯域外の管理／ネットワーク管理組織を提供する。  
【００１９】
上で述べたように、スレッド１０３は、シャーシ１０１から取り外し可能であり、且つ、完全に挿入されるとき、ラッチシステムにより、スレッドをある位置にロックされる。スレッド１０３の任意のコンポーネンツの修復、あるいは、置換において、アセンブリ技術者は、手動で、スレッド１０３をシャーシ１０１から引き出すことにより、スレッド１０３をシャーシ１０１から除去するか、あるいは、ＰＤＢ１０４とスレッド１０３の連結を分断する。スレッド１０３は一つ以上のコネクタ (図示しない)を有して、スレッド１０３がシャーシ１０１に挿入されるとき、ＰＤＢ１０４中の一つ以上の対応するコネクタ (図示しない)と結合する。いくつかの配置において、スレッド１０３は“熱交換（ｈｏｔ−ｓｗａｐｐａｂｌｅ）”である。つまり、シャーシ１０１の電源をオフする必要がなく、スレッド１０３を除去、あるいは、シャーシ１０１中に再挿入することができる。  
【００２０】
上で述べたように、本発明は、ロック機構を有して、スレッド１０３が、時期尚早に、シャーシ１０１から除去されるのを防止する（つまり、スレッド１０３中のコンポーネンツはアクティブであるとき）。よって、シャーシ１０１は、スイッチロック１１０をロック機構の一部分として組み込み、スイッチロック１１０は、機械的に、スレッド１０３をシャーシ１０１にロック、あるいは、固定するとともに、スレッド１０３と電源(つまり、ＰＳＵ１０５、および、ＰＤＢ１０４)の予期せぬ切断を防止する。よって、スイッチロック１１０は、シャーシ１０１からスレッド１０３を除去するのを物理的に防止することにより、連続したスレッド１０３への電力供給を確保する。   
【００２１】
本発明において、ロック機構は、さらに、感知システムを有し、感知システムは、スイッチロック１１０をアクティブ、あるいは、非アクティブにすることができる。たとえば、スイッチロック１１０は、電圧感知システムを有する、あるいは、電圧感知システムにより制御され、回路中の電圧値を検出するとともに、対応する出力信号を生成する。検出された電圧値に基づいて、電圧感知システムは、スイッチロック１１０を制御することができる。ロック機構の配置の一例は、図２Ａ-図３Ｂと併せて、以下で説明する。 
【００２２】
いくつかの実施態様において、コントローラー１０９は、電圧感知システムの一部である。たとえば、コントローラー１０９は、スレッド１０３中のコンピューティングデバイスそれぞれの電圧値を決定することにより、スレッド１０３がアクティブであるかどうかを検出することができる。スレッド１０３は、ＰＳＵ１０５、あるいは、ＢＢＵ１１２から電源が与えられるとき、スレッド１０３はアクティブであると判断される。コントローラー１０９が、任意のコンピューティングデバイスが、スレショルド電圧値より高い電圧値に関連すると判断する場合、コンピューティングデバイスはアクティブであるか判断されるとともに、対応する信号が生成されて、スイッチロック１１０をアクティブにする。スレショルド電圧値は、コントローラー１０９によりあらかじめ決定される。一般に、スレショルド電圧値はゼロであるが、場合によって、とても小さい余剰電圧値が０として識別される。    
【００２３】
いくつかの実施態様において、スイッチロック１１０がアクティブになり、データバックアッププロセス期間中、あるいは、サーバが作動モードであるとき、スレッドがシャーシ１０１から抜き取られるのを防止する。データバックアッププロセスがすでに完成している、あるいは、ＢＢＵ１１２が完全に放電された後、スイッチロック１１０は非アクティブになる。コントローラー１０９は、データバックアッププロセスを検出することができる。たとえば、コントローラー１０９は、ローカルストレージデバイス１１１がすでに最新データを保存したかどうか判断し、データバックアップが最新ではない場合、データバックアップ工程を開始する。コントローラー１０９は、ローカルストレージデバイス１１１中の書き込みデータとＲＡＭ１０８中のデータを比較して、それらが同じであるかどうか判断する。ローカルストレージデバイス１１１中の書き込みデータが、ＲＡＭ１０８中のデータと異なると判断するとき、ＲＡＭ１０８中に保存されたデータは、ローカルストレージデバイス１１１に複製されて、データバックアップを生成する。いくつかの実施態様において、電源失効であると判断されるとき、データバックアッププロセスが初期化される。たとえば、ＰＳＵ ＡＣが中断し、コントローラーは、ローカルストレージデバイス１１１中でデータをバックアップすることができる。類似工程が用いられて、ＣＰＵ１０７の状態データをバックアップする。   
【００２４】
いくつかの実施態様において、データバックアッププロセスがすでに完成していると判断するとき、コントローラー１０９は、ＢＢＵ１１２をオフにして、ＢＢＵ１１２の放電を停止する。一旦、データバックアップがローカルストレージデバイス１１１で保存されると、通知が生成されて、データバックアッププロセスがすでに完成しており、且つ、スレッド１０３の除去の準備がされていることを示す。通知が、Ｉ／Ｏ基板１０６、あるいは、管理装置に送信される。通知が生成されるとき、スイッチロック１１０は非アクティブになり、アセンブリ技術者は、容易、且つ、安全に、スレッドを除去することができる。
【００２５】
いくつかの実施態様において、通知は光源通知である。たとえば、各スレッドは光源装置に関連し、光源装置は、シャーシ１０１、あるいは、スレッド１０３の外部から観察できる。光線通知は、発光ダイオード (ＬＥＤ)のフラッシュ光線で、アセンブリ技術者の注意を引く。その他の実施態様において、通知は音声通知、たとえば、ビープ音である。よって、ロック機構が非アクティブであるとき、特定のビープ音が再生されて、スレッド１０３の対応するロック状態を示す。       
【００２６】
図２Ａ、および、図２Ｂは、スイッチロックが非アクティブであるとき(つまり、ロック機構は非アクティブ)のスイッチロックの配置を示す図である。とくに、図２Ａは、スイッチロックが非アクティブであるときの配置２００を示す図で、図２Ｂは、スレッドとシャーシと接続している非アクティブのスイッチロックの配置２５０を示す図である。図２Ａに示されるように、スイッチロックはソレノイドスイッチタイプである。ソレノイドスイッチタイプは、電気エネルギーを磁気直線運動に変換することができる。たとえば、ソレノイドスイッチは、一般に、緊密に巻かれた螺旋状のコイルを有する。コイルは、通常、空間体積を包み、磁界がその中に生成される。コイル中で電流を与えることにより、磁界が生成される。生成される磁界は、電流の流動方向に基づいた線的方向のポインティング磁力である。いくつかの実施態様において、ポインティング磁力は十分な強さで、作動棒を動かし、指定された方向で、コイルにより囲まれる。
【００２７】
たとえば、図２Ａのソレノイドスイッチは、電機子２０２、スプリング２０３、コイル２０４、および、作動棒２０５を収容するハウジング２０１を有する。電機子２０２は、電気モーター／生成器中の回転構造であり、電流を運ぶことができるコイルにより巻かれる。作動棒２０５は長い金属棒で、生成された磁力により、ハウジング２０１の外に押し出される。作動棒２０５は、垂直に、電機子２０２に取り付けられる。電機子２０２、および、作動棒２０５は、スプリング２０３により、ハウジング２０１に取り付けられる。スプリング２０３は、電機子２０２、および、作動棒２０５の動きを促すことができる。
【００２８】
図２Ｂに示されるように、スレッド２０７は、窪み、ホール、開口、あるいは、その他の受信素子２０８を有し、磁力によって、作動棒２０５がハウジング２０１外に押し出されるとき、作動棒２０５を受け入れることができる。電流がコイル２０４を流れないとき(たとえば、‘Ｉ＝０’で示される)、スイッチロックがオフになる。特定の実施態様において、電流は、採用される電圧感知システムにより、直接、あるいは、間接的に制御される。たとえば、スレッド中のコンポーネンツはアクティブであるかどうかを示すコントローラー１０９からの信号が用いられて、電流が供給されるかどうか制御する。しかし、本発明は、電流を制御するその他の任意の方法を用いることもできる。 
【００２９】
電流がコイルを流れないとき、作動棒２０５に、スプリング２０３の力を克服する磁力がなく、且つ、作動棒２０５がハウジング２０１で留まるとともに、受信素子２０８に延伸しない。よって、スレッド２０７は、シャーシ２０６から除去される。   
【００３０】
図３Ａ、および、図３Ｂは、スイッチロックがアクティブであるとき (つまり、ロック機構がアクティブである)の配置を示す図である。とくに、図３Ａは、スイッチロックがアクティブであるときの配置３００を示す図で、図３Ｂは、スレッドとシャーシと接続されるアクティブのスイッチロックの配置３５０を示す図である。図３Ａに示されるように、スイッチロックは、電機子２０２、スプリング２０３、コイル２０４、および、作動棒２０５を収容するハウジング２０１を有する。電流がコイル２０４を流れるとき ( ‘I’で示される)、スイッチはオンになり、磁力は、指定された方向 (すなわち、下方向)で生成される。図３Ａに示されるように、磁力が作動棒２０５に作用して、電機子２０２を下方に押すスプリング２０３の力に打ち勝つ。よって、作動棒２０５は、ハウジング２０１から突起するとともに、スレッド２０７の受信素子２０８に挿入する。よって、スレッド２０７を有する作動棒２０５の結束は、技術者の物理的力により、シャーシ２０６から、スレッド２０７が除去されるのを防止する。
【００３１】
上記では、ソレノイドタイプのスイッチは、一つ以上の態様の説明の目的のために記述されているが、その他のタイプのスイッチを用いて、スレッドをシャーシにロックすることができる。たとえば、任意の電子、磁気、あるいは、機械的スイッチを用いることもできる。
【００３２】
さらに、図１、図２Ａ、図２Ｂ、図３Ａ、および、図３Ｂでは、スイッチロックがスレッドから独立しているが、本発明は、さらに、スイッチロックが、スレッドの一部として実施されて、スレッドをシャーシに固定することも含む。さらに、ロック機構の全ての機能がスレッド内部に配置される。
【００３３】
いくつかの実施態様において、スイッチロックは、さらに、シャーシ中のその他のコンポーネンツと関連し、スレッドと作用する。よって、目下のところアクティブでない場合でも、シャーシ中の関連コンポーネンツがまだアクティブである場合、除去が防止される。
【００３４】
さらに別の実施態様において、単一スレッドは二個以上のスイッチロックを有する。各スイッチロックは通信可能で、互いに互換性があり、よって、一スイッチロックが失効した場合、このスイッチロックは同期化され、別のスイッチロックが引き継ぐ。いくつかの配置において、異なるスイッチロックは独立して制御され、且つ、異なる条件に基づいて、アクティブ、あるいは、非アクティブになる。よって、スレッドは、異なる条件が同時に符合するときだけ除去される。
【００３５】
さらに、上述の配置は、スレッドの除去管理に対するものであるが、各種実施態様はこれに制限されない。本発明の類似のロック機構が、シャーシ中の別のタイプのコンポーネンツに用いられてもよい。たとえば、ＰＳＵ、ＪＢＥ、あるいは、別のコンポーネンツの時期尚早な除去は、このようなロック構造を用いることにより防止される。
【００３６】
図４Ａは、サーバシステムにおける電源損失を防止する方法のフローチャート４００である。工程４０５において、コントローラーは、管理装置から、除去要求を受信して、機械的に、スレッドとシャーシを切断する。たとえば、管理装置は、Ｉ／Ｏ基板 から、技術者からの入力を検出し、この入力は、技術者が、スレッドを置換、あるいは、修復するために、スレッドをシャーシから除去する必要があることを示す。特定の配置において、ボタン、あるいは、その他の制御装置がアクティブになり、スレッドの除去を要求する。管理装置は、除去要求をコントローラーに送信する。工程４１０において、コントローラーは、スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態か検出する。上述のように、スレッドは、少なくとも一つ以上のコンピューティングデバイスを有し、コンピューティングデバイスは、スレッド、たとえば、ＢＢＵ、ＣＰＵ、ＲＡＭ、あるいは、コントローラー等の操作に必要である。スレッドをシャーシから安全に取り外すため、全部のコンピューティングデバイスをオフにする必要がある。よって、コントローラーは、少なくとも一つのコンピューティングデバイスが、非アクティブ状態であるかどうか検出して、ロック機構がアクティブにされる必要があるか判断する。
【００３７】
工程４１５において、少なくとも一つのコンピューティングデバイスがアクティブ状態であると判断するとき、コントローラーは、ロック機構をアクティブにして、機械的に、スレッドをシャーシにロックして、スレッドがシャーシから誤って除去されるのを防止する。工程４３０において、少なくとも一つのコンピューティングデバイスが、非アクティブ状態であると判断するとき、この状況下で、安全に、スレッドをシャーシから除去することができるので、コントローラーはロック機構をアクティブにしない。 
【００３８】
いくつかの実施態様において、工程４１７において、コントローラーが、電源がオフであると判断するとき、工程４３０において、ロック機構が非アクティブになり、シャーシからスレッドを除去することができる。工程４１６において、コントローラーが、電源が失効していると判断するとき、工程４１９において、データバックアッププロセスが開始される。工程４２５で、 データバックアッププロセスが完成するとき、工程４３０において、ロック機構は非アクティブになり、技術者はシャーシからスレッドを除去することができる。ＢＢＵは、工程４１８において、放電されて、データバックアッププロセスが進展中、データバックアッププロセスに必要な電力を供給する。データバックアッププロセスが完成する前、ＢＢＵが工程４２０で完全に放電される場合、ロック機構は非アクティブになる。データバックアッププロセスが完成しても、ＢＢＵが完全に放電されない場合、スレッドはアクティブを維持し、且つ、ＢＢＵが完全に放電されるまで、ロック機構はアクティブのまま維持される。
【００３９】
工程４３５において、指示が技術者に提供されて、スレッドの除去の準備ができたことを通知する。たとえば、上述のように、光学、あるいは、音声指示が提供される。
【００４０】
本発明は、その他の実施例にも適用できる。たとえば、技術者は、スレッドを除去する前、シャーシと電源の接続を切断する、あるいは、ＰＳＵを除去、あるいは、非アクティブにすることができる。しかし、ある状況において、スレッドは、操作中で、且つ、スレッドが除去される前にバックする必要がある。よって、本発明は、ＢＢＵを利用して、このような状況下で、スレッドが時期尚早に除去されるのを防止することができる。この内容は、図４Ｂに関連して説明される。
【００４１】
図４Ｂは、ＢＢＵを用いて、ロック機構をアクティブにする方法の詳細なフローチャート４５０である。工程４６０において、シャーシ (および、スレッド)がオンになり、スイッチロックがアクティブになる。工程４７０において、スレッドは操作モードに進入して、任意のタスクを実行し、スレッドは通常操作を実行する。
【００４２】
工程４７５、および、工程４８０において、シャーシは、同時に、ＡＣ電源損失 (４７５)、あるいは、ＰＳＵ失効(４８０)、あるいは、別のタイプのスレッドに関する外部電源損失事象を監視する。このような外部電源損失事象の事象において、工程４８５で、スレッドはバックアップモードに切り替える。バックアップモード期間中、データバックアップ操作が実行され、ＢＢＵが放電されて、データバックアップ操作に必要な電力を供給する。さらに、この期間中、ロックスイッチはアクティブで維持されて、時期尚早なスレッドの除去で、データが損失するのを防止する。たとえば、ＢＢＵにより供給される電力により、スイッチロックが操作できる。
【００４３】
工程４９０において、データバックアップ操作が完了後、スレッドのコンポーネンツがオフになる。コントローラーは、スレッド中の全コンピューティングデバイスがオフかどうか判断することにより、スレッドが非アクティブであるか判断する。さらに、ロックスイッチが非アクティブであり、スレッドの除去が実行される。ある場合において、上述のようにロック機構が非アクティブであり、且つ、スレッドが除去されることを通知する指示がアセンブリ技術者に提供される。別の場合では、ＢＢＵの尺寸が設計されて、十分な電力が保存されて、スレッドとスイッチロックに、少なくともバックアップ操作を完成させるのに必要な時間の電源が供給される。よって、ＢＢＵからの電源が損失することにより、ＢＢＵが放電され、且つ、スイッチが非アクティブになるとき、スレッドが安全に除去される。
【００４４】
図５は、図１〜図４の特徴とプロセスを実行するシステム機構５００のブロック図である。機構５００は、コンパイルされた指令から生成されるソフトウェアアプリケーションを実行する任意の電子装置上で実現され、電子装置は、これに限定されないが、パソコン、サーバ、スマートホン、メディアプレーヤー、電子タブレット、家庭用ゲーム、電子メール装置を有する。いくつかの実施において、機構５００は、一つ以上のプロセッサ５０２、一つ以上の入力装置５０４、一つ以上のディスプレイデバイス５０６、一つ以上のネットワークインターフェース５０８、および、一つ以上のコンピュータ読み取り可能媒体５１０を有する。これらのコンポーネンツは、それぞれ、バス５１２により結合される。
【００４５】
ディスプレイデバイス５０６は、任意の従来のディスプレイ技術であり、これに限定されないが、液晶ディスプレイ (ＬＣＤ)、あるいは、発光ダイオード (ＬＥＤ)技術を用いたディスプレイデバイスを含む。プロセッサ５０２は、任意の従来のプロセッサ技術を用いることができ、これに限定されないが、グラフィックプロセッサ、および、マルチコアプロセッサである。入力装置５０４は任意の従来の入力装置技術であり、これに限定されないが、キーボード (バーチャルキーボードを含む)、マウス、トラックボール、および、タッチセンサーパッド、あるいは、ディスプレイを含む。バス５１２は、従来の内部、あるいは、外部バス技術であり、これに限定されないがＩＳＡ，ＥＩＳＡ，ＰＣＩ，ＰＣＩ  Ｅｘｐｒｅｓｓ，ＮｕＢｕｓ，ＵＳＢ，Ｓｅｒｉａｌ  ＡＴＡ、あるいは、ＦｉｒｅＷｉｒｅである。
【００４６】
コンピュータ読み取り可能媒体５１０は、プロセッサ５０２が実行する指令を提供するのに加わる任意の媒体であり、これに限定されないが、非揮発性ストレージ媒体 (たとえば、光学ディスク、磁気ディスク、フラッシュドライブ等)、あるいは、揮発性媒体(たとえば、ＳＤＲＡＭ，ＲＯＭ等)を有する。コンピュータ読み取り可能媒体 (たとえば、ストレージデバイス、媒体、および、メモリ)は、たとえば、ケーブル、あるいは、ビットストリーム等を有する無線信号を有する。しかし、ここで記述される持続性コンピュータ読み取り可能媒体は、はっきりと、たとえば、エネルギー、キャリア信号、電磁波信号、および、信号自身等の媒体を排除する。
【００４７】
コンピュータ読み取り可能媒体５１０は、操作システム (たとえば、Ｍａｃ  ＯＳ（登録商標）,  Ｗｉｎｄｏｗｓ（登録商標）,  Ｌｉｎｕｘ（登録商標）)を実行する各種指令５１４を有する。操作システムは、マルチユーザー、マルチプロセッシング、マルチタスキング（ｍｕｌｔｉｔａｓｋｉｎｇ）、マルチスレッディング（ｍｕｌｔｉｔｈｒｅａｄｉｎｇ）、即時などである。操作システムは基本タスクを実行し、これに限定されないが、入力装置５０４からの入力を認識すること、出力をディスプレイデバイス５０６に送信すること、コンピュータ読み取り可能媒体５１０中のファイルとも目録の追跡を維持すること、直接制御、あるいは、Ｉ／Ｏコントローラーにより、周辺装置(たとえば、ディスクドライブ、プリンター等)を制御すること、および、バス５１２上のトラフィックを管理することである。ネットワーク通信５１６が構築されるとともに、ネットワーク接続 (たとえば、通信プロトコルを実行するソフトウェア、たとえば、ＴＣＰ／ＩＰ，ＨＴＴＰ，Ｅｔｈｅｒｎｅｔ)を維持する。   
【００４８】
グラフィック処理システム５１８は、グラフィック、および、イメージ処理能力を提供する指令を有する。アプリケーション５２０は、図１〜図４で記述されるプロセスを使用、あるいは、実現する一アプリケーションである。プロセスは、さらに、操作システム５１４で実現することができる。   
【００４９】
サービスコントローラー５２２は、プロセッサ５０２、および／または、操作システム５１４から独立して操作するコントローラーである。いくつかの実施において、プロセッサ５０２がオンになり、操作システム５１４がプロセッサ５０２にロードされる前、サービスコントローラー５２２がオンになり、操作可能になる。たとえば、サービスコントローラー５２２は、専用のネットワークインターフェース、あるいは、その他の入力装置により、コンピューティングデバイスのプレＯＳ管理を提供する。たとえば、サービスコントローラー５２２は、基板管理コントローラー (ＢＭＣ)であり、デバイスセンサー (たとえば、電圧、温度、ファン等)、故障解析のログ事象を監視する、スレッドガイド診断を提供する、電源管理を実行する、および／または、自動制御プラットフォーム管理インターフェース（ＩＰＭＩ）により、リモート管理能力を提供する、キーボード、ビデオ、および、マウス（ＫＶＭ）出力先変更、シリアルオーバーＬＡＮ（ＳＯＬ）、および／または、その他のインターフェースである。サービスコントローラー５２２は、図１〜図４に関連して記述されるプロセスを実装する。たとえば、サービスコントローラー５２２が設置されて、ＪＢＯＤ筺体（ＪＢＥ）１０２に結合される電源ユニットを管理する。
【００５０】
記述される特徴は、一つ以上のコンピュータプログラムで有利に実現され、一つ以上のコンピュータプログラムは、少なくとも一つのプログラム可能なプロセッサを有するプログラム可能なシステムで実現され、少なくとも一つのプログラム可能なプロセッサがシステムに結合されて、データストレージシステムからデータと指令を受信、および、データと指令をデータストレージシステムに送信する。システムは、少なくとも一つの入力装置、および、少なくとも一つの出力装置を有する。コンピュータプログラムは、コンピュータ中で、直接、あるいは、間接的に用いられる一組の指令であり、特定活動を実行する、あるいは、特定結果をもたらす。コンピュータプログラムは、任意の形式のプログラミング言語で書きこまれ (たとえば、Ｏｂｊｅｃｔｉｖｅ−Ｃ，Ｊａｖａ（登録商標）)、コンパイルされた、あるいは、解釈された言語を有し、且つ、任意の形式で採用され、すなわち、プログラム言語は、スタンドアロンプログラムとして、あるいは、一モジュール、コンポーネント、サブルーチン、あるいは、コンピュータ環境に用いるのに適するその他のユニットの形式で採用される。
【００５１】
指令のプログラムを実行するのに適切なプロセッサは、任意の形式のコンピュータの汎用、および、特殊用途マイクロプロセッサ、単一プロセッサ、あるいは、複数のプロセッサ、あるいは、コアのひとつを有する。一般に、プロセッサは、読み取り専用メモリ、あるいは、ランダムアクセスメモリ、あるいは、両方から、指令とデータを受信する。コンピュータの必須要素は、指令を実行するプロセッサ、および、指令とデータを保存する一つ以上のメモリである。一般に、コンピュータは、データファイルを保存する一つ、あるいは、複数の大量ストレージデバイスを有する、あるいは、データファイルを保存する一つ、あるいは、複数の大量ストレージデバイスと操作可能な方式で結合して通信する。このような装置は、磁気ディスク、たとえば、内部ハードディスク、および、リムーバブルディスク等、光磁気ディスク、および、光学ディスクを有する。コンピュータプログラム指令とデータを明白に具体化するのに適するストレージデバイスは、全ての形式の不揮発性メモリを含み、半導体メモリデバイス、たとえば、ＥＰＲＯＭ，  ＥＥＰＲＯＭ、および、フラッシュメモリデバイス; 磁気ディスク たとえば、内部ハードディスク、および、リムーバブルディスク; 光磁気ディスク; および、ＣＤＲＯＭとＤＶＤ−ＲＯＭディスクである。プロセッサとメモリは、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）により補充される、あるいは、特定用途向け集積回路に組み込まれる。
【００５２】
ユーザーとの相互作用を提供するため、いくつかの特徴は、ディスプレイデバイスを有するコンピュータで実現され、ディスプレイデバイスは、たとえば、ＣＲＴ (陰極線管)、あるいは、ＬＣＤ(液晶ディスプレイ) モニターであり、情報をユーザーに表示し、コンピュータは、キーボード、および、ポインティングデバイス、たとえば、マウス、あるいは、トラックボールを有して、ユーザーが入力をコンピュータに提供する。
【００５３】
上述の特徴は、コンピュータシステムで実現され、コンピュータシステムは、バックエンドコンポーネント、たとえば、データサーバを含む、あるいは、ミドルウェア、たとえば、アプリケーションサーバ、あるいは、インターネットサーバを含む、あるいは、フロントエンドコンポーネント、たとえば、グラフィカルユーザーインターフェース、あるいは、インターネットブラウザを有するクラインとコンピュータ、あるいは、それらの任意の組み合わせを有する。システムのコンポーネンツは、任意の形式、あるいは、デジタルデータ通信の媒体、たとえば、通信ネットワークにより接続される。通信ネットワークの例は、ＬＡＮ、ＷＡＮ、および、インターネットにより形成されるコンピュータ、および、ネットワークである。
【００５４】
コンピュータシステムは、クライアントとサーバを有する。クライアントとサーバは、一般に、互いに離れており、一般に、ネットワークにより相互作用する。クライアントとサーバの関係は、相関するコンピュータで実施されるコンピュータプログラムの効果により生成されるとともに、コンピュータプログラムは、クライアントとサーバの互いの関係を有する。
【００５５】
本発明の実施態様の一つ以上の特徴、あるいは、ステップは、ＡＰＩを用いて実行される。ＡＰＩは、サービスを提供する、データを提供する、あるいは、操作や計算を実行する呼び出しアプリケーション、および、別のソフトウェアコード (たとえば、操作システム、ライブラリールーティン、功能)間で伝送される一つ以上のパラメータを定義する。
【００５６】
ＡＰＩは、ＡＰＩ仕様書で定義される呼び出し規約に基づいて、パラメータリスト、あるいは、その他の構造により、一つ以上のパラメータを送受信するプログラムコード中で、一つ以上の呼び出しとして実施される。パラメータは、常数、キー、データ構造、物件、物件類別、変数、データタイプ、ポインター、アレイ、リスト、あるいは、別の呼び出しである。ＡＰＩ呼び出しとパラメータは任意のプログラミング言語で実現される。プログラミング言語は、語彙と呼び出し協定を定義して、プログラマーは上述の語彙と呼び出し協定を採用して、ＡＰＩをサポートする機能にアクセスする。
【００５７】
いくつかの実施態様において、ＡＰＩは一アプリケーションに対し、アプリケーションを実行する装置の能力、たとえば、入力能力、出力能力、処理能力、電力能力、通信能力等を報告する。
【００５８】
本発明は各種実施例を提供する。本発明に関する各種変化も予期、および、理解できる。たとえば、本発明の実施例による工程は、その他の工程を増加させたり、削除したりでき、および、本発明の実施例によるシステムは、その他のコンポーネンツを追加、あるいは、除去することができる。よって、その他の実施方法も、本発明の保護範囲に含まれる。
【００５９】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。 
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
装置であって、
一つ以上のコンピューティングデバイスを有するスレッドと、
前記スレッドを収容するシャーシと、
機械的に、前記スレッドを前記シャーシにロックする少なくとも一つのロック機構、および、
前記ロック機構に用いられるコントローラー、を有し、
前記コントローラーは、
前記スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるかを検出する工程と、
前記少なくとも一つのコンピューティングデバイスが前記アクティブ状態であることを検出するとき、前記ロック機構をアクティブにする工程、および、
前記少なくとも一つのコンピューティングデバイスが前記非アクティブ状態であることを検出するとき、前記ロック機構を非アクティブにする工程、
を実行することを特徴とする装置。
【請求項２】
前記ロック機構は、前記スレッドに搭載する少なくとも一つのソレノイドスイッチを有し、前記ソレノイドに選択的にエネルギーを与え、前記ソレノイドスイッチは、前記ソレノイドで軸方向に移動するスイッチ棒を有することを特徴とする請求項１に記載の装置。
【請求項３】
前記ロック機構をアクティブにし、前記コントローラーは、さらに、
前記ソレノイドに選択的にエネルギーを与えることにより、前記スレッドに関連する前記ソレノイドスイッチをアクティブにし、前記ソレノイドの通電は磁力を生成して、前記スイッチ棒を延伸させ、前記スレッドと結合することを特徴とする請求項２に記載の装置。
【請求項４】
前記ロック機構を非アクティブにし、前記コントローラーは、さらに、
前記ソレノイドを電気的に停止することにより、前記スレッドに関連する前記ソレノイドスイッチを非作動にし、前記ソレノイドの前記停止は、前記スイッチ棒を前記ソレノイドに回収することを特徴とする請求項２に記載の装置。
【請求項５】
前記少なくとも一つのコンピューティングデバイスが前記アクティブ状態であることを検出するとき、前記ロック機構をアクティブにし、前記コントローラーは、さらに、 
前記スレッドのメモリデバイスで、データバックアッププロセスを実行する工程と、  
前記データバックアッププロセスがすでに完了していることを示す通知を受信する工程、および、 
前記通知の受信に反応して、前記ロック機構を非アクティブにする工程、 
を実行することを特徴とする請求項１に記載の装置。
【請求項６】
方法であって、
スレッド中の少なくとも一つのコンピューティングデバイスが、アクティブ状態、あるいは、非アクティブ状態であるかを検出する工程と、
前記少なくとも一つのコンピューティングデバイスが前記アクティブ状態であるか検出するとき、ロック機構をアクティブにする工程、および、
前記少なくとも一つのコンピューティングデバイスが前記非アクティブ状態であることを検出するとき、前記ロック機構を非アクティブにする工程、
を有することを特徴とする方法。
【請求項７】
前記ロック機構をアクティブにし、 
電気的に、ソレノイドにエネルギーを与えることにより、前記スレッドに関連するソレノイドスイッチを起動させ、前記ソレノイドの通電は磁力を生成して、スイッチ棒を延伸させ、前記スレッドと結合する工程を有することを特徴とする請求項６に記載の方法。
【請求項８】
前記ロック機構を非アクティブにし、 
ソレノイドを電気的に停止することにより、前記スレッドに関連するソレノイドスイッチを非起動にし、前記ソレノイドの前記停止は、スイッチ棒を前記ソレノイドに回収する工程を有することを特徴とする請求項６に記載の方法。
【請求項９】
持続性コンピュータ読み取り可能媒体であって、指令を保存し、システムコントローラーにより実行されるとき、前記システムコントローラーに操作を実行させ、前記操作は、
スレッド中の少なくとも一つのコンピューティングデバイスがアクティブ状態、あるいは、非アクティブ状態であるか検出する工程と、
前記少なくとも一つのコンピューティングデバイスが前記アクティブ状態であることを検出するとき、ロック機構をアクティブにする工程、および、
前記少なくとも一つのコンピューティングデバイスが前記非アクティブ状態であることを検出するとき、前記ロック機構を非アクティブにする工程、
を有することを特徴とする持続性コンピュータ読み取り可能媒体。
【請求項１０】
前記指令が実行されるとき、前記システムコントローラーに操作を実行させ、前記操作は、さらに、
除去要求を受信して、シャーシから、機械的に前記スレッドを切断する工程を有することを特徴とする請求項９に記載の持続性コンピュータ読み取り可能媒体。
【外国語明細書】
【発明の名称】Chassis with lock mechanism
【技術分野】
【０００１】
This application relates to managing a server device, and more particularly to a method of preventing data loss for the server device using a lock mechanism.
【背景技術】
【０００２】
In traditional chassis system architecture, a chassis system includes at least one power source and one or more sleds that work individually and independently of each other.  The power source may be configured to supply the required power to operate computing devices within the sleds.  Sometimes, a sled needs to be replaced or repaired due to the failure of one or more of the computing devices in the sled.  Therefore, an assembly technician will mechanically remove the sled from the chassis for repair or replacement of the failed computing device.  The problem with this approach is that the assembly technician may not know whether the sled is ready to be removed.  Alternatively, the assembly technician may pull out the sled prematurely during a shutdown operation.  As a result, when the assembly technician mistakenly pulls the sled out of from the chassis while the sled is operating, a data loss may occur due to the sudden power loss to the computing devices within sled.  
【発明の概要】
【０００３】
The following presents a simplified summary of one or more embodiments in order to provide a basic understanding of present technology.  This summary is not an extensive overview of all contemplated embodiments of the present technology, and is intended to neither identify key or critical elements of all examples nor delineate the scope of any or all aspects of the present technology.  Its sole purpose is to present some concepts of one or more examples in a simplified form as a prelude to the more detailed description that is presented later.
【０００４】
In accordance with one or more aspects of the examples described herein, systems and methods are provided for preventing a power loss using a voltage-sensing electrical switch lock in a server system.  The apparatus includes a sled including one or more computing devices, a chassis configured for receiving the sled,  and at least one locking mechanism configured for mechanically locking the sled to the chassis.   The apparatus further includes a controller for the locking mechanism, wherein the controller is configured for detecting whether at least one of computing devices in the sled are in an active state or in an inactive state, in response to detecting that the at least one of the computing devices is in the active state, activating the locking mechanism, and in response to detecting that the at least one of the computing devices are in the inactive state, deactivating the locking mechanism. 
【０００５】
Further, the locking mechanism can include at least a solenoid switch that is mounted on the sled for selectively energizing a solenoid, where the solenoid switch includes a switch rod that axially moves in the solenoid.  In some embodiments, the controller may be a chassis baseboard management controller (BMC).  In another embodiment, the controller may be a sled baseboard management controller (BMC).  In yet another embodiment, the controller may be a rack baseboard management controller (BMC).
【０００６】
Moreover, the controller is further configured for actuating the solenoid switch associated with the sled by electrically energizing the solenoid, the energization of the solenoid produces a magnetic force to move the switch rod to be extended and engaged with the sled.  The controller is further configured for de-actuating the solenoid switch associated with the sled by electrically de-energizing the solenoid, the de-energization of the solenoid causes the switch rod to be retracted into the solenoid. 
【０００７】
In another embodiment, the controller is further configured for performing a data backup process in a memory device of the sled, receiving a notification indicating that the data backup process has been completed, and in response to receiving the notification, deactivating the locking mechanism.  In another embodiment, the controller is configured for providing a threshold voltage value to the sled to remain in the active state while the data backup process is being performed.   
【０００８】
The apparatus further includes the controller configured for determining a voltage value of the at least one of computing devices in the sled, upon determining the voltage value of the at least one of computing devices are above the threshold voltage value, and determining that the sled is in active state.  The apparatus also includes the controller configured for receiving a removal request to mechanically disconnect the sled from the chassis. 
【０００９】
In another aspect, a method is provided for preventing a power loss.  The method includes detecting whether at least one of computing devices in a sled are in an active state or in an inactive state, in response to detecting that the at least one of the computing devices is in the active state, activating a locking mechanism, and in response to detecting that the at least one of the computing devices are in the inactive state, deactivating the locking mechanism. 
【００１０】
In yet another aspect, a non-transitory computer-readable medium is provided for preventing a power loss in a server system.  The non-transitory computer-readable medium stores executable instructions when executed by a system controller, cause the system controller to perform operations including detecting whether at least one of computing devices in a sled are in an active state or in an inactive state, in response to detecting that the at least one of the computing devices is in the active state, activating a locking mechanism, and in response to detecting that the at least one of the computing devices are in the inactive state, deactivating the locking mechanism. 
【００１１】
Various embodiments in accordance with the present disclosure will be described with reference to the drawings, in which:
【図面の簡単な説明】
【００１２】
FIG 1 illustrates a block diagram of exemplary embodiments of preventing a power loss in a server system;
FIG.2A and FIG.2B illustrate exemplary switch lock configurations when the switch lock inactivated;
FIG.3A and FIG.3B illustrate exemplary switch lock configurations when the switch lock activated;
FIG.4A and FIG.4B illustrate flow charts of an exemplary method of preventing a power loss in a server system; and
FIG.5 illustrates a block diagram of an exemplary computer system.
【発明を実施するための形態】
【００１３】
Various aspects of the present technology are described with reference to the drawings.  In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects.  It can be evident, however, that the present technology can be practiced without these specific details.  In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing these aspects.  The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.”  Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
【００１４】
The subject disclosure provides techniques for preventing data loss by using a lock mechanism for sleds in a chassis.  The disclosure turns first to FIG. 1, which illustrates a block diagram 100 of exemplary embodiment of a chassis system configured for preventing data loss.  As shown in the block diagram 100, a chassis 101 is provided, which is an assembly of supporting components designed to be individually mounted to the rack system.  It provides structure and power flow to a plurality of sled units and other electrical subsystems.  As shown in FIG. 1, chassis 101 can include a removable sled 103, a power supply unit (PSU) 105, an I/O (Input/output) board 106, a JBOD Enclosure (JBE) 102, a power distribution board (PDB) 104, and a switch lock 110.  JBOD (Just a Bunch of Disks/Drivers) is a collection of hard disks or a hard disk enclosure for several disks.
【００１５】
As shown in FIG. 1, the PSU 105 or the BBU (Back-up Battery Unit) 112 supplies power to operate the components in the chassis 101, including the sled 103, I/O board 106, JBE 102, and switch 110.  Power distribution is provided via the power distribution board (PDB) 104 which receives power from the PSU 105 and distributes it to the above-mentioned components.  
【００１６】
The sled 103 can include a number of different components.  For example, as shown in the exemplary configuration of FIG. 1, a sled 103 can include a controller 109, a BBU 112, a CPU 107, RAM 108, and a local storage device 111.  However, the present disclosure also contemplates that a sled can include more or less components than shown in FIG. 1.  
【００１７】
As noted above, the sled can include, aside from the CPU 107, RAM 108, and local storage device 111, a BBU 112 to address power supply interruptions to the sled 103 due to a failure of the PSU 105, the PDB 104, or components there between incase of such sudden power loss, the BBU 112 may provide the secondary power for the components in the sled 103 to operate or to at least shutdown in a safe state.  For example, the BBU 112 may be charging while the sled 103 is powered by the PDB 104 and stores the necessary amount of power to keep the components in the sled 103 active during a data back-up operation.  Such components include at least the RAM 108, the local storage device 111 or the CPU 107.  The BBU 112 may retain enough power for the sled 103 to last from a few minutes to a few hours.
【００１８】
The sled 103 can also include, as noted above, a controller 109.  The controller 109 can be service or management processor (e.g., a baseboard management processor) that operates independently of the CPU 107 to support management tasks for the server.  For example, the controller 109 can be a baseboard management controller (BMC) configured to provide out-of-band management/administration of the sled 103.  
【００１９】
As noted above, the sled 103 is removable from the chassis 101 and provided with a latch system that locks the sled in place when fully inserted.  For repair or replacement of any components in the sled 103, the assembly technician may remove the sled 103 from the chassis 101 or disconnecting the sled 103 from the PDB 104 by manually pulling the sled 103 out of the chassis 101.  The sled 103 may also have one or more connectors (not shown) that engage with one or more corresponding connectors (not shown) in the PDB 104 when the sled 103 is inserted into the chassis 101.  In some configurations, the sled 103 may be “hot-swappable”.  That is, the sled 103 can be removed and reinserted into the chassis 101 without requiring that the chassis 101 be powered down.
【００２０】
As noted above, the present technology provides for including a lock mechanism to prevent sled 103 from being removed from chassis 101 prematurely, i.e., while components in the sled 103 are active.  Thus, chassis 101 incorporates a switch lock 110 as one part of the lock mechanism, where the switch lock 110 mechanically locks or secures the sled 103 to the chassis 101 and prevents any unexpected disconnection of the sled 103 from a power source (i.e., PSU 105 and PDB 104).  Thus, the switch lock 110 ensures a continuous power delivery to the sled 103 by physically preventing removal of the sled 103 from the chassis 101. 
【００２１】
In the present technology, the locking mechanism may also include a sensing system, which can activate or deactivate the switch lock 110.  For example, the switch lock 110 can include or be controlled by a voltage sensing system that detects a voltage value in the circuitry and generates a corresponding output signal.  Based on the detected voltage value, the voltage sensing system can control the switch lock 110.  One exemplary configuration for a locking mechanism will be explained below in detail in connection with the FIG.2A-FIG.3B.   
【００２２】
In some embodiments, the controller 109 can be part of the voltage sensing system.  For example, the controller 109 can be configured to detect whether the sled 103 is active by determining the voltage value of each of the computing devices in the sled 103.  When sled 103 is powered from the PSU 105 or BBU 112, the sled 103 is determined to be active.  If the controller 109 determines that any of the computing devices is associated with a voltage value higher than a threshold voltage value, then the computing devices are determined to be active and a corresponding signal can be generated to activate the switch lock 110.  The threshold voltage value can be pre-determined by the controller 109.  Generally, the threshold voltage value is zero, but in some cases, a very minimal residual voltage value can be considered as zero. 
【００２３】
In some embodiments, the switch lock 110 is activated to prevent the sled being pulled out of the chassis 101 during the data back-up process or when the server is in a working mode.  The switch lock 110 may be deactivated after the data back-up process has been completed or the BBU 112 is fully discharged.  The controller 109 can detect the data back-up process.  For example, the controller 109 can determine whether the local storage device 111 has already stored an up-to-date data and will start the data backup procedure if the data backup is not up to date.    The controller 109 can compare the written data in the local storage device 111 with the data in the RAM 108 and will determine if they are the same.  Upon determining that the written data in the local storage device 111 is different from the data in the RAM 108, data stored in the RAM 108 can be copied to the local storage 111 to create the data backup.  In some embodiments, the data back-up process can be initiated upon determining a power failure.  For example, the PSU AC can be lost and the controller can back up data in the local storage 111.  A similar procedure can be utilized to backup state data for the CPU 107. 
【００２４】
In some embodiments, upon determining that the data back-up process has been completed, the controller 109 will turn the BBU 112 off to stop the BBU 112 from being discharged.   Once the data backup is stored at the local storage device 111, a notification can be generated to indicate that the data back-up process has been completed and the sled 103 is ready for removal.  The notification can be sent to the I/O board 106 or an administrative device.  The switch lock 110 can be deactivated when the notification is generated, so the assembly technician can easily and safely remove the sled. 
【００２５】
In some embodiments, the notification may be a light notification.  For example, each sled can be associated with a light device that is visible from outside the chassis 101 or sled 103.  The light notification can be a flashing Light-Emitting Diode (LED) light to attract the assembly-technician’s attention.  In other embodiments, the notification may be a sound notification.  For example, a beeping sound.  Thus, when the locking mechanism is deactivated, a particular beeping sound can be played to indicate a corresponding locking status of the sled 103. 
【００２６】
FIG. 2A and 2B illustrate exemplary switch lock configuration when the switch lock is deactivated (i.e. locking mechanism is inactive).  Especially, FIG.2A illustrates an exemplary configuration 200 when the switch lock is deactivated, and FIG.2B illustrates an exemplary configuration 250 of the inactivated switch lock in connection with the sled and the chassis.  As shown in FIG.2A, the switch lock may be a Solenoid switch type.  A Solenoid switch type can convert electric energy into a magnetic linear motion.  For example, a Solenoid switch typically includes a coil wound into a tightly packed helix.  The coil is often wrapped around a volume of space, where a magnetic field is generated within.  The magnetic field can be generated by activating electric current in the coil.  The generated magnetic field may be a pointing magnetic force in a linear direction based on the flow direction of electric current.  In some embodiments, the pointing magnetic force is strong enough to move the actuating rod, which is surrounded by the coil, in a designated direction. 
【００２７】
For example, the Solenoid switch in FIG.2A includes a housing 201 that houses armature 202, spring 203, coil 204, and actuating rod 205.  The armature 202 may be a revolving structure in electric motor/generator wound with coils that can carry the current.  The actuating rod 205 can be a long metallic rod that can be pushed out of the housing 201 by the generated magnetic force.   The actuating rod 205 can be vertically attached to the armature 202.  The armature 202 and the actuating rod 205 are attached the housing 201 through the spring 203.  The spring 203 can facilitate the movement of the armature 202 and the actuating rod 205. 
【００２８】
As illustrated in FIG.2A, the sled 207 may include a depression, hole, opening, or other receiving feature 208 that can receive the actuating rod 205 when the actuating rod 205 is pushed out of the housing 201 by the magnetic force.  When an electric current does not pass through the coil 204 (e.g. indicated as ‘I=0’) the switch lock is turned off.  In particular embodiments, the electric current can be controlled directly or indirectly by the voltage sensing system being employed.  For example, the signal from controller 109 indicating whether or not components in the sled are active can be used to control whether or not a current is supplied.   However, the present disclosure contemplates that any other way of controlling the current can be used. 
【００２９】
When the electric current does not pass through the coil, there is no magnetic force applied to the actuating rod 205 to overcome the force of the spring 203 and the actuating rod 205 will stay in the housing 201 and not extend into the receiving feature 208.  Thus, the sled 207 can be taken out of the chassis 206.  
【００３０】
FIG.3A and 3B illustrate exemplary configuration when the switch lock is activated (i.e. locking mechanism is activated).  Especially, FIG.3A illustrates an exemplary configuration 300 when the switch lock is activated, and FIG.3B illustrates an exemplary configuration 350 of the activated switch lock in connection with the sled and the chassis.  As shown in FIG.3A, a switch lock includes a housing 201 that receive armature 202, spring 203, coil 204, and actuating rod 205.  When electricity flows thorough the coil 204 (e.g. indicated as ‘I’), the switch is turned on and a magnetic force will be generated in the designated direction (i.e. a downwards direction).  The magnetic force is applied to the actuated rod 205 to overcome the force of the spring 203, which pushes the armature 202 downwards, as shown in FIG. 3A. Thus, the actuating rod 205 will protrude from the housing 201 and into the receiving feature 208 of the sled 207. The engagement of the actuating rod 205 with the sled 207 thus prevents a removal of the sled 207 from the chassis 206 by a physical force of the technician.   
【００３１】
Although above, the Solenoid type switch was described for purpose of explanation of one or more aspects, numerous other types of switches can be used to lock the sled to the chassis.   For example, any electric, magnetic, or mechanical switches can be used without limitation.  
【００３２】
Further, although FIGs. 1, 2A, 2B, 3A, and 3B illustrate that the switch lock is separate from the sled, the present disclosure also contemplates that the switch lock can also be implemented as part of the sled to secure the sled to the chassis.  Further, all functions of the locking mechanism can be configured to be internal to the sled.
【００３３】
In some embodiments, the switch lock can also be configured to be associated with other components in the chassis that work with the sled.  Thus, even if the sled is not currently active, its removable may be prevented if an associated components in the chassis is still active.   
【００３４】
In still other embodiments, a single sled can have more than one switch locks.  Each of the switch lock is communicable and compatible with each other and thus, if one switch lock fails, the switch locks can be synchronized and the other switch locks can take over.  In some configurations, the different switch locks may be controlled separately and activated or deactivated based on different conditions.  Thus, the sled would only be removable if and when the different conditions are concurrently met. 
【００３５】
Further, although the exemplary configuration is directed to managing removal of a sled, the various embodiments are not limited in this regard.  The present disclosure also contemplates that similar locking mechanism can be utilized with other types of components in the chassis.  For example, premature removal of a PSU, a JBE, or other components can be prevented by using such locking mechanisms.
【００３６】
FIG. 4A is a flow chart 400 of an exemplary method of preventing a power loss in a server system.  At step 405, a controller may receive a removal request to mechanically disconnect the sled from the chassis from an administrative device.  For example, the administrative device can detect an input from the technician through the I/O board that the technician needs to remove the sled from the chassis in order to replace or repair the sled.  In particular configurations, a button or other control device can be activated to request removal of the sled.  The administrative device can transmit the removal request to the controller.  At step 410, the controller may detect whether at least one of computing devices in the sled is in active state or inactive state.  As described above, the sled may include at least one or more computing devices that are necessary for operation of the sled such as BBU, CPU, RAM, or controller.  All of the computing devices need to be turned off in order to safely take the sled out of the chassis.  Thus, the controller may detect whether at least one of the computing devices are in inactive state to determine whether the lock mechanism needs to be activated.
【００３７】
At step 415, upon determining that at least one of the computing devices are in the active state, the controller may activate the locking mechanism to mechanically lock the sled to the chassis to prevent an improper removal of the sled from the chassis. At step 430, upon determining that at least one of the computing devices are in the inactive state, the controller may not active the locking mechanism, as it is safe to remove the sled from the chassis.  
【００３８】
In some embodiments, upon the controller determining that power is off at step 417, the locking mechanism can be deactivated at step 430 to allow the technician to remove the sled from the chassis.  When the controller determines that the power source has failed at step 416, the data back-up process may start at step 419.  When the data back-up process is completed at step 425, the locking mechanism can be inactivated at step 430 to allow the technician to remove the sled from the chassis.   The BBU may be discharging at step 418 to supply necessary power for the data back-up process while the data back-up process is in progress.  If the BBU is fully discharged at step 420 before the data back-up process is completed, the locking mechanism become deactivated.  If the BBU is not fully discharged even the data back-up process is completed, the sled will remain active and the locking mechanism will remain activated until the BBU is fully discharged to the end.
【００３９】
At step 435, an indication is provided to the technician notifying that the sled is ready to be removed.  For example, as discussed above, a visual or audio indication can be provided.
【００４０】
The present disclosure also contemplates that in some configurations, a technician may disconnect the chassis from a power supply or remove or deactivate a PSU prior to removing a sled.  However, in certain case, the sled may be in the middle of an operation that needs to be backed-up before the sled is removed.  Accordingly, the present disclosure contemplates that a BBU can be leveraged to prevent premature removal of the sled in these cases.  This is illustrated with respect to FIG. 4B.
【００４１】
FIG.4B is a detailed flow chart 450 of an exemplary method of activating the locking mechanism using the BBU.  At step 460, the chassis (and the sled) are powered on and the switch lock is activated.  At step 470, the sled can enter an operation mode to perform any tasks the sled is configured to perform, i.e., performing normal operations.  
【００４２】
At steps 475 and 480, the chassis is concurrently monitored for AC power loss (475) or a PSU failure (480) or any other type of external power loss event for the sled.  In the event of such an external power loss event, the sled can switch to a backup mode at step 485. During the back-up mode, data back-up operations can be performed, where the BBU can be discharged to supply necessary power for the data back-up operations.  Moreover, during this period, the lock switch can be maintained active to prevent premature removal of the sled and thus any data loss.  For example, the switch lock can be operated using power supplied by the BBU.    
【００４３】
At step 490, after the data back-up operation is completed, the components in the sled can be powered off.  The controller may determine whether the sled is inactive by determining that all the computing devices in the sled are powered off.  Further, the lock switch can be deactivated and removal of the sled can be performed.  In some cases, an indication notifying that the lock mechanism is inactivated and the sled can be removed can be provided to the assembly-technician as described above.   On other cases, the BBU can be sized such that sufficient power is stored therein to supply power to the sled and the switch lock for at least a time necessary to complete backup operations.  Thus, when the BBU is discharged and the switch is deactivated by loss of power from the BBU, the sled can be safely removed.
【００４４】
FIG. 5 is a block diagram of exemplary system architecture 500 implementing the features and processes of FIGS. 1-4.  The architecture 500 can be implemented on any electronic device that runs software applications derived from compiled instructions, including without limitation personal computers, servers, smart phones, media players, electronic tablets, game consoles, email devices, etc.  In some implementations, the architecture 500 can include one or more processors 502, one or more input devices 504, one or more display devices 506, one or more network interfaces 508 and one or more computer-readable mediums 510.  Each of these components can be coupled by bus 512.
【００４５】
Display device 506 can be any known display technology, including but not limited to display devices using Liquid Crystal Display (LCD) or Light Emitting Diode (LED) technology.  Processor(s) 502 can use any known processor technology, including but are not limited to graphics processors and multi-core processors.  Input device 504 can be any known input device technology, including but not limited to a keyboard (including a virtual keyboard), mouse, track ball, and touch-sensitive pad or display.  Bus 512 can be any known internal or external bus technology, including but not limited to ISA, EISA, PCI, PCI Express, NuBus, USB, Serial ATA or FireWire.  
【００４６】
Computer-readable medium 510 can be any medium that participates in providing instructions to processor(s) 502 for execution, including without limitation, non-volatile storage media (e.g., optical disks, magnetic disks, flash drives, etc.) or volatile media (e.g., SDRAM, ROM, etc.). The computer-readable medium (e.g., storage devices, mediums, and memories) can include, for example, a cable or wireless signal containing a bit stream and the like.  However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
【００４７】
Computer-readable medium 510 can include various instructions 514 for implementing an operating system (e.g., Mac OS(R), Windows(R), Linux).  The operating system can be multi-user, multiprocessing, multitasking, multithreading, real-time and the like.  The operating system performs basic tasks, including but not limited to:  recognizing input from input device 504; sending output to display device 506; keeping track of files and directories on computer-readable medium 510; controlling peripheral devices (e.g., disk drives, printers, etc.) which can be controlled directly or through an I/O controller; and managing traffic on bus 512.  Network communications instructions 516 can establish and maintain network connections (e.g., software for implementing communication protocols, such as TCP/IP, HTTP, Ethernet, etc.).  
【００４８】
A graphics processing system 518 can include instructions that provide graphics and image processing capabilities.  Application(s) 520 can be an application that uses or implements the processes described in reference to FIGS. 1-4.  The processes can also be implemented in operating system 514.    
【００４９】
Service controller 522 can be a controller that operates independently of processor(s) 522 and/or operating system 514.  In some implementations, service controller 522 can be powered and operational before processor(s) 502 are powered on and operating system 514 is loaded into processor(s) 502.  For example, service controller 522 can provide for pre-OS management of the computing device through a dedicated network interface or other input device.  For example, system controller 522 can be a baseboard management controller (BMC) that monitors device sensors (e.g., voltages, temperature, fans, etc.), logs events for failure analysis, provides LED guided diagnostics, performs power management, and/or provides remote management capabilities through an intelligent platform management interface (IPMI), keyboard, video, and mouse (KVM) redirection, serial over LAN (SOL), and/or other interfaces.  Service controller 522 can be implement the processes described with reference to FIGS. 1-4 above.   For example, service controller 522 can be configured to manage power supply units coupled to server rack 102.
【００５０】
The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.  A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result.  A computer program can be written in any form of programming language (e.g., Objective-C, Java), including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
【００５１】
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer.  Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both.  The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data.  Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks.  Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.  The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
【００５２】
To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
【００５３】
The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them.  The components of the system can be connected by any form or medium of digital data communication such as a communication network.  Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.
【００５４】
The computer system can include clients and servers.  A client and server are generally remote from each other and typically interact through a network.  The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
【００５５】
One or more features or steps of the disclosed embodiments can be implemented using an API.  An API can define on or more parameters that are passed between a calling application and other software code (e.g., an operating system, library routine, function) that provides a service, that provides data, or that performs an operation or a computation.
【００５６】
The API can be implemented as one or more calls in program code that send or receive one or more parameters through a parameter list or other structure based on a call convention defined in an API specification document.  A parameter can be a constant, a key, a data structure, an object, an object class, a variable, a data type, a pointer, an array, a list, or another call.  API calls and parameters can be implemented in any programming language.  The programming language can define the vocabulary and calling convention that a programmer will employ to access functions supporting the API.
【００５７】
In some implementations, an API call can report to an application the capabilities of a device running the application, such as input capability, output capability, processing capability, power capability, communications capability, etc.
【００５８】
A number of implementations have been described.  Nevertheless, it will be understood that various modifications may be made.  For example, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems.  Accordingly, other implementations are within the scope of the following claims.
【００５９】
Although a variety of examples and other information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements in such examples, as one of ordinary skill would be able to use these examples to derive a wide variety of implementations.  Further and although some subject matter may have been described in language specific to examples of structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts.  For example, such functionality can be distributed differently or performed in components other than those identified herein.  Rather, the described features and steps are disclosed as examples of components of systems and methods within the scope of the appended claims.  
【請求項１】
An apparatus, comprising:
a sled comprising one or more computing devices;
a chassis configured for receiving the sled;
at least one locking mechanism configured for mechanically locking the sled to the chassis; and
a controller for the locking mechanism, wherein the controller is configured for:
detecting whether at least one of computing devices in the sled are in an active state or in an inactive state;
in response to detecting that the at least one of the computing devices is in the active state, activating the locking mechanism; and
in response to detecting that the at least one of the computing devices are in the inactive state, deactivating the locking mechanism. 
【請求項２】 
The apparatus of claim 1, wherein the locking mechanism comprises at least a solenoid switch mounted on the sled for selectively energizing a solenoid, the solenoid switch comprises a switch rod that axially moves in the solenoid.   
【請求項３】
The apparatus of claim 2, wherein activating the locking mechanism, the controller is further configured for:
actuating the solenoid switch associated with the sled by electrically energizing the solenoid, the energization of the solenoid produces a magnetic force to move the switch rod to be extended and engaged with the sled.
【請求項４】
The apparatus of claim 2, wherein deactivating the locking mechanism, the controller is further configured for:
de-actuating the solenoid switch associated with the sled by electrically de-energizing the solenoid, the de-energization of the solenoid causes the switch rod to be retracted into the solenoid. 
【請求項５】
The apparatus of claim 1, wherein in response to detecting that the at least one of the computing devices is in the active state, activating the locking mechanism, the controller is further configured for:
performing a data backup process in a memory device of the sled; 
receiving a notification indicating that the data backup process has been completed; and
in response to receiving the notification, deactivating the locking mechanism.
【請求項６】
A method, comprising:
detecting whether at least one of computing devices in a sled are in an active state or in an inactive state;
in response to detecting that the at least one of the computing devices is in the active state, activating a locking mechanism; and
in response to detecting that the at least one of the computing devices are in the inactive state, deactivating the locking mechanism. 
【請求項７】
The method of claim 6, wherein activating the locking mechanism, comprising:
actuating a solenoid switch associated with the sled by electrically energizing a solenoid, the energization of the solenoid produces a magnetic force to move a switch rod to be extended and engaged with the sled.
【請求項８】
The method of claim 6, wherein deactivating the locking mechanism, comprising:
de-actuating the solenoid switch associated with the sled by electrically de-energizing the solenoid, the de-energization of the solenoid causes the switch rod to be retracted into the solenoid. 
【請求項９】
A non-transitory computer-readable medium storing instructions which, when executed by a system controller, cause the system controller to perform operations comprising:
detecting whether at least one of computing devices in a sled are in an active state or in an inactive state;
in response to detecting that the at least one of the computing devices is in the active state, activating a locking mechanism; and
in response to detecting that the at least one of the computing devices are in the inactive state, deactivating the locking mechanism. 
【請求項１０】
The non-transitory computer-readable medium of claim 9, wherein the instructions, when executed, further cause the system controller to perform operations comprising:
receiving a removal request to mechanically disconnect the sled from a chassis. 
【要約】
An apparatus may include a chassis that can receive a sled and a locking mechanism.  The locking mechanism can mechanically lock the sled to the chassis to prevent a sudden power loss that can be caused from an unexpected removal of the sled from the chassis.  To avoid a sudden power loss, a voltage-sensing electrical switch lock can be implemented to the chassis to mechanically lock the sled to the chassis until the sled is ready to be removed. The sled may include one or more computing devices that need to be inactive before removing the sled.  The apparatus includes a controller that may detect whether at least one of computing devices in the sled are in an active state or in an inactive state.  Based on the determination of the state of the computing devices in the sled, the controller may activate the locking mechanism or de-active locking mechanism.
【図１】
2017188085.tif 000011
【図２Ａ】
2017188085.tif 000012
【図２Ｂ】
2017188085.tif 000013
【図３Ａ】
2017188085.tif 000014
【図３Ｂ】
2017188085.tif 000015
【図４Ａ】
2017188085.tif 000016
【図４Ｂ】
2017188085.tif 000017
【図５】
2017188085.tif 000018