JP4636629B2 - リモート・サーバの遠隔復旧を提供することができるシステム - Google Patents

リモート・サーバの遠隔復旧を提供することができるシステム Download PDF

Info

Publication number
JP4636629B2
JP4636629B2 JP2008549862A JP2008549862A JP4636629B2 JP 4636629 B2 JP4636629 B2 JP 4636629B2 JP 2008549862 A JP2008549862 A JP 2008549862A JP 2008549862 A JP2008549862 A JP 2008549862A JP 4636629 B2 JP4636629 B2 JP 4636629B2
Authority
JP
Japan
Prior art keywords
remote server
memory
server
remote
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008549862A
Other languages
English (en)
Other versions
JP2009523283A (ja
Inventor
アラム、アクム、カムラル
バルスク、ヴァチェスラフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009523283A publication Critical patent/JP2009523283A/ja
Application granted granted Critical
Publication of JP4636629B2 publication Critical patent/JP4636629B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、非応答コンピューティング・システムを遠隔復旧するための装置、方法およびプログラム製品に関する。特に本発明は、電源のリセットを実施する必要またはコンピューティング・システムを再起動する必要なく、メモリ制約(memory constraints)に直面している非応答コンピューティング・システムを遠隔復旧する装置、方法およびプログラム製品に関する。
今日のビジネス環境では、組織または企業あるいはその両方が、多種多様の分散コンピューティング・システムを利用して、多数のワークステーションまたはサーバあるいはその両方でホストされているアプリケーション・プログラム間で通信する。さらに、最近は、企業または組織あるいはその両方で使用されるサーバの数が絶え間なく増加する傾向にある。それに応じて、特定の機能を遂行するさらなる種類のサーバが多数の分散コンピューティング・システムにおいて採用されており、これらのサーバは、企業または組織あるいはその両方において、1つの中心位置ではなく様々な位置に置かれている。
これらのサーバに置かれたデータは企業に欠かせないと考えられているものの、これらのサーバが様々な位置に広がっている場合に単一のサービス・サイトからこれらサーバの適切な動作を保証する手段は、依然として不適当なままである。したがって、このようなサーバの適切な動作を維持するプロセスを単純化しながら、同時にこのような維持に関連するあらゆる費用を抑える必要がある。
本発明は、請求項1において請求されているとおり、メモリ制約が原因で応答していないリモート・サーバを復旧する方法、ならびに付随するシステムおよびコンピュータ・プログラムを提供する。
この明細書に組み込まれその一部を形成している添付の図面は本発明の実施形態を例示しており、説明と共に本発明の原理を説明するのに役立つ。
当業者であれば当然のことであるが、本発明の意図および範囲から逸脱することなく本発明では種々の変更および変形が可能である。したがって、本発明の変更および変形物が添付の特許請求の範囲およびそれらの等価物の範囲にあれば、本発明はそれらを対象とするものとする。以下、本発明の好適な実施形態を細部にわたって参照する。
本発明は一実施形態において、メモリ制約が原因で応答していないリモート・コンピューティング・システムまたはリモート・コンピュータ・システムを復旧する装置またはシステムを提供する。装置は、ネットワーク通信チャネルと、ネットワーク通信チャネルに接続されたリモート・コンピューティング・システムと、メモリの中に保留メモリ・セグメント(reserve memory segment)を割り当てられているリモート・コンピューティング・システムと、リモート・コンピューティング・システムのメモリに固定され(pinned)リモート・コンピューティング・システム上で継続的に実行される保留メモリ・セグメント・プログラムと、リモート・コンピューティング・システムのメモリの中に割り当てられている保留メモリ・セグメントを制御するよう構成されている保留メモリ・セグメント・プログラムと、ネットワーク通信チャネルに接続された制御コンピューティング・システムとを含み、この制御コンピューティング・システムは、メモリ制約が生じたときに保留メモリ・セグメント・プログラムを使用して保留メモリ・セグメントのメモリを解放するためのリクエストを、ネットワーク通信チャネルを介してリモート・コンピューティング・システムへ送信して、制御サーバが1つ以上の修正アクションを施しリモート・コンピューティング・システムを復旧できるようにするよう構成されている。好適な実施形態では、リクエストはTCP/IPパケットを含む。保留メモリ・セグメント・プログラムは、ネットワーク通信チャネルを介してのリクエストを所定のTCP/IPポートでリスニングするようさらに構成され、ネットワーク通信チャネルを介してリクエストを受信するようさらに構成されていることが好ましい。さらに、保留メモリ・セグメント・プログラムは、受信されたTCP/IPパケットを検証して受信されたTCP/IPパケットを識別するよう構成されていることが好ましい。さらに、保留メモリ・セグメント・プログラムは、TCP/IPパケットが、リモート・コンピューティング・システム上で許容される動作に対応するかどうかを確認するようさらに構成されていることが好ましい。制御コンピューティング・システムは、メモリ制約が原因でリモート・コンピューティング・システムが応答していないという判断に基づきリクエストを送信し、保留メモリ・セグメントを解放するための、TCP/IPパケットを含むリクエストをリモート・コンピューティング・システムに送信するようさらに構成されていることが好ましい。好適な実施形態では、リモート・コンピューティング・システム上で実行され、メモリ制約を検出するためにリモート・コンピューティング・システム上のメモリを定期的に確認し、メモリ制約が検出されると保留メモリ・セグメントが解放されるようリクエストするように構成されている自動回復プログラムを、装置がさらに含む。自動回復プログラムは、保留メモリ・セグメントが解放されたときにリモート・コンピューティング・システムにおいて1つ以上の修正アクションを実施するようさらに構成されていることが好ましい。
本願明細書で使用される「リモート・コンピューティング・システム」または「リモート・コンピュータ・システム」または「リモート・サーバ」という用語は、リモート・コンピューティング・デバイス、好ましくはネットワーク接続を介してアクセスされるリモート・サーバを指す。さらに、「制御コンピューティング・システム」または「制御サーバ」という用語は、リモート・コンピューティング・デバイス、好ましくはリモート・コンピューティング・システムもしくはサーバ上のプロセスを制御するよう構成されているリモート制御サーバを指す。さらに、「保留メモリ・セグメント」という用語は、コンピューティング・システム、好ましくはリモート・サーバ上のメモリの一部を指し、このメモリの一部は、リモート・サーバに割り当てられているかまたは保留されている。さらに、本願明細書で使用される「保留メモリ・セグメント・プログラム」または「セグメント・プログラム」または「固定プログラム(pinned program)」という用語は、リモート・サーバのメモリに固定されリモート・サーバ上で実行される小型のプログラムまたはコードを指す。
ここで図1を参照する。図1は、本発明の実施形態に従った、メモリ制約が原因で応答していないリモート・コンピュータ・システム、好ましくはリモート・サーバを復旧する装置またはシステム100の一実施形態を例示している。図1の装置またはシステム100には、コンピューティング・デバイス102および104、好ましくはネットワーク通信チャネル140を介してシステム100内の他のコンピューティング・システムと通信する個別のワークステーション102および104を使用するアプリケーション・ユーザが含まれる。一実施形態では、システム100には、アプリケーション・ユーザ102および104から離れ、何らかの安全なアプリケーション・アクセス・ポート106を用いファイアウォールによって保護されている、コンピューティング・システム108、110および112、好ましくはプロキシ・サーバが含まれる。さらに、システム100には、コンピューティング・システム118、120および122、好ましくはアプリケーション・サーバ118、120および122が含まれ、これらは、ネットワーク通信チャネル140を介してアプリケーション・ユーザ102または104あるいはその両方によってアクセスされるとよい。システムには、システム100を過負荷から保護するロード・バランス・サーバ・クラスタ(load balance server cluster)114および116が含まれることが好ましい。好適な実施形態では、ロード・バランス・サーバ・クラスタは、ネットワーク・リクエストのトラフィック・システム(traffic system)としての機能を果たし、ユーザ・リクエストを受け取ってあまり混んでいないサーバにリクエストを分配する。さらに、システム100には、種々の機能を実施するその他のコンピューティング・システム、好ましくはサーバ群124、126、128、130および132が含まれる。一実施形態では、サーバには、データベース・サーバ124、メッセージング・サーバ126、認証サーバ128、バッチ・サーバ130およびレポーティング・サーバ132が含まれる。サーバ108、110、112、118、120、122、124、126、128、130および132はそれぞれ、ネットワーク通信チャネル140を介して、相互に接続され、さらにアプリケーション・ユーザ102および104に接続されていることが好ましい。好適な実施形態では、サーバ108、110、112、118、120、122、124、126、128、130および132のうちいずれか1つは、制御サーバとして構成可能である。サーバを制御サーバとして構成することは、システム管理者によって行われることが好ましい。例えば、サーバ120が制御サーバとして構成されるとすると、リモート・サーバまたはコンピューティング・システム108、110、112、118、122、124、126、128、130および132のそれぞれに連結されている制御サーバ120は、ネットワーク140を介して、リモート・サーバ108、110、112、118、122、124、126、128、130および132のうちいずれかの遠隔復旧を提供できる。好適な実施形態では、このような制御は、端末102または104あるいはその両方でのユーザ入力によって命令されてもよい。図2を参照してさらに詳しく記載するように、図1のシステムの構成は、リモート・サーバ200での保留メモリ・セグメントの解放をリクエストすることなど何らかの指定の動作を、制御サーバとリモート・サーバとの間でネットワーク140上においてメッセージを送信することによって実施するために、制御サーバからリモート・サーバへのリクエストを遂行するために使用されるとよく、これは図2を参照してさらに説明される。
図2を見ると、参照番号200は、例えば図1に示されているとおりのアプリケーション・サーバ(118、120または122)などのリモート・サーバ200の実施形態を示しており、これは、例えばメモリ制約が生じたときにリモート・サーバを復旧するよう構成されている。図2はリモート・サーバ200の実施形態を示す。リモート・サーバ200には、中央処理ユニット(CPU:central processing unit)208と、ローカル・ストレージ・デバイス202と、ユーザ・インターフェース204と、ネットワーク・インターフェース206と、オペレーティング・システム211を含んだメモリ210と、保留メモリ・セグメント・プログラム・コンポーネント212とが含まれることが好ましい。CPU208は、一般に、リモート・サーバ200内で動作を実行するよう構成されている。一実施形態において、ユーザ・インターフェース204は、ユーザからの入力データおよび命令を可能にし、出力データをユーザに伝達するなど、ユーザがリモート・サーバ200と情報をやり取りできるようにするよう構成されている。一実施形態においてネットワーク・インターフェース206は、図1内に示されているシステム100の通信チャネル140上で、リモート・サーバ200がネットワーク通信するのを容易にするよう構成されている。一実施形態では、ローカル・メモリ210は、オペレーティング・システム211、ならびに、リモート・サーバの復旧および任意の修正アクションまたは動作に使用される可能性のあるいくつかのデータ・ファイルおよびメタデータ・ファイルを格納するよう構成されている。代わりの実施形態では、これらのデータ・ファイルおよびメタデータ・ファイルの一部または全部がローカル・ストレージ・デバイス202内に複製されてもよい。さらなる実施形態では、これらのデータ・ファイルおよびメタデータ・ファイルの1つまたはすべてが、メモリ210でなくローカル・ストレージ・デバイス202内に排他的に格納されてもよい。別の実施形態では、これらのデータ・ファイルおよびメタデータ・ファイルの1つまたはすべてが、システム100上の分散ストレージに格納されてもよい。
さらに、一実施形態では、リモート・サーバは、割り当てモジュール214、リスニング・モジュール216、受信モジュール218、認証モジュール220およびセグメント解放モジュール222など、いくつかのモジュールを含む保留メモリ・セグメント・プログラム・コンポーネント212を含むことが好ましい。リモート・サーバ上の保留メモリ・セグメント・プログラム・コンポーネントは、例えばメモリ制約が生じたときなどにリモート・サーバを復旧するために、リモート・サーバにおいて保留メモリ・セグメントを解放する必要なステップを機能的に実行するよう構成された複数のモジュールを含む、論理演算ユニットと共に提供される。保留メモリ・セグメント・プログラム・コンポーネント212の目的は、メモリの保留メモリ・セグメントをリモート・サーバに割り当て、リモート・サーバがメモリ不足状態に直面しているときに、メモリの中に割り当てられている保留メモリ・セグメントを制御する、種々の方法を実装することである。好適な実施形態では、割り当てモジュール214は、リモート・サーバ内のメモリの保留メモリ・セグメントをリモート・サーバに割り当てる。好適な実施形態では、リスニング・モジュール216は、所定のポート上で、リスニングして保留メモリ・セグメントの解放をリクエストするパケットを待つ。好適な実施形態では、受信モジュール218は、所定のポート上で、保留メモリ・セグメントの解放をリクエストするパケットを受信する。好適な実施形態では、認証モジュール220は、受信されたパケットを検証し、受信されたパケット内でされたリクエストの種類を識別する。好適な実施形態では、保留メモリ・セグメント解放モジュール222は、リクエストを伴うパケットが認証されると保留メモリ・セグメントを解放する。
本願明細書内で上述された保留メモリ・セグメント・プログラム212の機能ユニットは、それらの実装の独立性を特に強調するためにモジュールと呼ばれている。例えば、モジュールは、カスタムVLSI回路もしくはゲート・アレイ、論理チップなどの既成の半導体、トランジスタ、またはその他の個別のコンポーネントを含むハードウェア回路として実装されてもよい。さらに、モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル論理デバイスまたは同様のものなどのプログラマブル・ハードウェア・デバイスに実装されてもよい。さらに、モジュールは、様々な種類のプロセッサによる実行を目的としてソフトウェアに実装されてもよい。実行可能コードの個別のモジュールまたはコンポーネントは、例えば、コンピュータ命令の1つ以上の物理的または論理的ブロックを含んでもよく、このブロックは、例えばオブジェクト、プロシージャまたは関数として構成されてもよい。いずれにせよ、個別のモジュールの実行可能部(executables)は、物理的に共に位置する必要はないが、論理的に結合されるとモジュールを構成してそのモジュールについて規定されている目的を達成する、異なる位置に格納された異なる命令を含むとよい。さらに、実行可能コードのモジュールは、単一の命令であることもまたは多数の命令であることもあり得、いくつかの異なるコード・セグメントに分散されること、異なるプログラム中に分散されること、およびいくつかのメモリ・デバイスにわたり分散されることさえもあり得る。同様に、オペレーショナル・データは、本願明細書内ではモジュール内において特定および例示されると思われ、任意の適切な形式で具現化されて任意の適切な種類のデータ構造内で構成されるとよい。オペレーショナル・データは、単一のデータ・セットとして収集されてもよく、または、種々のストレージ・デバイスにわたって、異なるメモリ・デバイスにわたってなど、種々の位置にわたり分散されてもよく、さらに、少なくとも部分的に、単にシステムまたはネットワーク上の電気信号として存在してもよい。さらに、モジュールは、ソフトウェアと1つ以上のハードウェア・デバイスとの組み合わせとして実装されてもよい。例えばモジュールは、メモリ・デバイスに格納されたソフトウェア実行可能コードの組み合わせにおいて具現化されてもよい。さらなる例では、モジュールは一連のオペレーショナル・データに基づき動作するプロセッサの組み合わせであってもよい。さらに、モジュールは、伝送回路を介して伝えられる電気信号の組み合わせにおいて実装されてもよい。
リモート・サーバ200のメモリ210が不足すると、オペレーティング・システム211は、リモート・サーバ200上で実行されており追加のメモリを必要とするプログラム/プロセスを停止しはじめ、より大きなプログラムが初めに終了される傾向にあることが好ましい。リモート・サーバ200上で実行されているプログラム/プロセスがメモリ210に固定されていなければ(通常はされていない)、プログラム/プロセスはメモリ210を得ようとして他のプログラムと競合する。プログラム/プロセスがメモリ210に固定されていると、プログラム/プロセスはそれに割り当てられたメモリを有しており、他のプログラム/プロセスはそれを使用することができない。リモート・サーバ200が確実にユーザ102または104によってアクセス可能であり続けるようにするために、リモート・サーバ200において保留メモリ・セグメント・プログラム212が提供されている。保留メモリ・セグメント・プログラム212は、リモート・サーバ200上で実行される小さなプログラムであり、メモリ210に固定されている。リザーブ・メモリ・セグメント・プログラム212は、メモリ210をほとんど必要としないことが好ましい。好適な実施形態では、保留メモリ・セグメント・プログラム212は、メモリ210の10MB(megabyte)から100MBしか使用せず、その結果、リモート・サーバがハングアップまたはフリーズした場合に、リモート・サーバに遠隔ログインするために十分なメモリ210がシステム管理者に利用可能となる。なお、保留メモリ・セグメント・プログラム212のサイズは、リモート・サーバ上の利用可能な実際のメモリに応じて変更可能であり、さらに、好ましくは、復旧アクションを遂行するのに十分な設定可能なサイズであるべきである。なお、指摘したとおり、本発明は特定のサイズに制限される必要はない。好適な実施形態では、保留メモリ・セグメント・プログラム212は、本願明細書で以下に記載するように、リクエスト、好ましくはTCP/IPリクエストなどの呼に応答する。
別の実施形態では、本発明は、メモリ制約が原因で応答していないリモート・サーバを復旧する方法を提供する。この方法は、ネットワーク通信チャネルに接続されているリモート・サーバを準備することと、リモート・サーバ内のメモリの中に割り当てられている保留メモリ・セグメントをメモリ制約が生じたときに制御するために、保留メモリ・セグメント・プログラムをリモート・サーバ内のメモリに固定することとを含む。固定するステップは、保留メモリ・セグメントをリモート・サーバ内のメモリの中に割り当てることを含むことが好ましい。この方法は、割り当てられている保留メモリ・セグメントを解放するためのリクエスト・パケットをリスニングするために、保留メモリ・セグメント・プログラムを継続的に実行することと、リモート・サーバ内のメモリの中の保留メモリ・セグメントを、リクエスト・パケットの受信に応答して解放することと、保留メモリ・セグメントが解放されたときに、リモート・サーバを復旧するためにリモート・サーバにおいて任意の修正アクションを実施することとをさらに含む。継続的に実行するステップは、ネットワーク通信チャネルを介して、リクエスト・パケットを所定のTCP/IPポートでリスニングすることと、ネットワーク通信チャネルを介してリクエスト・パケットを受信することとを含むことが好ましい。解放するステップは、受信されたリクエスト・パケットを検証することと、受信されたリクエスト・パケットを識別することと、受信されたリクエスト・パケットが、リモート・サーバ上で許容される動作に対応するかどうかを確認することとを含むことが好ましい。好適な実施形態では、実施するステップは、メモリ制約を検出するためにリモート・サーバ上のメモリを定期的に確認することと、メモリ制約が検出されると、保留メモリ・セグメントを解放するためのリクエスト・パケットを送信することとをさらに含む。さらに、実施するステップは、保留メモリ・セグメントが解放されたときに、リモート・サーバにおいて任意の修正アクションを実施するためにリモート・サーバ上で自動回復プログラムを実行することを含むことが好ましい。
ここで、図3および4を参照する。図3および4は、メモリ制約が原因で応答していないリモート・コンピューティング・システムを復旧する方法を描いている。図3を見ると、リモート・コンピューティング・システム、好ましくはリモート・サーバを復旧する方法300が、ステップ302から開始し、これは保留メモリ・セグメント・プログラムまたはコード(本願明細書では以下で「セグメント・プログラム」とも呼ばれる)を伴い、このプログラムまたはコードはステップ304でメモリに固定される。セグメント・プログラムのサイズは小さく、メモリに固定されて、その結果、プログラムが常にメモリ内に存在することが好ましい。さらに、他のプログラムがセグメント・プログラムとスペースを交換できないように、セグメント・プログラムは移動不可とマークされ、セグメント・プログラムはより高い実行優先度を与えられる。さらに、保留メモリ・セグメントはセグメント・プログラムによって保留され、他のいかなる目的にも利用できない。セグメント・プログラムが初めて起動するとき、セグメント・プログラムはステップ306で、メモリの一部分を保留または割り当てすることが好ましい。メモリのこの部分は、本願明細書で保留メモリ・セグメントと呼ばれる。好適な実施形態では、保留メモリ・セグメントは非常に小さく、メモリをほとんど使用しない。保留メモリ・セグメントは、システムの実装に応じて、例えば一般的に30メガバイト(MB)から100MBの範囲のサイズを含むとよく、その結果、リモート・サーバがフリーズしたときにリモート・サーバに遠隔ログインするのに十分なメモリが、システム管理者に利用可能となる。なお、保留メモリ・セグメントのサイズは、リモート・サーバ上の利用可能な実際のメモリに応じて変更可能である。あるいは、保留メモリ・セグメントは、保留メモリ・セグメント・プログラムの他に別のプログラムによって作成されることも可能である。例えば、保留メモリ・セグメントは、別のプログラムによってあらかじめ作成されること、または、図3および4に記載されているように固定セグメント・プログラムによってその起動時に作成されることが可能である。なお、保留メモリ・セグメントがセグメント・プログラムによって作成されなかった場合、当該のメモリを解放するには、保留メモリ・セグメントを固定セグメント・プログラムに制御させるためにメカニズムが必要である。
セグメント・プログラムが保留メモリ・セグメントを割り当てると、セグメント・プログラムはステップ308で、任意のリクエスト・パケット(単数または複数)の、ポート、好ましくは所定のTCPポートでのリスニングを開始し、ステップ310でTCPポート上において任意のパケット(単数または複数)を待つ。パケットは、リモート・サーバにおいてセグメント・プログラムにより実行される特定のアクションを指定するのに使用されるリクエストTCP/IPパケットを含むことが好ましい。したがって、リモート・サーバがメモリ不足の結果としてハングアップもしくはフリーズするかまたは応答しなくなると、リモート・サーバのオペレーティング・システムは新たなプロセスを起動できないが、リモート・サーバは完全に停止している(dead)訳ではなく、セグメント・プログラムは、もしそれがメモリに固定されていれば、リモート・サーバ上で実行し続ける。さらに、保留メモリ・セグメント・プログラムは任意の通信を所定のポート上でリスニングする。再度図3を参照すると、図3の右側では、制御サーバがステップ324から開始し、ステップ326で、リモート・サーバがメモリ不足になっているかどうかが判断される。制御サーバは、ネットワーク接続を介してリモート・サーバに接続されている別のサーバであることが好ましい。制御サーバが326でリモート・サーバはメモリ不足になっていないと判断すると、プロセスは328で終わる。しかし、制御サーバがステップ326で、リモート・サーバはメモリ不足になっていると判断すると、ステップ330で、リモート・サーバ上の保留メモリ・セグメントを解放することが決定される。保留メモリ・セグメントの解放は、システム管理者によって手動で、または自動プロセス(例えば、リモート・サーバ上で実行されている自動回復プログラム)によって決定されることが好ましい。この自動プロセスは、リモート・サーバがメモリ制約状態にあるかどうかを確認し、メモリ制約が検出されると、保留メモリ・セグメントの解放などの遠隔操作をリモート・サーバで実施する必要があるという決定を下す。保留メモリ・セグメントを解放する遠隔操作により、リモート・サーバ回復のためのさらなる可能なアクションを取る機会が生まれる。例えば、制御サーバは、リモート・サーバがハングアップしていることを検出することもある。ユーザがログインできない、サーバが応答しない(サーバはまだ電源が入っていて実行中であるが、新たなプログラムを起動しようとする試みなどのさらなるリクエストをメモリ不足が原因で拒否している)、監視ツールによってサーバがダウンしているとレポートされるなど、サービス・リクエストに応答していなければ、リモート・サーバはハングアップまたはフリーズしていると見なされる。システム管理者は、そのような状況すべてにおいて、サーバがダウンしており遠隔操作が必要であると決定する。なお、当業者であれば、たとえサーバがハングアップしていなくても遠隔操作が使用されることもあるということが分かる。この決定の結果として、ステップ332で、パケット、好ましくはTCP/IPパケットが、保留メモリ・セグメントの解放のリクエストと共に所定のTCPポート上で送信される。リモート・サーバはステップ308において所定のTCPポート上でリスニングし、ステップ310で任意のパケットを待っているため、制御サーバがパケットを送信すると、リモート・サーバはステップ312で、保留メモリ・セグメントの解放をリクエストするパケットをTCPポート上で受信できる。リモート・サーバは、ステップ314でリクエストの検証を実施し、リクエストが有効かどうかを確認する。さらに、リモート・サーバはステップ316でリクエストの種類を識別する。さらに、リモート・サーバはステップ318で、リクエスト内で指定されている動作またはアクション(すなわち、保留メモリ・セグメントを解放すること)が、要求側、具体的には制御サーバに対して許可されているかどうかを判断する。リモート・サーバが、制御サーバは保留メモリ・セグメント解放の動作またはアクションをリクエストする権限を与えられていない、または許可されていないと判断すると、リモート・サーバはリクエストされた動作またはアクションを実施せず、代わりにTCPポート上で再び別のパケットを待つ。一方、リモート・サーバが、制御サーバは保留メモリ・セグメント解放をリクエストする権限を与えられている、または許可されていると判断すると、リモート・サーバはリクエストされた動作またはアクションを実施する。認証プロセスの結果として、リモート・サーバはステップ320で保留メモリ・セグメントを解放し、プロセスを終える。リモート・サーバは、使用されているプラットフォームに基づき何らかのシステム・コールを使用して保留メモリ・セグメントを解放することが好ましい。上記のように、例えば制御サーバなどの要求側によりリクエストされたときに保留メモリ・セグメントの解放を実施するよう設計されているリモート・セグメント・プログラムは、メモリをほとんど必要としない。セグメント・プログラムがメモリに固定されていれば、セグメント・プログラムはフリーズしたリモート・サーバにおいてもまだ実行可能である。セグメント・プログラムは、リモート・サーバ上のTCP/IPポートをリスニングする。したがって、リモート・サーバがフリーズするかまたは応答しなくなると、制御サーバは、ハングアップしているリモート・サーバへネットワーク接続を介してリクエストTCPパケットを送信できる。保留メモリ・セグメントを解放することにより、例えば、システム管理者がテルネットまたはSSHを介して遠隔ログインし、メモリ制約もしくはメモリ消費の原因となったプロセス/アプリケーションを終了させること、またはスワップ領域サイズを大きくすることなどの修正アクションを実施できるようになる。
図4を見ると、参照番号400は、本発明の実施形態に従ったコンピューティング・システム、好ましくはメモリ制約が原因で応答していないリモート・サーバを復旧する代わりの方法の要点をまとめている。リモート・サーバの復旧方法400はステップ402から開始し、ステップ404で、保留メモリ・セグメント・プログラムまたはコードがリモート・サーバ内のメモリに固定される。セグメント・プログラムはステップ406で、リモート・サーバのメモリ内に保留メモリ・セグメントを割り当てる。セグメント・プログラムは410で、任意のリクエスト・パケット、好ましくはTCP/IPパケットの、所定のTCPポート上でのリスニングを開始する。リモート位置において、定期的に、好ましくは所定の間隔でリモート・サーバ上においてメモリの利用可能性の確認を実施することによって、制御サーバなどの要求側が424から開始する。代わりの実施形態では、固定されたセグメント・プログラムは、リモート・サーバにおいての所定の間隔でのメモリ利用可能性点検の実施を開始する自動トリガを含んでいる。要求側はステップ428で、利用可能なメモリがあるかどうかを判断する。要求側がステップ428でメモリが利用可能であると判断すると、要求側は、メモリの利用可能性の定期的な確認を実施するステップ426に戻る。しかし、例えばリモート・サーバが応答していないなど、メモリが利用可能でない、つまりメモリ制約があると要求側が判断すると、要求側はステップ430で、パケット、好ましくは保留メモリ・セグメントを解放するリクエストを伴うTCP/IPパケットを、所定のTCPポート上でリモート・サーバへ送信する。リモート・サーバはステップ412で、保留メモリ・セグメントを解放するリクエストを伴うパケットを所定のTCPポート上で受信する。リモート・サーバは、ステップ414でリクエストの検証を実施し、ステップ416でリクエストの種類を識別する。さらに、リモート・サーバはステップ418で、受信されたリクエスト内の動作またはアクション、すなわち保留メモリ・セグメントを解放する動作またはアクションをリクエストすることを、要求側が許可されているかまたは権限を与えられているかを判断する。リモート・サーバが、要求側は保留メモリ・セグメント解放の動作またはアクションをリクエストする権限を与えられていない、または許可されていないと判断すると、リモート・サーバは要求された動作またはアクションを実施せず、代わりにTCPポート上で再び別のパケットを待つ。しかし、リモート・サーバが、要求側は保留メモリ・セグメントを解放する動作またはアクションをリクエストする権限を与えられている、または許可されていると判断すると、リモート・サーバはステップ420で、リクエストされた動作またはアクションを実施して保留メモリ・セグメントを解放する。要求側はステップ432で、保留メモリ・セグメントが解放されたかどうかを確認する。保留メモリ・セグメントは解放されていないと要求側が判断すると、要求側は所定間隔待ってから保留メモリ・セグメントが解放されたかどうかを確認する。しかし、保留メモリ・セグメントは解放されたと要求側が判断すると、要求側は、リモート・サーバを復旧またはフリーズ解除するために必要な修正アクションを開始し、ステップ434でプロセスを終える。保留メモリ・セグメントが解放されると、例えば、システム管理者はテルネットまたはSSHを介して遠隔ログインし、メモリ消費の原因となったプロセス/アプリケーションを終了させること、またはスワップ領域サイズを大きくすることなどの修正アクションを開始できるようになる。したがって、要求側、例えば制御サーバは、「メモリ不足」状況を識別して保留メモリ・セグメントの解放時に必要な任意の修正アクションを自動的に開始し、応答のないサーバの問題を修正することができる。例えば、制御サーバは、リモート・サーバにおいて自動回復プログラムの実行を開始してリモート・サーバを復旧するように構成されていれば、そうすることができる。
さらに別の実施形態において、本発明は、メモリ制約が原因で応答していないリモート・サーバを復旧するコンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品は、コンピュータ可読媒体と、リモート・サーバ上に存在するメモリの保留メモリ・セグメントを割り当てる第1プログラム命令と、リモート・サーバ上に存在するメモリに保留メモリ・セグメント・プログラムを固定する第2プログラム命令と、メモリ制約が生じたときのリクエスト・パケットをリスニングするべく固定されている保留メモリ・セグメント・プログラムを継続的に実行する第3プログラム命令と、リモート・サーバ上でメモリ制約が生じたときに受信されるリクエスト・パケットに応答して保留メモリ・セグメントを解放する第4プログラム命令とを含む。コンピュータ・プログラム製品は、メモリ制約に関してリモート・サーバ上に存在するメモリを定期的に確認してメモリ制約が見つかるとリクエスト・パケットをリモート・サーバへ送信する第5プログラム命令をさらに含む。第1、第2、第3、第4および第5プログラム命令はそれぞれ、媒体上に格納されていることが好ましい。好適な実施形態では、第3プログラム命令は、リクエスト・パケットを所定のTCP/IPポートでリスニングして、保留メモリ・セグメントを解放するための、TCP/IPパケットを含んだリクエスト・パケットを受信する命令をさらに含む。第4プログラム命令は、受信されたリクエストTCP/IPパケットを検証し、受信されたTCP/IPパケットを識別する命令をさらに含むことが好ましい。さらに、第4プログラム命令は、受信されたリクエストTCP/IPパケットがリモート・サーバ上の許容される動作に対応するかどうかを確認する命令をさらに含むことが好ましい。第5プログラム命令は、保留メモリ・セグメントが解放され次第リモート・サーバにおいて修正アクションを実施する命令をさらに含むことが好ましい。
好適な実施形態では、コンピュータ可読媒体は、コンピュータ・ストレージ媒体およびネットワーク媒体両方を含む。コンピュータ・ストレージ媒体は、半導体メモリ、磁気ディスク、磁気テープ、コンパクト・ディスク(CD:compact disc)、読み出し専用メモリ(ROM:read−only memory)またはデジタル・ビデオ・ディスク(DVD:digital video disc)あるいはそれらすべてを含み、ネットワーク媒体は、ケーブル、ルータ、スイッチまたはネットワーク・アダプタ・カードあるいはそれらすべてなど、ネットワーク上の伝送デバイスを含むことが好ましい。したがって、本発明は、例えばストレージ媒体に格納されるか、コンピュータにロードされるかもしくはコンピュータによって実行されるかあるいはその両方か、または、電気配線もしくは電気ケーブル上で、光ファイバを介してもしくは電磁放射を介してなど何らかの伝送媒体上で伝送されるかに関わらず、コンピュータ・プログラム・コードの形式で具現化されることも可能である。このコンピュータ・プログラム・コードがコンピュータにロードされこれによって実行されると、コンピュータは本発明を実践する装置になる。汎用マイクロプロセッサに実装されると、コンピュータ・プログラム・コード・セグメントは、マイクロプロセッサを設定して規定の論理回路を作成する。当業者には当然のことながら、システムのプロセッサによって実行される一連のプログラマブル命令は、上記の発明のシステムおよび方法のプロセス・ステップを実施するために必要である。
コンピュータ・プログラム製品は、コンピュータが使える媒体またはコンピュータ可読媒体からアクセス可能な形式であり、コンピュータもしくは任意の命令実行システムによって、またはこれらと関連して使用されるプログラム・コードもしくは命令を提供することが好ましい。この説明上、コンピュータが使える媒体またはコンピュータ可読媒体は、命令実行システム、装置もしくはデバイスによって、またはこれらと関連して使用されるコードもしくは命令を、含むこと、格納すること、伝達すること、伝播することもしくは運ぶことができる、任意の装置とすることができる。媒体は、電子、磁気、光学、電磁気、赤外線もしくは半導体のシステム(または装置もしくはデバイス)または伝播媒体を含むことができることが好ましい。特に、コンピュータ可読媒体は、半導体メモリもしくは固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM:random access memory)、読み出し専用メモリ(ROM)、リジッド磁気ディスク(rigid magnetic disk)および光ディスクを含むことができるとより好ましい。さらに、光ディスクの例には、コンパクト・ディスク読み出し専用メモリ(CD−ROM:compact disc−read only memory)、コンパクト・ディスク読み書き(CD−R/W:compact disc−read/write)およびデジタル・バーサタイル/ビデオ・ディスク(DVD:digital versatile/video disc)が挙げられる。さらに、ネットワーク媒体は、ケーブル、ルータ、スイッチまたはネットワーク・アダプタ・カードあるいはそれらすべてなど、ネットワーク上の伝送デバイスを含むことができることが好ましい。
図5を参照すると、参照番号500は、概略ブロック・システム図であり、メモリ制約が原因で応答していないリモート・サーバを復旧するためのコンピュータ・プログラム製品を例示している。描かれているように、システム500はコンピュータ・インフラストラクチャ502を含んでおり、これは、安全な環境(すなわち、アクセス制御が実施されている)において維持される任意の種類のコンピュータ・アーキテクチャを表すことを意図したものである。コンピュータ・インフラストラクチャ502は、本発明を実装するための様々な種類のコンピュータ・インフラストラクチャの実例でしかない。図のように、インフラストラクチャ502は、通常はサーバまたは同様のもの、好ましくはリモート・サーバを表すコンピューティング・システム504を含み、さらに、コンピューティング・システム530、540、542および544を含む。なお、当然のことながら、図示されてはいないが、他のハードウェアおよびソフトウェア・コンポーネント(例えば、追加のコンピュータ・システム、ルータ、ファイアウォールなど)がインフラストラクチャ502に含まれることも可能である。一般に、制御サーバ530におけるユーザまたはシステム管理者は、メモリ制約が原因で応答していないリモート・サーバを復旧するためにインフラストラクチャ502と接続する。さらに、1人以上の他のユーザまたはシステム管理者(図5に示されていない)は、インフラストラクチャ502と接続して、メモリ制約が原因で応答していないリモート・サーバを復旧できる。あるいは、システム管理者530は、クライアント540、542および544などのクライアントにサービスを提供するサービス・プロバイダであってもよく、この場合、システム管理者530は、インフラストラクチャ502、好ましくは安全な環境を提供しているインフラストラクチャ502と接続して、メモリ制約が原因で応答していないリモート・サーバを復旧するサービスを提供できる。サービス・プロバイダ530は、手数料方式で、または予約制で、クライアントにサービスを提供することがより好ましい。一般に、それぞれのパーティ530、540、542および544は、インフラストラクチャ502に直接、またはコンピュータ化されたデバイス(例えば、パーソナル・コンピュータ、ラップトップ、ハンドヘルド・デバイスなど)に搭載されているインターフェース(例えば、ウェブ・ブラウザ)を介して、ネットワーク上でアクセス可能である。後者の場合、ネットワークは、インターネット、ローカル・エリア・ネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、仮想プライベート・ネットワーク(VPN:virtual private network)など、任意の種類のネットワークとすることができる。いずれにしても、インフラストラクチャ502との通信は、直接ハードワイヤード接続(例えばシリアル・ポート)を介して、またはアドレス指定可能な接続を介して生じ得、アドレス指定可能な接続は、ワイヤ・ラインまたは無線伝送方法あるいはその両方の任意の組み合わせを利用するとよい。さらに、トークン・リング、イーサネット(登録商標)、WiFiまたはその他従来の通信規格など、従来のネットワーク接続性が使用されることもあり得る。さらに、接続性は、従来のTCP/IPソケットに基づくプロトコルによって提供されることも考えられる。
コンピューティング・システムまたはリモート・サーバ504が、処理ユニット(CPU)506、メモリ512、バス510、および入出力(I/O:input/output)インターフェース508を含むことが示されている。さらに、コンピューティング・システム504は、外部のI/Oデバイス/リソース524およびストレージ・システム522と通信している状態で示されている。概して、処理ユニット506は、保留メモリ・セグメント・プログラム514などのコンピュータ・プログラム・コードもしくはスクリプト、および自動回復プログラム518を実行する。これらは、メモリ512に格納されていることが好ましく、あるいは外部ストレージ・システム522に格納されることも可能である。処理ユニット506は、コンピュータ・プログラム・コードを実行している間に、メモリ512、ストレージ・システム522、またはI/Oインターフェース508あるいはこれらすべてと相互に、データの読み取りまたは書き込みあるいはその両方を行うことができる。メモリ512は、保留メモリ・セグメント516をさらに含み、これは、認証が済み次第保留メモリ・セグメント・プログラム514を実行することによって解放される。バス510は、コンピューティング・システム504内の各コンポーネント間に通信リンクを提供する。外部デバイス524は、ユーザがコンピューティング・システム504と情報をやり取りできるようにする任意のデバイス(例えば、キーボード、ポインティング・デバイス、ディスプレイなど)、または、コンピューティング・システム504が1つ以上の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えばネットワーク・カード、モデムなど)、あるいはその両方を含むことができる。さらに、コンピューティング・システム504は、ハードウェアの多数の組み合わせを含むことができる、考えられる種々のコンピュータ・システムの典型でしかない。この点で、その他の実施形態では、コンピューティング・システム504は、特定の機能を実施するハードウェアまたはコンピュータ・プログラム・コードあるいはその両方を含む任意の特定目的のコンピュータ製品、特定目的および汎用のハードウェア/ソフトウェアの組み合わせを含むコンピュータ製品、または同様のものなどを含むことができる。いずれの場合にも、プログラム・コードおよびハードウェアは、それぞれ標準的なプログラミングおよびエンジニアリングの技術を用いて作成できる。例えば、処理ユニット506は、単一の処理ユニットを含んでもよく、または、例えばクライアント上およびサーバ上など、1つ以上の位置にある1つ以上の処理ユニットにわたり分散されてもよい。同様に、リモート・サーバ504上のメモリ512またはストレージ・システム522あるいはその両方は、1つ以上の物理的な位置に存在する様々な種類のデータ・ストレージまたは伝送媒体あるいはその両方の任意の組み合わせを含むことができる。さらに、I/Oインターフェース508は、1つ以上の外部デバイス524と情報をやり取りする任意のシステムを含むことができる。さらに、当然のことながら、1つ以上の追加のコンポーネント(例えば、システム・ソフトウェア、数学コプロセッシング・ユニット(math co−processing unit)など――図5には示されていない)がコンピューティング・システム504に含まれることが可能である。さらに、コンピューティング・システム504がハンドヘルド・デバイスまたは同様のものなどを含む場合、当然のことながら、例えばディスプレイなどの1つ以上の外部デバイスが、コンピューティング・システム504に関して示されているように外部にではなく、コンピューティング・システム内に含まれ得る。ストレージ・システム522は、本発明に基づいて情報のストレージを提供できる任意の種類のデータベース・システムとすることができる。この点で、ストレージ・システム522は、磁気ディスク・ドライブまたは光ディスク・ドライブなどの1つ以上のストレージ・デバイスを含むこともあり得る。別の実施形態では、ストレージ・システム522は、例えば、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)またはストレージ・エリア・ネットワーク(SAN:storage area network)(図示せず)のいたるところに分散されたデータを含む。図示はしていないが、キャッシュ・メモリ、通信システム、システム・ソフトウェアなど追加のコンポーネントが、コンピューティング・システム504に組み込まれてもよい。
したがって、本発明はさらに、例えば、ストレージ媒体に格納されているか、コンピュータへのロードもしくはコンピュータによる実行あるいはその両方がされるか、または、電気配線もしくは電気ケーブル上で、光ファイバによってもしくは電磁放射を介してなど、何らかの伝送媒体上で伝送されるかに関わらず、コンピュータ・プログラム・コードの形式で具現化することができ、このコンピュータ・プログラム・コードがコンピュータにロードされそれにより実行されると、コンピュータは本発明を実践する装置になる。汎用マイクロプロセッサに実装されると、コンピュータ・プログラム・コード・セグメントは、マイクロプロセッサを設定して規定の論理回路を作成する。当業者には当然のことながら、システムのプロセッサにより実行される一連のプログラマブル命令は、上記の発明のシステムおよび方法のプロセス・ステップを実施するために必要とされる。
本発明の特定の実施形態に関する前述の説明が、例示および説明することを目的として提示されてきた。それらが網羅的であることは意図されておらず、本発明を開示された形式に厳密に制限することも意図されておらず、上記の教示を踏まえて多数の変更および変形物が考えられることは明らかである。実施形態は、本発明の原理およびその実際の適用を最もよく説明するために選択および記載されており、その結果、他の当業者が、意図する特定の用途に適するように様々な変更を加えて、本発明および様々な実施形態を最良の形で利用できるようになる。本発明の範囲は、本願明細書に添付されている特許請求の範囲およびそれらの等価物により定義されることが意図されている。
本発明の実施形態に従った、非応答コンピューティング・システムを遠隔復旧する装置のネットワーク構成を例示する。 本発明の実施形態に従った、リモート・サーバを復旧するよう構成されたリモート・サーバの一実施形態を例示するブロック図である。 本発明の実施形態に従った、非応答コンピューティング・システムを遠隔復旧する方法を描くフローチャートの実例である。 本発明の実施形態に従った、非応答コンピューティング・システムを遠隔復旧する方法を描くフローチャートの実例である。 本発明の実施形態に従った、具体化されたまたはビジネスの規則に対する変更をテストするコンピュータ・プログラム製品を例示する概略ブロック・システム図である。

