JP4642389B2 - メモリ不足およびグレースフルシャットダウンの検出 - Google Patents

メモリ不足およびグレースフルシャットダウンの検出 Download PDF

Info

Publication number
JP4642389B2
JP4642389B2 JP2004185650A JP2004185650A JP4642389B2 JP 4642389 B2 JP4642389 B2 JP 4642389B2 JP 2004185650 A JP2004185650 A JP 2004185650A JP 2004185650 A JP2004185650 A JP 2004185650A JP 4642389 B2 JP4642389 B2 JP 4642389B2
Authority
JP
Japan
Prior art keywords
memory
application
reserve
computing device
operating system
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 - Lifetime
Application number
JP2004185650A
Other languages
English (en)
Other versions
JP2005018779A (ja
JP2005018779A5 (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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of JP2005018779A publication Critical patent/JP2005018779A/ja
Publication of JP2005018779A5 publication Critical patent/JP2005018779A5/ja
Application granted granted Critical
Publication of JP4642389B2 publication Critical patent/JP4642389B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/073Error 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 memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Fire-Detection Mechanisms (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)
  • Fire Alarms (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Telephonic Communication Services (AREA)

Description

(発明の背景)
本発明は、コンピューティングデバイスにおけるメモリマネージメントに関する。
当該分野にて公知のように、MicrosoftTM Windows(登録商標)およびUNIX(登録商標)ベースのシステム等のオペレーティングシステムは、アプリケーションによって用いられ得るアドレス可能メモリの量を物理的に制限する。アプリケーションがこの限度を超過した場合、これはクラッシュすることが多く、永久メモリに格納されなかったデータの損失、および、おそらく、クラッシュしたアプリケーションに依存する任意の他のアプリケーションにおけるクラッシュまたはスローダウンに至る。共通のネットワーク実行作業領域に別個のコンピュータが並行に接続される分散コンピューティングネットワークにおいて、あるコンピュータが、それ自体のメモリの使用量、または他のコンピュータのメモリの使用量をモニタリングし、1つのコンピュータのモニタリングされた状態が、アプリケーションクラッシュが起こったか、または起こりそうな状態を示す場合に、自動的にか、または、人間のオペレータに警告した後でバックアップ措置をとるように構成され得る。しかしながら、このようなシステムは、問題を適宜検出するために、モニタリングされるコンピュータのほぼ一定に近いポーリングを要求し、かつ、適宜検出された場合でも、重要なデータが保存され得る前に、当該のコンピュータアプリケーションがクラッシュすることがある。
従来のシステムでは、問題を適宜検出するために、モニタリングされるコンピュータのほぼ一定に近いポーリングを要求し、かつ、適宜検出された場合でも、重要なデータが保存され得る前に、当該のコンピュータアプリケーションがクラッシュすることがあった。
従って、状態を修正するか、または、そうでない場合、応答する時間を提供する低メモリ状態を検出および管理する方法およびシステムが必要とされる。
(発明の要旨)
本発明は、アプリケーションがクラッシュする前に、修正動作または対応措置をとり得るために十分早期に、メモリ問題が近い将来に起こりそうなことを警告し得る新規の方法を提供する。
本発明のある局面によると、オペレーティングシステムおよびアプリケーションを実行するプロセッサと、オペレーティングシステムおよびアプリケーションに利用可能なメモリとを有する第1のコンピュータデバイスにおいて低メモリを管理する方法が提供され、この方法は、(a)解放されるまで、アプリケーションに利用可能でない第1のリザーブバッファを、アプリケーションの起動時に、オペレーティングシステムによってアプリケーションに割り当てられたメモリブロック内にリザーブするステップと、(b)アプリケーションによるメモリの使用量が閾値に達したと判断すると、アプリケーションによる使用のための第1のリザーブバッファを解放するステップとを包含する。
本発明の別の局面によると、プロセッサと、メモリと、オペレーティングシステムと、アプリケーションとを有するコンピュータデバイス上で低メモリを管理するシステムが提供され、このシステムは、(a)低メモリマネージャによって解放されるまで、アプリケーションに利用可能でない第1および第2のリザーブバッファを、アプリケーション用のオペレーティングシステムによって割り当てられたメモリブロック内にリザーブし、(b)アプリケーションに関して、オペレーティングシステムによって生成された第1のメモリ不足例外を検出すると、アプリケーションによる使用のための第1のリザーブバッファを解放し、(c)アプリケーションに関して、オペレーティングシステムによってアプリケーションに関して生成されたさらなるメモリ不足例外を検出すると、アプリケーションによって使用するための第2のリザーブバッファを解放するための低メモリマネージャを備える。
本発明の他の局面および特徴は、本発明の特定の実施形態に関する以下の記載を添付の図と共に精査することによって当業者に明らかになる。
同じコンポーネントまたは特徴を示すために、異なった図において同じ参照符号が用いられる。
本発明の方法は、オペレーティングシステムおよびアプリケーションを実行するプロセッサと、該オペレーティングシステムおよびアプリケーションに利用可能なメモリとを有する第1のコンピュータデバイスにおいて低メモリを管理する方法であって、該方法は、(a)解放されるまで、該アプリケーションに利用可能でない該第1のリザーブバッファを該メモリブロック内にリザーブするステップと、(b)該アプリケーションによるメモリの使用量が閾値に達したと判断すると、該アプリケーションによって用いるために該第1のリザーブバッファを解放するステップとを包含し、それにより上記目的が達成される。
前記メモリの使用量が前記閾値に達したと判断すると、警告を生成するステップを包含してもよい。
前記メモリの使用量が前記閾値に達したと判断すると、警告信号を生成するステップと、該警告信号を、ネットワークを介して前記第1のコンピュータデバイスから別のコンピュータデバイスに送信するステップとを包含してもよい。
前記警告信号を検出すると、前記第1のコンピュータデバイスとしての、共通のネットワークに接続される少なくとも1つのさらなるコンピュータデバイスに指示して、該第1のコンピュータデバイスによって前に実行された少なくともいくつかの負荷ステップを包含してもよい。
前記メモリの使用量が前記閾値に達したと判断すると、それに続いて、前記メモリブロックから選択された情報を永久記憶装置に格納するステップを包含してもよい。
前記オペレーティングシステムによって、アプリケーションに関してメモリ不足例外が生成された場合、メモリの使用量が前記閾値に達したと判断してもよい。
ステップ(a)は、解放されるまで、前記アプリケーションに利用可能でない前記第2の該リザーブバッファを前記メモリブロック内にリザーブするステップをさらに包含し、(c)前記第1のリザーブバッファが解放された後に、該アプリケーションによるメモリの使用量が別の閾値を超過したかどうかを判断し、超過した場合、該アプリケーションによる使用のために該第2のリザーブバッファを解放するステップをさらに包含してもよい。
前記第1のリザーブバッファの解放とともに、第1の警告信号を生成し、かつ、前記第2のリザーブバッファの解放とともに第2の警告信号を生成するステップを包含してもよい。
前記第1のコンピュータデバイスとしての、共通のネットワークに接続される少なくとも1つのさらなるコンピュータデバイスに指示して、該第1のコンピュータデバイスによって前に実行された少なくともいくつかの負荷を担わせ、前記第2のリザーブバッファの解放と共に、自動化されたアプリケーションシャットダウンルーチンを開始するステップを包含してもよい。
ステップ(b)において、前記オペレーティングシステムによって、アプリケーションに関してメモリ不足例外が生成された場合、メモリの使用量が前記閾値を超過したという決定が下され、ステップ(c)において、該第1のリザーブバッファが解放されている間に該オペレーティングシステムによって、アプリケーションに関して第2のメモリ不足例外が生成された場合、該メモリの使用量が該閾値を超過したと判断してもよい。
前記第2のリザーブバッファのサイズは、前記第1のリザーブバッファのサイズよりも小さくてもよい。
ステップ(b)の後、前記アプリケーションによる前記メモリの使用量が閾値未満に低下した場合、前記第1のリザーブバッファを前記メモリブロック内に再リザーブするステップを包含してもよい。
本発明のシステムは、プロセッサと、メモリと、オペレーティングシステムと、アプリケーションとを有するコンピュータデバイス上で低メモリを管理するシステムであって、該システムは、(a)解放されるまで、該アプリケーションに利用可能でない第1および第2のリザーブバッファをメモリブロック内にリザーブするステップ、(b)該アプリケーションに関して、該オペレーティングシステムによって生成された第1のメモリ不足例外を検出すると、該アプリケーションによる使用のための該第1のリザーブバッファを解放するステップ、および、(c)該アプリケーションに関して、該オペレーティングシステムによって生成されたさらなるメモリ不足例外を検出すると、該アプリケーションによる使用のための該第2のリザーブバッファを解放するステップのための低メモリマネージャを備え、それにより上記目的が達成される。
ステップ(c)において、前記さらなるメモリ不足例外が生成されたときに、前記第1のリザーブバッファがまだ解放されている場合にのみ、前記第2のリザーブバッファが解放されてもよい。
前記低メモリマネージャは、前記第1のリザーブバッファおよび前記第2のリザーブバッファの解放によって、警告信号を生成するように構成されてもよい。
前記第2のリザーブバッファの解放に続いて、前記メモリブロックから少なくともいくつかのデータを永久記憶装置に格納するシャットダウンマネージャを備えてもよい。
本発明により、アプリケーションがクラッシュする前に、修正動作または対応措置をとり得るために十分早期に、メモリ問題が近い将来に起こりそうなことを警告し得る新規の方法およびシステムを提供することができる。
(詳細な説明)
本発明の実施形態の以下の詳細な記載は、本発明の実現を特定のコンピュータオペレーティングシステム(OS)に限定しない。本発明は、本発明の要件をサポートする設備を提供する任意のOSで実現され得る。ある実施形態は、MicrosoftTM Windows(登録商標) XPTMオペレーティングシステムを用いて実現されるが、本発明は、例えば、UNIX(登録商標)等の他のオペレーティングシステムでも実現され得る。
図を参照して、図1は、本発明が実現され得るネットワークコンピュータシステムを備える通信システムのブロック図である。示されるネットワークコンピュータシステムは、ルータであり、より具体的には、1つ以上のクライアントネットワーク110と1つ以上のワイヤレスネットワーク104との間で中間体(intermediary)およびインタープリタとして機能し、ワイヤレスネットワーク104内のモバイルデバイス106とクライアントネットワーク110に接続されたデバイスとの間でeメールメッセージが交換されることを可能にするワイヤレスゲートウェイ100である。しかしながら、本発明は、ルータまたはワイヤレスゲートウェイでの実現に限定されず、そのより広い局面において、多様なコンピュータシステムで実現され得る。
クライアントネットワーク110は、ワイヤレスゲートウェイ100からリモートでロケートされることが多く、1つ以上の通信リンクを介してワイヤレスゲートウェイ100と通信する。クライアントネットワーク110は、通常、ゲートウェイ100とのeメール通信を処理するためのクライアント側のインターフェースを含む。eメールメッセージは、当該技術にて公知のように、特に、プレーンテキストメッセージ、HTMLメッセージ、および多様なタイプの添付ファイルを含む。
ワイヤレスゲートウェイ100は、1つ以上のクライアントネットワーク110とワイヤレスネットワーク104との間で変換(translation)およびルーティングサービスを提供し、モバイルデバイス106と、クライアントネットワーク110に直接または間接的に接続されたデバイスとの間でのeメール通信を容易にする。ワイヤレスゲートウェイ100は、特に、クライアントネットワークインターフェース(CNI)120〜120、少なくとも1つのコントローラ122、データベース(DB)124、およびワイヤレストランスポートインターフェース(WTI)128〜128を含むいくつかの分散コンポーネントを備える。必要に応じて、増加したキャパシティおよびバックアップリダンダンシーを提供するために、コンポーネントは、各々、好ましくは、ネットワーク118(専用のLANであり得る)によって接続された専用のデジタルコンピュータを用いて実現される。当該技術にて公知のように、デジタルコンピュータコンポーネントは、各々、特に、マイクロプロセッサ130、RAM132等の非常駐メモリ、フラッシュメモリおよび/またはハードドライブ(HD)134といった、通常、永久的に書き込み可能であるメモリ、ならびにネットワーク通信インターフェースカード(図示せず)を備える。あるコンポーネント、例えば、ワイヤレストランスポートインターフェース128(ここで、1≦k≦M)がクラッシュするか、または、そうでない場合、利用可能でなくなると、ワイヤレスゲートウェイ100における別の1つ以上のワイヤレストランスポートインターフェース128〜128が不良のワイヤレストランスポートインターフェースによって前に処理されたトラフィックをピックアップし得る。
図1のゲートウェイ100において、クライアントネットワークインターフェース(CNI)120は、各々、ワイヤレスゲートウェイ100と少なくとも1つのクライアントネットワーク110との間の接続を管理するように構成される。ある実施形態において、クライアントネットワークインターフェース(CNI)120は、クライアントネットワーク110における1つ以上のクライアント側インターフェースとの接続(open connection)を維持し、所定のプロトコルを用いてこれと通信する。
ワイヤレスゲートウェイ100のデータベース124は、管理、トラッキング、およびメッセージ回復の目的で、ワイヤレスゲートウェイの他のコンポーネントによって用いられるデータを格納し、この点で、ワイヤレスゲートウェイ100の複数のコンポーネントは、データベース124に書き込み、およびこれから読み出しするように構成される。特に、データベースは、ワイヤレスゲートウェイコンポーネントに関するコンフィギュレーション情報を格納し、ワイヤレスゲートウェイの現在のステータスおよび状態に関するデータを保持し、ワイヤレスゲートウェイ100と通信するモバイルデバイス106に関する情報(ID番号および最後に知られたロケーション)を格納し、選択されたメッセージに関する情報を格納する。データベース124によって格納された情報は、事故/エラーの回復を支援し、バックアップコンポーネントが不良のコンポーネントの機能を引き受けることを可能にし得る。ある可能な実施形態において、データベース124は、OracleTMデータベースであり、ワイヤレスゲートウェイコンポーネントは、これらのコンポーネントがデータベースに書き込み、およびデータベースから読み出しすることを可能にするOracleTMクライアントを動作させる。
ワイヤレスゲートウェイ100は、ゲートウェイの動作を制御および調整するために、コントローラ122の形態の少なくとも1つのコントローラと、好ましくは、バックアップコントローラも備える。特に、コントローラ122は、コントローラがデータベース124に格納する現在の状態情報に関するコンポーネントを周期的にポーリングすることによってゲートウェイ100のコンポーネントの動作をモニタリングする。コントローラ122は、ワイヤレスゲートウェイ内のコンポーネントの障害または保留中の障害を検出し、不良のコンポーネントの機能を引き受ける他のコンポーネントを調整するように構成される。
ワイヤレストランスポートインターフェース(WTI)128は、ワイヤレスゲートウェイのモバイルデバイス106とのインターフェースであり、モバイルデバイス向けのメッセージをパケットシーケンスにアセンブルし、そのフォーマットは、特定のワイヤレスネットワーク104に依存する。同様に、ワイヤレストランスポートインターフェース(WTI)128は、モバイルデバイスから送信されたパケットシーケンスからモバイルデバイスからのメッセージを組み立てる。
ワイヤレストランスポートインターフェース128は、通常、1つ以上のワイヤレスネットワークインターフェースアダプタ129を通じてワイヤレスネットワーク104と通信する。ある実施形態において、ワイヤレスネットワークインターフェースアダプタは、ワイヤレストランスポートインターフェース128へのTCP/IP接続と、ワイヤレスネットワーク104へのX.25プロトコル接続とを有し、これにより、ワイヤレスネットワークインターフェースアダプタは、ワイヤレストランスポートインターフェース128からの(これへの)パケットをX.25モバイルネットワーク接続へのTCP/IP接続を介してルーティングする。
モバイルネットワーク104は、モバイルデバイス106に無線有効範囲(radio coverage)を提供し、かつ、例えば、Mobitex Radio Network、DataTAC、またはGPRS、CDMAまたはiDENネットワークを含む複数の異なったタイプのネットワークである得る。モバイルデバイス106は、ハンドヘルドであるか、または、eメールメッセージを送受信するように構成された他のモバイルデジタルコンピューティングデバイスであり得る。
本発明は、ゲートウェイ100にて用いられる特定のプロトコルまたは方式に依存せず、クライアントネットワーク110とワイヤレスネットワーク104との間でメッセージを交換する。むしろ、本発明は、1つ以上か、またはゲートウェイ100等のネットワークを実現するために用いられるコンピュータのメモリマネージメントの局面に関する。
図2は、一般的に参照符号140で示されるソフトウェアコンポーネントを表すブロック図を示す。これらのソフトウェアコンポーネントは、マイクロプロセッサ130によって実行するために、ワイヤレストランスポートインターフェース(WTI)128、クライアントネットワークインターフェース(CNI)、コントローラ122、およびゲートウェイ100のデータベース124等の少なくともいくつかのコンポーネント上に常駐するか、またはこれにアクセス可能である。ソフトウェアコンポーネントは、上述のように、ある実施形態におけるオペレーティングシステムのMicrosoftTM Windows(登録商標)系列のものであるオペレーティングシステム(OS)142および専用アプリケーション144〜144を備える。専用アプリケーション144〜144は、それぞれのゲートウェイコンポーネントの各々によって必要とされるアプリケーションであり、これにより、コンポーネントは、それぞれの機能を実行し得る。ゲートウェイのコンポーネントの各々に配置されるか、利用可能でもある専用アプリケーションの特定の組み合わせ(mix)は、通常、そのコンポーネントによって実行される機能に依存する。
当業者に公知のように、OS142は、専用アプリケーション144〜144の動作を調整およびモニタリングし、かつ、専用アプリケーションの各々についてリソースを割り当てるように構成される。OS142が専用アプリケーション間に割り当てる最も重要なリソースの1つは、非常駐メモリ、すなわち、RAM132である。図3は、メモリブロック150を線図で示す。これは、オペレーティングシステム142が専用アプリケーション144〜144間に割り当て得るRAM132の部分を表す。通常、アプリケーションを起動すると、オペレーティングシステムは、サブセットまたはメモリブロック150をアプリケーションのために予約するか、または割り当てる。図3において、152〜152は、専用アプリケーション144〜144にそれぞれ割り当てられたメモリブロックを表す。当該技術にて公知のように、各メモリブロック152を実現するために用いられる物理メモリは、RAM132において連続した物理メモリロケーションを必要とせず、連続的データ群は、連続的物理メモリロケーションに格納される必要がない。
本発明によると、ソフトウェアコンポーネント140は、低メモリ状態、すなわち、低メモリマネージャアプリケーション146を管理するための専用アプリケーションを備える。図2に別個のアプリケーションとして示されるが、低メモリマネージャ146の機能は、いくつかの実施形態において、1つ以上の他の専用アプリケーション144〜144、または、オペレーティングシステム142に完全に、または部分的に組み込まれてもよい。低メモリマネージャ146は、すべてまたは選択された専用アプリケーション144〜144に割り当てられたメモリの部分が効果的にリザーブに保持されるように構成され、これにより、このメモリの部分は、低メモリが生じる間に専用アプリケーションをサポートするために用いられ得、従って、当該のアプリケーションがクラッシュする前に、データバックアップまたは対応措置をとるための時間を提供する。
図4は、本発明の実施形態により、一般に参照符号400によって示され、専用アプリケーション144i(ただし、1≦i≦N)の低メモリ状態を管理するために低メモリマネージャ146によって行われるプロセスを示す。ステップ402に示されるように、低メモリマネージャが単独のアプリケーションか、またはオペレーティングシステムに組み込まれた実施形態において、低メモリマネージャは、オペレーティングシステム142によって開始されたすべての専用アプリケーションをモニタリングし、かつ、開始されている専用アプリケーション(この例において、アプリケーション144i)が低メモリのために事前選択されているかどうかを決定し、事前選択されている場合、後述されるメモリマネージメント機能を実行する。いくつかの実施形態において、低メモリマネージメントのためのすべての専用アプリケーションが選択され得、この場合、ステップ402が省略され得る。いくつかの実施形態において、低メモリマネージャ146は、専用アプリケーション144iのモジュールであり得、そのメモリマネージメントステップを関連した専用アプリケーション144iに関してのみ自動的に実行するように構成され得る。
低メモリマネージメントが専用アプリケーション144iに関して実行される場合、ステップ404に示されるように、低メモリマネージャ146は、オペレーティングシステムが専用アプリケーション144iにリザーブメモリブロックを割り当てるように指示する。上述のように、オペレーティングシステム142は、最初に、専用アプリケーション144iを開始し、これは、メモリブロック152i(図3)をアプリケーションのために予約または割り当てる。Windows(登録商標)オペレーティングシステムの実施形態において、メモリブロックは2GBであり得、これは、Windows(登録商標)が現在アプリケーションに割り当てることができる最大量のメモリである。本発明の実施形態によると、ステップ404において、低メモリマネージャ146は、メモリブロック152i内に2つのリザーブサブブロックを予約または割り当てることをオペレーティングシステムにリクエストし、これにより、このサブブロックは、3つのサブブロック、すなわち、メインブロック158と、2つのリザーブバッファB1 154およびB2 156とに分解される。メインブロック158は、専用アプリケーション144iの通常の動作要件に対して完全に利用可能にされるが、オペレーティングシステム142および専用アプリケーション144iの両方の観点から、2つのリザーブバッファB1 154およびB2 156が予約され、低メモリマネージャ146によって空けられるまで利用可能でない(後述される)。当該技術に公知のように、オペレーティングシステム142は、通常、メモリを所定のサイズの「ページ」に分割する。低メモリマネージャ146は、専用のアプリケーション144iが起動すると、リザーブバッファB1 154およびB2 156を予約するが、リザーブバッファは、ある実施形態において、データが実際にこれらに書き込まれるまで、実際にオペレーティングシステムによってメモリページに物理的に分割されず、これにより、不必要なプロセッサアクティビティを低減する。
ある実施形態において、リザーブバッファB1 154およびB2 156は、メインブロック158と比較して比較的小さく、第2のリザーブバッファB2 156は、第1のバッファB1 154よりも小さい。非限定的例として、ある実施形態において、メインブロック158は、アプリケーション144iに割り当てられたメモリブロック152iの約88%であり、第1のリザーブバッファB1 154は、メモリブロック152iの約10%であり、第2のリザーブバッファB2 156は、メモリブロック152iの約2%であり得る。しかしながら、種々の実施形態において、異なった相対的バッファサイズが用いられ、いくつかの実施形態において、第1のリザーブバッファと第2のリザーブバッファのサイズは同じである。
専用アプリケーション144iが動作すると、このアプリケーションは、そのメモリ要件のためにメインメモリブロック158を用いる。アプリケーション144iおよびオペレーティングシステム142は、ハードドライブ134へのキャッシングデータ等のメインブロック158内のメモリの使用量を管理するために、当該分野にて公知の種々のメモリマネージメント技術を用い得る。
当該分野に公知のように、動作システム142は、専用アプリケーション144iのメモリ使用をモニタリングし、かつ、専用アプリケーション144iのため利用可能なメモリが所定の閾値(ゼロ利用可能メモリであり得る)未満になった場合であってもメモリ不足例外を発するように構成される。複数の専用アプリケーションにおいて、メモリ不足の例外は、修正動作または対応措置が実行されることを十分に警告することなく、専用アプリケーションを直ちにか、またはほぼ直ちにクラッシュさせる。本発明の低メモリマネージャ146は、近い将来起こり得るメモリ不足問題についての警告が、アプリケーションがクラッシュする前に、十分早期に提供され得る新規の方法を提供する。
より具体的には、ステップ406に示されるように、低メモリマネージャ146は、専用アプリケーション144iが動作している間、専用アプリケーション144iに関してオペレーティングシステム142によって発せられた任意のメモリ不足例外を検出するように構成される。メモリ不足例外は、メインブロック158において利用可能なメモリが動作システム閾値未満に低下した場合に起こる。ステップ408に示されるように、専用アプリケーション144iに関して、オペレーティングシステムによって発せられるメモリ不足例外を検出すると、低メモリマネージャ146は、オペレーティングシステム142が第1のリザーブバッファB1 154を解放して、バッファB1のメモリをメインブロック158と効果的に統合するように指示し、これにより、専用アプリケーション144iおよびオペレーティングシステム142の観点から、専用アプリケーションによって用いるために利用可能な空きメモリの量を増加させる。新たに空きになったメモリは、近い将来に起こり得るクラッシュ全体を回避しない場合、遅延することが多い。
メモリを空きにすることに加えて、低メモリマネージャは、ステップ410に示されるように、第1の警告警報を発し、これにより、修正動作または対応措置がとられ得る。いくつかの実施形態において、第1の警告警報は、人間のオペレータに状態を警報するように意図されるオーディオおよび/またはビジュアル信号であり得る。追加的、または、代替的に、警告警報は、関連したコンピュータ上で動作するマネージメントアプリケーションに渡される電気信号または変数であり得る。マネージメントアプリケーションは、ディスクリート専用アプリケーションであり得るか、あるいは、関連した専用アプリケーションのモジュールか、または低メモリマネージャ146のモジュールであり得る。いくつかの実施形態において、警告信号は、関連したコンピュータがネットワークによって接続されるリモートコンピュータ上で動作するマネージメントアプリケーションに送信され得る。例えば、低メモリマネージャ146が分散ゲートウェイ100のワイヤレストランスポートインターフェース128上で動作する実装例において、警告警報信号は、コントローラ122上で動作するマネージメントアプリケーションに送信し得る。これは、その後、問題を調査するために人間のオペレータに警報を発し得る。コントローラ122上のマネージメントアプリケーションは、自動的に、または人間のオペレータの介入によって、修正動作をとるように構成され得る。例えば、コントローラ122上のマネージメントアプリケーションは、電子トラフィックが他のワイヤレストランスポートインターフェース128に再ルーティングされるようにして、関連したワイヤレストランスポートインターフェースに対する要求をいくらか軽減するように構成される。いくつかの実施形態において、第1の警告信号の後で、メモリ152i内の情報を永久記憶装置に格納するステップが行われ得る。
再びプロセス400を参照して、一旦リザーブバッファB1 154が解放されると、低メモリマネージャ146が、オペレーティングシステム142が、専用アプリケーション144iに関して第2のメモリ不足例外を発するかどうかを見る(ステップ412)。第2のメモリ不足例外を待つ間、専用アプリケーションは、第1のリザーブバッファB1 154を再リザーブすることを周期的に試み(ステップ414)、専用アプリケーション144iによるメモリ使用レベルがリザーブバッファB1 154をもはや必要としないレベルに低下した場合、オペレーティングシステム142は、メモリが低メモリマネージャ146によってリザーブされることを可能にし、そうでない場合、オペレーティングシステム142は、メモリの低メモリマネージャへの解放が可能にならない。低メモリマネージャによって第1のバッファB1を再リザーブする試みの頻度は、本発明のある実施形態において構成可能である。ステップ414において、リザーブバッファB1 154がもはや必要とされず、低メモリマネージャによって再リザーブされた場合、低メモリマネージャはリセットし、かつステップ406に戻り、新規の第1のメモリ不足例外の出現を待つ。
再びステップ412を参照して、オペレーティングシステム142は、リザーブバッファB1 154の解放に基づいて、利用可能になったさらなるメモリが使い果たされた場合、さらなるメモリ不足例外を発する。第2のメモリ不足例外の出現は、通常、第1の警告警報に応答してとられた任意の修正動作が失敗したか、または、第1の警告警報が聞き入れられなかったことを示す。
ステップ416において示されるように、第2のメモリ不足例外に応答して、低メモリマネージャ146は、第2のリザーブバッファB2 156を解放し、バッファB2のメモリをメインブロック158および前に解放された第1のリザーブバッファB1 154と有効に統合し、これにより、専用アプリケーション144iおよびオペレーティングシステム142の観点から、専用アプリケーションによって用いるために利用可能な空きメモリの量を増加させる。新規に解放されたメモリは、好ましくは、回復をサポートする措置を関連したアプリケーションがクラッシュする前に行うために十分な時間(例えば、メモリブロック152iにおける選択された情報が永久記憶装置ロケーションに格納され、これにより、これが後から取り出され得るための時間)を獲得する。
ステップ418に示されるように、第2のリザーブバッファを解放すると、低メモリマネージャは、好ましくは、クラッシュが近い将来に起こり得るという合図の第2の警告警報を発する。いくつかの実施形態において、第2の警告警報は、専用アプリケーション144iのシャットダウンを開始させる事実上のコマンドである。好ましくは、第2の警告警報は、回復をサポートする措置を開始させる。いくつかの実施形態において、第2の警告警報は、別のアプリケーションに渡されるか、または、関連したアプリケーションと同じコンピュータに配置されるアプリケーション内の信号または変数であり得る。代替的、または、追加的に、第2の警告警報は、別のコンピュータ上にリモートで配置されたマネージメントアプリケーションに送信され得る。
非限定的例として、関連した専用アプリケーション144iは、ワイヤレストランスポートインターフェース128上で動作し、出力メッセージを送信して、モバイルデバイス106から入来するメッセージを受信することを担い得る。専用アプリケーションは、モバイルデバイス106に送信されることを待つ、待機状態の出力メッセージと、モバイルデバイス106から受信されたが、まだゲートウェイ100によって処理されていない待機状態の入来するメッセージとを含むメモリブロック152i内に待機状態メッセージバッファを維持する。待機状態メッセージは、特に、エラーコードおよび承認等の状態メッセージを含み得る。待機状態メッセージバッファ内におけるいくつかの待機状態メッセージの送達は、「失われた」メッセージ、すなわち、eメールメッセージの状態に関して、不正確または不明瞭な情報とともに残される、モバイルデバイス106等の発信するデバイスからのメッセージを回避するために重要であり得る。従って、専用アプリケーション144iの障害となるクラッシュの場合、最終的に、失われたメッセージを回避するために送信されることが必要とされるメモリブロック152i内の少なくとも重要な待機状態メッセージを永久記憶装置にシリアル化することが望ましい。
現在記載される例において、専用アプリケーション144iは、ステップ418において発せられた第2の警告警報を受信し、シャットダウンルーチンを開始するように構成されるシャットダウンマネージャ160を備える。このシャットダウンルーチンは、特に、メモリブロック152iに格納された任意の重要なメッセージを永久記憶装置にシリアル化して、これにより、重要な待機状態メッセージが、後から取り出され、かつ送信されることを可能にすることを包含する。メッセージは、関連したアプリケーションが動作するコンピュータの局所的永久記憶装置か、またはデータベース124にシリアル化され得る。ステップ418において発せられる第2の警告警報は、好ましくは、さらに、直接的または間接的にコントローラ132に提供され、これにより、この警告警報は、すべてのトラフィックがクラッシングアプリケーション144iを動作させるワイヤレストランスポートインターフェース128kから離れて再ルーティングされるようにし、かつ、1つ以上の他のワイヤレストランスポートインターフェースがトラフィックを引き取り、さらに、シリアル化された重要なメッセージを取り出し、かつ送信するように指定するようにし得る。
従って、本発明の低メモリマネージメントプロセスは、メモリ不足状態に基づいて、アプリケーションの近い将来に起こり得るクラッシュについて事前の警告を提供し、従って、クラッシュを防止する修正動作がとられ、さらに、回復サポート措置がとられ、これにより、クラッシュが起きても重要なデータは失われないことを可能にする。上述の例示的実施形態において、2つのリザーブバッファは、アプリケーションに利用可能なメモリからリザーブされる。メモリ不足例外が発せられた場合、第1のリザーブバッファが解放され、警告が発せられ、これにより、自動化されたか、または、人間によって制御される、あるいは、これらの両方の調査および修正動作が行われ得る。警告が首尾よく修復をもたらさなかった場合、第2のメモリ不足例外が受信され、第2のバッファの解放、および、重要なデータが永久メモリに格納されるアプリケーションの制御されたシャットダウンの開始を引き起こす。低メモリマネージャ146は、モニタメモリの使用量それ自体を直接および連続的にモニタリングすることを試みるのではなく、オペレーティングシステム142によって発せられるメモリ不足例外に依存する。その結果、低メモリマネージャ146は、これが実装されるコンピュータの比較的少ない処理リソースを用いる。
いくつかの実施形態において、ほぼ2つのリザーブバッファが用いられ得る。
ある実施形態において、上述の発明の実施形態を実現するためのコンピュータ実行可能命令を具体的に具現化するコンピュータ読み出し可能媒体を有するコンピュータプログラム製品が提供される。コンピュータ読み出し可能媒体は、特に、磁気媒体または光媒体等の格納媒体であり得るか、あるいは、コンピュータ実行可能命令が変調された電気信号か、または光信号等の通信媒体であり得る。
本発明の上述の実施形態は、例示にすぎないことが意図される。変更、改変および変形は、添付の請求項によって定義される本発明の範囲から逸脱することなく、当業者によって特定の実施形態に対して行われ得る。
低メモリマネージャは、専用アプリケーションに割り当てられるメモリの一部分がリザーブされるように構成され、これにより、この部分は、低メモリが発生する間、専用アプリケーションをサポートするために用いられ得、従って、関連した当該のアプリケーションクラッシュの前にデータバックアップまたは対応ステップを実行する時間を提供する。
図1は、本発明の実施形態により本発明が実現されるコンピュータネットワークを備える通信システムを示すブロック図である。 図2は、図1のコンピュータネットワークのコンピュータ上に実現されるソフトウェアコンポーネントを表すブロック図である。 図3は、本発明の実施形態によるメモリを表すブロック図である。 図4は、本発明の実施形態によるメモリ管理プロセスの動作を示すフローチャートである。

Claims (10)

  1. オペレーティングシステムおよびアプリケーションを実行するプロセッサと、該オペレーティングシステムおよびアプリケーションに利用可能なメモリとを有する第1のコンピュータデバイスにおいて低メモリを管理する方法であって、該第1のコンピュータデバイスは、ワイヤレスネットワーク内のモバイルデバイスと電子メッセージを交換するためのインターフェースであり、該方法は、
    (a)解放されるまで、該アプリケーション用の第1のリザーブバッファおよび第2のリザーブバッファであって、該アプリケーションに利用可能でない第1のリザーブバッファおよび第2のリザーブバッファをメモリブロック内にリザーブするステップと、
    (b)該アプリケーションによるメモリの使用量が第1の閾値に達したと決定すると、該アプリケーションによって用いるために該第1のリザーブバッファを解放するステップと、
    (c)該メモリの使用量が該第1の閾値に達したと決定した後、第1の警告を生成し、該第1の警告が生成されると、ネットワークを介して該第1のコンピュータデバイスから別のコンピュータデバイスに該第1の警告を送信するステップと、
    (d)該第1の警告を検出すると、該第1のコンピュータデバイスから離れて、該第1のコンピュータデバイスと共通のネットワークに接続される少なくとも1つのさらなるコンピュータデバイスへと電子メッセージを再ルーティングするステップと、
    (e)該第1のリザーブバッファが解放された後において該アプリケーションによるメモリの使用量が第2の閾値に達したと決定し、その場合、該アプリケーションによって用いるために該第2のリザーブバッファを解放し、第2の警告を発するステップと、
    (f)該第2の警告を検出すると、該メモリブロックから選択された情報を永久記憶装置に格納することを含む自動アプリケーションシャットダウンルーチンを開始するステップと
    を包含する、方法。
  2. 前記メモリの使用量が前記第1の閾値または前記第2の閾値に達したと決定することに続いて、前記メモリブロックから選択された情報を前記永久記憶装置に格納するステップを包含する、請求項1に記載の方法。
  3. ステップ(b)において、前記オペレーティングシステムによって前記アプリケーションに関してメモリ不足例外が生成された場合、前記メモリの使用量が前記第1の閾値を超過したという決定がなされ、
    ステップ(e)において、前記第1のリザーブバッファが解放されている間に、該オペレーティングシステムによって該アプリケーションに関して第2のメモリ不足例外が生成された場合、該メモリの使用量が前記第2の閾値を超過したという決定がなされる、請求項1に記載の方法。
  4. 前記第2のリザーブバッファのサイズは、前記第1のリザーブバッファのサイズよりも小さい、請求項1に記載の方法。
  5. ステップ(b)の後、前記アプリケーションによる前記メモリの使用量が第3の閾値未満に低下した場合、前記第1のリザーブバッファを前記メモリブロック内に再リザーブするステップを包含する、請求項1に記載の方法。
  6. 前記第1のコンピュータデバイスは、前記ワイヤレスネットワークを介して前記モバイルデバイスに送信される出力電子メッセージを前記メモリブロックに格納し、
    該メモリブロックから選択された情報を前記永久記憶装置に格納することは、該格納された出力電子メッセージのうちの少なくとも一部を該永久記憶装置に格納することを包含する、請求項1に記載の方法。
  7. 前記メモリブロックに格納された前記格納された出力電子メッセージが、選択されたモバイルデバイスを該選択されたモバイルデバイスから送信される電子メッセージの状態に関して不正確または不明瞭な情報を有しているままにしておくのを避けるために該選択されたモバイルデバイスに送信する必要のある重要なメッセージを含み、該格納された出力電子メッセージのうちの少なくとも一部を永久記憶装置に格納するステップは、ワイヤレスモバイルデバイスに送信する必要のある該重要なメッセージを該格納された出力電子メッセージから選択するステップと、該選択された重要なメッセージを該永久記憶装置に格納するように試みるステップとを包含する、請求項6に記載の方法。
  8. 前記メモリブロックが、前記アプリケーションの起動のときに該アプリケーションのために予約され、前記第1および第2のリザーブバッファは、該アプリケーションの起動のときに該メモリブロックにリザーブされる、請求項1に記載の方法。
  9. 第1のコンピュータデバイス上でメモリを管理するシステムであって、該第1のコンピュータデバイスは、ワイヤレスネットワーク内のモバイルデバイスと電子メッセージを交換するためのインターフェースであり、該第1のコンピュータデバイスは、プロセッサと、メモリと、オペレーティングシステムと、アプリケーションとを有し、該システムは、
    低メモリマネージャであって、
    該低メモリマネージャは、
    該低メモリマネージャによって解放されるまで、該アプリケーションに利用可能でない第1のリザーブバッファをメモリブロック内にリザーブし、
    該アプリケーションに関して、該オペレーティングシステムによって生成された第1のメモリ不足例外を検出すると、該アプリケーションによる使用のための該第1のリザーブバッファを解放し、
    該第1のコンピュータデバイスは、
    該ワイヤレスネットワークを介してワイヤレスモバイルデバイスに送信される出力電子メッセージを該メモリに格納し、
    該低メモリマネージャは、
    該第1のリザーブバッファに加えて、該低メモリマネージャによって解放されるまで、該アプリケーションに利用可能でない第2のリザーブバッファを該メモリブロック内にリザーブし、
    該アプリケーションに関して、該オペレーティングシステムによって生成された該第1のメモリ不足例外を検出した後、第1の警告を生成し、
    該アプリケーションに関して、該オペレーティングシステムによって生成されたさらなるメモリ不足例外を検出すると、第2の警告を生成し、該アプリケーションによる使用のための該第2のリザーブバッファを解放する
    ように構成されている、低メモリマネージャと、
    該第2の警告の検出に続いて、該メモリブロックから該格納された出力電子メッセージデータのうちの少なくとも一部を永久記憶装置に格納するシャットダウンマネージャと、
    ネットワークを介して該第1の警告を受信する別のコンピュータデバイスであって、該第1のコンピュータデバイスから離れて、該第1のコンピュータデバイスと共通のネットワークに接続される少なくとも1つのさらなるコンピュータデバイスへと電子メッセージを再ルーティングする別のコンピュータデバイスと
    を備える、システム。
  10. 前記さらなるメモリ不足例外が生成されたときに、前記第1のリザーブバッファがまだ解放されている場合にのみ、前記第2のリザーブバッファが解放される、請求項9に記載のシステム。
JP2004185650A 2003-06-24 2004-06-23 メモリ不足およびグレースフルシャットダウンの検出 Expired - Lifetime JP4642389B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03253973A EP1492006B1 (en) 2003-06-24 2003-06-24 Detection of out of memory and graceful shutdown

Publications (3)

Publication Number Publication Date
JP2005018779A JP2005018779A (ja) 2005-01-20
JP2005018779A5 JP2005018779A5 (ja) 2007-07-26
JP4642389B2 true JP4642389B2 (ja) 2011-03-02

Family

ID=33396017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004185650A Expired - Lifetime JP4642389B2 (ja) 2003-06-24 2004-06-23 メモリ不足およびグレースフルシャットダウンの検出

Country Status (13)

Country Link
US (2) US7284099B2 (ja)
EP (1) EP1492006B1 (ja)
JP (1) JP4642389B2 (ja)
KR (1) KR100941041B1 (ja)
CN (1) CN100362466C (ja)
AT (1) ATE375553T1 (ja)
AU (1) AU2004202730B2 (ja)
BR (1) BRPI0402518B1 (ja)
CA (1) CA2472473C (ja)
DE (1) DE60316783T2 (ja)
HK (1) HK1072303A1 (ja)
SG (1) SG120167A1 (ja)
TW (1) TWI317477B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1872256B1 (en) * 2005-04-18 2011-03-23 Research In Motion Limited System and method of waste management
US8725905B2 (en) * 2006-01-11 2014-05-13 Dell Products L.P. Power over ethernet powered management and diagnoses of information handling systems
US8055725B2 (en) * 2006-01-12 2011-11-08 International Business Machines Corporation Method, apparatus and program product for remotely restoring a non-responsive computing system
CN101059768B (zh) * 2006-04-17 2011-01-05 北京软通科技有限责任公司 实现操作系统备用的系统及方法
US8468131B2 (en) * 2006-06-29 2013-06-18 Avaya Canada Corp. Connecting devices in a peer-to-peer network with a service provider
US7761487B2 (en) * 2006-12-13 2010-07-20 Computer Associates Think, Inc. Predicting out of memory conditions using soft references
US7827358B2 (en) 2007-01-07 2010-11-02 Apple Inc. Memory management methods and systems
US20100318723A1 (en) * 2007-02-23 2010-12-16 Masahiro Nakanishi Memory controller, nonvolatile memory device, and nonvolatile memory system
US8111839B2 (en) 2007-04-09 2012-02-07 Personics Holdings Inc. Always on headwear recording system
JP2010009408A (ja) * 2008-06-27 2010-01-14 Sony Corp 情報処理装置、およびデータ処理方法、並びにプログラム
US8245012B2 (en) * 2008-10-16 2012-08-14 International Business Machines Corporation Adaptively preventing out of memory conditions
US20110016393A1 (en) * 2009-07-20 2011-01-20 Apple Inc. Reserving memory to handle memory allocation errors
US8528039B2 (en) * 2009-11-04 2013-09-03 Verizon Patent And Licensing Inc. System for and method of set-top box memory monitoring
CN102156675B (zh) * 2010-02-12 2014-03-19 中兴通讯股份有限公司 一种内存分配方法及装置
US7917954B1 (en) * 2010-09-28 2011-03-29 Kaspersky Lab Zao Systems and methods for policy-based program configuration
US9336250B1 (en) * 2011-09-23 2016-05-10 Veritas Technologies, LLC Systems and methods for efficiently backing up data
US8904068B2 (en) * 2012-05-09 2014-12-02 Nvidia Corporation Virtual memory structure for coprocessors having memory allocation limitations
US8990534B2 (en) 2012-05-31 2015-03-24 Apple Inc. Adaptive resource management of a data processing system
US9032168B2 (en) 2012-05-31 2015-05-12 Htc Corporation Memory management methods and systems for mobile devices
US9639399B2 (en) * 2013-02-01 2017-05-02 Tencent Technology (Shenzhen) Company Limited Method, apparatus and terminal for releasing memory
CN104216781B (zh) * 2013-05-29 2019-10-08 上海联影医疗科技有限公司 显存分配方法及系统
US9575837B2 (en) 2015-02-03 2017-02-21 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
US9465734B1 (en) 2015-04-08 2016-10-11 Apple Inc. Coalition based memory management
US10158528B2 (en) 2015-10-13 2018-12-18 Uber Technologies, Inc. Application service configuration system
US11533226B2 (en) 2015-10-13 2022-12-20 Uber Technologies, Inc. Application service configuration system
KR20170045452A (ko) * 2015-10-16 2017-04-27 삼성디스플레이 주식회사 백라이트 유닛, 그것의 구동 방법, 및 그것을 포함하는 표시 장치
US11086832B2 (en) * 2015-10-16 2021-08-10 Sap Se Out of memory error handling for data definition language operations
US10942844B2 (en) 2016-06-10 2021-03-09 Apple Inc. Reserved memory in memory management system
WO2020084377A1 (en) * 2018-10-22 2020-04-30 Abb Schweiz Ag Method and control system for monitoring plurlity of equipment in a snmp based network
US10977105B2 (en) 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
US11442832B2 (en) 2020-11-24 2022-09-13 Hewlett Packard Enterprise Development Lp Managing synchronized reboot of a system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02213252A (ja) * 1989-02-13 1990-08-24 Nec Corp 電子メールシステム
JPH0368044A (ja) * 1989-08-07 1991-03-25 Nec Corp 動的メモリ制御方式
JPH0614055A (ja) * 1992-06-26 1994-01-21 Nec Corp 電子メール転送制御方式
JPH0675911A (ja) * 1992-08-25 1994-03-18 Fujitsu Ltd オンライン処理システムおよび過負荷抑制処理方法
JPH06231036A (ja) * 1993-01-29 1994-08-19 Nec Corp メモリ不足時におけるリカバリ援助方法
JPH06245042A (ja) * 1993-02-12 1994-09-02 Fuji Xerox Co Ltd メモリ管理装置
JPH1031592A (ja) * 1996-07-16 1998-02-03 Nec Corp メモリ管理方法及びメモリ管理システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4478251A (en) * 1982-08-02 1984-10-23 Daniel Industries, Inc. Orifice fitting seal assembly
US5065250A (en) * 1986-12-30 1991-11-12 Victor Company Of Japan, Ltd. Image pick-up apparatus
JPH04137046A (ja) 1990-09-28 1992-05-12 Toshiba Corp 電子計算機のオペレーティングシステム
US5069252A (en) * 1990-12-18 1991-12-03 Daniel Industries, Inc. Orifice system intermediate interface
US5318073A (en) * 1992-06-09 1994-06-07 Daniel Industries, Inc. Orifice plate seal
US5784697A (en) 1996-03-27 1998-07-21 International Business Machines Corporation Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture
US6938254B1 (en) * 1997-05-06 2005-08-30 Microsoft Corporation Controlling memory usage in systems having limited physical memory
US6220510B1 (en) * 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US6539024B1 (en) * 1999-03-26 2003-03-25 Alcatel Canada Inc. Method and apparatus for data buffer management in a communications switch
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
US6990662B2 (en) * 2001-10-31 2006-01-24 Hewlett-Packard Development Company, L.P. Method and system for offloading execution and resources for resource-constrained networked devices
US7293105B2 (en) * 2001-12-21 2007-11-06 Cisco Technology, Inc. Methods and apparatus for implementing a high availability fibre channel switch
US6985087B2 (en) * 2002-03-15 2006-01-10 Qualcomm Inc. Method and apparatus for wireless remote telemetry using ad-hoc networks
US20040088498A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for preferred memory affinity
US20060231149A1 (en) * 2005-04-19 2006-10-19 Daniel Industries, Inc. Orifice flow meters

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02213252A (ja) * 1989-02-13 1990-08-24 Nec Corp 電子メールシステム
JPH0368044A (ja) * 1989-08-07 1991-03-25 Nec Corp 動的メモリ制御方式
JPH0614055A (ja) * 1992-06-26 1994-01-21 Nec Corp 電子メール転送制御方式
JPH0675911A (ja) * 1992-08-25 1994-03-18 Fujitsu Ltd オンライン処理システムおよび過負荷抑制処理方法
JPH06231036A (ja) * 1993-01-29 1994-08-19 Nec Corp メモリ不足時におけるリカバリ援助方法
JPH06245042A (ja) * 1993-02-12 1994-09-02 Fuji Xerox Co Ltd メモリ管理装置
JPH1031592A (ja) * 1996-07-16 1998-02-03 Nec Corp メモリ管理方法及びメモリ管理システム

Also Published As

Publication number Publication date
BRPI0402518B1 (pt) 2016-07-05
HK1072303A1 (en) 2005-08-19
CA2472473A1 (en) 2004-12-24
BRPI0402518A (pt) 2005-05-31
US8046556B2 (en) 2011-10-25
US20040268078A1 (en) 2004-12-30
TW200517834A (en) 2005-06-01
EP1492006B1 (en) 2007-10-10
CA2472473C (en) 2008-11-18
ATE375553T1 (de) 2007-10-15
SG120167A1 (en) 2006-03-28
JP2005018779A (ja) 2005-01-20
CN100362466C (zh) 2008-01-16
DE60316783T2 (de) 2008-07-24
US7284099B2 (en) 2007-10-16
TWI317477B (en) 2009-11-21
KR20050001401A (ko) 2005-01-06
US20080005523A1 (en) 2008-01-03
AU2004202730A1 (en) 2005-01-20
CN1577258A (zh) 2005-02-09
DE60316783D1 (de) 2007-11-22
KR100941041B1 (ko) 2010-02-10
EP1492006A1 (en) 2004-12-29
AU2004202730B2 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
JP4642389B2 (ja) メモリ不足およびグレースフルシャットダウンの検出
US7290086B2 (en) Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system
CN109842651B (zh) 一种业务不间断的负载均衡方法和系统
US20010037473A1 (en) Backup apparatus and a backup method
CN107729185B (zh) 一种故障处理方法及装置
CN106603692B (zh) 一种分布式存储系统中的数据存储方法及装置
US20090089791A1 (en) Resource allocation unit queue
US6654880B1 (en) Method and apparatus for reducing system down time by restarting system using a primary memory before dumping contents of a standby memory to external storage
CN112948128A (zh) Target端的选择方法、系统及计算机可读介质
CN114553900B (zh) 一种分布式块存储管理系统、方法及电子设备
EP3593516B1 (en) Method and control node for managing cloud resources in a communications network
JP4517923B2 (ja) オブジェクト救済システム及び方法
CN104407947A (zh) 主备nas切换方法及装置
JP5408620B2 (ja) データ分散管理システム及びデータ分散管理方法
US8819481B2 (en) Managing storage providers in a clustered appliance environment
CN113946376B (zh) 负载调整方法、装置、电子设备及存储介质
JP2967569B2 (ja) 無停電電源装置
CN114356214B (zh) 一种针对kubernetes系统提供本地存储卷的方法及系统
JP4002483B2 (ja) コンピュータ及びそのデータ転送方法、並びにコンピュータシステムのデータ転送方式とその方法
CN118646641A (zh) 故障处理方法、装置及智能网卡
CN117692305A (zh) 节点故障切换方法、装置、数据库系统、设备和介质
CN114513547A (zh) 模块的节点调度方法、装置、电子设备及存储介质
JP2001290670A (ja) クラスタシステム
CN102750166A (zh) 加载操作系统映像的方法及基本输入输出系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101025

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101025

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101025

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: 20101110

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: 20101201

R150 Certificate of patent or registration of utility model

Ref document number: 4642389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term