(57)【要約】【課題】プロセス起動時に発生するオーバヘッドにより性能面での不利益があった非常駐プロセス方式の不利益を解消し、メモリリークの問題があり、かつ、予期せぬ量のトランザクションが発生した際に、輻輳によってレスポンス低下を起こす常駐プロセス方式の欠点をも解消する。【解決手段】プロセス生成管理装置はクライアント装置とネットワークを介して接続され、クライアント装置からのサービス要求に応じて実行すべきプロセスを主記憶装置に常駐するプロセスから選択して振り分けるサービス振分処理部１２と、振り分けられたプロセスの実行開始と同時に新たなプロセスを生成して主記憶装置に常駐させる待機プロセス生成部１４とを備える。【選択図】　　　図２
2004062542.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置とはネットワークを介して接続されるサーバシステムにおけるプロセス生成管理装置であって、
前記クライアント装置からのサービス要求に応じて実行すべきプロセスを主記憶装置に常駐するプロセスから選択して振り分けるサービス振分処理手段と、
前記振り分けと同時に新しいプロセスを生成して前記主記憶装置に常駐させる待機プロセス生成手段
を備えたことを特徴とするプロセス生成管理装置。
【請求項２】
前記サーバシステムの起動時にあらかじめ決められた数のプロセスを前記主記憶装置に常駐させる常駐プロセス生成手段、
を備えたことを特徴とする請求項１に記載のプロセス生成管理装置。
【請求項３】
前記クライアント装置からのサービス要求に前記常駐プロセスを振り分ける際に、その負荷状態によっては前記サービス要求のあったクライアント装置に対して拒否応答を返すサービス拒否応答手段、
を備えたことを特徴とする請求項１または２に記載のプロセス生成管理装置。
【請求項４】
クライアント装置とはネットワークを介して接続されるサーバシステムのためのプロセス生成管理方法であって、
前記サーバシステムの起動時に所定数のプロセスを主記憶装置に常駐させ、
前記クライアント装置からのサービス要求に応じて実行すべきプロセスを選択して振り分け、
前記振り分けと同時に新しいプロセスを生成して前記主記憶装置に常駐させること、
を特徴とするプロセス生成管理方法。
【請求項５】
クライアント装置と通信網を介して接続されるサーバシステムにおけるプロセス生成管理装置に用いられるプロセス生成管理プログラムであって、
前記サーバシステムの起動時に所定数のプロセスを主記憶装置に常駐させるステップと、
前記クライアント装置からのサービス要求に応じて実行すべきプロセスを前記主記憶装置に常駐するプロセスから選択して振り分けるステップと、
前記振り分けと同時に新しいプロセスを生成して前記主記憶装置に常駐させるステップと、
をコンピュータに実行させるプロセス生成管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クライアントサーバシステムに用いて好適な、プロセス生成管理装置、及びプロセス生成管理方法、並びにプロセス生成管理プログラムに関する。
【０００２】
【従来の技術】
クライアントサーバシステムは、特定の処理を実行するサーバとそのサービスを受けるクライアント装置で構成されるネットワークシステムであり、複数のサーバを用意することにより、例えば、コミュニケーションサーバが通信を行なっているときにデータベースサーバが検索を行い、また、プリントサーバが帳票を印刷するといった複数の作業を同時に処理することが可能である。
上記したクライアントサーバシステムのサーバシステムで用いられるプロセス生成管理について、従来用いられていた常駐プロセス方式と、非常駐プロセス方式のそれぞれを簡単に説明する。
【０００３】
常駐プロセス方式の場合、サーバプロセスは、システム起動時にあらかじめ決められた数だけ起動され、クライアント装置からのリクエスト受信待ちとなる。クライアント装置からのリクエストを受信すると、そのリクエストを読み込み、所望の処理を行い、要求のあったクライアント装置に結果を返すと再度クライアント装置からのリクエストを持つ。
【０００４】
一方、非常駐方式の場合、サーバプロセスは、システム起動時にあらかじめ起動されることなく、クライアント装置からのリクエストが受信された時点で起動される。あらかじめ起動されているクライアント装置からのリクエスト受信プロセスがリクエストを受信すると、サーバプロセスを生成し、クライアント装置のリクエストをサーバプロセスに送信する。その後、リクエスト受信プロセスは、クライアント装置からのリクエスト待ちの状態に戻る。
サーバプロセスは、更に、リクエストを読み込み所望の処理を行い、クライアント装置に結果を返して終了する。
【０００５】
【発明が解決しようとする課題】
上記した常駐プロセス方式によれば、システム停止までサーバプロセスは常駐し処理を継続することになる。そのため、メモリリークが発生していた場合は、処理の途中でプロセス停止に至る危険性がある。
また、クライアント装置からのリクエストが同時にサーバプロセス数より多く発生した場合、常駐するサーバプロセス分のリクエストは処理されるが、残りのリクエストはサーバプロセスが処理を終えるまで待たされることになる。
【０００６】
一方、後者の非常駐プロセス方式によれば、クライアント装置からのリクエストを受信してからサーバプロセスの起動およびサーバプロセスでの初期化が行われるため、サーバプロセスが処理を開始するまでの時間がオーバヘッドとなり、レスポンスが悪くなるという問題が発生する。
また、クライアント装置からのリクエストが同時に多発した場合、サーバ内のメモリ等の資源が不足し、正常な動作が保証されないという問題も発生する。
【０００７】
本発明は上記事情に鑑みてなされたものであり、サーバプロセスにクライアント装置からのリクエストを振り分け、待機するサーバプロセスを生成し管理するためのサービス振り分けプロセスを備えることにより、プロセス起動時に発生するオーバヘッドにより性能面での不利益があった非常駐プロセス方式の不利益を解消し、また、メモリリークの問題があり、かつ、予期せぬ量のトランザクションが発生した際に、輻輳によってレスポンス低下を起こす常駐プロセス方式の欠点をも解消した、プロセス生成管理装置、及びプロセス生成管理方法、並びにプロセス生成管理プログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記した課題を解決するために本発明は、クライアント装置とはネットワークを介して接続されるサーバシステムにおけるプロセス生成管理装置であって、前記クライアント装置からのサービス要求に応じて実行すべきプロセスを主記憶装置に常駐するプロセスから選択して振り分けるサービス振分処理手段と、前記振り分けと同時に新しいプロセスを生成して前記主記憶装置に常駐させる待機プロセス生成手段とを備えたことを特徴とする。
【０００９】
本発明によれば、サービス振り分け手段により振り分け終了後、待機プロセス生成手段が新たなプロセスを生成して主記憶装置に常駐させることにより、リクエストによって処理を終えたサーバプロセスは、その時点で終了し、次リクエストによって再度処理を行なうことはないことから、常駐プロセス方式の利点である性能と、非常駐プロセス方式の利点であるメモリリークからの解放の両方が得られる。
【００１０】
また、本発明において、前記サーバシステムの起動時にあらかじめ決められた数のプロセスを前記主記憶装置に常駐させる常駐プロセス生成手段、を備えたことを特徴とする。
【００１１】
また、本発明において、前記クライアント装置からのサービス要求に前記常駐プロセスを振り分ける際に、その負荷状態によっては前記サービス要求のあったクライアント装置に対して拒否応答を返すサービス拒否応答手段、を備えたことを特徴とする。
【００１２】
本発明によれば、サービス拒否応答手段が、クライアント装置からのサービス要求に常駐プロセスを振り分ける際に、その負荷状態によってはサービス要求のあったクライアント装置に対して拒否応答を返すことにより、メモリなどのシステム資源不足を未然に防ぐとともに、クライアント装置へのレスポンス遅延も解消することができる。
【００１３】
上記した課題を解決するために本発明は、クライアント装置と通信網を介して接続されるサーバシステムのためのプロセス生成管理方法であって、前記サーバシステムの起動時に所定数のプロセスを主記憶装置に常駐させ、前記クライアント装置からのサービス要求に応じて実行すべきプロセスを選択して振り分け、前記振り分けと同時に新しいプロセスを生成して前記主記憶装置に常駐させることを特徴とする。
【００１４】
上記した課題を解決するために本発明は、クライアント装置とはネットワークを介して接続されるサーバシステムにおけるプロセス生成管理装置に用いられるプロセス生成管理プログラムであって、前記サーバシステムの起動時に所定数のプロセスを主記憶装置に常駐させるステップと、前記クライアント装置からのサービス要求に応じて実行すべきプロセスを前記主記憶装置に常駐するプロセスから選択して振り分けるステップと、前記振り分けと同時に新しいプロセスを生成して前記主記憶装置に常駐させるステップとをコンピュータに実行させることを特徴とする。
【００１５】
【発明の実施の形態】
図１は、本発明のプロセス生成管理装置が実現されるクライアントサーバシステムの構成例を説明するために引用した図である。
図において、１はサーバプロセス群（＃１〜＃４）が稼動するサーバシステム、２は、そのサーバプロセスに対してサービスを要求する複数のクライアント装置、３はサーバシステム１と、クライアント装置２とを接続しているネットワークである。
【００１６】
サーバシステム１において、＃１〜＃４は、クライアント装置２に搭載されるクライアントプロセスからの処理要求を実行するサーバプロセス群４であり、６は論理的な接続機能であるプロセス間通信実現のためにＯＳ（オペレーティングシステム）が提供するリクエスト受け付け用ポートである。
５は、リクエスト受け付け用ポート６を介してクライアント装置２からのサービス要求を受付け、そのリクエスト内容によってサービスを処理するサーバプロセスを選択し、振り分けるサービス振り分けプロセスである。
【００１７】
図２は、図１に示すサーバシステムの内部構成を機能展開して示したブロック図であり、本発明のプロセス生成管理装置が実装される部分のみ抽出して示されている。
本発明のプロセス生成管理装置は、サービス要求受信部１１、サービス振分処理部１２、サーバプロセス実行部１３、待機プロセス生成部１４、常駐プロセス生成部１５、サービス拒否応答部１６、コンフィグレーションファイル部１７で構成される。
【００１８】
サービス要求受信部１１は、クライアント装置２から発せられるサービス要求を受付けてサービス振分処理部１２に引き渡す機能を持ち、図１に示すリクエスト受付用ポートに相当するものである。
サービス振分処理部１２は、クライアント装置２からのサービス要求に応じて実行すべきプロセスを主記憶装置に常駐するプロセスから選択して振り分ける機能を持ち、図１に示すサービス振り分けプロセスを実行する部分である。また、サーバプロセス実行部１３は、システムで生成され、用意される各サーバプロセス＃１〜＃４（図１）のそれぞれを実行する機能を持つ。
【００１９】
待機プロセス生成部１４は、サービス振分処理部１２によって振り分けられたプロセスの実行開始と同時に新たなプロセスを生成して主記憶装置に常駐させる機能を持ち、常駐プロセス生成部１５は、サーバシステム１の起動時にあらかじめ決められた数のプロセスを主記憶装置に常駐させる機能を持つ。
また、サービス拒否応答部１６は、クライアント装置２からのサービス要求に常駐プロセスを振り分ける際に、その負荷状態によってはサービス要求のあったクライアント装置２に対して拒否応答を返す機能を持つ。
【００２０】
なお、コンフィグレーションファイル部１７は、システム構成が定義されるファイルであり、本発明と関係するところでは、図３に示されるように、プロセスの種類毎に設定されるプロセス数の一例（図３（ａ））、サービスコードとプロセス種類の対応例（図３（ｂ））のそれぞれが示されている。
【００２１】
図４、図５は、本発明実施形態の動作を説明するために引用したフローチャートであり、具体的には本発明のプロセス生成管理プログラムの処理手順が示されており、図１に示されるサービス振り分けプロセス５、サーバプロセス群（＃１〜＃４）のそれぞれを示す。
以下、図４、図５に示すフローチャートを参照しながら、図１〜図３に示す本発明実施形態の動作について詳細に説明する。
【００２２】
図４、図５において、Ｓ４０１〜Ｓ４１２まではサービス振り分けプロセスの処理を示しており、Ｓ４１３〜Ｓ４１９までは、各々起動されたサーバプロセスの処理を示している。
サービス振り分けプロセス５は、Ｓ４０１で初期化処理を実行する。初期化処理では、コンフィグレーションファイル部１７から、サーバプロセスの種類と待機させるサーバプロセス数を読み込む（図３ａ）。そして、読み込んだ内容から、サーバプロセスの種類毎にサーバプロセス情報を格納する待機プロセスリストを作成し、サーバプロセスを種類別に指定数起動する。また、サービスコード毎に振り分けるサーバプロセスをコンフィグレーションファイル部１７から読み込み、サービス振り分けプロセス内に記憶する（図３ｂ）。
【００２３】
一方、Ｓ４０２では、クライアント装置１からのサービス要求またはサーバプロセスからの初期化完了通知を受付けるための待ち状態に入る。次に、Ｓ４１３にて要求メッセージを読み込む。
Ｓ４１４では、要求メッセージの送信元がクライアント装置２かサーバプロセスかの判定を行い、クライアント装置２からの要求であればＳ４１５の処理に進む。Ｓ４１５では、読み込んだサービスコードによって処理を行うプロセス種類を判断し、該当の待機プロセスリストを特定する。Ｓ４１６で待機プロセスリストに待ちプロセスが存在するか判定する。待ちプロセスリストに待機プロセス情報が存在した場合、Ｓ４１７で待機プロセスリストから１プロセスの情報を取り出し、Ｓ４１８でクライアント要求をサーバプロセスに引き渡す。
【００２４】
Ｓ４１６の処理で、待機プロセスリストに待ちプロセスが存在しない場合は、Ｓ４１２で要求元クライアント装置２にエラーを返し終了する。Ｓ４１９では、要求を引き渡したプロセスと同様の種類のプロセスを１プロセス作成するとともに、ＯＳが付加するプロセスＩＤをサービス振り分けプロセス５内に記憶し、メッセージ読み込み待ちの状態に戻る。
Ｓ４１４で、送信元がサーバプロセスからの初期完了通知であれば、Ｓ４１０で、送信元プロセスＩＤから送信元プロセスと同じ種類の待機プロセスリストを特定し、Ｓ４１１で待機プロセスリストにプロセス情報を登録する。
【００２５】
サーバプロセスは、Ｓ４１４の初期化処理を終え、Ｓ４１５でサービス振り分けプロセス５に対して初期化完了通知を送信し、Ｓ４１６で要求待ち状態となる。クライアント装置２からのサービス要求がサービス振り分けプロセス５から送信されるとＳ４１７以降の処理を行い、プロセスを終了する。
【００２６】
以上説明のように本発明は、クライアントサーバシステムにおいて、サーバシステム１がクライアント装置２に提供するサービスを任意の種類に分割し、１つのサービスを処理するプロセスを１以上のプロセスで構成するサーバプロセス群４（＃１〜＃４）に、クライアント装置２からのサービス要求をそれらプロセスに振り分けるとともに、再利用されることがないサーバプロセスを待機プロセスとして生成するサービス振り分けプロセス５を新設したものであり、このことにより、プロセス起動時に発生するオーバヘッドにより性能面での不利益があった非常駐プロセス方式の不利益を解消し、また、メモリリークの問題があり、かつ、予期せぬ量のトランザクションが発生した際に、輻輳によってレスポンス低下を起こす常駐プロセス方式の欠点をも解消するものである。
【００２７】
また、クライアント装置２からのサービス要求を上記したプロセスに振り分ける際に、システムの負荷状態によってサービス振り分けが不可能な場合に、クライアント装置２のサービス要求に対し拒否応答を返すことにより、予期せぬ量のトランザクションが発生した際に、輻輳によってレスポンス低下を起こす常駐プロセス方式の欠点をも解消するものである。
なお、図２に示す、サービス要求受信部１１、サービス振分処理部１２、サーバプロセス実行部１３、待機プロセス生成部１４、常駐プロセス生成部１５、サービス拒否応答部１６のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行することにより本発明のプロセス生成管理装置が実現されるものとする。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウアを含むものである。
【００２８】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００２９】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００３０】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００３１】
【発明の効果】
以上説明のように本発明は、リクエストを受信すると同時に待機するサーバプロセスを生成するものであり、リクエストによって処理を終えたサーバプロセスは、その時点で終了し、次リクエストによって再度処理を行なうことはないことから、常駐プロセス方式の利点である性能と、非常駐プロセス方式の利点であるメモリリークからの解放の両方の効果が得られる。
また、予期せぬトランザクションが多発し待機プロセス数以上となった場合も、従来の常駐プロセス方式においてはサーバプロセスの処理が終わるまでリクエストが持たされることになるが、本発明によれば、リクエストに対し拒否応答を返すことにより、メモリなどのシステム資源不足を未然に防ぐとともに、クライアント装置へのレスポンス遅延も解消することができる。
【図面の簡単な説明】
【図１】本発明のプロセス生成管理装置が実現されるクライアントサーバシステムの構成例を説明するために引用した図である。
【図２】図１に示すサーバシステムの内部構成を機能展開して示したブロック図であり、本発明のプロセス生成管理装置が実装される部分のみ抽出して示した図である。
【図３】本発明によって使用されるコンフィグレーションファイルの構造の一例を示す図である。
【図４】本発明実施形態の動作を説明するために引用したフローチャートである。
【図５】本発明実施形態の動作を説明するために引用したフローチャートである。
【符号の説明】
１…サーバシステム（プロセス生成管理装置）、２…クライアント装置、３…ネットワーク、４…サーバプロセス群（＃１〜＃４）、５…サービス振り分けプロセス、６…リクエスト受け付け用ポート、１１…サービス要求受信部、１２…サービス振分処理部、１３…サーバプロセス実行部、１４…待機プロセス生成部、１５…常駐プロセス生成部、１６…サービス拒否応答部
【図１】
2004062542.tif 000003
【図２】
2004062542.tif 000004
【図３】
2004062542.tif 000005
【図４】
2004062542.tif 000006
【図５】
2004062542.tif 000007