JP2007157125A - サーバ内のブロック化された処理を安全に中断するための方法、システム、プログラム - Google Patents

サーバ内のブロック化された処理を安全に中断するための方法、システム、プログラム Download PDF

Info

Publication number
JP2007157125A
JP2007157125A JP2006301784A JP2006301784A JP2007157125A JP 2007157125 A JP2007157125 A JP 2007157125A JP 2006301784 A JP2006301784 A JP 2006301784A JP 2006301784 A JP2006301784 A JP 2006301784A JP 2007157125 A JP2007157125 A JP 2007157125A
Authority
JP
Japan
Prior art keywords
blocking event
potential blocking
registry
event
potential
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.)
Pending
Application number
JP2006301784A
Other languages
English (en)
Inventor
Follis David
デービッド・フォリス
Pukov Gary
ゲイリー・プッコフ
David Booz
デービッド・ブーズ
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 JP2007157125A publication Critical patent/JP2007157125A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】 サーバ内のブロック化された作業を安全に中断する方法を作成すること
【解決手段】 レジストリを作成するステップと、レジストリに潜在的ブロック化イベントを登録するステップと、潜在的ブロック化イベントを実行するステップと、潜在的ブロック化イベントが応答していないことを判断するステップと、そのブロック化イベントに対応するレジストリ・エントリにアクセスするステップと、そのブロック化イベントに対応するレジストリ・エントリに示される是正措置をとるステップとを含む、サーバ内のブロック化された作業を安全に中断する方法である。
【選択図】 図1

Description