Claims (2)

  1. ネットワーク通信チャネルを介して相互に接続されるリモート・サーバおよび制御サーバを含み、前記制御サーバが前記リモート・サーバの遠隔復旧を提供することができるシステムであって、
    前記リモート・サーバは、
    メモリの一部分を保留メモリ・セグメントとして保留する機能手段を含み、
    前記制御サーバは、
    前記リモート・サーバに対して、前記保留メモリ・セグメントの解放を要求するリクエスト・パケットを所定のTCP/IPポート上で送信する機能手段を含み、
    前記リモート・サーバは、
    前記リクエスト・パケットを前記所定のTCP/IPポートでリスニングする機能手段と、
    前記リクエスト・パケットの受信に応答して、該リクエスト・パケットの送信元である前記制御サーバが任意の修正アクションを実施できるように前記保留メモリ・セグメントを前記制御サーバの遠隔操作のために解放する機能手段と
    を含み、
    前記リモート・サーバの各前記機能手段は、前記メモリに固定された常駐プログラムの実行によって実現される、
    システム。
  2. ネットワーク通信チャネルを介して相互に接続されるリモート・サーバおよび制御サーバを含み、前記制御サーバが前記リモート・サーバの遠隔復旧を提供するシステムにおいて、前記リモート・サーバのメモリに常駐プログラムとして固定されるプログラムであって、前記リモート・サーバに、
    前記メモリの一部分を保留メモリ・セグメントとして保留する機能手段と
    前記制御サーバから送信される前記保留メモリ・セグメントの解放を要求するリクエスト・パケットを所定のTCP/IPポートでリスニングする機能手段と、
    前記リクエスト・パケットの受信に応答して、該リクエスト・パケットの送信元である前記制御サーバが任意の修正アクションを実施できるように前記保留メモリ・セグメントを前記制御サーバの遠隔操作のために解放する機能手段と
    を実現させるためのコンピュータ実行可能なプログラム。
