(57)【特許請求の範囲】
【請求項１】
サーバ・コンピュータと、複数のクライアント・コンピュータと、前記サーバ・コンピュータにロードされたサーバ・アプリケーションのセットと、前記サーバ・アプリケーションの起動を管理する所定のプロトコル・スタックとを含むコンピュータ・ネットワーク・システムにおいてサーバ・アプリケーションを選択的に起動する方法であって、
（ａ）前記コンピュータ・ネットワーク・システムについて複数の状態をシステム管理者が定義するステップと、
（ｂ）前記サーバ・アプリケーションの各々を前記状態の各々において起動できるか否かを判別するための条件を前記システム管理者が指定するステップと、
（ｃ）前記指定された条件に従って、前記所定のプロトコル・スタックが前記サーバ・アプリケーションの起動を管理するステップと、
（ｄ）優先順位を前記サーバ・アプリケーションに割り当てるステップと、
（ｅ）前記サーバ・コンピュータが、クライアント・コンピュータから送られたメッセージを受け取るステップと、
（ｆ）プロトコル・スタックは、前記メッセージを受け取り、サーバ・アプリケーションに割り当てられた優先順位に基づいて、フローされたメッセージをサーバ・アプリケーションに受け渡すために十分なリソースが利用可能であるか否かを判断するステップと
を含む方法。
【請求項２】
前記コンピュータ・ネットワーク・システムは定期的に初期化され、
ステップ（ｂ）は、前記サーバ・アプリケーションのサブセットを、前記システムの初期化中に起動できるアプリケーションとして指定するステップを含む、請求項１に記載の方法。
【請求項３】
前記指定された条件は、前記サーバ・アプリケーションの少なくともいくつかのそれぞれを前記状態のうち少なくとも１つにおいて起動することができるよう事前に満たされていなくてはならない最低条件を含む、請求項１に記載の方法。
【請求項４】
定義された最小限のシステム状態に達するまでは、前記所定のプロトコル・スタックは、アプリケーションの起動を阻止する、請求項３に記載の方法。
【請求項５】
前記状態は、制限状態、限定トラフィック状態、および通常状態を含み、
前記制限状態では、所定のアプリケーションのみ実行することができ、
前記限定トラフィック状態では、入力されたメッセージが低優先順位アプリケーションへ送られるのを前記所定のプロトコル・スタックが阻止し、
前記通常状態では、前記アプリケーションを全て実行することができる、請求項１に記載の方法。
【請求項６】
前記通常状態から前記限定トラフィック状態に移行するとき、前記サーバ・コンピュータはアプリケーションを停止せず、代わりに前記プロトコル・スタックが、メッセージを低優先順位アプリケーションへ送らないようにする、請求項５に記載の方法。
【請求項７】
ステップ（ｂ）は前記アプリケーションのサブセットを最高優先順位アプリケーションとして指定するステップを含み、
前記状態は、前記最高優先順位アプリケーションのみ実行することができる高優先順位状態をさらに含む、請求項５に記載の方法。
【請求項８】
コンピュータ・ネットワーク・システムであって、該システムは、
サーバ・コンピュータと、
複数のクライアント・コンピュータと、
前記サーバ・コンピュータにロードされたサーバ・アプリケーションのセットと、
前記サーバ・アプリケーションの起動を管理する所定のプロトコル・スタックと、
前記サーバ・アプリケーションを選択的に起動することができる手段とを含み、該手段は、
ａ．前記コンピュータ・ネットワーク・システムについて複数の状態を定義するための入力をシステム管理者から受け取る手段と、
ｂ．前記サーバ・アプリケーションの各々を前記状態の各々において起動できるか否かを判別する条件を指定するための入力を前記システム管理者から受け取る手段と、
を含み、
前記所定のプロトコル・スタックは、前記指定された条件に従って前記サーバ・アプリケーションの起動を管理し、 優先順位が前記サーバ・アプリケーションに割り当てられ、前記サーバ・コンピュータは、クライアント・コンピュータから送られたメッセージを受け取り、プロトコル・スタックは、前記メッセージを受け取り、サーバ・アプリケーションに割り当てられた優先順位に基づいて、フローされたメッセージをサーバ・アプリケーションに受け渡すために十分なリソースが利用可能であるか否かを判断する、コンピュータ・ネットワーク・システム。
【請求項９】
前記コンピュータ・ネットワーク・システムは定期的に初期化され、
前記条件を指定するための入力を前記システム管理者から受け取る前記手段は、前記サーバ・アプリケーションのサブセットを、前記システムの初期化中に起動できるアプリケーションとして指定する入力を、前記システム管理者から受け取る手段を含む、請求項８に記載のコンピュータ・ネットワーク・システム。
【請求項１０】
前記指定された条件は、前記サーバ・アプリケーションの少なくともいくつかのそれぞれを前記状態のうち少なくとも１つにおいて起動することができるよう事前に満たされていなくてはならない最低条件を含む、請求項８に記載のコンピュータ・ネットワーク・システム。
【請求項１１】
定義された最小限のシステム状態に達するまで、前記所定のプロトコル・スタックはアプリケーションを起動させない、請求項１０に記載のコンピュータ・ネットワーク・システム。
【請求項１２】
前記状態は、制限状態、限定トラフィック状態、および通常状態を含み、
前記制限状態では、所定のアプリケーションのみ実行することができ、
前記限定トラフィック状態では、入力されたメッセージが低優先順位アプリケーションへ送られるのを、前記所定のプロトコル・スタックが阻止し、
前記通常状態では、前記アプリケーションを全て実行することができる、請求項８に記載のコンピュータ・ネットワーク・システム。
【請求項１３】
前記条件を指定するための入力を前記システム管理者から受け取る前記手段は、前記サーバ・アプリケーションのサブセットを、最高優先順位アプリケーションとして指定する入力を、前記システム管理者から受け取る手段を含み、
前記状態は、前記最高優先順位アプリケーションのみ実行することができる高優先順位状態をさらに含む、請求項１２に記載のコンピュータ・ネットワーク・システム。
【請求項１４】
請求項１乃至７のいずれか１項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはコンピュータ・ネットワークに関し、特に、１つまたは複数のサーバ・アプリケーションを含むコンピュータ・ネットワークに関する。具体的には、本発明は、このようなサーバ・アプリケーションをいつ起動できるかを決定する手順に関する。
【背景技術】
【０００２】
コンピュータ・ネットワークは非常に広く普及しており、企業、大学、および政府を含む多くの組織にとってますます重要になってきた。一般に、コンピュータ・ネットワークは、通信施設によって接続される２つ以上のコンピュータ（あるいはコンピュータに関連付けられたデバイス）を含む。クライアント／サーバ・ネットワークはコンピュータ・ネットワークの一種であり、サーバおよびクライアントを含む。クライアント／サーバ・ネットワークにおいて、サーバとは、ネットワークのユーザに共有リソースを提供するコンピュータまたはプロセスであり、クライアントとは、サーバから通信施設を介して提供される共有ネットワーク・リソースにアクセスするコンピュータまたはプロセスである。
【０００３】
一般に、クライアント／サーバ・ネットワークにおいて、クライアントはサーバに要求を送信することによってサーバから情報を得る。サーバにおいて要求が受け取られると、サーバ上のサーバ・アプリケーションは要求された情報を取得し、取得した情報をネットワーク経由でクライアントに送信することによってクライアントの要求を満たす。インターネット（ワールド・ワイド・ウェブ（ＷＷＷ：Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）を介する）はクライアント／サーバ・ネットワークの一例である。インターネットはクライアントがデータを要求したり受け取ったりすることを可能にするパブリックＷＡＮ（Ｗｉｄｅ−ａｒｅａ  Ｎｅｔｗｏｒｄ）環境である。
【０００４】
サーバ・コンピュータは、ネットワーク上のサーバ・コンピュータとクライアント・コンピュータとの間でパケット・データを物理的に送受信するためのネットワーク・アダプタ・カードを含む。サーバ・コンピュータはまた、データを処理するためのソフトウェアであるサーバ・アプリケーションを含む。サーバ・アプリケーションには、例えば、データベース・サービング、ファイル・サービング、およびトランザクション処理が含まれる場合もある。個々のサーバ・アプリケーションはネットワーク・アダプタ・カードを介してネットワークにアクセスすることができる。つまり、１つまたは複数のスレッドを含むアプリケーション・プロセスは、ソケットを介してネットワーク・アダプタ・カードに接続される。このソフトウェア・オブジェクトであるソケットによって、サーバ・アプリケーションのスレッドはネットワーク・アダプタ・カードのバーチャル・ポートと通信することができる。
【０００５】
多くのサーバにおいて、サーバ・アプリケーションの側面のいくつかは、スタックと呼ばれる機構によって管理される。スタックとは、所与のプロトコルの階層構造である。これらのプロトコルは、特定のアプリケーションを始動するために満たされていなくてはならない条件を規定し、リソースを競合する複数のアプリケーションの優先順位を決定することもできる。インターネットに接続しているサーバ上では、これらのプロトコル・スタックをＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：伝送制御プロトコル／インターネット・プロトコル）スタックと呼ぶ。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
例えば、システムの初期化中には、使用できるシステム・リソースおよびサービスは限られるため、ＴＣＰ／ＩＰソケット・アプリケーションはシステムの初期化が完了するまで起動できない。プラットフォームの殆どにおいては、全てのソケット・アプリケーションは、システムが初期化され、ネットワークが始動されたときにのみ起動することができる。アプリケーションに必要な構成データを遠隔地のシステムからはじめにアップロードしておかなければ正しく起動しないアプリケーションもある。このような構成データの例として、航空運賃の規則および経常在庫／価格データが挙げられる。また、アプリケーションを起動する前にデータをオペレータによって手動でアップロードする手順は、エラーが発生しやすいことがわかっている。したがって、システムの初期化プロセス中にも、遠隔地のプラットフォームと対話するシステム・サービスを起動できることが要求されている。また例えば、構成データをアップロードすることに加えて、遠隔地にいるオペレータがシステムの初期化プロセス中にサーバにアクセスできることも要求されている。
【０００７】
したがって、本発明の目的は、コンピュータ・ネットワーク・システムにおいて、所定のソケット・アプリケーションをいつ起動させるかをサーバのシステム管理者が指定できるようにすることである。
【０００８】
本発明の別の目的は、コンピュータ・ネットワーク・システムにおいて、システム管理者が、いくつかのシステム状態を定義し、所定のソケット・アプリケーションをサーバ上でいつ起動できるかを指定できるようにすることである。
【０００９】
本発明の更に別の目的は、コンピュータ・ネットワーク・システムのサーバがソケット・アプリケーションのサブセットをシステムの初期化中に起動することを可能にする機能を提供することである。
【００１０】
本発明の更に別の目的は、コンピュータ・ネットワーク・システムにおいて、システム構成データおよびアプリケーション・データなどのアクションを、遠隔地のシステムからアップロードすることを可能にし、さらに、遠隔地の管理者がシステムの初期化中にサーバにアクセスし、システムの初期化を完了するために必要なアクションを実行することを可能にする機能を提供することである。
【課題を解決するための手段】
【００１１】
上記の目的は、コンピュータ・ネットワーク・システムにおいて、サーバ・アプリケーションを選択的に起動する方法によって達成される。このコンピュータ・ネットワーク・システムはサーバ・コンピュータ、複数のクライアント・コンピュータ、サーバ・コンピュータにロードされたサーバ・アプリケーションのセット、および、該サーバ・アプリケーションの起動を管理するための所定のプロトコル・スタックを含む。この方法は、コンピュータ・ネットワーク・システムについて複数の状態をシステム管理者が定義するステップと、該サーバ・アプリケーションの各々を該状態の各々において起動できるか否かを判別するための条件をシステム管理者が指定するステップとを含む。所定のプロトコル・スタックは、指定された条件に従ってサーバ・アプリケーションの起動を管理する。
【００１２】
本発明の好適な実施形態によれば、以下に説明するように、システムの管理者は、いくつかのシステム状態を定義することができ、また、所定の状態において所定のソケット・アプリケーションをいつ起動できるかを指定することができる。ＴＣＰ／ＩＰスタックは、システムが定義された最小の状態に達するまではアプリケーションの起動を許可しない。本発明はインターネット・デーモン（ＩＮＥＴＤ）に統合することができ、アプリケーションは、システムがそのアプリケーションの起動に必要な最小限の状態に達したときにＩＮＥＴＤによって自動的に起動される。この必要最小限のシステム状態に達した後は、アプリケーションを手動で起動することもでき、あるいは他の方法で起動することもできる。
【００１３】
例えば、アプリケーションが起動する前にＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：ファイル転送プロトコル）を介して或るアプリケーション用の構成ファイルをアップロードするために、この構成ファイルを必要とするアプリケーションの起動が許可される前のシステム状態においてＦＴＰを起動することができる。また例えば、本発明を適用して、オーバーロード状態に対処したり、トラフィックを優先順位の高いアプリケーションのみに限定したりする。例えば、サーバはシステム状態を、（最小限の状態から最大限の状態へと順に）制限状態（ＲＥＳＴＲＩＣＴＥＤ）、高優先順位状態（ＨＩＧＨ＿ＰＲＩＯＲＩＴＹ＿ＯＮＬＹ）、限定トラフィック状態（ＬＩＭＩＴＥＤ＿ＴＲＡＦＦＩＣ）、および通常状態（ＮＯＲＭＡＬ）とすることもできる。
【００１４】
具体的には、システムの初期化中は、システムは制限状態にあり、所定のアプリケーション（例えば、ＦＴＰおよび遠隔オペレータ・コマンド機能）のみ実行することができる。初期化完了後、システムは通常状態に入る。この通常状態では、全てのアプリケーションを実行することができる。システムが通常状態にあるときに、（ＣＰＵの使用量、メモリの使用量、またはその他のユーザ定義型の基準に基づく）所定のリソース閾値に達した場合、システムは限定トラフィック状態に落ちる。システムがこの状態にあるときは、いくつかのアプリケーションの実行が阻止される。リソースがさらに枯渇すると、システムは高優先順位状態に落ちる。この状態では、優先順位が最も高いアプリケーションのみ実行できるようにトラフィックが限定される。
【００１５】
以下の詳細な説明は、本発明の好ましい実施形態について記載または例示している。本発明の利点および長所は、この詳細な説明を添付の図面と併せて読むことによって最も良く理解されよう。
【発明を実施するための最良の形態】
【００１６】
図１を参照すると、コンピュータのネットワークである分散データ処理システム１００が例示されている。本発明は、この分散型データ処理システム１００によって実現するとよい。分散データ処理システム１００にはネットワーク１０２が含まれており、これは分散データ処理システム１００内で接続される様々なデバイスおよびコンピュータ間に通信リンクを提供するための媒体である。ネットワーク１０２は、ワイヤまたは光ファイバ・ケーブル等を用いる永久接続、または電話接続を利用する一時接続を含んでいてもよい。分散データ処理システム１００内の接続は、ポートとして知られる、コンピュータにデータを入力または出力する経路を介して行われる。図示の例では、サーバ１０４は、記憶装置１０６とともにネットワーク１０２に接続される。さらに、クライアント１０８、１１０、および１１２はネットワーク１０２に接続される。これらのクライアント１０８、１１０、および１１２は、例えばパーソナル・コンピュータまたはネットワーク・コンピュータであってもよい。
【００１７】
ネットワーク・コンピュータとは、ネットワークに接続する任意のコンピュータであり、同じネットワークに接続する別のコンピュータからプログラムまたは他のアプリケーションを受信するものである。図示の例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーション等のデータをクライアント１０８，１１０、および１１２に提供する。クライアント１０８、１１０、および１１２は、サーバ１０４のクライアントである。分散データ処理システム１００は、図示されていないが、追加のサーバ、クライアント、およびその他のデバイスを含む場合もある。分散データ処理システム１００はまた、プリンタ１１４、１１６、および１１８を含んでいる。例えば、クライアント１１０はプリンタ１１４に直接印刷を行うこともできる。例えば、クライアント１０８およびクライアント１１２はプリンタに直接接続されていないが、サーバ１０４に接続されるプリンタ１１６、またはプリンタ１１８を用いて印刷を行うこともできる。プリンタ１１８は印刷を実行するためにコンピュータに接続する必要のないネットワークプリンタである。またあるいは、クライアント１１０は、プリンタの種類および文書の要件に基づいて、プリンタ１１６またはプリンタ１１８を用いて印刷を行う場合もある。
【００１８】
図示の例では、分散データ処理システム１００はインターネットであり、ネットワーク１０２は、ＴＣＰ／ＩＰプロトコル一式を使用して互いに通信するネットワークおよびゲートウェイの世界的な集合体を表す。インターネットの中心部には、主要ノード間またはホスト・コンピュータ間を繋ぐ高速データ通信回線の中枢がある。この主要ノードまたはホスト・コンピュータには、データおよびメッセージをルーティングする数千の商業用、政府用、教育用、および他用途のコンピュータ・システムが含まれる。勿論、分散データ処理システム１００は、例えばイントラネット、ローカル・エリア・ネットワーク等の、多数の異なるタイプのネットワークとしても実現され得る。
【００１９】
なお、図１に示す分散データ処理システム１００は単に例として示され、本発明のプロセスをアーキテクチュア面で限定することを意図するものではない。
【００２０】
図２は、本発明に係るデータ処理システム２００を説明するための簡略ブロック図である。本発明において、データ処理システム２００は、図１に示されるサーバ１０４等のサーバとして実現すればよい。図２に示されるように、データ処理システム（サーバ）２００は、サーバ・アプリケーション２０２、ＩＮＥＴＤ（インターネット・デーモン）２０４、リソース・モニタ２０６、ＣＰＵ２１０、メモリ２１２、ＴＣＰ／ＩＰスタック２１４、およびネットワーク・アダプタ２１６を含んでいる。リソース・モニタはＣＰＵ２１０、メモリ２１２、およびサーバ内の他のリソースをチェックする。遠隔地のクライアントからのメッセージは、ネットワーク・アダプタ２１６を経由してサーバにフローされ、その後ＴＣＰ／ＩＰスタック２１４に送られる。ＴＣＰ／ＩＰスタック２１４は、リソース・モニタ２０６とインターフェースし、サーバ・アプリケーション２０２またはソケットに割り当てられた優先順位に基づいて、フローされたメッセージをサーバ・アプリケーション２０２に受け渡すために十分なリソースが利用可能であるか否かを判断する。利用可能と判断された場合、メッセージはサーバ・アプリケーション２０２に受け渡され、処理される。利用可能ではないと判断された場合、メッセージは、必要なリソースが利用可能となるまでＴＣＰ／ＩＰスタック２１４内部のキューに入れられる（ＴＣＰ／ＩＰスタック２１４はまた、そのメッセージより低い優先順位が割り当てられた「低優先順位」メッセージを破棄するオプションも有する）。つまり、サーバが通常状態にないとき、ＴＣＰ／ＩＰスタック２１４は、サーバ・アプリケーション２０２から見て、あたかもネットワークからデータが届いていないような状態をつくる。
【００２１】
当業者にとって明らかなように、データ処理システム２００は、図２に示される要素以外にも、追加の、または代替の要素を含んでいてもよい。例えば、光ディスクドライブ等の周辺デバイスを、図示のハードウェアに追加したり、図示のハードウェアの代わりに使用したりすることもできる。したがって図示の例は、アーキテクチュア面で本発明を限定するものではない。
【００２２】
図２に示すデータ処理システムは、例えば、アドバンスト・インタラクティブ・エグゼクティブ（ＡＩＸ：Ａｄｖａｎｃｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｅｘｅｃｕｔｉｖｅ）オペレーティング・システムを実行する、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ）の製品であるＩＢＭ  ＲＳ／６０００とすればよい。
【００２３】
サーバ・アプリケーション２０２は、データベース・サービング、ファイル・サービング、データベース・サービング、およびトランザクション処理を含んでいてもよい。ＴＣＰ／ＩＰスタック２１４はこのサーバ・アプリケーション２０２の所定の側面を管理するために備えられる。例えば、ＴＣＰ／ＩＰスタック２１４は、特定のサーバ・アプリケーション２０２が起動されるために満たされていなければならない最低条件を判別または識別したり、サーバ・アプリケーション２０２に接続するソケットを決定したりすることもできる。
【００２４】
本発明の一実施形態によれば、分散データ処理システム１００の管理者は、所定のサーバ・ソケット・アプリケーションをいつ起動できるか（例えば、システム初期化中または初期化完了後のみ）を指定する権限を付与される。したがって、図３を参照すると、管理者は、ステップ３０２でいくつかのシステム状態を定義し、ステップ３０４で所定のサーバ・ソケット・アプリケーションを、定義されたシステム状態のうちのどの状態において起動できるかを指定する。ＴＣＰ／ＩＰスタック２１４は、システムがアプリケーションについて定義された最小限の状態に達する前にそのアプリケーションを起動することはできない。
【００２５】
例えば、アプリケーションが起動する前にＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：ファイル転送プロトコル）を介して或るアプリケーション用の構成ファイルをアップロードするために、この構成ファイルを必要とするアプリケーションの起動が許可される前のシステム状態においてＦＴＰを起動することができる。また例えば、本発明を適用して、オーバーロード状態に対処したり、トラフィックを優先順位の高いアプリケーションのみに限定したりする。例えば、サーバはシステム状態を、（最小限の状態から最大限の状態へと順に）制限状態（ＲＥＳＴＲＩＣＴＥＤ）、高優先順位状態（ＨＩＧＨ＿ＰＲＩＯＲＩＴＹ＿ＯＮＬＹ）、限定トラフィック状態（ＬＩＭＩＴＥＤ＿ＴＲＡＦＦＩＣ）、および通常状態（ＮＯＲＭＡＬ）とすることもできる。
【００２６】
具体的には、システムの初期化中は、システムは制限状態にあり、所定のアプリケーション（例えば、ＦＴＰおよび遠隔オペレータ・コマンド機能）のみ実行することができる。初期化完了後、システムは通常状態に入る。この通常状態では、全てのアプリケーションを実行することができる。システムが通常状態にあるときに、所定のリソース閾値に達した場合、システムは限定トラフィック状態に落ちる。システムがこの状態にあるときは、入力されたメッセージがＴＣＰ／ＩＰスタックから低優先順位アプリケーションへ送られるのが阻止される。リソースがさらに枯渇すると、システムは高優先順位状態に落ちる。この状態では、優先順位が最も高いアプリケーションのみ実行できるようにトラフィックが限定される。
【００２７】
本発明の好適な実施形態において重要な特徴は、優先順位がアプリケーションレベルにとどまらないということである。具体的には、例えば、アプリケーションＸに接続する全てのクライアントに高優先順位を割り当てずに、クライアントのうちのいくつかは優先順位が高く、その他のクライアントは優先順位が低くなるように、クライアント毎に異なる優先順位を割り当てることができる。１つのサーバ・アプリケーションは多数のビジネス・パートナーとの接続を担うこともあり、その中には常に通信処理を必要とする主要なパートナーも存在するため、この特徴は重要である。優先順位の値は、サーバ（サーバ・システム管理者またはサーバ・アプリケーション）によって割り当てられるのであって、クライアント・ノード／アプリケーションからは割り当てられない。つまり、優先順位の値はメッセージの一部としてフローされない。この例において優先順位とは、メッセージをサーバ・ノードによって処理することのできる優先順位を意味する。この例において優先順位値はネットワーク上の優先順位値ではない。つまり、サーバによって割り当てられる優先順位値は、ネットワーク上のメッセージ・フローに影響を与えるものではない。上記の他にも、Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ等、ネットワーク上をフローしているメッセージに異なる優先順位を割り当てるのに用いられる方法／プロトコルがある。
【００２８】
本発明はインターネット・デーモン（ＩＮＥＴＤ）に統合することができ、アプリケーションは、システムがそのアプリケーションの起動に必要な最小限の状態に達したときにＩＮＥＴＤによって自動的に起動される。この必要最小限のシステム状態に達した後は、アプリケーションは手動で起動することもでき、あるいは他の方法で起動することもできる。
【００２９】
本発明の好適な実施形態は多くの重要な利点を提供する。例えば、本発明によれば、サーバには、システムの初期化中にソケット・アプリケーションのサブセットを起動する能力が付与される。この能力によって、システム構成データおよびアプリケーション・データのようなアクションを遠隔地のシステムからアップロードすることができる。また、管理者はシステムの初期化プロセス中にサーバにアクセスし、初期化を完了するために必要なアクションを実行することができる。
【００３０】
本発明によれば、サーバのリソースが低い場合であっても、トラフィックをネットワークから読み込むことができ、これが本発明と他のプラットフォーム実装との主に異なる点である。殆どのシステムにおいて、サーバのリソースが低い場合、サーバは新たなトラフィックの着信を阻止する−すなわち、ネットワーク・アダプタからの読み取りを停止する。一方、本発明によれば、サーバが低リソース状態にあっても、トラフィックは読み込まれ、優先順位の高いメッセージが引き続き処理される。これらの高優先順位のメッセージによって、アプリケーションがリソースを解放することもできる。これらの高優先順位メッセージはまた、行き詰まったデバイスを調整する遠隔オペレータ・コマンドとして機能し、これによってリソースを解放し、サーバを通常状態に戻すこともできる。
【００３１】
本発明の別の重要な側面は、本発明を効果的に使用することによってメッセージの紛失を低減し、エラー回復処理（例えば、メッセージの再送信）を向上することもできることである。従来のサーバでは、サーバがネットワークからの読み込みを停止した場合、そのサーバを宛先とするパケットは破棄される。このことによって遠隔地のクライアントはタイムアウト状態となるので、そのクライアントからのメッセージの再送信がトリガされる。その結果、ネットワークのトラフィックが増加してしまう。また、その結果エンド・ユーザ（クライアント）への応答時間に遅れが生じてしまう。例えば、時間「０」において、サーバは低リソースとなり、ネットワーク・アダプタからの読み取りを停止する。時間「０．１秒」において、クライアントから送信されたメッセージがサーバのネットワーク・アダプタに届くが、アダプタのバッファが一杯であるためメッセージは破棄される。時間「０．３秒」において、リソースは利用可能となり、サーバはネットワーク・アダプタからの読み取りを再開する。クライアントのメッセージはサーバに応答されずにいるので、時間「１．５秒」になってはじめてクライアントはタイムアウトし、メッセージを再送信する。時間「１．６秒」において再送信されたメッセージがサーバに届き、時間「１．７秒」において応答メッセージがクライアントに届いたところでこのトランザクションが完了する。
【００３２】
一方、本発明によれば、上記の例の場合、トランザクションの完了が大幅に早くなる。上記の例を用いて具体的に説明すると、時間「０．１秒」において、クライアントから送信されたメッセージはネットワーク・アダプタに届き、サーバに読み取られる。このメッセージは低優先順位のアプリケーション／ソケット用である。したがって、サーバはこのメッセージを内部のキューに入れる。時間「０．３秒」において、リソースが再び利用可能になり、サーバはキューに入れられたメッセージの処理を開始する。サーバ・アプリケーションは応答メッセージを送信し、時間「０．４秒」において応答メッセージがクライアントに届いたところでトランザクションが完了する。上述の従来モデルでは、トランザクションを完了するのに１．７秒かかる（メッセージは二度送信される必要がある）。一方、本発明によると、トランザクションを完了するのに０．４秒しかかからない（メッセージの送信は１度のみである）。
【００３３】
当業者にとって明らかであるように、本発明はハードウェアまたはソフトウェアとしても、あるいはハードウェアおよびソフトウェアの組み合わせとしても実現できる。あらゆる種類の１つまたは複数のコンピュータ／サーバ・システム−あるいは、本実施形態で説明される方法を実行するために採用される他の機器−が本発明を実現するのに適格である。ハードウェアとソフトウェアとの組み合わせの典型例として、コンピュータ・プログラムを有する汎用コンピュータ・システムが挙げられよう。この場合、コンピュータ・プログラムはロードされ実行されることによって本実施形態に説明される方法の各々を実行する。あるいは、本発明の１つまたは複数機能タスクを実行するための専用ハードウェアを備えた特別用途コンピュータを利用することもできる。
【００３４】
本発明はまた、コンピュータ・プログラム製品によって具体化することができる。この場合、該コンピュータ・プログラム製品は、本実施形態に説明される方法を実現できる個々の機能を全て含み、コンピュータ・システムにロードされることによって該方法を実行することができる。本明細書において、コンピュータ・プログラム、ソフトウェア・プログラム、プログラム、またはソフトウェアとは、任意の言語、コード、または表記によって任意に表現される命令群を意味する。この命令群は、情報処理能力を有するシステムによって特定の機能を直接実行するか、または（ａ）他の言語、コード、または表記への変換、（ｂ）他の媒体への複製、のいずれか一方もしくは双方が行われた後に実行することを意図するものである。
【００３５】
開示された本発明は前述の目的を達成するために好適であると考えられるが、当業者によって多数の変更および他の実施形態が想起され得ることが理解されるであろう。したがって、本発明の特許請求の範囲の記載はそのような変更および実施形態を全て本発明の精神および範囲内に含有するものとして解釈されるべきである。
【図面の簡単な説明】
【００３６】
【図１】本発明を適用し得るコンピュータ・ネットワーク・システムの構成を示す図である。
【図２】図１に示すコンピュータ・ネットワーク・システムのサーバを本発明に適用する例を示す簡略ブロック図である。
【図３】本発明に係る選択的起動方法を表す図である。
【符号の説明】
【００３７】
１００  分散データ処理システム
１０２  ネットワーク
１０４  サーバ
１０６  記憶装置
１０８、１１０、１１２  クライアント
１１４、１１６、１１８  プリンタ
【図１】
0005128117.tif 000002
【図２】
0005128117.tif 000003
【図３】
0005128117.tif 000004