JPH1063523A - マルチスレッド環境においてサーバの活動化を制御する方法および装置 - Google Patents
マルチスレッド環境においてサーバの活動化を制御する方法および装置Info
- Publication number
- JPH1063523A JPH1063523A JP9145229A JP14522997A JPH1063523A JP H1063523 A JPH1063523 A JP H1063523A JP 9145229 A JP9145229 A JP 9145229A JP 14522997 A JP14522997 A JP 14522997A JP H1063523 A JPH1063523 A JP H1063523A
- Authority
- JP
- Japan
- Prior art keywords
- server
- state
- starting
- computer
- shutdown
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
(57)【要約】
【課題】 古いサーバのシャットダウンと新しいサーバ
の始動との間に競合状態が存在し、さらに、デーモン・
サーバなど、高速に再始動するサーバはスラッシング動
作を行う傾向がある。それを解決したサーバの活動化を
制御する方法を提案する。 【解決手段】 ORBデーモン内で実行されるサーバ有
限状態マシンに追加「シャットダウン中」状態を設ける
ことによってこの望ましくない動作を回避する。この追
加状態によって、古いサーバは、新しいサーバが始動す
る前に必要なシャットダウン手続きを完了することがで
きる。また、速度が低すぎてシャットダウンまたは始動
できないサーバを処理するサーバも設けられる。
の始動との間に競合状態が存在し、さらに、デーモン・
サーバなど、高速に再始動するサーバはスラッシング動
作を行う傾向がある。それを解決したサーバの活動化を
制御する方法を提案する。 【解決手段】 ORBデーモン内で実行されるサーバ有
限状態マシンに追加「シャットダウン中」状態を設ける
ことによってこの望ましくない動作を回避する。この追
加状態によって、古いサーバは、新しいサーバが始動す
る前に必要なシャットダウン手続きを完了することがで
きる。また、速度が低すぎてシャットダウンまたは始動
できないサーバを処理するサーバも設けられる。
Description
【0001】
【発明の属する技術分野】本発明は、マルチスレッド・
オブジェクト指向コンピュータ環境の分野に関する。
オブジェクト指向コンピュータ環境の分野に関する。
【0002】
【従来の技術】従来技術のマルチスレッド・オブジェク
ト指向コンピュータ環境では、オブジェクト・サーバが
シャットダウンし、新しいオブジェクト・サーバがクラ
イアントによる呼出しに対する応答として始動されてい
るときに問題が生じる。新しいサーバを始動する責任を
負うデーモン・プロセスは、古いサーバが瞬間的にシャ
ットダウンすると仮定する。実際には、新しいオブジェ
クト・サーバが始動される際には、データベース・ロッ
クの解除などある種のクリーンナップ・プロセスが依然
として実行中である。このようなクリーンナップ・プロ
セスのために、新しいオブジェクト・サーバが始動を中
断することがある。したがって、古いオブジェクト・サ
ーバのシャットダウンと新しいオブジェクト・サーバの
始動との間には望ましくない競合状態が存在する。
ト指向コンピュータ環境では、オブジェクト・サーバが
シャットダウンし、新しいオブジェクト・サーバがクラ
イアントによる呼出しに対する応答として始動されてい
るときに問題が生じる。新しいサーバを始動する責任を
負うデーモン・プロセスは、古いサーバが瞬間的にシャ
ットダウンすると仮定する。実際には、新しいオブジェ
クト・サーバが始動される際には、データベース・ロッ
クの解除などある種のクリーンナップ・プロセスが依然
として実行中である。このようなクリーンナップ・プロ
セスのために、新しいオブジェクト・サーバが始動を中
断することがある。したがって、古いオブジェクト・サ
ーバのシャットダウンと新しいオブジェクト・サーバの
始動との間には望ましくない競合状態が存在する。
【0003】ネットワーク化オブジェクト環境 ネットワーク化オブジェクト環境では、オブジェクト・
サーバは、サーバ・プロセスとも呼ばれ、マルチスレッ
ド・プロセスであり、そのドメイン内のオブジェクトで
具体化されるメソッド、データなどへのアクセス、その
インスタンス化、その削除を制御する。オブジェクトと
は、明確に定義された自己完結型ソフトウェア・モジュ
ールであり、営業慣習などの手続きおよびそのデータを
カプセル化する。オブジェクトは、慎重に定義されたイ
ンタフェースを通じて互いに通信し、標準化電子構成要
素からコンピュータを製造するのと同様に複雑な解を構
築することができる。多重再使用・標準化レベルが可能
になり、それによってエンジニアは、再使用可能性およ
び向上可能性の非常に高いモジュール、アプリケーショ
ン、システム全体を作成することができる。
サーバは、サーバ・プロセスとも呼ばれ、マルチスレッ
ド・プロセスであり、そのドメイン内のオブジェクトで
具体化されるメソッド、データなどへのアクセス、その
インスタンス化、その削除を制御する。オブジェクトと
は、明確に定義された自己完結型ソフトウェア・モジュ
ールであり、営業慣習などの手続きおよびそのデータを
カプセル化する。オブジェクトは、慎重に定義されたイ
ンタフェースを通じて互いに通信し、標準化電子構成要
素からコンピュータを製造するのと同様に複雑な解を構
築することができる。多重再使用・標準化レベルが可能
になり、それによってエンジニアは、再使用可能性およ
び向上可能性の非常に高いモジュール、アプリケーショ
ン、システム全体を作成することができる。
【0004】ネットワーク化オブジェクト技法によっ
て、アプリケーションまたはオブジェクトがどこに存在
するかにかかわらずに、ネットワーク内の任意の場所に
あるオブジェクトおよびその共用サービスへのアプリケ
ーション・アクセスが可能になる。ネットワーク化オブ
ジェクトでは、アプリケーションまたはアプリケーショ
ンがモデル化する営業プロセスを妨害することなしに個
別のオブジェクトを更新することもでき、複雑なシステ
ムを円滑にかつ徐々に向上させることが容易である。た
とえば、新しいコンポーネントが失敗した場合、そのコ
ンポーネントの先行オペレーションを迅速にかつ透過的
に再開することができる。
て、アプリケーションまたはオブジェクトがどこに存在
するかにかかわらずに、ネットワーク内の任意の場所に
あるオブジェクトおよびその共用サービスへのアプリケ
ーション・アクセスが可能になる。ネットワーク化オブ
ジェクトでは、アプリケーションまたはアプリケーショ
ンがモデル化する営業プロセスを妨害することなしに個
別のオブジェクトを更新することもでき、複雑なシステ
ムを円滑にかつ徐々に向上させることが容易である。た
とえば、新しいコンポーネントが失敗した場合、そのコ
ンポーネントの先行オペレーションを迅速にかつ透過的
に再開することができる。
【0005】ネットワーク化オブジェクト環境の例は、
ネットワークおよびそれぞれの異なるコンピューティン
グ・プラットフォームを介してオブジェクトを共用でき
るようにするSunSoftTMのCORBA準拠NE
O製品ファミリである。
ネットワークおよびそれぞれの異なるコンピューティン
グ・プラットフォームを介してオブジェクトを共用でき
るようにするSunSoftTMのCORBA準拠NE
O製品ファミリである。
【0006】オブジェクト・マネジメント・グループ
(OMG)は、600社以上のソフトウェア・ベンダ、
ディベロッパ、エンド・ユーザ団体からなり、異種分散
オブジェクト指向アプリケーションをサポートする共通
アーキテクチャの標準をすでに開発し、さらに引き続き
開発を進めている。OMG共通オブジェクト要求ブロー
カ・アーキテクチャ(CORBA)は、複数のベンダの
それぞれの異なるオブジェクト・システムがネットワー
ク上で互いに対話できるようにするように設計されてい
る。CORBA仕様は、下記の4つのコンポーネントを
備える。
(OMG)は、600社以上のソフトウェア・ベンダ、
ディベロッパ、エンド・ユーザ団体からなり、異種分散
オブジェクト指向アプリケーションをサポートする共通
アーキテクチャの標準をすでに開発し、さらに引き続き
開発を進めている。OMG共通オブジェクト要求ブロー
カ・アーキテクチャ(CORBA)は、複数のベンダの
それぞれの異なるオブジェクト・システムがネットワー
ク上で互いに対話できるようにするように設計されてい
る。CORBA仕様は、下記の4つのコンポーネントを
備える。
【0007】i)ネットワーク化環境でオブジェクトを
管理するためのオブジェクト要求ブローカ(ORB) ii)ORB−ORB間通信のための相互運用性 iii)共通オブジェクト・サービス(CORBAサービ
ス) iv)共通に使用されるプログラミング言語に関するマッ
ピング
管理するためのオブジェクト要求ブローカ(ORB) ii)ORB−ORB間通信のための相互運用性 iii)共通オブジェクト・サービス(CORBAサービ
ス) iv)共通に使用されるプログラミング言語に関するマッ
ピング
【0008】ネットワーク・オブジェクト要求ブローカ
(ORB)は、CORBA準拠ネットワーク・ベース・
ソフトウェア・システムであり、標準インタフェース・
プロトコルを通じてオブジェクトを見つけて実行し、オ
ブジェクトおよびプログラムがネットワークを介して互
いに対話できるようにする。NEO ORBは、1つま
たは複数のマルチスレッドUNIXプロセスとして実施
され、必要に応じてスケーリング可能な性能および使用
可能性を与える。
(ORB)は、CORBA準拠ネットワーク・ベース・
ソフトウェア・システムであり、標準インタフェース・
プロトコルを通じてオブジェクトを見つけて実行し、オ
ブジェクトおよびプログラムがネットワークを介して互
いに対話できるようにする。NEO ORBは、1つま
たは複数のマルチスレッドUNIXプロセスとして実施
され、必要に応じてスケーリング可能な性能および使用
可能性を与える。
【0009】OMGは、異種オブジェクト相互運用性を
推進するために、CORBA2.0インターネットOR
B間プロトコルの移植可能なソース・コード基準処理系
を提供し、ソフトウェア・ベンダがOMG準拠製品を試
験し配布するのを助けている。インターネットORB間
プロトコル(インターネットIOP)は、それぞれの異
なるCORBA2.0準拠ベンダのORBを接続し、そ
れらのORBが互いに通信できるようにする標準化方法
を与える。現行のインターネットIOPはTCP/IP
プロトコルに基づくものである。
推進するために、CORBA2.0インターネットOR
B間プロトコルの移植可能なソース・コード基準処理系
を提供し、ソフトウェア・ベンダがOMG準拠製品を試
験し配布するのを助けている。インターネットORB間
プロトコル(インターネットIOP)は、それぞれの異
なるCORBA2.0準拠ベンダのORBを接続し、そ
れらのORBが互いに通信できるようにする標準化方法
を与える。現行のインターネットIOPはTCP/IP
プロトコルに基づくものである。
【0010】OMG CORBAサービス定義は、ネー
ミング・サービス、イベント・サービス、プロパティ・
サービス、ライフサイクル・サービス、リレーションシ
ップ・サービスなど、オブジェクトを用いて分散システ
ムを構築するのに必要な基本動作を説明するものであ
る。
ミング・サービス、イベント・サービス、プロパティ・
サービス、ライフサイクル・サービス、リレーションシ
ップ・サービスなど、オブジェクトを用いて分散システ
ムを構築するのに必要な基本動作を説明するものであ
る。
【0011】いくつかの異なるオブジェクト・システム
が対話できるようにするには、言語独立性が重要であ
る。インタフェース定義言語(IDL)によって、イン
タフェースと処理系を分離し、オブジェクトのプラグ・
アンド・プレイ特性を損なわずにオブジェクト処理系の
詳細を変更することができる。OMG IDLは、オブ
ジェクトの動作の中立的なインタフェース定義であり、
オブジェクトの動作をIDLで定義できるようにする
が、インタフェースのC言語、C++言語、オブジェク
ティブC言語、またはSmalltalk言語への自動
変換を可能にする。
が対話できるようにするには、言語独立性が重要であ
る。インタフェース定義言語(IDL)によって、イン
タフェースと処理系を分離し、オブジェクトのプラグ・
アンド・プレイ特性を損なわずにオブジェクト処理系の
詳細を変更することができる。OMG IDLは、オブ
ジェクトの動作の中立的なインタフェース定義であり、
オブジェクトの動作をIDLで定義できるようにする
が、インタフェースのC言語、C++言語、オブジェク
ティブC言語、またはSmalltalk言語への自動
変換を可能にする。
【0012】UNIXから与えられるようなマルチスレ
ッド環境は通常、ネットワーク化オブジェクトをサポー
トするために使用される。スレッドとは、たとえば印刷
プロセスを実行することや、データベース・オブジェク
トに作用することなど、ある種の機能を実行する大規模
なプロセスから生成されるサブプロセスである。複数の
スレッドをサポートすることによって、システムは多数
のクライアントおよびプロセスに対して同時にサービス
を提供することができる。これによって、ネットワーク
上でオブジェクトおよびサービスを共用することができ
る。
ッド環境は通常、ネットワーク化オブジェクトをサポー
トするために使用される。スレッドとは、たとえば印刷
プロセスを実行することや、データベース・オブジェク
トに作用することなど、ある種の機能を実行する大規模
なプロセスから生成されるサブプロセスである。複数の
スレッドをサポートすることによって、システムは多数
のクライアントおよびプロセスに対して同時にサービス
を提供することができる。これによって、ネットワーク
上でオブジェクトおよびサービスを共用することができ
る。
【0013】CORBA環境では、オブジェクト要求ブ
ローカ・デーモン・プロセス(ORBD)が、それに登
録されているクライアント・プロセスから、メソッド呼
出しとも呼ばれるオブジェクト要求を受け取る。ORB
デーモンは次いで、ネットワーク上でオブジェクトを見
つけ、このクライアント・プロセスとこのネットワーク
化オブジェクトとの間のインタフェースとして働く。N
EO環境では、ORBデーモンは、NEOオブジェクト
を活動化させ、そのオブジェクト、すなわち標準NEO
オブジェクト、または場合によってはNEOオブジェク
トとして実行させるためにNEOシェルにカプセル化さ
れたレガシー・プロセスの別のインタフェースとして働
く。NEOオブジェクト・サーバは、必要に応じてオブ
ジェクトをインスタンス化し、ORBデーモンから転送
された要求に応答するように働く。
ローカ・デーモン・プロセス(ORBD)が、それに登
録されているクライアント・プロセスから、メソッド呼
出しとも呼ばれるオブジェクト要求を受け取る。ORB
デーモンは次いで、ネットワーク上でオブジェクトを見
つけ、このクライアント・プロセスとこのネットワーク
化オブジェクトとの間のインタフェースとして働く。N
EO環境では、ORBデーモンは、NEOオブジェクト
を活動化させ、そのオブジェクト、すなわち標準NEO
オブジェクト、または場合によってはNEOオブジェク
トとして実行させるためにNEOシェルにカプセル化さ
れたレガシー・プロセスの別のインタフェースとして働
く。NEOオブジェクト・サーバは、必要に応じてオブ
ジェクトをインスタンス化し、ORBデーモンから転送
された要求に応答するように働く。
【0014】システム・ブロック図 図1は、CORBA準拠ネットワーク化オブジェクト・
システムのブロック図である。複数のスレッドが要素1
00ないし103で表されており、スレッド100ない
し101は第1のクライアント・プロセス、すなわちク
ライアント・プロセス1から生成されるスレッドであ
り、スレッド102ないし103は第2のクライアント
・プロセス、すなわちクライアント・プロセスNから生
成されるスレッドである。図1に示したように、単一の
クライアント・プロセスは任意の数のスレッドを生成す
ることができる。各スレッド100ないし103は、オ
ブジェクト要求ブローカ・デーモン(ORBD)プロセ
ス104にリンクされる。ORBDプロセス104は、
オブジェクト・サーバ105およびオブジェクト・サー
バ107で表される複数のオブジェクト・サーバにリン
クされる。第2のORBDプロセス、すなわちORBD
プロセス110はさらにORBDプロセス104にリン
クされる。ORBDプロセス110は、他のオブジェク
ト・サーバまたはクライアント・プロセス(図示せ
ず)、あるいはその両方に結合することもできる。オブ
ジェクト・サーバ105はオブジェクト106にリンク
される。オブジェクト・サーバ107はオブジェクト1
08および109にリンクされる。
システムのブロック図である。複数のスレッドが要素1
00ないし103で表されており、スレッド100ない
し101は第1のクライアント・プロセス、すなわちク
ライアント・プロセス1から生成されるスレッドであ
り、スレッド102ないし103は第2のクライアント
・プロセス、すなわちクライアント・プロセスNから生
成されるスレッドである。図1に示したように、単一の
クライアント・プロセスは任意の数のスレッドを生成す
ることができる。各スレッド100ないし103は、オ
ブジェクト要求ブローカ・デーモン(ORBD)プロセ
ス104にリンクされる。ORBDプロセス104は、
オブジェクト・サーバ105およびオブジェクト・サー
バ107で表される複数のオブジェクト・サーバにリン
クされる。第2のORBDプロセス、すなわちORBD
プロセス110はさらにORBDプロセス104にリン
クされる。ORBDプロセス110は、他のオブジェク
ト・サーバまたはクライアント・プロセス(図示せ
ず)、あるいはその両方に結合することもできる。オブ
ジェクト・サーバ105はオブジェクト106にリンク
される。オブジェクト・サーバ107はオブジェクト1
08および109にリンクされる。
【0015】ORBDプロセス104は、クライアント
・プロセス・スレッド100ないし103からメソッド
呼出しなどのオブジェクト要求をロケート要求の形で受
け取り、どのオブジェクト・サーバが適当なオブジェク
トをサポートしているかを判定する。必要なサーバが現
在動作していない場合、そのサーバが活動化されオブジ
ェクトがインスタンス化される。ロケート要求に応答し
てオブジェクトの位置に関する情報が返され、この位置
情報によってスレッドとオブジェクトとの間で他の要求
が送られる。ロケート要求によって他のスレッドから同
じオブジェクトを同様に呼び出し、このオブジェクトと
すべての適用可能なスレッドとの間に並行して対話を確
立することができる。
・プロセス・スレッド100ないし103からメソッド
呼出しなどのオブジェクト要求をロケート要求の形で受
け取り、どのオブジェクト・サーバが適当なオブジェク
トをサポートしているかを判定する。必要なサーバが現
在動作していない場合、そのサーバが活動化されオブジ
ェクトがインスタンス化される。ロケート要求に応答し
てオブジェクトの位置に関する情報が返され、この位置
情報によってスレッドとオブジェクトとの間で他の要求
が送られる。ロケート要求によって他のスレッドから同
じオブジェクトを同様に呼び出し、このオブジェクトと
すべての適用可能なスレッドとの間に並行して対話を確
立することができる。
【0016】ORBデーモン110は、インターネット
など大規模なネットワークを介してネットワーク化オブ
ジェクト環境用のゲートウェイを形成することも、ある
いはそれ自体のドメイン内のクライアントおよびオブジ
ェクト・サーバとのプラットフォーム依存インタフェー
スを形成し、同時にORBD104との標準化インタフ
ェースを形成することによってクロス・プラットフォー
ム対話を行うこともできる。
など大規模なネットワークを介してネットワーク化オブ
ジェクト環境用のゲートウェイを形成することも、ある
いはそれ自体のドメイン内のクライアントおよびオブジ
ェクト・サーバとのプラットフォーム依存インタフェー
スを形成し、同時にORBD104との標準化インタフ
ェースを形成することによってクロス・プラットフォー
ム対話を行うこともできる。
【0017】オブジェクト・サーバ105および107
は、オブジェクト106や108ないし109で示した
ようなオブジェクトまたはオブジェクト・ライブラリに
アクセスする。レガシー・オブジェクト、すなわち独立
型アプリケーションと、基本的にネットワーク化オブジ
ェクト環境向けには設計されていない他のオブジェクト
とを備えるオブジェクトは、オブジェクト・サーバがレ
ガシー・オブジェクトの機能にアクセスできるようにす
るインタフェースを形成するIDLシェルを備える。O
RBデーモンと共に動作するパシスタント・ストア・マ
ネージャ・プロセスはロックを追跡し、オブジェクト・
サーバがサーバ専用アクセスを維持するにはオン・オブ
ジェクト、たとえばデータベース・オブジェクトを有す
ることができる。
は、オブジェクト106や108ないし109で示した
ようなオブジェクトまたはオブジェクト・ライブラリに
アクセスする。レガシー・オブジェクト、すなわち独立
型アプリケーションと、基本的にネットワーク化オブジ
ェクト環境向けには設計されていない他のオブジェクト
とを備えるオブジェクトは、オブジェクト・サーバがレ
ガシー・オブジェクトの機能にアクセスできるようにす
るインタフェースを形成するIDLシェルを備える。O
RBデーモンと共に動作するパシスタント・ストア・マ
ネージャ・プロセスはロックを追跡し、オブジェクト・
サーバがサーバ専用アクセスを維持するにはオン・オブ
ジェクト、たとえばデータベース・オブジェクトを有す
ることができる。
【0018】ネットワークはハードウェア境界からほぼ
独立しているので、オブジェクトおよびオブジェクト・
サーバは、クライアント・プロセスおよびORBデーモ
ンと同じコンピュータ上に存在することも、あるいはネ
ットワーク内の別々のコンピュータ上に存在することも
できる。同様に、ネットワーク化オブジェクト環境は、
ネットワークのベース・レベル処理系からほぼ独立して
いる。
独立しているので、オブジェクトおよびオブジェクト・
サーバは、クライアント・プロセスおよびORBデーモ
ンと同じコンピュータ上に存在することも、あるいはネ
ットワーク内の別々のコンピュータ上に存在することも
できる。同様に、ネットワーク化オブジェクト環境は、
ネットワークのベース・レベル処理系からほぼ独立して
いる。
【0019】シャットダウン・プロトコル オブジェクト・サーバに関するシャットダウン・プロト
コルの従来技術の処理系を下記に示す。オブジェクト・
サーバは、たとえばアイドル時間のために、あるいは場
合によってはクライアントの呼出しに応答してシャット
ダウンすることを決定する。オブジェクト・サーバは次
いで、すべてのアクティブ・オブジェクトのシャットダ
ウンを開始し、すべてのメソッド呼出しが終了するのを
待つ。オブジェクト・サーバに結合されたすべてのオブ
ジェクトがシャットダウンすると、オブジェクト・サー
バはそのサーバ状態を「シャットダウン中」にセット
し、シャットダウン中であることをORBデーモンに知
らせる。ORBデーモンが首尾良く、オブジェクト・サ
ーバがシャットダウン中であることを知ると、サーバは
そのサーバ状態を「終了」にセットし、ORBデーモン
との接続を終了する。最後に、オブジェクト・サーバ
は、シャットダウンが完了したことをメイン・スレッド
に知らせ、メイン・スレッドは、オブジェクト・サーバ
がパーシスタント・ストア・マネージャ内に有すること
のできるロックの解放など、最後のクリーンナップを実
行する。
コルの従来技術の処理系を下記に示す。オブジェクト・
サーバは、たとえばアイドル時間のために、あるいは場
合によってはクライアントの呼出しに応答してシャット
ダウンすることを決定する。オブジェクト・サーバは次
いで、すべてのアクティブ・オブジェクトのシャットダ
ウンを開始し、すべてのメソッド呼出しが終了するのを
待つ。オブジェクト・サーバに結合されたすべてのオブ
ジェクトがシャットダウンすると、オブジェクト・サー
バはそのサーバ状態を「シャットダウン中」にセット
し、シャットダウン中であることをORBデーモンに知
らせる。ORBデーモンが首尾良く、オブジェクト・サ
ーバがシャットダウン中であることを知ると、サーバは
そのサーバ状態を「終了」にセットし、ORBデーモン
との接続を終了する。最後に、オブジェクト・サーバ
は、シャットダウンが完了したことをメイン・スレッド
に知らせ、メイン・スレッドは、オブジェクト・サーバ
がパーシスタント・ストア・マネージャ内に有すること
のできるロックの解放など、最後のクリーンナップを実
行する。
【0020】オブジェクト・サーバ内で動作するオブジ
ェクト・サーバ有限状態マシンを図2の状態図に示す。
サーバ状態マシンは、「非実行中」、「実行中」、「シ
ャットダウン中」、「終了」の4つの状態からなる。サ
ーバが始動すると、サーバは状態200、すなわち「非
実行中」になり、矢印204で示したように、メソッド
の呼出しは待機させられる。オブジェクト・サーバがO
RBデーモンに登録され、矢印205で示したようにオ
ブジェクト・サーバが実行表示を受け取った後、オブジ
ェクト・メソッドがイネーブルされ、サーバ状態は状態
201、すなわち「実行中」へ進む。
ェクト・サーバ有限状態マシンを図2の状態図に示す。
サーバ状態マシンは、「非実行中」、「実行中」、「シ
ャットダウン中」、「終了」の4つの状態からなる。サ
ーバが始動すると、サーバは状態200、すなわち「非
実行中」になり、矢印204で示したように、メソッド
の呼出しは待機させられる。オブジェクト・サーバがO
RBデーモンに登録され、矢印205で示したようにオ
ブジェクト・サーバが実行表示を受け取った後、オブジ
ェクト・メソッドがイネーブルされ、サーバ状態は状態
201、すなわち「実行中」へ進む。
【0021】状態201では、矢印206で示したよう
に新しい呼出しによってアクティブ・メソッド・カウン
タが増分し、矢印207で示したようにメソッド呼出し
が終了することによってアクティブ・メソッド・カウン
タが減分する。オブジェクト・サーバが、アイドル時間
が長すぎるためにシャットダウンするとき、クライアン
ト、たとえばオブジェクト・サーバからの呼出しは、矢
印208で示したようにすべてのメソッド呼出しがクリ
アされるまで待ち、次いで、シャットダウン中であるこ
とをORBデーモンに知らせ、他のクライアントからの
新しい呼出しを待機させ、サーバ状態を状態202、す
なわち「シャットダウン中」にセットする。
に新しい呼出しによってアクティブ・メソッド・カウン
タが増分し、矢印207で示したようにメソッド呼出し
が終了することによってアクティブ・メソッド・カウン
タが減分する。オブジェクト・サーバが、アイドル時間
が長すぎるためにシャットダウンするとき、クライアン
ト、たとえばオブジェクト・サーバからの呼出しは、矢
印208で示したようにすべてのメソッド呼出しがクリ
アされるまで待ち、次いで、シャットダウン中であるこ
とをORBデーモンに知らせ、他のクライアントからの
新しい呼出しを待機させ、サーバ状態を状態202、す
なわち「シャットダウン中」にセットする。
【0022】矢印209で示したように、状態202中
の他の呼出しは待機させられる。ORBデーモンが首尾
良く、サーバがシャットダウン中であることを知った
後、矢印210で示したように、オブジェクト・サーバ
はすべての待機中のクライアントにエラーを返し、クラ
イアントにリバインドさせ、すなわち新しいオブジェク
ト・サーバを見つけさせる。次いで、サーバ状態は状態
203、すなわち「終了」へ進み、ロックの除去など最
後のクリーンナップ動作が実行される。
の他の呼出しは待機させられる。ORBデーモンが首尾
良く、サーバがシャットダウン中であることを知った
後、矢印210で示したように、オブジェクト・サーバ
はすべての待機中のクライアントにエラーを返し、クラ
イアントにリバインドさせ、すなわち新しいオブジェク
ト・サーバを見つけさせる。次いで、サーバ状態は状態
203、すなわち「終了」へ進み、ロックの除去など最
後のクリーンナップ動作が実行される。
【0023】第2のサーバ有限状態マシンは、ORBデ
ーモン内で動作し、ORBデーモンによってサーバ上で
行われる活動化/非活動化制御を判定する。この第2の
有限状態マシンは、「始動」、「始動中」、「実行中」
の3つの状態を有する。この3状態有限状態マシンの状
態図を図3に示す。矢印303で示したように「始動」
状態300のサーバ宛のロケート要求がORBデーモン
に到着すると、サーバは、新しいプロセスとして分岐
し、要求側メソッド呼出しがブロックされ、サーバ状態
が「始動」状態301を開始する。
ーモン内で動作し、ORBデーモンによってサーバ上で
行われる活動化/非活動化制御を判定する。この第2の
有限状態マシンは、「始動」、「始動中」、「実行中」
の3つの状態を有する。この3状態有限状態マシンの状
態図を図3に示す。矢印303で示したように「始動」
状態300のサーバ宛のロケート要求がORBデーモン
に到着すると、サーバは、新しいプロセスとして分岐
し、要求側メソッド呼出しがブロックされ、サーバ状態
が「始動」状態301を開始する。
【0024】状態301では、矢印305で示したよう
に、すべてのロケート要求がブロックされ、サーバの登
録を待たされる。矢印304で表したようにサーバPI
D(プロセスID)が終了した場合、待機中のメソッド
呼出しがブロック解除され、サーバが「始動」状態30
0に戻り、待機中のあるメソッド呼出しがサーバの始動
を再試行する。「始動中」状態301の間に、矢印30
6で示したようにサーバがORBデーモンに登録した場
合、すべての待機中のメソッド呼出しがブロック解除さ
れ、サーバ状態が「実行中」状態302を開始する。
に、すべてのロケート要求がブロックされ、サーバの登
録を待たされる。矢印304で表したようにサーバPI
D(プロセスID)が終了した場合、待機中のメソッド
呼出しがブロック解除され、サーバが「始動」状態30
0に戻り、待機中のあるメソッド呼出しがサーバの始動
を再試行する。「始動中」状態301の間に、矢印30
6で示したようにサーバがORBデーモンに登録した場
合、すべての待機中のメソッド呼出しがブロック解除さ
れ、サーバ状態が「実行中」状態302を開始する。
【0025】矢印307で示したように、「実行中」状
態302の間に受け取るすべてのその後のロケート要求
は、サーバがその登録の一部として与えたアドレス情報
を返す。矢印308で示したように、サーバがシャット
ダウン・プロトコルの一部として、シャットダウン中で
あることを知らせると、ORBデーモンがクリーンナッ
プし、サーバ状態が「始動」状態300に戻る。
態302の間に受け取るすべてのその後のロケート要求
は、サーバがその登録の一部として与えたアドレス情報
を返す。矢印308で示したように、サーバがシャット
ダウン・プロトコルの一部として、シャットダウン中で
あることを知らせると、ORBデーモンがクリーンナッ
プし、サーバ状態が「始動」状態300に戻る。
【0026】図2および3のサーバ活動化/非活動化プ
ロトコルに関する主要な問題は、サーバをシャットダウ
ンしている間に競合状態が起こることである。ロックの
除去などのシャットダウン手続きは、サーバがシャット
ダウンしたことをORBデーモンに知らせた後にサーバ
において行われる。しかし、ORBデーモンは、サーバ
からシャットダウン信号を受け取ると、サーバが完全に
シャットダウンした場合と同様に動作する。これは、O
RBデーモンには、新しいサーバがロケート要求の結果
としてただちに始動できることを意味する。
ロトコルに関する主要な問題は、サーバをシャットダウ
ンしている間に競合状態が起こることである。ロックの
除去などのシャットダウン手続きは、サーバがシャット
ダウンしたことをORBデーモンに知らせた後にサーバ
において行われる。しかし、ORBデーモンは、サーバ
からシャットダウン信号を受け取ると、サーバが完全に
シャットダウンした場合と同様に動作する。これは、O
RBデーモンには、新しいサーバがロケート要求の結果
としてただちに始動できることを意味する。
【0027】新しいサーバが、古いサーバに依然として
ロックされている資源にアクセスしようとすると、競合
が起こる。古いサーバがまだロックを除去していない場
合、新しいサーバは、ロックされている資源へのアクセ
スを拒否され、新しいサーバは始動を中止する。したが
って、古いサーバが保持している資源に対するすべての
ロック解除と新しいサーバによる同じ資源のアクセスと
の間に競合状態が存在する。まずロックが解除された場
合、他の問題を除いて、新しいサーバは首尾良く始動を
完了する。先に新しいサーバが資源にアクセスしようと
すると、新しいサーバは中止される。新しいサーバ・プ
ロセスを分岐させ、単に始動の途中で中止させること
は、CPU処理時間の無駄であり、CPU処理時間は古
いサーバのシャットダウンなど他のプロセスに費やした
方が良い。
ロックされている資源にアクセスしようとすると、競合
が起こる。古いサーバがまだロックを除去していない場
合、新しいサーバは、ロックされている資源へのアクセ
スを拒否され、新しいサーバは始動を中止する。したが
って、古いサーバが保持している資源に対するすべての
ロック解除と新しいサーバによる同じ資源のアクセスと
の間に競合状態が存在する。まずロックが解除された場
合、他の問題を除いて、新しいサーバは首尾良く始動を
完了する。先に新しいサーバが資源にアクセスしようと
すると、新しいサーバは中止される。新しいサーバ・プ
ロセスを分岐させ、単に始動の途中で中止させること
は、CPU処理時間の無駄であり、CPU処理時間は古
いサーバのシャットダウンなど他のプロセスに費やした
方が良い。
【0028】
【発明が解決しようとする課題】問題は、ORBデーモ
ン内のサーバ有限状態マシン(すなわち、図3)にあ
る。この状態マシンは、シャットダウン・プロセス(す
なわち、サーバが「実行中」状態307から「始動」状
態300へ移る時間)を考慮していない。「シャットダ
ウン中の」サーバが完全にシャットダウンしていなくて
も新しいサーバをただちに始動することができる。この
場合、古いサーバのシャットダウンと新しいサーバの始
動との間に競合状態が起こる。
ン内のサーバ有限状態マシン(すなわち、図3)にあ
る。この状態マシンは、シャットダウン・プロセス(す
なわち、サーバが「実行中」状態307から「始動」状
態300へ移る時間)を考慮していない。「シャットダ
ウン中の」サーバが完全にシャットダウンしていなくて
も新しいサーバをただちに始動することができる。この
場合、古いサーバのシャットダウンと新しいサーバの始
動との間に競合状態が起こる。
【0029】既存のプロトコルは、登録なしに開始し、
あるいは登録に時間がかかりすぎるサーバ、およびシャ
ットダウンの速度が低すぎるサーバも取り扱わない。た
とえば、サーバがハングしているためにサーバの速度が
低すぎてORBデーモンに登録できない場合、処置を施
すべきである。同様に、サーバがハングしているために
サーバの速度が低すぎてシャットダウンできない場合、
新しいサーバが始動できるようにする処置を施すべきで
ある。現在の所、これらの問題を処理する機構は存在し
ない。
あるいは登録に時間がかかりすぎるサーバ、およびシャ
ットダウンの速度が低すぎるサーバも取り扱わない。た
とえば、サーバがハングしているためにサーバの速度が
低すぎてORBデーモンに登録できない場合、処置を施
すべきである。同様に、サーバがハングしているために
サーバの速度が低すぎてシャットダウンできない場合、
新しいサーバが始動できるようにする処置を施すべきで
ある。現在の所、これらの問題を処理する機構は存在し
ない。
【0030】さらに、現在の所、スラッシング状態を処
理する機構はない。スラッシング状態は、サーバが始動
および再始動を連続的に中断されたときに起こる。これ
は、サーバが過度に高い速度で再始動しようとするとき
に起こる。たとえば、終了時にORBデーモンによって
自動的に再始動されるデーモン・サーバは、スラッシン
グ動作の影響を強く受ける。スラッシングは、サーバの
始動プロセスの回復できないエラーを示すこともある。
スラッシング状態を処理する機構がない場合、この問題
が将来再発するのを防止することはできない。
理する機構はない。スラッシング状態は、サーバが始動
および再始動を連続的に中断されたときに起こる。これ
は、サーバが過度に高い速度で再始動しようとするとき
に起こる。たとえば、終了時にORBデーモンによって
自動的に再始動されるデーモン・サーバは、スラッシン
グ動作の影響を強く受ける。スラッシングは、サーバの
始動プロセスの回復できないエラーを示すこともある。
スラッシング状態を処理する機構がない場合、この問題
が将来再発するのを防止することはできない。
【0031】最後に、ORBは現在の所、状態マシン内
の「自己始動サーバ」(「ユーザ・サーバ」とも呼ばれ
る)を処理することはできない。自己始動サーバとは、
ORBデーモンとの間で登録および登録解除を行うが、
呼出しの結果としてORBデーモンによって生成される
ことのないサーバである。
の「自己始動サーバ」(「ユーザ・サーバ」とも呼ばれ
る)を処理することはできない。自己始動サーバとは、
ORBデーモンとの間で登録および登録解除を行うが、
呼出しの結果としてORBデーモンによって生成される
ことのないサーバである。
【0032】
【課題を解決するための手段】サーバの活動化を制御す
る方法および装置を提供する。サーバ状態マシン内のサ
ーバ状態はサーバ・プロセスに関連付けられる。このサ
ーバ状態は、サーバ・プロセスからシャットダウン表示
が返されたときに実行中状態からシャットダウン中状態
に変更される。シャットダウン中状態では、サーバ・プ
ロセス宛のメソッド呼出しがブロックされ、そのため、
この状態中の新しいサーバ・プロセスの活動化が妨げら
れる。サーバ状態は、サーバ・プロセスのシャットダウ
ンが完了したことを示す表示を受け取ったときにシャッ
トダウン中から始動状態に変更される。
る方法および装置を提供する。サーバ状態マシン内のサ
ーバ状態はサーバ・プロセスに関連付けられる。このサ
ーバ状態は、サーバ・プロセスからシャットダウン表示
が返されたときに実行中状態からシャットダウン中状態
に変更される。シャットダウン中状態では、サーバ・プ
ロセス宛のメソッド呼出しがブロックされ、そのため、
この状態中の新しいサーバ・プロセスの活動化が妨げら
れる。サーバ状態は、サーバ・プロセスのシャットダウ
ンが完了したことを示す表示を受け取ったときにシャッ
トダウン中から始動状態に変更される。
【0033】ハングしているサーバ・プロセスを処理す
るために、サーバ状態が始動状態から始動中状態へ、あ
るいは実行中状態からシャットダウン中状態へ変化した
ときにタイマが始動される。タイマがサーバの登録また
は終了前に満了した場合、サーバ・プロセスが終了さ
れ、エラーが記録される。サーバ・プロセスが終了する
と、サーバ状態が始動状態に戻る。
るために、サーバ状態が始動状態から始動中状態へ、あ
るいは実行中状態からシャットダウン中状態へ変化した
ときにタイマが始動される。タイマがサーバの登録また
は終了前に満了した場合、サーバ・プロセスが終了さ
れ、エラーが記録される。サーバ・プロセスが終了する
と、サーバ状態が始動状態に戻る。
【0034】一実施態様では、自己始動サーバ・プロセ
スに適応するためにサーバ状態マシンに自己始動実行中
状態が含まれる。自己始動サーバ・プロセスに関連付け
られたサーバ状態は、自己始動サーバ・プロセスが登録
されると始動状態から自己始動実行中状態へ変更され
る。自己始動サーバ・プロセスが登録解除されると、サ
ーバ状態は始動状態に戻る。自己始動サーバ・プロセス
宛のロケート要求には、自己始動実行中状態時にサーバ
・アドレス情報が返される。
スに適応するためにサーバ状態マシンに自己始動実行中
状態が含まれる。自己始動サーバ・プロセスに関連付け
られたサーバ状態は、自己始動サーバ・プロセスが登録
されると始動状態から自己始動実行中状態へ変更され
る。自己始動サーバ・プロセスが登録解除されると、サ
ーバ状態は始動状態に戻る。自己始動サーバ・プロセス
宛のロケート要求には、自己始動実行中状態時にサーバ
・アドレス情報が返される。
【0035】他の実施態様では、スラッシュしているサ
ーバ・プロセスを処理するために独立のホールドダウン
状態マシンが設けられる。ホールドダウン状態はサーバ
・プロセスに関連付けられ、サーバ宛のロケート要求
は、ホールドダウン状態マシンに対して応答に関する問
い合わせを行う。ロケート要求は、ホールドダウン状態
マシンに問い合わせた後、サーバ状態マシンに問い合わ
せる。
ーバ・プロセスを処理するために独立のホールドダウン
状態マシンが設けられる。ホールドダウン状態はサーバ
・プロセスに関連付けられ、サーバ宛のロケート要求
は、ホールドダウン状態マシンに対して応答に関する問
い合わせを行う。ロケート要求は、ホールドダウン状態
マシンに問い合わせた後、サーバ状態マシンに問い合わ
せる。
【0036】
【発明の実施の形態】サーバ活動化を制御する方法につ
いて説明する。下記の説明では、本発明をより完全に説
明するために多数の特定の詳細について詳しく述べてい
る。しかし、当業者には、これらの特定の詳細なしで本
発明を実施できることが明らかになろう。他の例では、
本発明を不必要に曖昧にしないように周知の特徴は詳し
く記載されていない。
いて説明する。下記の説明では、本発明をより完全に説
明するために多数の特定の詳細について詳しく述べてい
る。しかし、当業者には、これらの特定の詳細なしで本
発明を実施できることが明らかになろう。他の例では、
本発明を不必要に曖昧にしないように周知の特徴は詳し
く記載されていない。
【0037】本発明の実施形態は、サーバ活動化を制御
する方法および装置を提供する。従来技術では、古いサ
ーバのシャットダウンと新しいサーバの始動との間に競
合状態が存在する。しかし、本発明のこの実施形態は、
ORBデーモン内で動作するサーバ有限状態マシンに追
加「シャットダウン中」状態を与えることによって望ま
しくないこの状態を回避する。この追加状態によって、
古いサーバは、新しいサーバが始動する前に必要なシャ
ットダウン手続きを完了することができる。速度が低す
ぎてシャットダウンすることも、あるいは始動すること
もできないサーバを処理するプロセスも設けられ、自己
始動サーバを処理するためにサーバ有限状態マシンに第
2の追加状態が設けられる。スラッシュしているサーバ
は、独立のホールドダウン状態マシンによって処理され
る。
する方法および装置を提供する。従来技術では、古いサ
ーバのシャットダウンと新しいサーバの始動との間に競
合状態が存在する。しかし、本発明のこの実施形態は、
ORBデーモン内で動作するサーバ有限状態マシンに追
加「シャットダウン中」状態を与えることによって望ま
しくないこの状態を回避する。この追加状態によって、
古いサーバは、新しいサーバが始動する前に必要なシャ
ットダウン手続きを完了することができる。速度が低す
ぎてシャットダウンすることも、あるいは始動すること
もできないサーバを処理するプロセスも設けられ、自己
始動サーバを処理するためにサーバ有限状態マシンに第
2の追加状態が設けられる。スラッシュしているサーバ
は、独立のホールドダウン状態マシンによって処理され
る。
【0038】本発明の一実施形態では、ORBデーモン
内で動作するサーバ状態マシンは、「始動」状態、「始
動中」状態、「実行中」状態、「シャットダウン中」状
態、「自己始動実行中」状態の5つの状態を備える。始
動時に、新しいサーバは、「始動」状態から「始動中」
状態へ進み、ORBデーモンに登録されるまでそのまま
であり、登録された時点で「実行中」状態を開始する。
始動するまでに時間がかかりすぎるサーバは、「始動
中」状態でタイムアウトし、「始動」状態に戻り、この
状態で、待機中のクライアントがこのサーバを再始動し
ようとする。古いサーバは、シャットダウンすると、
「実行中」状態から「シャットダウン中」状態に入り、
必要なクリーンナップ動作を実行する。サーバは、終了
すると、「始動」状態に戻り、新しいサーバが始動する
ことができる。終了するまでに時間がかかりすぎるサー
バ・プロセスは、ORBデーモンによって「終了」さ
れ、「始動」状態に戻る。サーバが「シャットダウン
中」状態の間に受け取った呼出しはブロックされる。
内で動作するサーバ状態マシンは、「始動」状態、「始
動中」状態、「実行中」状態、「シャットダウン中」状
態、「自己始動実行中」状態の5つの状態を備える。始
動時に、新しいサーバは、「始動」状態から「始動中」
状態へ進み、ORBデーモンに登録されるまでそのまま
であり、登録された時点で「実行中」状態を開始する。
始動するまでに時間がかかりすぎるサーバは、「始動
中」状態でタイムアウトし、「始動」状態に戻り、この
状態で、待機中のクライアントがこのサーバを再始動し
ようとする。古いサーバは、シャットダウンすると、
「実行中」状態から「シャットダウン中」状態に入り、
必要なクリーンナップ動作を実行する。サーバは、終了
すると、「始動」状態に戻り、新しいサーバが始動する
ことができる。終了するまでに時間がかかりすぎるサー
バ・プロセスは、ORBデーモンによって「終了」さ
れ、「始動」状態に戻る。サーバが「シャットダウン
中」状態の間に受け取った呼出しはブロックされる。
【0039】「自己始動実行中」状態は、単にORBデ
ーモンとの間で登録および登録解除を行う自己始動サー
バまたはユーザ・サーバを処理するために実施される。
自己始動サーバがORBデーモンに登録されると、サー
バの状態が「始動」状態から「自己始動実行中」状態へ
移る。サーバが「自己始動実行中」状態の間に受け取っ
た呼出しは、サーバのアドレス情報を返す。自己始動サ
ーバがORBデーモンから登録解除されると、サーバ状
態は「始動」状態に戻り、ORBデーモンは、サーバが
シャットダウンしたと仮定する。
ーモンとの間で登録および登録解除を行う自己始動サー
バまたはユーザ・サーバを処理するために実施される。
自己始動サーバがORBデーモンに登録されると、サー
バの状態が「始動」状態から「自己始動実行中」状態へ
移る。サーバが「自己始動実行中」状態の間に受け取っ
た呼出しは、サーバのアドレス情報を返す。自己始動サ
ーバがORBデーモンから登録解除されると、サーバ状
態は「始動」状態に戻り、ORBデーモンは、サーバが
シャットダウンしたと仮定する。
【0040】本発明の他の実施形態では、サーバがスラ
ッシュしているインスタンスでサーバのホールドダウン
を制御するために独立の状態マシンが実施される。した
がって、サーバ始動プロセスの回復できないエラーが処
理される。
ッシュしているインスタンスでサーバのホールドダウン
を制御するために独立の状態マシンが実施される。した
がって、サーバ始動プロセスの回復できないエラーが処
理される。
【0041】本発明の実施形態は、図4に示したような
汎用コンピュータ上で実行されるコンピュータ読取り可
能なプログラム・コードの形のコンピュータ・ソフトウ
ェアとして実施することができる。キーボード410お
よびマウス411は二方向システム・バス418に結合
される。キーボードおよびマウスは、コンピュータ・シ
ステムにユーザ入力を導入しそのユーザ入力を中央演算
処理装置(CPU)413に伝達するためのものであ
る。図4のコンピュータ・システムは、ビデオ・メモリ
414と、メイン・メモリ415と、大容量記憶域41
2とを含み、これらはすべて、キーボード410、マウ
ス411、CPU413と共に二方向システム・バス4
18に結合される。大容量記憶域412は、磁気記憶シ
ステムや、光学記憶システムや、磁気光学記憶システム
や、その他の使用可能な大容量記憶技術など、固定媒体
と取り外し可能な媒体の両方を含むことができる。バス
418は、たとえばビデオ・メモリ414またはメイン
・メモリ415にアドレスする32本のアドレス線を含
むことができる。システム・バス418はたとえば、C
PU413、メイン・メモリ415、ビデオ・メモリ4
14、大容量記憶域412などの構成要素間でデータを
転送する32ビット・データ・バスを含むこともでき
る。別法として、別々のデータ線およびアドレス線では
なく多重化データ/アドレス線を使用することができ
る。
汎用コンピュータ上で実行されるコンピュータ読取り可
能なプログラム・コードの形のコンピュータ・ソフトウ
ェアとして実施することができる。キーボード410お
よびマウス411は二方向システム・バス418に結合
される。キーボードおよびマウスは、コンピュータ・シ
ステムにユーザ入力を導入しそのユーザ入力を中央演算
処理装置(CPU)413に伝達するためのものであ
る。図4のコンピュータ・システムは、ビデオ・メモリ
414と、メイン・メモリ415と、大容量記憶域41
2とを含み、これらはすべて、キーボード410、マウ
ス411、CPU413と共に二方向システム・バス4
18に結合される。大容量記憶域412は、磁気記憶シ
ステムや、光学記憶システムや、磁気光学記憶システム
や、その他の使用可能な大容量記憶技術など、固定媒体
と取り外し可能な媒体の両方を含むことができる。バス
418は、たとえばビデオ・メモリ414またはメイン
・メモリ415にアドレスする32本のアドレス線を含
むことができる。システム・バス418はたとえば、C
PU413、メイン・メモリ415、ビデオ・メモリ4
14、大容量記憶域412などの構成要素間でデータを
転送する32ビット・データ・バスを含むこともでき
る。別法として、別々のデータ線およびアドレス線では
なく多重化データ/アドレス線を使用することができ
る。
【0042】本発明の一実施形態では、CPU413
は、680X0プロセッサなど、Motorola社に
よって製造されている32ビット・マイクロプロセッ
サ、または80X86やPentiumプロセッサな
ど、Intel社によって製造されているマイクロプロ
セッサである。しかし、他の適当なマイクロプロセッサ
またはマイクロコンピュータを使用することができる。
メイン・メモリ415は、ダイナミック・ランダム・ア
クセス・メモリ(DRAM)で構成される。ビデオ・メ
モリ414は、二重ポート・ビデオ・ランダム・アクセ
ス・メモリである。ビデオ・メモリ414の1つのポー
トはビデオ増幅器416に結合される。ビデオ増幅器4
16は、陰極管(CRT)ラスタ・モニタ417を駆動
するために使用される。ビデオ増幅器416は、良く知
られており、任意の適当な装置によって実施することが
できる。この回路は、ビデオ・メモリ414に記憶され
ている画素データを、モニタ417で使用するのに適し
たラスタ信号に変換する。モニタ417は、グラフィッ
ク画像を表示するのに適したある種のモニタである。
は、680X0プロセッサなど、Motorola社に
よって製造されている32ビット・マイクロプロセッ
サ、または80X86やPentiumプロセッサな
ど、Intel社によって製造されているマイクロプロ
セッサである。しかし、他の適当なマイクロプロセッサ
またはマイクロコンピュータを使用することができる。
メイン・メモリ415は、ダイナミック・ランダム・ア
クセス・メモリ(DRAM)で構成される。ビデオ・メ
モリ414は、二重ポート・ビデオ・ランダム・アクセ
ス・メモリである。ビデオ・メモリ414の1つのポー
トはビデオ増幅器416に結合される。ビデオ増幅器4
16は、陰極管(CRT)ラスタ・モニタ417を駆動
するために使用される。ビデオ増幅器416は、良く知
られており、任意の適当な装置によって実施することが
できる。この回路は、ビデオ・メモリ414に記憶され
ている画素データを、モニタ417で使用するのに適し
たラスタ信号に変換する。モニタ417は、グラフィッ
ク画像を表示するのに適したある種のモニタである。
【0043】ネットワーク環境では、図4の装置は、当
技術分野で知られているように適当な通信ハードウェア
およびソフトウェアを使用する他の同様な装置に結合さ
れる。ネットワークの共用サービスにアクセスするフロ
ント・エンド・システムは、WindowsTMを実行
するPCシステム、またはJavaTMアプリケーショ
ン・インタフェースをサポートするウェブ・ブラウザ、
またはSolarisTMを実行するワークステーショ
ン、またはそれらの組合せを含め他の適当なシステムを
備えることができる。
技術分野で知られているように適当な通信ハードウェア
およびソフトウェアを使用する他の同様な装置に結合さ
れる。ネットワークの共用サービスにアクセスするフロ
ント・エンド・システムは、WindowsTMを実行
するPCシステム、またはJavaTMアプリケーショ
ン・インタフェースをサポートするウェブ・ブラウザ、
またはSolarisTMを実行するワークステーショ
ン、またはそれらの組合せを含め他の適当なシステムを
備えることができる。
【0044】前述のコンピュータ・システムは、例示の
みのためのものである。本発明の実施形態は、任意のタ
イプのコンピュータ・システム、あるいはプログラミン
グ環境または処理環境で実施することができる。前述の
NEO環境以外のマルチスレッド環境のクライアント・
サーバ・システムも、ORBデーモンと同様なサーバ制
御プロセスを使用してサーバ有限状態マシンの実施形態
を実施することによって本発明の方法および装置を実施
することができる。
みのためのものである。本発明の実施形態は、任意のタ
イプのコンピュータ・システム、あるいはプログラミン
グ環境または処理環境で実施することができる。前述の
NEO環境以外のマルチスレッド環境のクライアント・
サーバ・システムも、ORBデーモンと同様なサーバ制
御プロセスを使用してサーバ有限状態マシンの実施形態
を実施することによって本発明の方法および装置を実施
することができる。
【0045】従来技術では、マルチスレッド環境の新し
いサーバの活動化または始動が、シャットダウン中の古
いサーバの動作の影響を受けることがある。データベー
ス・ロックおよびその他のサーバ特有の機能は依然とし
て古いサーバに対してアクティブであり、そのため新し
いサーバの活動化が異常終了または中断することがあ
る。
いサーバの活動化または始動が、シャットダウン中の古
いサーバの動作の影響を受けることがある。データベー
ス・ロックおよびその他のサーバ特有の機能は依然とし
て古いサーバに対してアクティブであり、そのため新し
いサーバの活動化が異常終了または中断することがあ
る。
【0046】本発明の実施形態は、古いサーバがシャッ
トダウン・プロセスを完了する前に新しいサーバが始動
するのを妨げることによって従来技術の問題を回避す
る。これは、ORBデーモンに追加「シャットダウン
中」状態を与え、古いサーバがシャットダウンの途中で
あることを示すことによって行われる。古いサーバがシ
ャットダウンを終了し、サーバ状態が「シャットダウン
中」状態を終了した後、新しいサーバを活動化すること
ができる。したがって、競合状態が回避される。
トダウン・プロセスを完了する前に新しいサーバが始動
するのを妨げることによって従来技術の問題を回避す
る。これは、ORBデーモンに追加「シャットダウン
中」状態を与え、古いサーバがシャットダウンの途中で
あることを示すことによって行われる。古いサーバがシ
ャットダウンを終了し、サーバ状態が「シャットダウン
中」状態を終了した後、新しいサーバを活動化すること
ができる。したがって、競合状態が回避される。
【0047】従来技術のマルチスレッド環境では、サー
バが「ハング」し、すなわちサーバ・プロセスの問題の
ためにサーバがシャットダウンまたは始動するまでの時
間がかかりすぎる傾向がある。本発明の実施形態は、始
動プロセスおよびシャットダウン・プロセス用のタイマ
を確立することによってこの問題を回避する。サーバが
タイムアウトを有し、すなわちタイマが事前に設定され
た限界を超えた場合、サーバは「始動」状態に戻り、エ
ラーが記録される。
バが「ハング」し、すなわちサーバ・プロセスの問題の
ためにサーバがシャットダウンまたは始動するまでの時
間がかかりすぎる傾向がある。本発明の実施形態は、始
動プロセスおよびシャットダウン・プロセス用のタイマ
を確立することによってこの問題を回避する。サーバが
タイムアウトを有し、すなわちタイマが事前に設定され
た限界を超えた場合、サーバは「始動」状態に戻り、エ
ラーが記録される。
【0048】従来技術のシステムでは、ある種のサーバ
・プロセスは再始動の速度が高すぎ、サーバが始動を完
了する前に終了し、スラッシングと呼ばれるサイクルで
再始動する。これは、サーバの始動プロセスの回復でき
ないエラーによって起こる。本発明の一実施形態では、
スラッシング動作は、サーバ・ホールドダウン状態マシ
ンを追加することによって処理される。
・プロセスは再始動の速度が高すぎ、サーバが始動を完
了する前に終了し、スラッシングと呼ばれるサイクルで
再始動する。これは、サーバの始動プロセスの回復でき
ないエラーによって起こる。本発明の一実施形態では、
スラッシング動作は、サーバ・ホールドダウン状態マシ
ンを追加することによって処理される。
【0049】最後に、従来技術では、自己始動サーバ
は、ORBデーモン内の状態マシンからは予期されな
い。本発明の実施形態は、自己始動サーバ用の追加実行
中状態を含む。自己始動サーバは、ORBデーモンに登
録されたときに「自己始動実行中」状態になり、次いで
登録解除されたときに「始動」状態になる。自己始動サ
ーバは、「始動」状態を開始したときにORBデーモン
からシャットダウンしたとみなされる。
は、ORBデーモン内の状態マシンからは予期されな
い。本発明の実施形態は、自己始動サーバ用の追加実行
中状態を含む。自己始動サーバは、ORBデーモンに登
録されたときに「自己始動実行中」状態になり、次いで
登録解除されたときに「始動」状態になる。自己始動サ
ーバは、「始動」状態を開始したときにORBデーモン
からシャットダウンしたとみなされる。
【0050】本発明の実施形態の有限状態マシンは、サ
ーバの現在の状態の表現を含む状態変数を含むORBデ
ーモン内のソフトウェア・プロセスを用いて実施するこ
とができる。状態マシン・プロセスは、指定された入力
に応答する際、状態変数から現在の状態を判定し、その
状態に対する適当な処置を判定する。状態変数の内容
は、「始動」には「000」、「始動中」には「00
1」、「実行中」には「010」、「シャットダウン
中」には「011」、「自己始動実行中」には「10
0」など現在の状態の簡単なバイナリ値表現でも、ある
いはその他の適当な状態表現でもよい。各サーバごとの
状態変数を含む状態テーブルを使用してORBデーモン
によって複数のサーバを処理することができる。状態マ
シンは、各状態ごとに別々のモジュールを有する分岐ソ
フトウェア・コード・モジュールを用いて実施すること
もできる。そのような実施態様では、サーバの状態を明
示的に表す必要はない。当技術分野で知られている標準
タイマ関数を使用して「タイムアウト」手続きを実施す
ることができる。
ーバの現在の状態の表現を含む状態変数を含むORBデ
ーモン内のソフトウェア・プロセスを用いて実施するこ
とができる。状態マシン・プロセスは、指定された入力
に応答する際、状態変数から現在の状態を判定し、その
状態に対する適当な処置を判定する。状態変数の内容
は、「始動」には「000」、「始動中」には「00
1」、「実行中」には「010」、「シャットダウン
中」には「011」、「自己始動実行中」には「10
0」など現在の状態の簡単なバイナリ値表現でも、ある
いはその他の適当な状態表現でもよい。各サーバごとの
状態変数を含む状態テーブルを使用してORBデーモン
によって複数のサーバを処理することができる。状態マ
シンは、各状態ごとに別々のモジュールを有する分岐ソ
フトウェア・コード・モジュールを用いて実施すること
もできる。そのような実施態様では、サーバの状態を明
示的に表す必要はない。当技術分野で知られている標準
タイマ関数を使用して「タイムアウト」手続きを実施す
ることができる。
【0051】通常のサーバ・ライフサイクルは下記のと
おりである。サーバに対する第1のロケート要求は、サ
ーバを始動し、サーバがORBデーモンに登録されるの
を待ち、次いでサーバの位置またはアドレス情報をクラ
イアントに返す。サーバは、シャットダウンすることを
決定すると、サーバのオブジェクトを非活動化し、次い
で、シャットダウンすることをORBデーモンに知らせ
る。この点で、ORBデーモンは、サーバへのすべての
ロケート要求をブロックし、サーバがシャットダウンの
途中であるとみなす。サーバは、シャットダウン・プロ
セスを完了し、オブジェクト・データベースおよびパシ
スタント・ストア・マネージャに対するすべてのロック
を解除する。サーバ・プロセスが終了すると、ORBデ
ーモンが通知を受ける。ORBデーモンは、終了を通知
された後、サーバが完全にシャットダウンしたものとみ
なし、新しいサーバが再始動できるようにする。
おりである。サーバに対する第1のロケート要求は、サ
ーバを始動し、サーバがORBデーモンに登録されるの
を待ち、次いでサーバの位置またはアドレス情報をクラ
イアントに返す。サーバは、シャットダウンすることを
決定すると、サーバのオブジェクトを非活動化し、次い
で、シャットダウンすることをORBデーモンに知らせ
る。この点で、ORBデーモンは、サーバへのすべての
ロケート要求をブロックし、サーバがシャットダウンの
途中であるとみなす。サーバは、シャットダウン・プロ
セスを完了し、オブジェクト・データベースおよびパシ
スタント・ストア・マネージャに対するすべてのロック
を解除する。サーバ・プロセスが終了すると、ORBデ
ーモンが通知を受ける。ORBデーモンは、終了を通知
された後、サーバが完全にシャットダウンしたものとみ
なし、新しいサーバが再始動できるようにする。
【0052】図5は本発明の一実施形態の状態図を示
す。図5に表した有限状態マシンは、ORBデーモン又
はその他の同様なサーバ監視・制御プロセスで実施され
る。
す。図5に表した有限状態マシンは、ORBデーモン又
はその他の同様なサーバ監視・制御プロセスで実施され
る。
【0053】図5で、「始動」状態500に未活動化サ
ーバが存在する。矢印505で示したように、未活動化
サーバがロケート要求または呼出しを受け取ると、サー
バ・プロセスが分岐し、クライアントからのメソッド呼
出しが待機させられ、始動タイマがトリガされる。サー
バは次いで、「始動中」状態501を開始する。矢印5
07で示したように、「始動中」状態501で受け取っ
たすべてのメソッド呼出しがブロックされる(すなわ
ち、待機させられる)。
ーバが存在する。矢印505で示したように、未活動化
サーバがロケート要求または呼出しを受け取ると、サー
バ・プロセスが分岐し、クライアントからのメソッド呼
出しが待機させられ、始動タイマがトリガされる。サー
バは次いで、「始動中」状態501を開始する。矢印5
07で示したように、「始動中」状態501で受け取っ
たすべてのメソッド呼出しがブロックされる(すなわ
ち、待機させられる)。
【0054】サーバ・プロセスが終了し、あるいは始動
タイマが、「始動中」状態501でタイムアウト条件を
示した場合、矢印506で示したように、始動タイマが
取り消され、待機中のメソッド呼出しがブロック解除さ
れ、ログ・ファイルにおいて適当なエラー・メッセージ
が報告され、サーバが「始動」状態500に戻る。ブロ
ック解除されたメソッド呼出しは次いで、サーバを再始
動しようとする。サーバが「始動中」状態501から首
尾良くORBデーモンに登録された場合、矢印508で
示したように、始動タイマが取り消され、待機中のメソ
ッド呼出しがブロック解除され、サーバが「実行中」状
態502を開始する。
タイマが、「始動中」状態501でタイムアウト条件を
示した場合、矢印506で示したように、始動タイマが
取り消され、待機中のメソッド呼出しがブロック解除さ
れ、ログ・ファイルにおいて適当なエラー・メッセージ
が報告され、サーバが「始動」状態500に戻る。ブロ
ック解除されたメソッド呼出しは次いで、サーバを再始
動しようとする。サーバが「始動中」状態501から首
尾良くORBデーモンに登録された場合、矢印508で
示したように、始動タイマが取り消され、待機中のメソ
ッド呼出しがブロック解除され、サーバが「実行中」状
態502を開始する。
【0055】矢印517で示したように、サーバが「実
行中」状態502の間に突然終了すると、サーバ状態が
「始動」状態500に戻りエラーが記録される。「実行
中」状態500で受け取ったロケート要求は、矢印50
9で示したように、サーバのアドレス情報を返す。サー
バが、アイドル・タイマの満了や、クライアント要求な
どのために、矢印510で示したように、シャットダウ
ンすることを決定すると、サーバ状態が「シャットダウ
ン中」状態503を開始し、シャットダウン・タイマが
トリガされる。
行中」状態502の間に突然終了すると、サーバ状態が
「始動」状態500に戻りエラーが記録される。「実行
中」状態500で受け取ったロケート要求は、矢印50
9で示したように、サーバのアドレス情報を返す。サー
バが、アイドル・タイマの満了や、クライアント要求な
どのために、矢印510で示したように、シャットダウ
ンすることを決定すると、サーバ状態が「シャットダウ
ン中」状態503を開始し、シャットダウン・タイマが
トリガされる。
【0056】「シャットダウン中」状態503の間に受
け取ったすべてのメソッド呼出しは、矢印511で示し
たようにブロックされる。サーバが終了し、すなわちシ
ャットダウン手続きを終了すると、シャットダウン・タ
イマが取り消され、待機中のメソッド呼出しがブロック
解除され、矢印512で示したようにサーバ状態が「始
動」状態500に戻る。矢印513は、シャットダウン
・タイマが満了したシャットダウン・タイムアウト状態
を示す。シャットダウン・タイマが満了した場合、OR
Bデーモンは、サーバ・プロセスがハングしていると仮
定し、サーバを終了させ、サーバ状態を「始動」状態5
00に戻す。待機中のメソッド呼出しはブロック解除さ
れエラーが記録される。サーバが「始動」状態500に
戻ると、ブロック解除されたメソッド呼出しはサーバを
再始動しようとする。
け取ったすべてのメソッド呼出しは、矢印511で示し
たようにブロックされる。サーバが終了し、すなわちシ
ャットダウン手続きを終了すると、シャットダウン・タ
イマが取り消され、待機中のメソッド呼出しがブロック
解除され、矢印512で示したようにサーバ状態が「始
動」状態500に戻る。矢印513は、シャットダウン
・タイマが満了したシャットダウン・タイムアウト状態
を示す。シャットダウン・タイマが満了した場合、OR
Bデーモンは、サーバ・プロセスがハングしていると仮
定し、サーバを終了させ、サーバ状態を「始動」状態5
00に戻す。待機中のメソッド呼出しはブロック解除さ
れエラーが記録される。サーバが「始動」状態500に
戻ると、ブロック解除されたメソッド呼出しはサーバを
再始動しようとする。
【0057】矢印514で示したように自己始動サーバ
またはユーザ・サーバがORBデーモンに登録される
と、サーバの状態が「自己始動実行中」状態504にな
り、ORBデーモンとサーバがセットアップ情報を交換
する。「自己始動実行中」状態504では、呼出しは、
矢印516で示したように、サーバのアドレス情報を返
す。自己始動サーバは、矢印515で示したようにOR
Bデーモンから登録解除することができ、その時点でO
RBデーモンは、サーバがシャットダウンしたと仮定
し、クリーンナップ動作が実行される。登録解除時に、
自己始動サーバは「始動」状態500に戻る。自己始動
サーバへシャットダウン要求が送られると、サーバが登
録解除される。
またはユーザ・サーバがORBデーモンに登録される
と、サーバの状態が「自己始動実行中」状態504にな
り、ORBデーモンとサーバがセットアップ情報を交換
する。「自己始動実行中」状態504では、呼出しは、
矢印516で示したように、サーバのアドレス情報を返
す。自己始動サーバは、矢印515で示したようにOR
Bデーモンから登録解除することができ、その時点でO
RBデーモンは、サーバがシャットダウンしたと仮定
し、クリーンナップ動作が実行される。登録解除時に、
自己始動サーバは「始動」状態500に戻る。自己始動
サーバへシャットダウン要求が送られると、サーバが登
録解除される。
【0058】本発明の一実施形態では、ホールドダウン
条件を制御するために独立の状態マシンが実施される。
時には、たとえばささいな矛盾を解決できるように一時
的に、あるいは補正を必要とする回復不能なエラーを管
理者に知らせるためにより長い持続期間にわたって、サ
ーバ・プロセスを停止させる必要がある。短いホールド
ダウン時には、サーバは短時間中のみ使用不能になると
予想され、したがってサーバ宛のロケート要求は、この
短いホールドダウンが終了するまでブロックされるに過
ぎない。しかし、長いホールドダウン時には、サーバは
長時間にわたって使用不能になると予想される。したが
って、長いホールドダウン中のロケート要求は、サーバ
が使用不能であることを反映するためにエラーを返す。
条件を制御するために独立の状態マシンが実施される。
時には、たとえばささいな矛盾を解決できるように一時
的に、あるいは補正を必要とする回復不能なエラーを管
理者に知らせるためにより長い持続期間にわたって、サ
ーバ・プロセスを停止させる必要がある。短いホールド
ダウン時には、サーバは短時間中のみ使用不能になると
予想され、したがってサーバ宛のロケート要求は、この
短いホールドダウンが終了するまでブロックされるに過
ぎない。しかし、長いホールドダウン時には、サーバは
長時間にわたって使用不能になると予想される。したが
って、長いホールドダウン中のロケート要求は、サーバ
が使用不能であることを反映するためにエラーを返す。
【0059】再始動の速度が高すぎ、すなわち再始動回
数が、刻時カウンタ関数によって決定される単位時間当
たりの構成可能な回数よりも多いサーバを「スラッシン
グ」サーバと呼ぶ。スラッシング状態が検出されると、
サーバは長いホールドダウン状態になる。
数が、刻時カウンタ関数によって決定される単位時間当
たりの構成可能な回数よりも多いサーバを「スラッシン
グ」サーバと呼ぶ。スラッシング状態が検出されると、
サーバは長いホールドダウン状態になる。
【0060】ホールドダウン条件は、「非ホールドダウ
ン」状態と、「短いホールドダウン」状態と、「長いホ
ールドダウン」状態とを有する3状態状態マシンで制御
される。ロケート要求はまず、ホールドダウン状態に基
づいて適当な処置を実行するホールドダウン状態マシン
で処理され、次いでサーバ状態マシンによって処理され
る。
ン」状態と、「短いホールドダウン」状態と、「長いホ
ールドダウン」状態とを有する3状態状態マシンで制御
される。ロケート要求はまず、ホールドダウン状態に基
づいて適当な処置を実行するホールドダウン状態マシン
で処理され、次いでサーバ状態マシンによって処理され
る。
【0061】ホールドダウン状態マシンの実施形態を図
6に示す。図6で、「非ホールドダウン」状態600
は、サーバが現在停止されていないことを示す。矢印6
03で示したように、「非ホールドダウン」状態600
で受け取ったロケート要求によってホールドダウン状態
マシンから動作が生成されることはない。さらに、矢印
609で示したように、「長いホールドダウン」状態6
02で受け取ったロケート要求はエラーを返す。
6に示す。図6で、「非ホールドダウン」状態600
は、サーバが現在停止されていないことを示す。矢印6
03で示したように、「非ホールドダウン」状態600
で受け取ったロケート要求によってホールドダウン状態
マシンから動作が生成されることはない。さらに、矢印
609で示したように、「長いホールドダウン」状態6
02で受け取ったロケート要求はエラーを返す。
【0062】ホールドダウン状態間の遷移に関しては、
それぞれ、矢印604、611、610、608で表し
た、「非ホールドダウン」状態600から「短いホール
ドダウン」状態601への遷移、「非ホールドダウン」
状態600から「長いホールドダウン」状態602への
遷移、「長いホールドダウン」状態602から「非ホー
ルドダウン」状態600への遷移、「長いホールドダウ
ン」状態602から「短いホールドダウン」状態601
への遷移によって動作が実行されることはない。それぞ
れ、矢印605および607で表した、「短いホールド
ダウン」状態601から「非ホールドダウン」状態60
0への遷移および「短いホールドダウン」状態601か
ら「長いホールドダウン」状態602への遷移では、待
機中のメソッド呼出しがブロック解除される。状態間の
遷移は、ORBデーモンによって制御される。
それぞれ、矢印604、611、610、608で表し
た、「非ホールドダウン」状態600から「短いホール
ドダウン」状態601への遷移、「非ホールドダウン」
状態600から「長いホールドダウン」状態602への
遷移、「長いホールドダウン」状態602から「非ホー
ルドダウン」状態600への遷移、「長いホールドダウ
ン」状態602から「短いホールドダウン」状態601
への遷移によって動作が実行されることはない。それぞ
れ、矢印605および607で表した、「短いホールド
ダウン」状態601から「非ホールドダウン」状態60
0への遷移および「短いホールドダウン」状態601か
ら「長いホールドダウン」状態602への遷移では、待
機中のメソッド呼出しがブロック解除される。状態間の
遷移は、ORBデーモンによって制御される。
【0063】図7は、前述の状態マシンを使用してロケ
ート要求に応答するプロセスの一実施形態を示す。ステ
ップ700で、状態マシン・プロセスが、クライアント
・スレッドからロケート要求の形のメソッド呼出しを受
け取る。ステップ701で、ホールドダウン状態マシン
が問い合わせを受け、ホールドダウン条件がロケート要
求に対する応答に影響を及ぼすかどうかが判定される。
ホールドダウン状態に応じてステップ702で分岐が行
われる。ホールドダウン状態が「短いホールドダウン」
である場合、ステップ703で、ロケート要求で表され
た呼出しがブロックされる。ホールドダウン状態が「長
いホールドダウン」である場合、ステップ704で、プ
ロセスは、サーバが使用不能であることを反映するエラ
ーをクライアントに返す。ホールドダウン状態が「非ホ
ールドダウン」である場合、ステップ705で、サーバ
状態マシンが問い合わせを受け、現サーバ状態が判定さ
れる。
ート要求に応答するプロセスの一実施形態を示す。ステ
ップ700で、状態マシン・プロセスが、クライアント
・スレッドからロケート要求の形のメソッド呼出しを受
け取る。ステップ701で、ホールドダウン状態マシン
が問い合わせを受け、ホールドダウン条件がロケート要
求に対する応答に影響を及ぼすかどうかが判定される。
ホールドダウン状態に応じてステップ702で分岐が行
われる。ホールドダウン状態が「短いホールドダウン」
である場合、ステップ703で、ロケート要求で表され
た呼出しがブロックされる。ホールドダウン状態が「長
いホールドダウン」である場合、ステップ704で、プ
ロセスは、サーバが使用不能であることを反映するエラ
ーをクライアントに返す。ホールドダウン状態が「非ホ
ールドダウン」である場合、ステップ705で、サーバ
状態マシンが問い合わせを受け、現サーバ状態が判定さ
れる。
【0064】ステップ706で、現サーバ状態に応じて
分岐が行われる。現サーバ状態が「始動中」または「シ
ャットダウン中」である場合、ステップ707で呼出し
がブロックされる。現サーバ状態が「実行中」または
「自己始動実行中」である場合、ステップ708で、ク
ライアントにサーバ・アドレス情報が返される。現サー
バ状態が「始動」である場合、ステップ709で、サー
バ・プロセスが分岐し、始動タイマが始動され、クライ
アントからのメソッド呼出しが待機させられる。ステッ
プ710で、サーバ状態が「始動中」に変更される。
分岐が行われる。現サーバ状態が「始動中」または「シ
ャットダウン中」である場合、ステップ707で呼出し
がブロックされる。現サーバ状態が「実行中」または
「自己始動実行中」である場合、ステップ708で、ク
ライアントにサーバ・アドレス情報が返される。現サー
バ状態が「始動」である場合、ステップ709で、サー
バ・プロセスが分岐し、始動タイマが始動され、クライ
アントからのメソッド呼出しが待機させられる。ステッ
プ710で、サーバ状態が「始動中」に変更される。
【0065】図8は、前述のサーバ状態マシンを使用し
てサーバ・プロセス終了通知に応答するプロセスの一実
施形態を示す。ステップ711で、プロセスが、サーバ
・プロセスが終了したことを示す表示を受け取る。ステ
ップ712で、サーバ状態マシンが問い合わせを受け、
現サーバ状態情報が判定される。現サーバ状態に応じて
ステップ713で分岐が行われる。現サーバ状態が「始
動中」である場合、ステップ714で、始動タイマが取
り消され、待機中のメソッド呼出しがブロック解除さ
れ、エラーが記録される。現サーバ状態が「実行中」で
ある場合、ステップ715で、エラーが記録される。現
サーバ状態が「シャットダウン中」である場合、ステッ
プ716で、シャットダウン・タイマが取り消され、待
機中のメソッド呼出しがブロック解除される。ステップ
714、715、716はすべてステップ717へ進
み、サーバ状態が「始動」にセットされる。
てサーバ・プロセス終了通知に応答するプロセスの一実
施形態を示す。ステップ711で、プロセスが、サーバ
・プロセスが終了したことを示す表示を受け取る。ステ
ップ712で、サーバ状態マシンが問い合わせを受け、
現サーバ状態情報が判定される。現サーバ状態に応じて
ステップ713で分岐が行われる。現サーバ状態が「始
動中」である場合、ステップ714で、始動タイマが取
り消され、待機中のメソッド呼出しがブロック解除さ
れ、エラーが記録される。現サーバ状態が「実行中」で
ある場合、ステップ715で、エラーが記録される。現
サーバ状態が「シャットダウン中」である場合、ステッ
プ716で、シャットダウン・タイマが取り消され、待
機中のメソッド呼出しがブロック解除される。ステップ
714、715、716はすべてステップ717へ進
み、サーバ状態が「始動」にセットされる。
【0066】図9は、タイムアウトに応答するプロセス
の一実施形態を示す。ステップ718で、プロセスがタ
イムアウト表示を受け取る。ステップ719で、サーバ
・プロセスが終了し、待機中のメソッド呼出しがブロッ
ク解除され、エラーが記録される。ステップ720で、
サーバ状態が「始動」にセットされる。
の一実施形態を示す。ステップ718で、プロセスがタ
イムアウト表示を受け取る。ステップ719で、サーバ
・プロセスが終了し、待機中のメソッド呼出しがブロッ
ク解除され、エラーが記録される。ステップ720で、
サーバ状態が「始動」にセットされる。
【0067】図10は、前述のサーバ状態マシンを使用
してサーバの登録に応答するプロセスの一実施形態を示
す。ステップ721で、プロセスがサーバから登録要求
を受け取る。ステップ722で、サーバ状態マシンが問
い合わせを受け、サーバ状態情報が得られる。ステップ
723で、現サーバ状態に応じて分岐が行われる。現サ
ーバ状態が「始動中」である場合、ステップ724で、
始動タイマが取り消され、待機中のメソッド呼出しがブ
ロック解除される。ステップ725で、現サーバ状態が
「実行中」にセットされる。現サーバ状態が「始動」で
ある場合、ステップ726で、サーバとORBデーモン
との間でセットアップ情報が交換される。ステップ72
7で、サーバ状態が「自己始動実行中」に変更される。
してサーバの登録に応答するプロセスの一実施形態を示
す。ステップ721で、プロセスがサーバから登録要求
を受け取る。ステップ722で、サーバ状態マシンが問
い合わせを受け、サーバ状態情報が得られる。ステップ
723で、現サーバ状態に応じて分岐が行われる。現サ
ーバ状態が「始動中」である場合、ステップ724で、
始動タイマが取り消され、待機中のメソッド呼出しがブ
ロック解除される。ステップ725で、現サーバ状態が
「実行中」にセットされる。現サーバ状態が「始動」で
ある場合、ステップ726で、サーバとORBデーモン
との間でセットアップ情報が交換される。ステップ72
7で、サーバ状態が「自己始動実行中」に変更される。
【0068】図7Eは、前述のサーバ状態マシンを使用
してサーバ・シャットダウン表示に応答するプロセスの
一実施形態を示す。ステップ728で、プロセスがシャ
ットダウン表示を受け取る。ステップ729で、サーバ
状態マシンがサーバ状態情報に関する問い合わせを受け
る。現サーバ状態に応じてステップ730で分岐が行わ
れる。現サーバ状態が「実行中」である場合、ステップ
731で、シャットダウン・タイマが始動される。ステ
ップ732で、現サーバ状態が「シャットダウン中」に
セットされる。現サーバ状態が「自己始動実行中」であ
る場合、ステップ733で、ORBデーモンがサーバ・
データ構造のクリーンナップを実行する。ステップ73
4で、サーバ状態が「始動」にセットされる。
してサーバ・シャットダウン表示に応答するプロセスの
一実施形態を示す。ステップ728で、プロセスがシャ
ットダウン表示を受け取る。ステップ729で、サーバ
状態マシンがサーバ状態情報に関する問い合わせを受け
る。現サーバ状態に応じてステップ730で分岐が行わ
れる。現サーバ状態が「実行中」である場合、ステップ
731で、シャットダウン・タイマが始動される。ステ
ップ732で、現サーバ状態が「シャットダウン中」に
セットされる。現サーバ状態が「自己始動実行中」であ
る場合、ステップ733で、ORBデーモンがサーバ・
データ構造のクリーンナップを実行する。ステップ73
4で、サーバ状態が「始動」にセットされる。
【0069】上記実施形態は、コンピュータのハードウ
エアによって実施される。そのハードウエアシステムで
用いられるプログラムは当然のことながら記録媒体に記
録された状態で提供される。このプログラムを記憶させ
た媒体としては、例えばフレキシブルディスク、CD−
ROM、メモリカードその他あらゆる媒体を使用でき
る。媒体に記録されたプログラムは、ハードウエアに組
み込まれている記憶装置、例えばハードディスクなどに
インストールされることにより、プログラムが実行でき
るようになる。
エアによって実施される。そのハードウエアシステムで
用いられるプログラムは当然のことながら記録媒体に記
録された状態で提供される。このプログラムを記憶させ
た媒体としては、例えばフレキシブルディスク、CD−
ROM、メモリカードその他あらゆる媒体を使用でき
る。媒体に記録されたプログラムは、ハードウエアに組
み込まれている記憶装置、例えばハードディスクなどに
インストールされることにより、プログラムが実行でき
るようになる。
【0070】したがって、サーバ活動化を制御する方法
および装置を1つまたは複数の特定の実施形態に関連し
て説明した。本発明は、特許請求の範囲およびその全範
囲の等価物によって定義される。
および装置を1つまたは複数の特定の実施形態に関連し
て説明した。本発明は、特許請求の範囲およびその全範
囲の等価物によって定義される。
【図1】 ネットワーク化オブジェクト環境の例のブロ
ック図である。
ック図である。
【図2】 オブジェクト・サーバ内で実行されるサーバ
有限状態マシン・プロセスの状態図である。
有限状態マシン・プロセスの状態図である。
【図3】 ORBデーモン内で実行されるサーバ有限状
態マシン・プロセスの状態図である。
態マシン・プロセスの状態図である。
【図4】 ネットワーク化オブジェクト環境をサポート
するのに適したコンピュータ・システムのブロック図で
ある。
するのに適したコンピュータ・システムのブロック図で
ある。
【図5】 本発明の実施形態によるORBデーモン内で
動作する有限状態マシンの一実施形態の状態図である。
動作する有限状態マシンの一実施形態の状態図である。
【図6】 本発明の一実施形態に関するホールドダウン
状態マシンの状態図である。
状態マシンの状態図である。
【図7】 ロケート要求に応答するプロセスの一実施形
態を示す図である。
態を示す図である。
【図8】 サーバ終了通知に応答するプロセスの一実施
形態を示す図である。
形態を示す図である。
【図9】 タイムアウトに応答するプロセスの一実施形
態を示す図である。
態を示す図である。
【図10】 サーバ登録に応答するプロセスの一実施形
態を示す図である。
態を示す図である。
【図11】 サーバ・シャットダウン表示に応答するプ
ロセスの一実施形態を示す図である。
ロセスの一実施形態を示す図である。
410 キーボード 411 マウス 412 大容量記憶域 413 中央処理演算装置(CPU) 414 ビデオ・メモリ 415 メイン・メモリ 416 ビデオ増幅器 417 陰極管ラスタ・モニタ 418 二方向システム・バス 500 始動状態 501 始動中状態 502 実行中状態 503 シャットダウン中状態 504 自己始動実行中状態 600 非ホールドダウン状態 601 短いホールドダウン状態 602 長いホールドダウン状態
フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ケン・エム・カヴァナー アメリカ合衆国・94037・カリフォルニア 州・モンタナ・フィフス・357
Claims (12)
- 【請求項1】 サーバの活動化を制御する方法であっ
て、 サーバ状態マシン内のサーバ状態を第1のサーバに関連
付けるステップと、 前記サーバからシャットダウン表示を受け取ったときに
前記サーバ状態を実行中状態からシャットダウン中状態
に変更するステップと、 前記第1のサーバが前記シャットダウン中状態である
間、第2のサーバの始動を妨げるステップと、 前記第1のサーバがシャットダウン・プロセスが完了し
たことを示したときに前記状態を前記シャットダウン中
状態から始動状態に変更するステップとを含むことを特
徴とする方法。 - 【請求項2】 さらに、シャットダウン中状態の間サー
バの呼出しをブロックするステップを含むことを特徴と
する請求項1に記載の方法。 - 【請求項3】 さらに、自己始動サーバが登録されたと
きに前記サーバ状態を前記始動状態から自己始動実行中
状態に変更するステップを含むことを特徴とする請求項
1に記載の方法。 - 【請求項4】 さらに、前記サーバ状態が前記始動状態
から始動中状態に変化したときにタイマを始動するステ
ップを含むことを特徴とする請求項1に記載の方法。 - 【請求項5】 さらに、前記サーバ状態が前記実行中状
態から前記シャットダウン中状態に変化したときにタイ
マを始動するステップを含むことを特徴とする請求項1
に記載の方法。 - 【請求項6】 さらに、 ロケート要求を受け取ったときに、ホールドダウン状態
マシンに問い合わせるステップと、 前記ホールドダウン状態マシンに問い合わせた後、前記
サーバ状態マシンに問い合わせるステップとを含むこと
を特徴とする請求項1に記載の方法。 - 【請求項7】 さらに、前記サーバ状態が前記実行中状
態および前記自己始動実行中状態であるときにロケート
要求に応答してサーバ・アドレス情報を返すステップを
含むことを特徴とする請求項1に記載の方法。 - 【請求項8】 サーバを制御する装置であって、 中央処理演算装置(CPU)と、 前記CPUによって実行され、始動状態と、始動中状態
と、実行中状態と、シャットダウン中状態とを有するサ
ーバ状態マシンを備える制御プロセスとを備えることを
特徴とする装置。 - 【請求項9】 コンピュータ・プログラムを記録し、サ
ーバを制御するためにコンピュータで使用可能な媒体自
体内で具体化されるコンピュータ読取り可能なプログラ
ムを記録したコンピュータ使用可能媒体において、 コンピュータに、サーバ状態をサーバと関連付けるよう
に構成されたコンピュータ読取り可能なプログラムと、 コンピュータに、前記サーバからのシャットダウン表示
に応答して前記サーバ状態を実行中状態からシャットダ
ウン中状態に変更させるように構成されたコンピュータ
読取り可能なプログラムと、 コンピュータに、前記サーバからのシャットダウン完了
表示に応答して前記サーバ状態を前記シャットダウン中
状態から始動状態に変更させるように構成されたコンピ
ュータ読取り可能なプログラムと、 コンピュータに、前記シャットダウン中状態中の前記サ
ーバへの呼出しをブロックさせるように構成されたコン
ピュータ読取り可能なプログラムと記録したことを特徴
とする記録媒体。 - 【請求項10】 さらに、 コンピュータに、自己始動サーバからの登録に応答して
前記サーバ状態を前記始動状態から自己始動実行中状態
に変更させるコンピュータ読取り可能なプログラムと、 コンピュータに、前記サーバ状態が前記実行中状態また
は前記自己始動実行中状態であるときにロケート要求に
応答してサーバ・アドレス情報を返させるコンピュータ
読取り可能なプログラムとを記録してあることを特徴と
する請求項9に記載の記録媒体。 - 【請求項11】 さらに、 コンピュータに、前記サーバ状態が前記始動状態である
ときにロケート要求に応答し、前記シャットダウン表示
に応答して、タイマ・プロセスを開始させるコンピュー
タ読取り可能なプログラムと、 コンピュータに、前記タイマ・プロセスが満了したとき
に前記サーバを終了させ前記サーバ状態を前記始動状態
に変更させるコンピュータ読取り可能なプログラムとを
記録してあることを特徴とする請求項9に記載の記録媒
体。 - 【請求項12】 さらに、 コンピュータに、前記サーバにホールドダウン状態を関
連付けさせるコンピュータ読取り可能なプログラムと、 前記ホールドダウン状態に基づいてロケート要求に対す
る応答を判定するコンピュータ読取り可能なプログラム
とを記録した請求項9に記載の記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/660,086 US5884022A (en) | 1996-06-03 | 1996-06-03 | Method and apparatus for controlling server activation in a multi-threaded environment |
US660086 | 1996-06-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1063523A true JPH1063523A (ja) | 1998-03-06 |
Family
ID=24648081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9145229A Pending JPH1063523A (ja) | 1996-06-03 | 1997-06-03 | マルチスレッド環境においてサーバの活動化を制御する方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US5884022A (ja) |
EP (1) | EP0811914B1 (ja) |
JP (1) | JPH1063523A (ja) |
DE (1) | DE69725213D1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984235A (zh) * | 2014-05-27 | 2014-08-13 | 湖南大学 | 基于c/s结构的空间机械臂控制***软件架构及构建方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212573B1 (en) * | 1996-06-26 | 2001-04-03 | Sun Microsystems, Inc. | Mechanism for invoking and servicing multiplexed messages with low context switching overhead |
JP3883647B2 (ja) * | 1997-06-10 | 2007-02-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
US6360279B1 (en) * | 1997-10-14 | 2002-03-19 | Bea Systems, Inc. | True parallel client server system and method |
US6691118B1 (en) * | 1997-10-31 | 2004-02-10 | Oracle International Corporation | Context management system for modular software architecture |
US6546412B1 (en) * | 1997-11-07 | 2003-04-08 | Xerox Corporation | State-based object transition control and nested locking |
US7581006B1 (en) * | 1998-05-29 | 2009-08-25 | Yahoo! Inc. | Web service |
US6615265B1 (en) * | 1998-08-04 | 2003-09-02 | International Business Machines Corporation | Enabling planned outages of application servers |
FR2790627B1 (fr) * | 1999-03-04 | 2001-05-04 | Cit Alcatel | Procede pour avertir un objet de l'inaccessibilite d'autres objets dans un environnement d'objets distribues |
US7116770B1 (en) | 1999-08-25 | 2006-10-03 | Siemens Communications, Inc. | Communication network management |
US6553406B1 (en) * | 2000-08-03 | 2003-04-22 | Prelude Systems, Inc. | Process thread system receiving request packet from server thread, initiating process thread in response to request packet, synchronizing thread process between clients-servers. |
WO2002013048A2 (en) * | 2000-08-03 | 2002-02-14 | Prelude Systems, Inc. | System and method for client-server communication |
US6775680B2 (en) * | 2000-08-08 | 2004-08-10 | International Business Machines Corporation | High level assembler metamodel |
US6836779B2 (en) * | 2001-03-13 | 2004-12-28 | Christian D. Poulin | Network transaction method |
US6918114B2 (en) * | 2001-04-05 | 2005-07-12 | International Business Machines Corporation | Method, apparatus, and program to keep a JVM running during the shutdown process of a Java based server executing daemon threads |
US6785677B1 (en) * | 2001-05-02 | 2004-08-31 | Unisys Corporation | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector |
US7017077B2 (en) * | 2002-01-09 | 2006-03-21 | International Business Machines Corporation | System and method of error retention for threaded software |
US7216158B2 (en) * | 2002-01-18 | 2007-05-08 | Bea Systems, Inc. | System, method and interface for controlling server lifecycle |
US6957363B2 (en) * | 2002-03-27 | 2005-10-18 | International Business Machines Corporation | Method and apparatus for controlling the termination of processes in response to a shutdown command |
US20060212840A1 (en) * | 2005-03-16 | 2006-09-21 | Danny Kumamoto | Method and system for efficient use of secondary threads in a multiple execution path processor |
KR100824792B1 (ko) * | 2006-07-11 | 2008-04-24 | 삼성전자주식회사 | 커맨드 처리 장치와 방법 및 이를 포함하는 시스템 |
US9052826B2 (en) * | 2006-07-28 | 2015-06-09 | Condusiv Technologies Corporation | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
US7870128B2 (en) | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
GB2456656B (en) * | 2008-01-24 | 2012-11-07 | Ibm | An apparatus and a method for controlling timeouts and delays of an error recovery procedure in a digital circuit |
US8495413B2 (en) * | 2009-12-15 | 2013-07-23 | Unisys Corporation | System and method for providing a computer standby node |
US9455879B1 (en) | 2013-03-04 | 2016-09-27 | Amazon Technologies, Inc. | Validating changes to attributes for computing resources |
CN113535412B (zh) | 2020-04-13 | 2024-05-10 | 伊姆西Ip控股有限责任公司 | 用于跟踪锁的方法、设备和计算机程序产品 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694603A (en) * | 1982-09-28 | 1997-12-02 | Reiffin; Martin G. | Computer memory product with preemptive multithreading software |
US4713750A (en) * | 1983-03-31 | 1987-12-15 | Fairchild Camera & Instrument Corporation | Microprocessor with compact mapped programmable logic array |
AU591057B2 (en) * | 1984-06-01 | 1989-11-30 | Digital Equipment Corporation | Local area network for digital data processing system |
JPS61137881A (ja) | 1984-12-10 | 1986-06-25 | Kaken Pharmaceut Co Ltd | クロメン誘導体、その製法およびそれを有効成分とする抗アレルギ−剤 |
US4967347A (en) * | 1986-04-03 | 1990-10-30 | Bh-F (Triplex) Inc. | Multiple-redundant fault detection system and related method for its use |
US5640585A (en) * | 1988-02-09 | 1997-06-17 | Ast Research, Inc. | State machine bus controller |
US5315161A (en) * | 1990-09-27 | 1994-05-24 | Ncr Corporation | Power failure detection and shut down timer |
US5566330A (en) * | 1991-08-20 | 1996-10-15 | Powersoft Corporation | Method for forming a reusable and modifiable database interface object |
US5367697A (en) * | 1991-10-22 | 1994-11-22 | Bull Hn Information Systems Inc. | Means for providing a graceful power shut-down capability in a multiprocessor system having certain processors not inherently having a power shut-down capability |
US5461710A (en) * | 1992-03-20 | 1995-10-24 | International Business Machines Corporation | Method for providing a readily distinguishable template and means of duplication thereof in a computer system graphical user interface |
US5347627A (en) * | 1992-04-07 | 1994-09-13 | International Business Machines Corporation | Graphical user interface including dynamic sizing and spacing |
US5423034A (en) * | 1992-06-10 | 1995-06-06 | Cohen-Levy; Leon | Network file management with user determined hierarchical file structures and means for intercepting application program open and save commands for inputting and displaying user inputted descriptions of the location and content of files |
GB2270242A (en) * | 1992-08-29 | 1994-03-02 | Ibm | A method of editing for an object oriented computer system |
US5390324A (en) * | 1992-10-02 | 1995-02-14 | Compaq Computer Corporation | Computer failure recovery and alert system |
US5345550A (en) * | 1992-12-23 | 1994-09-06 | International Business Machines Corporation | User-modifiable popup menus for object oriented behavior |
US5436637A (en) * | 1993-03-05 | 1995-07-25 | Borland International, Inc. | Graphical user interface system and methods for improved user feedback |
JP2620576B2 (ja) * | 1993-04-15 | 1997-06-18 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ユーザが要求したフォントに従ってグラフィカル・ユーザ・インターフェースを調節する方法及びシステム |
US5559942A (en) * | 1993-05-10 | 1996-09-24 | Apple Computer, Inc. | Method and apparatus for providing a note for an application program |
US5422674A (en) * | 1993-12-22 | 1995-06-06 | Digital Equipment Corporation | Remote display of an image by transmitting compressed video frames representing background and overlay portions thereof |
US5548702A (en) * | 1993-12-23 | 1996-08-20 | International Business Machines Corporation | Scrolling a target window during a drag and drop operation |
US5491784A (en) * | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for facilitating integration of software objects between workspaces in a data processing system graphical user interface |
US5550968A (en) * | 1994-04-12 | 1996-08-27 | International Business Machines Corporation | Method and system for providing access security to controls in a graphical user interface |
US5630142A (en) * | 1994-09-07 | 1997-05-13 | International Business Machines Corporation | Multifunction power switch and feedback led for suspend systems |
US5627962A (en) * | 1994-12-30 | 1997-05-06 | Compaq Computer Corporation | Circuit for reassigning the power-on processor in a multiprocessing system |
US5576945A (en) * | 1995-01-23 | 1996-11-19 | Tandem Computers Incorporated | Transaction monitor process with pre-arranged modules for a multiprocessor system |
CA2167634A1 (en) * | 1995-01-23 | 1996-07-24 | Michael E. Fisher | Method and apparatus for maintaining network connections across a voluntary process switchover |
US5907675A (en) * | 1995-03-22 | 1999-05-25 | Sun Microsystems, Inc. | Methods and apparatus for managing deactivation and shutdown of a server |
US5570462A (en) * | 1995-05-05 | 1996-10-29 | Apple Computer, Inc. | System and method for object placement and sizing in a dynamic display environment |
GB2308778B (en) * | 1995-12-28 | 1998-06-10 | Nokia Telecommunications Oy | Telecommunications network management system |
US5892949A (en) * | 1996-08-30 | 1999-04-06 | Schlumberger Technologies, Inc. | ATE test programming architecture |
US5884035A (en) * | 1997-03-24 | 1999-03-16 | Pfn, Inc. | Dynamic distributed group registry apparatus and method for collaboration and selective sharing of information |
US6026430A (en) * | 1997-03-24 | 2000-02-15 | Butman; Ronald A. | Dynamic client registry apparatus and method |
-
1996
- 1996-06-03 US US08/660,086 patent/US5884022A/en not_active Expired - Lifetime
-
1997
- 1997-05-29 DE DE69725213T patent/DE69725213D1/de not_active Expired - Lifetime
- 1997-05-29 EP EP97303641A patent/EP0811914B1/en not_active Expired - Lifetime
- 1997-06-03 JP JP9145229A patent/JPH1063523A/ja active Pending
-
1999
- 1999-03-12 US US09/267,501 patent/US6397346B1/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984235A (zh) * | 2014-05-27 | 2014-08-13 | 湖南大学 | 基于c/s结构的空间机械臂控制***软件架构及构建方法 |
CN103984235B (zh) * | 2014-05-27 | 2016-05-11 | 湖南大学 | 基于c/s结构的空间机械臂控制***软件架构及构建方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0811914B1 (en) | 2003-10-01 |
DE69725213D1 (de) | 2003-11-06 |
US5884022A (en) | 1999-03-16 |
EP0811914A1 (en) | 1997-12-10 |
US6397346B1 (en) | 2002-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH1063523A (ja) | マルチスレッド環境においてサーバの活動化を制御する方法および装置 | |
US6868442B1 (en) | Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment | |
EP0750256B1 (en) | Framework for managing cluster membership in a multiprocessor system | |
CA2533737C (en) | Fast application notification in a clustered computing system | |
US5475817A (en) | Object oriented distributed computing system processing request to other object model with code mapping by object managers located by manager of object managers | |
US20040002974A1 (en) | Thread based lock manager | |
US8713582B2 (en) | Providing policy-based operating system services in an operating system on a computing system | |
US6513115B2 (en) | System for reconfiguring an existing server process without ending and restarting | |
MX2007002204A (es) | Aparato, sistema y metodo para reinicio de serializacion de sistema de archivos. | |
JPH08272725A (ja) | 分散オブジェクト環境においてサーバの構成情報を判定し、操作するためのシステム、及び方法 | |
JP2001522086A (ja) | 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置 | |
US7216346B2 (en) | Method and apparatus for managing thread execution in a multithread application | |
US7552446B1 (en) | Methods and apparatus for a timer event service infrastructure | |
EP0807884B1 (en) | Method and apparatus for disposing of objects in a multi-threaded environment | |
US6957427B1 (en) | Remote object activation in a distributed system | |
US20020138665A1 (en) | Binding of processes in network systems | |
JPH1083306A (ja) | サーバ・ソフトウェアのインストールなしにクライアント・サポートを提供する方法および装置 | |
US7331050B2 (en) | System and method for communicating information between application programs | |
Wollrath et al. | Simple activation for distributed objects | |
JP2004523812A (ja) | 効率的なタイマ管理システム | |
CA2374290A1 (en) | Updating spin counters for spin latches | |
JP2003529847A (ja) | 有向グラフを用いた役割管理用コンポーネント管理データベースの構築 | |
US20060047686A1 (en) | Apparatus, system, and method for suspending a request during file server serialization reinitialization | |
US7467413B2 (en) | Method and apparatus for accessing session data | |
EP1489498A1 (en) | Managing a computer system with blades |