JP2008549862A 2006-01-12 2007-01-04 リモート・サーバの遠隔復旧を提供することができるシステム Expired - Fee Related JP4636629B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/331,699 US8055725B2 (en) 2006-01-12 2006-01-12 Method, apparatus and program product for remotely restoring a non-responsive computing system
PCT/EP2007/050079 WO2007080145A1 (en) 2006-01-12 2007-01-04 Remotely restoring a non-responsive computing system

Publications (2)

Publication Number Publication Date
JP2009523283A JP2009523283A (ja) 2009-06-18
JP4636629B2 true JP4636629B2 (ja) 2011-02-23

Family

ID=38233993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008549862A Expired - Fee Related JP4636629B2 (ja) 2006-01-12 2007-01-04 リモート・サーバの遠隔復旧を提供することができるシステム

Country Status (5)

Country Link
US (1) US8055725B2 (ja)
EP (1) EP1971918A1 (ja)
JP (1) JP4636629B2 (ja)
CN (1) CN101361046B (ja)
WO (1) WO2007080145A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1981245A1 (en) * 2007-04-13 2008-10-15 Liconic Ag Method and product for controlling laboratory equipment
US9016541B2 (en) 2008-05-09 2015-04-28 Covidien Lp Varying tissue compression with an anvil configuration
US8984266B2 (en) 2010-12-29 2015-03-17 Brocade Communications Systems, Inc. Techniques for stopping rolling reboots
US20120173713A1 (en) * 2010-12-30 2012-07-05 Brocade Communication Systems, Inc. Resources monitoring and recovery
US9417935B2 (en) 2012-05-01 2016-08-16 Microsoft Technology Licensing, Llc Many-core process scheduling to maximize cache usage
US8595743B2 (en) 2012-05-01 2013-11-26 Concurix Corporation Network aware process scheduling
US8650538B2 (en) 2012-05-01 2014-02-11 Concurix Corporation Meta garbage collection for functional code
US8726255B2 (en) 2012-05-01 2014-05-13 Concurix Corporation Recompiling with generic to specific replacement
US8700838B2 (en) 2012-06-19 2014-04-15 Concurix Corporation Allocating heaps in NUMA systems
US9047196B2 (en) 2012-06-19 2015-06-02 Concurix Corporation Usage aware NUMA process scheduling
US8707326B2 (en) 2012-07-17 2014-04-22 Concurix Corporation Pattern matching process scheduler in message passing environment
US9575813B2 (en) 2012-07-17 2017-02-21 Microsoft Technology Licensing, Llc Pattern matching process scheduler with upstream optimization
US9043788B2 (en) 2012-08-10 2015-05-26 Concurix Corporation Experiment manager for manycore systems
US8656135B2 (en) 2012-11-08 2014-02-18 Concurix Corporation Optimized memory configuration deployed prior to execution
US8607018B2 (en) 2012-11-08 2013-12-10 Concurix Corporation Memory usage configuration based on observations
US8656134B2 (en) 2012-11-08 2014-02-18 Concurix Corporation Optimized memory configuration deployed on executing code
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
CN110609855B (zh) * 2018-05-29 2021-06-04 北京三快在线科技有限公司 查询处理和查询率阈值的确定方法及分布式查询系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10501907A (ja) * 1994-04-05 1998-02-17 インテル・コーポレーション ネットワーク内でプログラムを監視し、制御する方法および装置
JPH11282724A (ja) * 1998-03-30 1999-10-15 Hitachi Ltd ネットワーク管理システム
JP2000010822A (ja) * 1998-06-25 2000-01-14 Yokogawa Electric Corp 分散オブジェクトのダウン検出装置
JP2003177945A (ja) * 2001-12-12 2003-06-27 Hitachi Ltd 計算機管理方法及びその実施システム並びにその処理プログラム
JP2005234720A (ja) * 2004-02-17 2005-09-02 Nec Personal Products Co Ltd エラー処理システム及びエラー処理方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949248A (en) * 1988-07-15 1990-08-14 Caro Marshall A System for shared remote access of multiple application programs executing in one or more computers
JP2508598B2 (ja) 1993-07-07 1996-06-19 日本電気株式会社 通信網の遠隔電源制御装置
CN1124377A (zh) * 1995-12-21 1996-06-12 沈阳工业高等专科学校工矿备件公司 微型计算机硬盘信息保护技术及装置
US6237024B1 (en) * 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
JP3832517B2 (ja) 1996-07-05 2006-10-11 セイコーエプソン株式会社 ロボット用コントローラ及びその制御方法
US5909547A (en) 1996-10-24 1999-06-01 Lucent Technologies Inc. Method for shared memory management in network nodes
US6151688A (en) 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US5925095A (en) * 1997-05-12 1999-07-20 International Business Machines Corporation Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6163849A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6138150A (en) 1997-09-03 2000-10-24 International Business Machines Corporation Method for remotely controlling computer resources via the internet with a web browser
US6182089B1 (en) 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
US6226725B1 (en) 1998-04-21 2001-05-01 Ibm Method and system in a data processing system for the dedication of memory storage locations
US7100071B2 (en) 1998-07-16 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for allocating fail-over memory
JP2000148629A (ja) 1998-11-17 2000-05-30 Tietech Co Ltd 無人顧客応対システムにおけるサ―バクラッシュの遠隔地への通報及びリセット方式
US6480972B1 (en) 1999-02-24 2002-11-12 International Business Machines Corporation Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
US6611915B1 (en) 1999-05-27 2003-08-26 International Business Machines Corporation Selective loading of client operating system in a computer network
US6871286B1 (en) 1999-07-29 2005-03-22 Hewlett-Packard Development Company, L.P. Method and apparatus for resetting passwords in a computer system
US6651190B1 (en) 2000-03-14 2003-11-18 A. Worley Independent remote computer maintenance device
US6629227B1 (en) * 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
EP1330713A2 (en) 2000-10-15 2003-07-30 Digital Networks North America, Inc. Fail safe recovery
US6697033B1 (en) 2000-11-28 2004-02-24 Ati International Srl Method and system for changing a display device on a computer system during operation thereof
US7039682B2 (en) 2000-12-15 2006-05-02 International Business Machines Corporation Extension of the BOOTP protocol towards automatic reconfiguration
TW539946B (en) 2001-08-07 2003-07-01 Solid State System Company Ltd Window-based flash memory storage system, and the management method and the access method thereof
US6915420B2 (en) 2003-01-06 2005-07-05 John Alan Hensley Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US20040141461A1 (en) 2003-01-22 2004-07-22 Zimmer Vincent J. Remote reset using a one-time pad
US7383264B2 (en) 2003-03-27 2008-06-03 Hitachi, Ltd. Data control method for duplicating data between computer systems
US7452274B2 (en) 2003-03-31 2008-11-18 Cantor Index, Llc System and method for betting on-the-board or off-the-board in an event
ATE375553T1 (de) * 2003-06-24 2007-10-15 Research In Motion Ltd Erkennung von speichermangel und feinabschaltung
US7424525B2 (en) 2003-06-30 2008-09-09 Microsoft Corporation Managing headless computer systems
GB0318384D0 (en) 2003-08-06 2003-09-10 Ibm A storage controller and a method for recording diagnostic information
US20050060529A1 (en) 2003-09-04 2005-03-17 Chih-Wei Chen Remote reboot method and system for network-linked computer platform
US20050055495A1 (en) 2003-09-05 2005-03-10 Nokia Corporation Memory wear leveling
JP4291664B2 (ja) 2003-10-14 2009-07-08 株式会社日立製作所 通信バッファ予約機能を備えるストレージ装置およびシステム
US7350065B2 (en) 2003-12-15 2008-03-25 International Business Machines Corporation Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection
JP2005217815A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd パス制御方法
GB2418751A (en) * 2004-10-02 2006-04-05 Hewlett Packard Development Co Managing memory across a plurality of partitions
US7779410B2 (en) * 2004-12-17 2010-08-17 Sap Ag Control interfaces for distributed system applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10501907A (ja) * 1994-04-05 1998-02-17 インテル・コーポレーション ネットワーク内でプログラムを監視し、制御する方法および装置
JPH11282724A (ja) * 1998-03-30 1999-10-15 Hitachi Ltd ネットワーク管理システム
JP2000010822A (ja) * 1998-06-25 2000-01-14 Yokogawa Electric Corp 分散オブジェクトのダウン検出装置
JP2003177945A (ja) * 2001-12-12 2003-06-27 Hitachi Ltd 計算機管理方法及びその実施システム並びにその処理プログラム
JP2005234720A (ja) * 2004-02-17 2005-09-02 Nec Personal Products Co Ltd エラー処理システム及びエラー処理方法