本発明は、コンピュータ・システムにおける処理に関する。より具体的には、本発明は、サーバ内のブロック化された処理を安全に中断する方法に関する。
コンピュータ・システムは、典型的には、ハードウェア(例えば半導体、回路基板等)とソフトウェア(例えばコンピュータ・プログラム)の組合せからなる。半導体加工およびコンピュータ・アーキテクチャの進歩が、コンピュータ・ハードウェアの性能をいっそう高いものとし、ハードウェアのより高い性能を活用するためにより高性能のコンピュータ・ソフトウェアが発達している。その結果、今日では、ほんの数年前と比べても遥かに強力なコンピュータ・システムを活用できるようになった。
コンピュータ・システムは、典型的には、コンピュータの基本的な機能を制御するオペレーティング・システム・ソフトウェア、オペレーティング・システムの制御下で動作して所望のタスクを実行するソフトウェア・アプリーション・プログラムを含む。例えば、典型的なIBMのパーソナルコンピュータは、OS/2(R)オペレーティング・システムを動作させることができ、ユーザは、OS/2(R)オペレーティング・システムの制御下で、ワード・プロセッサ等のアプリケーション・プログラムを実行することができる。コンピュータの能力が増大しているので、高性能なコンピュータ・システムのために設計されたアプリケーション・プログラムは非常に強力になっている。
異なるプロセスに共有システム・リソースを割り振ることによって、リソースの利用における競合が起こり得る。多数の異なるプロセスを同時に処理できるので、複数のプロセスが、所与の共有システム・リソースに同時にアクセスする必要が起こる可能性が十分にある。しかし、所与のプロセスが使用するリソースを取得した後に、そのプロセスが何らかの理由で突然に終了した場合、取得されたリソースは他のプロセスが利用できなくなる可能性があり、処理環境の効率を悪くする。
例えば、スレッド上で動作している所与のプロセスは、ミューテックス・オブジェクト(mutex object)等の共有システム・リソースを使用している可能性がある。ここで、ミューテックス・オブジェクトとは、常に1つのスレッドだけが1つのデータを制御できるように、その1つのデータをロックするためのオブジェクトである。多数のスレッドがその1つのデータを取得するためにミューテックス・オブジェクトにアクセスしようとする可能性があるので、ミューテックス・オブジェクトは共有システム・リソースであるといえる。かかるスレッドがその状態を静止する機会もなく突然終了してしまった場合、その共有ミューテックス・オブジェクトが「ロックアウト(locked−out)」され、他のプロセスに関連する他のスレッドは、そのミューテックス・オブジェクトおよび付随するデータにアクセスして利用することができなくなる可能性がある。この事態に陥ってしまうと、共有リソースを「リリース(released)」して他のプロセスに利用できるようにするために、プロセスを完全にシャットダウンすることが必要となる場合がある。また、別のシナリオでは、プロセスは、共有システム・リソースを用いながら長時間「ループ(looping)」してしまい、そのために他のシステム・プロセスが共有システム・リソースにアクセスすることを妨げてしまう可能性がある。場合によっては、共有リソースを再び処理に利用できるようにするために、システム全体の再起動が必要になることさえあり得る。
このようなブロック化された処理は、サーバが他のリクエストを処理するのを妨げることがあるので、すべてのディスパッチ・スレッドがブロック化される場合、サーバはおそらく最終的には完全に停止してしまう可能性がある。かかる課題に対して用いられる現行のソリューションは、リクエストが完了するのを指定された時間の間だけ待機しておき、その時間内にリクエストが完了しない場合には、そのサーバ・プロセスを終了させるというものである。このソリューションには、アプリケーション・サーバ内でディスパッチされているいかなる他のリクエストをも終了させてしまうという副次的な悪影響がある。
従って、共有システム・リソースを効果的に割り振り、かつ制御するための共有システム・リソースの割振/管理の機構の必要性が理解される。
例示的な実施形態は、サーバ内のブロック化された処理を安全に中断するための方法を開示する。方法は、レジストリを作成するステップと、レジストリに潜在的ブロック化イベント(potential blocking event)を登録するステップと、潜在的ブロック化イベントを実行するステップと、潜在的ブロック化イベントが応答していないことを判定するステップと、そのブロック化イベントに対応するレジストリ・エントリにアクセスするステップと、そのブロック化イベントに対応するレジストリ・エントリに示される是正処理(corrective action)を実行するステップとを含む。
また、例示的な実施形態は、サーバ内のブロック化された処理を安全に中断するためのシステムを開示する。システムは、レジストリを作成するための手段と、レジストリに潜在的ブロック化イベントを登録するための手段と、潜在的ブロック化イベントを実行するための手段と、潜在的ブロック化イベントが応答していないことを判定するための手段と、潜在的ブロック化イベントに対応するレジストリ・エントリにアクセスするための手段と、その潜在的ブロック化イベントに対応するレジストリ・エントリに示される是正処理を実行するための手段を備える。
さらに、例示的な実施形態は、 サーバ内のブロック化された処理を安全に中断するためのプログラムを開示する。プログラムは、レジストリを作成するステップと、レジストリに潜在的ブロック化イベントを登録するステップと、潜在的ブロック化イベントを実行するステップと、潜在的ブロック化イベントが応答していないことを判定するステップと、潜在的ブロック化イベントに対応するレジストリ・エントリにアクセスするステップと、潜在的ブロック化イベントに対応するレジストリ・エントリに示される是正処理を実行するステップを情報処理装置に実行させる。
例示的な実施形態による他のシステム、方法、および/またはコンピュータ・プログラムが、以下の詳細な説明および図面を読むことにより当業者にいっそう明らかとなるであろう。すべてのこうした付加的なシステム、方法、および/またはコンピュータ・プログラムが本説明に含まれ、本発明の範囲内にあり、特許請求の範囲に含まれる請求項によって保護されることが意図されている。
複数の図にわたる同様の要素に同様の符号が付された例示的な図面を参照して、本発明の例示的な実施形態を詳細に説明する。
サーバ内のブロック化された処理を安全に中断する方法が開示される。方法は、一般的に、レジストリを作成するステップと、レジストリに潜在的ブロック化イベントを登録するステップと、潜在的ブロック化イベントを実行するステップと、潜在的ブロック化イベントが応答していないことを判定するステップと、そのブロック化イベントに対応するレジストリ・エントリにアクセスするステップと、そのブロック化イベントに対応するレジストリ・エントリに示される是正処理を実行するステップとを含む。
図1を参照すると、例示的な実施形態による、サーバ内のブロック化された処理(blocked work)を安全に中断するメソッド(method)のフローチャート10が、一般的な形で描かれている。メソッドの第1のステップは、処理ブロック12に示されるように、潜在的ブロック化イベントのレジストリを作成することである。なお、レジストリについては、本明細書において図2を参照してさらに詳しく論じられる。次に、メソッドは、プロセス・ブロック14に示されるように、レジストリを用いて潜在的ブロック化イベントを登録する。さらに、メソッドは、処理ブロック16に示されているように、潜在的ブロック化イベントまたはコードの区分を実行する。潜在的ブロック化イベントが成功裡に実行されるどうか、あるいは、無応答(応答なし)となるかどうかによって、メソッドは、それぞれ処理ブロック18または20へ進む。メソッドは、潜在的ブロック化イベントが無応答となっていることを判定するために、潜在的ブロック化イベントによって実行されるタイマーまたは監視機能の使用を含むが、それに限定はされず、他の技術を用いることもできることに留意されたい。
次に、ブロック化イベントを成功裡に実行した後、処理ブロック18に示されるように、その潜在的ブロック化イベントに対応する潜在的ブロック化イベントのエントリをレジストリから除去する。しかし、メソッドは、もし潜在的ブロック化イベントが無応答となる場合には、処理ブロック20に示されるように、その潜在的ブロック化イベントに対応するレジストリ・エントリにアクセスする。その潜在的ブロック化イベントの非ブロック化をサポートするのに必要な何らかの情報を、レジストリ内に配置されたオブジェクト内のインスタンス・データ中に配置することができる。例示的な実施形態においては、レジストリは、各々の潜在的ブロック化イベントに対応して実行されるインターフェースを含むことができる。さらに、レジストリは、登録済みオブジェクト(すなわち、潜在的ブロック化イベント)と、ブロック化イベントがそれから登録されたプロセス(すなわち、アプリケーションのリクエストがディスパッチされているスレッド)との間の相互関係を維持することもできる。次に、メソッドは、潜在的ブロック化イベントが応答していない可能性があると判定される場合は、(いかなる理由であれ)その中断されるべき潜在的ブロック化イベントに対応するレジストリ・エントリに引用されているメソッドを呼び出す。
図1を続けて参照すると、潜在的ブロック化イベントに対応するレジストリ・エントリにアクセスした後に、処理ブロック22に示されるように、レジストリは指定された潜在的ブロック化イベントに関連する登録済みオブジェクト(registered objects)をすべて探し出す。登録済みオブジェクトが存在する場合、メソッドは、処理ブロック24に示されるように、登録済みオブジェクト上にインターフェース定義のメソッドを呼び出して、無応答の潜在的ブロック化イベントを中断する。インターフェース定義のメソッドは、無応答の潜在的ブロック化イベントを活動化するか、または無応答のブロック化イベントを終了させるために必要な制御構造体はどれでも探し出す役割を担う。例示的な実施形態においては、潜在的ブロック化イベントは、潜在的ブロック化イベントが中断されたことを認識し、障害を示すのに適切ないかなる措置でもとることができるように、中断される。無応答の潜在的ブロック化イベントを中断してインターフェース定義のメソッドを呼び出した後に、処理ブロック18に示されるように、サーバ内のブロック化された処理を安全に中断するための方法は、その潜在的ブロック化イベントに対応する潜在的ブロック化イベント・エントリをレジストリから除去する。
ここで図2を参照すると、潜在的ブロック化イベントのレジストリのブロック図が、一般的に30のように描かれている。潜在的ブロック化のレジストリ30は、複数の潜在的ブロック化イベントのエントリ32を含む。各々の潜在的ブロック化イベントのエントリ32は、潜在的ブロック化イベントの識別子34、潜在的ブロック化イベントのエントリを登録したプロセスへの参照36、および、無応答の潜在的ブロック化イベントを中断するためのインターフェース定義のメソッドへの参照38を含むことができる。潜在的ブロック化イベントの識別子34は、メモリ・アドレス、名前、潜在的ブロック化イベントを識別するために用いられる他の独自の1つの識別情報を含むことができる。同様に、潜在的ブロック化イベントのエントリ32を登録したプロセスへの参照は、メモリ・アドレス、名前、潜在的ブロック化イベントのエントリ32を登録したプロセスを識別するために用いられる他の独自の1つの識別情報を含むことができる。さらに、無応答の潜在的ブロック化イベントを中断するためのインターフェース定義のメソッドへの参照は、メモリ・アドレス、名前、無応答の潜在的ブロック化イベントを中断するためのインターフェース定義のメソッドを参照するために用いることができる他の参照を含むことができる。
特定の例示的な実施形態においては、潜在的ブロック化イベントはリソースを予約するアプリケーションとすることができる。例えば、アプリケーションは、ソケットを開き、遠隔サーバにメッセージを送信し、その後、read()関数を利用して遠隔サーバからの応答を待つことができる、ネットワーク通信アプリケーションとすることができる。この実施例においては、ソケットを開く前に、アプリケーションは、レジストリを用いてインターフェースの実装を登録することになる。システムがアプリケーションを中断させる必要があると判定した場合、中断メソッドが登録済みオブジェクト上で駆動される。中断メソッドが登録済みオブジェクト上で駆動されるときは、中断メソッドはフラグを立ててソケットを閉じることができる。ソケットが閉じられたために、アプリケーションは障害のread()関数から活動化され、フラグが立てられたことを確認し、休止して応答を待つように命じられたことを報告することになる。この場合、もしアプリケーションが中断方法によって中断されたことを示すフラグが立てられていなければ、アプリケーションは通信障害を報告することになる。代替の例示的な実施形態においては、バックエンド・データベースへのコネクタまたは他の基盤コードが、アプリケーションではなく中断処理を登録するステップおよび準備するステップを予備的に実施することができる。
上述の通り、本発明の実施形態は、コンピュータ実装プロセスの形態、およびそれらのプロセスを実行する装置の形態で具体化することができる。また、本発明の実施形態は、フロッピー・ディスク、CD−ROM、ハード・ドライブ、または任意の他のコンピュータ可読の記憶媒体等の有形の媒体中に具体化された命令を含む、コンピュータ・プログラム・コードの形態で具体化することができる。また、本発明は、例えば、記憶媒体に格納され、コンピュータにロードされおよび/またはコンピュータによって実行されるにしても、あるいは、電気的配線、ケーブル線、光ファイバなどの伝送媒体を通してまたは電磁放射を介して伝送されるにしても、コンピュータ・プログラム・コードという形態で具体化することができる。そして、コンピュータ・プログラム・コードがコンピュータにロードされ実行されるとき、コンピュータは本発明を実施する装置となる。汎用マイクロプロセッサ上で実行されるときには、コンピュータ・プログラム・コードのセグメントは、特定の論理回路を作成するようにマイクロプロセッサを構成する。
図3は、本発明の実施の形態によるシステムを実現するのに好適な情報処理装置のハードウェア構成の一例をさらに具体的に示した図である。情報処理装置は、バス102に接続されたCPU(中央処理装置)101とメインメモリ104を含んでいる。ハードディスク装置113、130、およびCD−ROM装置126、129、フレキシブル・ディスク装置120、MO装置128、DVD装置131のようなリムーバブル・ストレージ(記録メディアを交換可能な外部記憶システム)がフロッピーディスクコントローラ119、IDEコントローラ125、SCSIコントローラ127などを経由してバス2へ接続されている。
フレキシブル・ディスク、MO、CD−ROM、DVD−ROMのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置113、130、ROM114には、オペレーティング・システムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。メインメモリ104にロードされることによってコンピュータ・プログラムは実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
情報処理装置は、キーボード/マウス・コントローラ105を経由して、キーボード106やマウス107のような入力デバイスからの入力を受ける。情報処理装置は、視覚データをユーザに提示するための表示装置111にDAC/LCDC110を経由して接続される。
情報処理装置は、ネットワーク・アダプタ118(イーサネット(R)・カードやトークンリング・カード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。図示はされていないが、パラレルポートを介してプリンタと接続することや、シリアルポートを介してモデムを接続することも可能である。
以上の説明により、本発明の実施の形態によるシステムを実現するのに好適な情報処理装置は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
本発明の実施の形態において使用される情報処理装置の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得ることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。
本発明の実施形態によるシステムは、マイクロソフト・コーポレーションが提供するWindows(R)オペレーティング・システム、アップル・コンピュータ・インコーポレイテッド提供するMacOS(R)、X Window Systemを備えるUNIX(R)系システム(例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションが提供するAIX(R)など)のような、GUI(グラフィカル・ユーザー・インターフェース)マルチウインドウ環境をサポートするオペレーティング・システムを採用することができる。
以上から、本発明の実施の形態において使用されるシステムは、特定のオペレーティング・システム環境に限定されるものではないことを理解することができる。すなわち、オペレーティング・システムは、アプリケーション・ソフトウェアなどがデータ処理システムの資源を利用できるようにする資源管理機能を提供することができるものであれば、いかなるものをも採用することができる。なお、資源管理機能には、ハードウェア資源管理機能、ファイルハンドル機能、スプール機能、ジョブ管理機能、記憶保護機能、仮想記憶管理機能などが含まれ得るが、これらの機能については、当業者によく知られたものであるので詳細な説明は省略する。
また、本発明は、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するデータ処理システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該データ処理システムにロードされ実行されることにより、該プログラムは、データ処理システムを制御し、本発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または1.他の言語・コード・表記への変換、2.他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。
もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハードディスク装置、ROM、MRAM、RAM等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のデータ処理システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。また、様々な形態で、本発明を実施するプログラム製品を提供することも勿論可能であることにも留意されたい。
例示的な実施形態を参照して本開示を説明してきたが、本発明の範囲から逸脱することなく種々の変更を行うことができ、また、本発明の要素を等価なものに置換することができるということを、当業者は容易に理解することができるだろう。さらに、本発明の本質的な範囲から逸脱することなく、特定の状態または材料を本発明の教示に適応させるように多くの修正を行うことができる。従って、本発明は、本発明の実施を意図された最良の形態として開示された特定の実施形態に限定されない。本発明は、特許請求の範囲に含まれるすべての実施形態を含むことが意図されている。
本発明の例示的な実施形態による、サーバ内のブロック化された処理を安全に中断する方法のフローチャートを示す。 本発明の例示的な実施形態によるレジストリのブロック図を示す。 本発明の例示的な実施形態によるシステムを実現するのに好適な情報処理装置のハードウェア構成の一例を具体的に示した図である。
符号の説明
10:サーバ内のブロック化された処理を安全に中断するためのメソッドのフローチャート
12、14、16、18、20、22、24:処理ブロック
30:潜在的ブロック化イベントのレジストリ
32:潜在的ブロック化イベントのエントリ
34:潜在的ブロック化イベントの識別子
36:潜在的ブロック化イベントのエントリを登録したプロセスへの参照
38:無応答の潜在的ブロック化イベントを中断するためのインターフェース定義のメソッドへの参照

Claims (15)

  1. サーバ内のブロック化された処理を安全に中断する方法であって、
    レジストリを作成するステップと、
    前記レジストリに潜在的ブロック化イベントを登録するステップと、
    前記潜在的ブロック化イベントを実行するステップと、
    前記潜在的ブロック化イベントが応答していないことを判定するステップと、
    前記潜在的ブロック化イベントに対応するレジストリ・エントリにアクセスするステップと、
    前記潜在的ブロック化イベントに対応する前記レジストリ・エントリによって示される是正処理を実行するステップと
    を含む方法。
  2. 前記潜在的ブロック化イベントを前記レジストリから除去するステップをさらに含む、請求項1に記載の方法。
  3. 前記潜在的ブロック化イベントが応答していないことを判定するためにタイマーが用いられる、請求項1に記載の方法。
  4. 前記是正処理が、前記潜在的ブロック化イベントによって予約されたシステム・リソースをリリースするステップを含む、請求項1に記載の方法。
  5. 前記レジストリ・エントリが、ブロック化イベントの識別子と、前記潜在的ブロック化イベントのエントリを登録したプロセスへの参照とを含む、請求項1に記載の方法。
  6. サーバ内のブロック化された処理を安全に中断するためのシステムであって、
    レジストリを作成するための手段と、
    前記レジストリに潜在的ブロック化イベントを登録するための手段と、
    前記潜在的ブロック化イベントを実行するための手段と、
    前記潜在的ブロック化イベントが応答していないことを判定するための手段と、
    前記潜在的ブロック化イベントに対応するレジストリ・エントリにアクセスするための手段と、
    前記潜在的ブロック化イベントに対応するレジストリ・エントリによって示される是正処理を実行するための手段と、
    を含むシステム。
  7. 前記潜在的ブロック化イベントを前記レジストリから除去する手段をさらに含む、請求項6に記載のシステム。
  8. 前記潜在的ブロック化イベントが応答していないことを判定するためにタイマーが用いられる、請求項6に記載のシステム。
  9. 前記是正処理が、前記潜在的ブロック化イベントによって予約されたシステム・リソースをリリースすることを含む、請求項6に記載のシステム。
  10. 前記レジストリ・エントリが、ブロック化イベントの識別子と、潜在的ブロック化イベントのエントリを登録したプロセスへの参照とを含む、請求項6に記載のシステム。
  11. サーバ内のブロック化された処理を安全に中断するためのプログラムであって、
    レジストリを作成するステップと、
    前記レジストリに潜在的ブロック化イベントを登録するステップと、
    前記潜在的ブロック化イベントを実行するステップと、
    前記潜在的ブロック化イベントが応答していないことを判定するステップと、
    と、
    前記潜在的ブロック化イベントに対応するレジストリ・エントリにアクセスするステップと、
    前記潜在的ブロック化イベントに対応する前記レジストリ・エントリに示される是正措置をとるステップと
    を情報処理装置に実行させる、プログラム。
  12. 前記潜在的ブロック化イベントを前記レジストリから除去するステップをさらに情報処理装置に実行させる、請求項11に記載のプログラム。
  13. 前記潜在的ブロック化イベントが応答していないことを判定するためにタイマーが用いられる、請求項11に記載のプログラム。
  14. 前記是正措置をとる命令は、前記潜在的ブロック化イベントによって予約されているシステム・リソースをリリースするステップをさらに情報処理装置に実行させる、請求項11に記載のプログラム。
  15. 前記レジストリ・エントリは、ブロック化イベントの識別子と、前記潜在的ブロック化イベントのエントリを登録した前記プロセスへの参照を含む、請求項11に記載のプログラム。
JP2006301784A 2005-12-08 2006-11-07 サーバ内のブロック化された処理を安全に中断するための方法、システム、プログラム Pending JP2007157125A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/296,986 US7788529B2 (en) 2005-12-08 2005-12-08 Method for safely interrupting blocked work in a server

Publications (1)

Publication Number Publication Date
JP2007157125A true JP2007157125A (ja) 2007-06-21

Family

ID=38130608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006301784A Pending JP2007157125A (ja) 2005-12-08 2006-11-07 サーバ内のブロック化された処理を安全に中断するための方法、システム、プログラム

Country Status (4)

Country Link
US (1) US7788529B2 (ja)
JP (1) JP2007157125A (ja)
CN (1) CN100458709C (ja)
TW (1) TWI413000B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544840A (zh) * 2016-06-28 2018-01-05 北京优朋普乐科技有限公司 一种进程管理方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04367951A (ja) * 1991-06-17 1992-12-21 Fujitsu Ltd メモリ滞留防止方式
JPH06295248A (ja) * 1993-04-08 1994-10-21 Mitsubishi Electric Corp タスク資源解放方式
JPH06332876A (ja) * 1993-05-18 1994-12-02 Mitsubishi Electric Corp 系間排他制御方式
JPH0926888A (ja) 1995-07-13 1997-01-28 Hitachi Ltd 排他制御装置
JP2003330735A (ja) * 2002-05-08 2003-11-21 Ricoh Co Ltd 画像形成装置および共有メモリ調停方法
JP2004126634A (ja) 2002-09-30 2004-04-22 Nec Software Chubu Ltd ファイル保護システム
JP2004246439A (ja) * 2003-02-12 2004-09-02 Nec Corp クラスタシステムにおけるストール防止方式,方法およびプログラム
JP2005190162A (ja) 2003-12-25 2005-07-14 Nec Corp 複製管理システム、複製管理方法および複製管理プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5305455A (en) 1990-12-21 1994-04-19 International Business Machines Corp. Per thread exception management for multitasking multithreaded operating system
US6738974B1 (en) 1998-09-10 2004-05-18 International Business Machines Corporation Apparatus and method for system resource object deallocation in a multi-threaded environment
US6301676B1 (en) * 1999-01-22 2001-10-09 Sun Microsystems, Inc. Robust and recoverable interprocess locks
US6591418B2 (en) * 1999-03-26 2003-07-08 Dell U.S.A., L.P. Factory software management system
CA2347404C (en) 2001-05-10 2008-11-18 Corel Corporation System and method for recovering applications
CN1277188C (zh) * 2002-05-23 2006-09-27 联想(北京)有限公司 手持信息设备按钮激活的方法
US7360223B2 (en) 2003-09-24 2008-04-15 Hewlett-Packard Development Company, L.P. Arrangements and methods for invoking an upcall in a computer system
US7137099B2 (en) * 2003-10-24 2006-11-14 Microsoft Corporation System and method for extending application preferences classes
CN1635476A (zh) * 2003-12-25 2005-07-06 金宝电子工业股份有限公司 载挂中断服务方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04367951A (ja) * 1991-06-17 1992-12-21 Fujitsu Ltd メモリ滞留防止方式
JPH06295248A (ja) * 1993-04-08 1994-10-21 Mitsubishi Electric Corp タスク資源解放方式
JPH06332876A (ja) * 1993-05-18 1994-12-02 Mitsubishi Electric Corp 系間排他制御方式
JPH0926888A (ja) 1995-07-13 1997-01-28 Hitachi Ltd 排他制御装置
JP2003330735A (ja) * 2002-05-08 2003-11-21 Ricoh Co Ltd 画像形成装置および共有メモリ調停方法
JP2004126634A (ja) 2002-09-30 2004-04-22 Nec Software Chubu Ltd ファイル保護システム
JP2004246439A (ja) * 2003-02-12 2004-09-02 Nec Corp クラスタシステムにおけるストール防止方式,方法およびプログラム
JP2005190162A (ja) 2003-12-25 2005-07-14 Nec Corp 複製管理システム、複製管理方法および複製管理プログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSND199801804016; '「特集2 Windows Terminal Server導入のポイント」' 日経Windows NT 1998年10月号(第19号), 19981001, 第152〜160頁, 日経BP社 *
JPN6013003817; "REGISTRYの意味-英和辞典Weblio辞書" , 20130124, [online] *
JPN6013003818; Microsoft Corporation著: 「Microsoft Windows 95 リソースキット Vol.1」 初版, 19951115, 第471〜473頁, 株式会社アスキー *
JPN6013003819; Walter Oney著,株式会社ロングテール(外1名)訳: 「Microsoft WDMプログラミング」 初版, 20010921, 第250〜251頁, 株式会社アスキー *
JPN6013034361; '「特集2 Windows Terminal Server導入のポイント」' 日経Windows NT 1998年10月号(第19号), 19981001, 第152〜160頁, 日経BP社

Also Published As

Publication number Publication date
CN1979430A (zh) 2007-06-13
CN100458709C (zh) 2009-02-04
US7788529B2 (en) 2010-08-31
TW200809630A (en) 2008-02-16
US20070240015A1 (en) 2007-10-11
TWI413000B (zh) 2013-10-21

Similar Documents

Publication Publication Date Title
TWI267782B (en) Deallocation of computer data in a multithreaded computer
CN108121630B (zh) 电子装置、重新启动方法及记录媒介
KR100537813B1 (ko) 에뮬레이션 코프로세서
US9100293B2 (en) High availability system allowing conditionally reserved computing resource use and reclamation upon a failover
US9009716B2 (en) Creating a thread of execution in a computer processor
CN107077373B (zh) 在计算机处理器核心上执行多个线程的方法和系统
US20150254113A1 (en) Lock Spin Wait Operation for Multi-Threaded Applications in a Multi-Core Computing Environment
KR20200014378A (ko) 직무 관리
US10459771B2 (en) Lightweight thread synchronization using shared memory state
CN112306650A (zh) 虚拟机热迁移方法和通信设备
JP2008541306A (ja) ユーザ・モード・ドライバへ割り込みを配送する方法
US20100262972A1 (en) Deadlock avoidance
US10379931B2 (en) Computer system
JP2004240970A (ja) 無効な論理区画の資源を動的に割り振る装置および方法
JP2004326774A (ja) 論理的に区画化されたコンピュータにおける区画管理操作に関する非同期通知の選択的生成
US20070101327A1 (en) Method and system for providing a potential deadlock source code debugger warning
JP2012208752A (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
US11243800B2 (en) Efficient virtual machine memory monitoring with hyper-threading
JP2007157125A (ja) サーバ内のブロック化された処理を安全に中断するための方法、システム、プログラム
US10152341B2 (en) Hyper-threading based host-guest communication
EP3974979A1 (en) Platform and service disruption avoidance using deployment metadata
JP2005234744A (ja) マルチプロセッサシステム及び障害処理方法
US20080307190A1 (en) System and Method for Improved Virtual Real Memory
JP2008077388A (ja) マルチプロセッサ制御システム、方法、およびプログラム
JP2022107229A (ja) 情報処理装置、制御方法及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130520

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130618

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130712

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20140804