Also Published As

Publication number Publication date
CN101361046A (zh) 2009-02-04
US8055725B2 (en) 2011-11-08
EP1971918A1 (en) 2008-09-24
US20070162558A1 (en) 2007-07-12
CN101361046B (zh) 2013-08-14
JP2009523283A (ja) 2009-06-18
WO2007080145A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
JP4636629B2 (ja) リモート・サーバの遠隔復旧を提供することができるシステム
US10476906B1 (en) System and method for managing formation and modification of a cluster within a malware detection system
US7502861B1 (en) System and method for providing services for offline servers using the same network address
US11218445B2 (en) System and method for implementing a web application firewall as a customized service
EP2319211B1 (en) Method and apparatus for dynamically instantiating services using a service insertion architecture
TWI524204B (zh) 用於可管理性與安全路由及端點存取的方法、裝置與系統
JP3783017B2 (ja) ローカル識別子を使ったエンド・ノード区分
TW535064B (en) Method and apparatus for controlling an extensible computing system
JP5837683B2 (ja) ネットワークのセグメント化によるネイティブクラウドコンピューティング
US7698400B1 (en) Dedication of administrative servers to management of server functions in a multi-server environment
US10467019B2 (en) Serving images to server groups
US8909800B1 (en) Server cluster-based system and method for management and recovery of virtual servers
JP2003528371A (ja) サーバ用フェデレイテッドオペレーティングシステム
JP2004528609A (ja) フィルタリングのなされたアプリケーション間通信
US8566847B2 (en) Out-of-band host management via a management controller
EP3070633B1 (en) Network interface devices with remote storage control
TWI676890B (zh) 機箱監控系統及機箱監控方法
US20220261270A1 (en) Reusing software application containers
TWI586127B (zh) 具有改良之故障處理之多片式網路流量管理設備及其方法
US10592374B2 (en) Remote service failure monitoring and protection using throttling
CN115827148A (zh) 一种资源管理方法、装置、电子设备及存储介质
CN109491855B (zh) 管理计算设备的方法
EP1113646A1 (en) A server module and a distributed server based internet access scheme and method of operating the same
CN116680045A (zh) 一种分布式多设备数据采集方法及系统
KR101247845B1 (ko) 정보유출 방지 기능을 구비한 네트워크 인터페이스 장치 및 네트워크 인터페이스 장치의 정보유출 방지 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090318

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091026

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100311

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101116

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20101116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4636629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees