(57)【要約】【課題】  特定のサービスの実行を要求するサービス要求電文が連続してサービスグループ別キューに格納された場合であっても、サービス要求電文に記載されたサービスを待たせることなく実行し、リソースを有効に利用し、サーバの処理能力を発揮させるキューを実現することを目的とする。【解決手段】  特定サービスを要求するサービス要求電文４００が連続してサービスグループ別キュー２３１に格納された場合、特定のサービスの実行を要求するサービス要求電文専用のリソース別キュー２３２を動的に作成した上で、これらのサービス要求電文４００を格納し、別途、サービスを実行することとした。またサービス要求電文４００にはリソース情報４３０を付加し、それにもとづいて特定のサービス要求するサービス要求電文の分類を行うこととした。【選択図】      図３
2005196262.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたクライアントからの要求に応じてサービスを提供するサーバが、スケジュールキューを用いてサービス要求電文を処理するスケジュールを管理する処理スケジュールの管理方法であって、
受信手段が、前記クライアントからリソース情報の付加された前記サービス要求電文を受信しサービスグループ別キューへ格納する手順と、
キュー検査手段が、前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報を検査する手順と、
前記リソース情報を検査した結果、特定のサービスを要求するサービス要求電文が前記サービスグループ別キューに所定の数以上格納されていることを検出した場合に、
キュー生成手段が、前記特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成する手順と、
サービス要求電文移動手段が、前記特定のサービスを要求するサービス要求電文を前記サービスグループ別キューから取り出して前記リソース別キューへ格納する手順と、
第１の取り出し手段が、前記サービス要求電文を前記サービスグループ別キューから取り出して、第１の処理手段へ送ると共に、
少なくとも一つ以上ある第２の取り出し手段が、前記特定のサービスを要求するサービス要求電文を前記リソース別キューから取り出して、少なくとも一つ以上ある第２の処理手段へ送る手順と
を実行することを特徴とする処理スケジュールの管理方法。
【請求項２】
前記キュー検査手段が、
前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報内のサービス名を検査し、
連続して格納されている前記サービス名が一致する前記サービス要求電文の数を数えて総数を得ること
を特徴とする請求項１に記載の処理スケジュールの管理方法。
【請求項３】
前記キュー検査手段が、
所定の時間毎に、または前記サービスグループ別キュー内の前記サービス要求電文の数が上限値に達したことを契機として、
前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報を検査すること
を特徴とする請求項１または請求項２に記載の処理スケジュールの管理方式。
【請求項４】
ネットワークを介して接続されたサーバへサービスを要求するクライアントが、リソース情報を作成するリソース情報の作成方法であって、
サービス要求電文作成手段が、サービス要求電文を作成する手順と、
リソース情報作成付加手段が、前記リソース情報を作成し、必要な場合、前記サービス要求電文へ付加する手順と、
送信手段が、前記サービス要求電文または前記リソース情報を付加したサービス要求電文を前記サーバへ送信する手順と
を実行することを特徴とするリソース情報の作成方法。
【請求項５】
前記リソース情報は、
複数のサービスをグループ化したサービスグループの名称であるサービスグループ名と、
サービスグループごとに作成されるサービスグループ別キューのＩＤと、
前記クライアントが要求するサービスの名称であるサービス名と、
前記リソース情報にもとづいて作成されるリソース別キューのＩＤと
から構成されることを特徴とする請求項４に記載のリソース情報の作成方法。
【請求項６】
ネットワークを介して接続されたクライアントからの要求に応じてサービスを提供するサーバであって、
前記クライアントからリソース情報の付加された前記サービス要求電文を受信しサービスグループ別キューへ格納する受信手段と、
前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報を検査するキュー検査手段と、
前記リソース情報を検査した結果、特定のサービスを要求するサービス要求電文が前記サービスグループ別キューに所定の数以上格納されていることを検出した場合に、
前記特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成するキュー生成手段と、
前記特定のサービスを要求するサービス要求電文を前記サービスグループ別キューから取り出して前記リソース別キューへ格納するサービス要求電文移動手段と、
前記サービス要求電文を前記サービスグループ別キューから取り出して、第１の処理手段へ送る、第１の取り出し手段と、
前記特定のサービスを要求するサービス要求電文を前記リソース別キューから取り出して、少なくとも一つ以上ある第２の処理手段へ送る、少なくとも一つ以上ある第２の取り出し手段と
を備えることを特徴とするサーバ。
【請求項７】
ネットワークを介して接続されたサーバへサービスを要求するクライアントであって、
サービス要求電文を作成するサービス要求電文作成手段と、
前記リソース情報を作成し、必要な場合、前記サービス要求電文へ付加するリソース情報作成付加手段と、
前記サービス要求電文または前記リソース情報を付加したサービス要求電文を前記サーバへ送信する送信手段と
を備えることを特徴とするクライアント。
【請求項８】
ネットワークを介して接続されたクライアントからの要求に応じてサービスを提供するサーバに、スケジュールキューを用いてサービス要求電文を処理するスケジュールを管理させる処理スケジュールの管理プログラムであって、
前記サーバに、
前記クライアントからリソース情報の付加された前記サービス要求電文を受信しサービスグループ別キューへ格納する受信機能と、
前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報を検査するキュー検査機能と、
前記リソース情報を検査した結果、特定のサービスを要求するサービス要求電文が前記サービスグループ別キューに所定の数以上格納されていることを検出した場合に、
前記特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成するキュー生成機能と、
前記特定のサービスを要求するサービス要求電文を前記サービスグループ別キューから取り出して前記リソース別キューへ格納するサービス要求電文移動機能と、
前記サービス要求電文を前記サービスグループ別キューから取り出して、第１の処理手段へ送る、第１の取り出し機能と、
前記特定のサービスを要求するサービス要求電文を前記リソース別キューから取り出して、少なくとも一つ以上ある第２の処理手段へ送る、少なくとも一つ以上ある第２のサービス処理機能と
を実現させることを特徴とする処理スケジュールの管理プログラム。
【請求項９】
ネットワークを介して接続されたサーバへサービスを要求するクライアントに、リソース情報を作成させるリソース情報の作成プログラムであって、
前記クライアントに、
サービス要求電文を作成するサービス要求電文作成機能と、
前記リソース情報を作成し、必要な場合、前記サービス要求電文へ付加するリソース情報作成付加機能と、
前記サービス要求電文または前記リソース情報を付加したサービス要求電文を前記サーバへ送信する送信機能と
を実現させることを特徴とするリソース情報の作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントサーバシステムにおけるスケジュールキューを用いた処理スケジュールの管理方法、その方法を実現するサーバ及びプログラム、並びに処理スケジュールの管理方法で用いるリソース情報の作成方法、その方法を実現するクライアント及びプログラムに関する。
【背景技術】
【０００２】
サーバの機能を複数のコンピュータに分散し、ネットワークを介してオンライントランザクション処理を行う分散コンピューティングの代表的な例にクライアントサーバシステムがある。クライアントサーバシステムでは、サーバとクライアントとがネットワークを介して接続されており、クライアントはサーバに対してサービスを要求し、これに対してサーバは、処理や結果の返信等のサービスを実行する。クライアントとサーバ間の通信には、ＲＰＣ（Remote Procedure Call）方式が利用される。ＲＰＣ方式は、遠隔地に存在するコンピュータ上のプログラムをネットワークを介して呼び出すこと(利用すること）、又はそのような遠隔呼び出し（遠隔利用）を可能にしたインターフェイスであり、複数のコンピュータを使った分散処理が可能となる。
【０００３】
クライアントサーバシステムが、例えばインターネットを利用して構成されており、不特定多数のクライアントからサーバに対して、多数のサービス要求がほぼ同時に行われた場合、サーバは要求に対応することができなくなり、処理能力の低下やさらにはシステムダウンなどの事態を招く恐れがある。この問題は、多数の端末が接続されているＬＡＮ（Local Area Network）においても、同様に発生する可能性がある。
【０００４】
このような事態が発生することを防止するために、サーバに対してサービスを要求する際には、キューイング方式が利用される。キューイング方式とは、クライアントが要求するサービスを記載したサービス要求電文を作成してサーバへ送信し、サーバは受信したサービス要求電文を到着順にスケジュールキュー（待ち行列とも言う。以後、キューと略称する。）に格納した後、サービス要求電文をキューから順番に取り出して、サービス要求電文に記載されたサービスを実行するものである。つまりキューは、サービス要求電文を到着順に格納し蓄積する機能を有する。キューを用いることにより、サーバは、受信するサービス要求電文の流量を制限することができ、多量のサービスがほぼ同時に要求された場合でも、一つずつサービスを実行する負荷分散が可能となる。その結果、処理能力の低下、さらにはシステムダウンなどの事態を招く恐れはなくなる。またキューからのサービス要求電文の取り出しを制御することにより、例えば特定のクライアントからのサービス要求電文を優先的に取り出してサービスを実行するなどの優先制御を実現できる。このキューイング方式は、流量制御のために一般的に利用されている技術である。
【０００５】
キューは、サーバのシステムリソース（オペレーティングシステムが管理するセマフォ、共用メモリ、ファイル記述子、ハードディスク、メッセージ待ち行列などを意味する）上に作成され、一般的にはハードディスクドライブ（ＨＤＤ）上にファイルとして作成されることが多い。ファイルのサイズは、オペレーティングシステムにより上限が定められており、このためキューに格納するサービス要求電文のサイズが大きい場合、あまり多くの数のサービス要求電文を格納することはできないこととなる。
【０００６】
この問題を解決するため特許文献１では、ＨＤＤ上に複数のキューを作成し、それぞれのキューにサービス要求電文を格納することとしている。またキューにサービス要求電文が格納された順番にキューの番号を格納するポインタを用意し、それによってサービス要求電文のキューへの格納とキューから取り出しの順番を管理することとしている。
【０００７】
しかしながら特許文献１で提案しているようなＨＤＤ上に複数のキューを作成する方法、例えばサービスの種類毎にキューを作成する方法では、サービスの種類の数（キューの数）が少なく、キューとして利用されるＨＤＤの容量が少なければ特に問題は生じない。しかしサービスの種類の数（キューの数）が多くなり、キューとして利用されるＨＤＤの容量が大きくなれば、他の用途で用いるＨＤＤの領域は圧迫され、またＨＤＤへのアクセス時間が長くなるなどの問題を生じ、サーバの処理能力の低下をもたらすこととなる。
【０００８】
そこでサービスの種類の数が多い場合には、複数のサービスをまとめてグループ化し、それに対して一つのキューを作成する方法が考えられる。この方法によりキューが使用するＨＤＤ容量の増加を防止でき、限りあるシステムリソースを有効に利用することが可能となる。以下、このようにして作成したキューを「サービスグループ別キュー」と呼ぶことにする。
【特許文献１】特開平０９−１６７１４５号公報（段落００１２〜００２１）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、サーバにサービスグループ別キューが一つだけしか存在せず、サービスグループ別キューに格納された順番にサービス要求電文に記載されたサービスを実行することを方針とする場合、特定のサービスを要求するサービス要求電文（＝特定のリソースを使用するサービス要求電文）が連続してサービスグループ別キューに格納されたときには、特定のサービスを要求するサービス要求電文が格納した順番で処理されるため、結果的に、特定のサービスの実行に必要なリソースのみが使用されることとなる。その結果、他のサービス要求電文に記載されたサービスの実行に必要なリソースは使用されていないにもかかわらず、他のサービス要求電文はサービスを実行できずに待たされることとなり、サーバの処理能力が十分に発揮されないという問題を生じる。ここでリソースとは、プログラムの実行単位であるプロセスやスレッド及びプロセスやスレッドが動作する際に必要とするものを意味し、システムリソースを含む場合もある。
【００１０】
例えば図４に示す様に、複数のクライアントから要求された「サービスＡを要求するサービス要求電文（サービスＡ要求電文）」及び「サービスＢを要求するサービス要求電文(サービスＢ要求電文）」が、サービスグループ別キュー２３１に格納されていた場合、サービスＢが利用するリソースが、サービスＡが利用するリソースとは異なり、サービスＡとサービスＢは同時に実行することが可能であるにもかかわらず、「サービスＡ要求電文」に記載されたサービスＡの実行が全て完了するまで、「サービスＢ要求電文」に記載されたサービスＢは実行されずに待たされることとなる。このためサービスＢが利用するリソースは、サービスＡが実行されている間、利用されず無駄になっている。
【００１１】
そこで本発明は、サービスの実行を待たせることがなくなり、リソースを有効に利用でき、サーバの処理能力を発揮させる処理スケジュールの管理方法、管理装置及び管理プログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【００１２】
前記課題を解決するため、本発明は、特定のサービスを要求するサービス要求電文が連続してサービスグループ別キューに格納された場合、特定のサービスを要求するサービス要求電文を格納する専用のキュー（「リソース別キュー」と呼ぶ）を別途、作成した上で、サービスグループ別キューから特定のサービスを要求するサービス要求電文を取り出してリソース別キューに格納することとした。またリソース別キューから特定のサービスを要求するサービス要求電文を順次取り出して、記載されたサービスを実行すると共に、サービスグループ別キューに残されたサービス要求電文に記載されたサービスを実行することとした。さらにサービス要求電文には、リソース情報（後記）を付加し、それにもとづいて特定のサービス要求するサービス要求電文を選択することとした。
【発明の効果】
【００１３】
本発明によれば、サーバのリソースを有効に利用することができるようになり、その結果、サービス要求電文に記載されたサービスの実行を待たせることがなくなり、サーバの処理能力を十分に発揮させることができる。
【発明を実施するための最良の形態】
【００１４】
次に本発明の実施形態について、適宜図面を参照しながら詳細に説明する。まず本発明を実現するための手段とその作用を説明する。
処理スケジュールの管理方法では、受信手段が、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納する手順と、キュー検査手段が、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査する手順と、リソース情報を検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合に、キュー生成手段が、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成する手順と、サービス要求電文移動手段が、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納する手順と、第１の取り出し手段が、サービス要求電文をサービスグループ別キューから取り出して、第１の処理手段へ送ると共に、少なくとも一つ以上ある第２の取り出し手段が、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、少なくとも一つ以上ある第２の処理手段へ送る手順とを実行する。
【００１５】
このようにすることにより、クライアントからリソース情報の付加されたサービス要求電文を受信してサービスグループ別キューへ格納した後、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査し、その結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成し、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納した後、サービス要求電文をサービスグループ別キューから取り出して、第１の処理手段へ送ると共に、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、第２の処理手段へ送ることができる。
【００１６】
処理スケジュールの管理方法では、キュー検査手段が、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報内のサービス名を検査し、連続して格納されているサービス名が一致するサービス要求電文の数を数えて総数を得る。
【００１７】
このようにすることにより、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報内のサービス名を検査し、連続して格納されているサービス名が一致するサービス要求電文の数を数えて総数を得ることができる。
【００１８】
処理スケジュールの管理方法では、キュー検査手段が、所定の時間毎に、またはサービスグループ別キュー内のサービス要求電文の数が上限値に達したことを契機として、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報の検査を実行する。
【００１９】
このようにすることにより、所定の時間毎に、またはサービスグループ別キュー内のサービス要求電文の数が上限値に達したことを契機として、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査することができる。
【００２０】
リソース情報の作成方法では、サービス要求電文作成手段が、サービス要求電文を作成する手順と、リソース情報作成付加手段が、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加する手順と、送信手段が、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信する手順とを実行する。
【００２１】
このようにすることにより、サービス要求電文を作成した後、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加し、その後、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信することができる。
【００２２】
リソース情報の作成方法では、リソース情報は、複数のサービスをグループ化したサービスグループの名称であるサービスグループ名と、サービスグループごとに作成されるサービスグループ別キューのＩＤと、クライアントが要求するサービスの名称であるサービス名と、リソース情報にもとづいて作成されるリソース別キューのＩＤとから構成される。
【００２３】
このようにすることにより、リソース情報として、複数のサービスをグループ化したサービスグループの名称であるサービスグループ名と、サービスグループごとに作成されるサービスグループ別キューのＩＤと、クライアントが要求するサービスの名称であるサービス名と、リソース情報にもとづいて作成されるリソース別キューのＩＤとを利用することができる。
【００２４】
サーバは、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納する受信手段と、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査するキュー検査手段と、リソース情報を検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合に、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成するキュー生成手段と、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納するサービス要求電文移動手段と、サービス要求電文をサービスグループ別キューから取り出して、第１の処理手段へ送る、第１の取り出し手段と、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、少なくとも一つ以上ある第２の処理手段へ送る、少なくとも一つ以上ある第２の取り出し手段とを備える。
【００２５】
このようにすることにより、サーバは、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納した後、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査し、検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成し、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納した後、サービス要求電文をサービスグループ別キューから取り出して、第１の処理手段へ送り、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、第２の処理手段へ送ることできる。
【００２６】
クライアントは、サービス要求電文を作成するサービス要求電文作成手段と、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加するリソース情報作成付加手段と、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信する送信手段とを備える。
【００２７】
このようにすることにより、クライアントは、サービス要求電文を作成した後、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加し、その後、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信することができる。
【００２８】
処理スケジュールの管理プログラムは、サーバに、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納する受信機能と、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査するキュー検査機能と、リソース情報を検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合に、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成するキュー生成機能と、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納するサービス要求電文移動機能と、サービス要求電文をサービスグループ別キューから取り出して、第１の処理手段へ送る、第１の取り出し機能と、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、少なくとも一つ以上ある第２の処理手段へ送る、少なくとも一つ以上ある第２のサービス処理機能とを有する。
【００２９】
このようにすることにより、サーバは、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納した後、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査し、検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成し、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納した後、サービス要求電文をサービスグループ別キューから取り出して、第１の処理手段へ送り、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、少なくとも一つ以上ある第２の処理手段へ送ることができる。
【００３０】
リソース情報の作成プログラムは、クライアントに、サービス要求電文を作成するサービス要求電文作成機能と、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加するリソース情報作成付加機能と、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信する送信機能とを有する。
【００３１】
このようにすることにより、クライアントは、サービス要求電文を作成した後、リソース情報を作成して、必要な場合、作成したリソース情報をサービス要求電文へ付加し、その後、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信することができる。
【００３２】
次に本発明の実施形態に係る構成を説明する。図１は、分散コンピューティングシステムの代表例であるクライアントサーバシステムの構成図である。クライアントサーバシステムは、複数のクライアント１とサーバ２及びそれらを接続するネットワーク３から構成される。クライアント１には、一般的にはパーソナルコンピュータが利用されるが、それに限らず他の情報処理装置でも構わない。ネットワーク３は、ＬＡＮやインターネット、専用線等が利用される。またクライアント１とサーバ２との間の通信プロトコルには、一般的には、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）が使用される。
【００３３】
クライアント１の構成を図２に示す。クライアント１は、サービス要求電文作成手段１１、リソース情報作成付加手段１２、送信手段１３により構成される。サービス要求電文作成手段１１は、サーバに要求するサービスを記載したサービス要求電文を作成する。ここで「電文」とは、例えば、インターネット上を伝送するＩＰパケットやＬＡＮ上を伝送するＥｔｈｅｒｎｅｔ（Ｒ）のパケットを意味し、「サービス要求電文」とは、クライアントがサーバに対して要求するサービスを記載したパケットを意味している。リソース情報作成付加手段１２は、リソース情報（後述）を作成し、必要な場合、サービス要求電文にリソース情報を付加する。送信手段１３は、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバ２へ送信する。
【００３４】
サーバ２の構成を図３に示す。サーバ２は、受信手段２１、格納手段２２、キュー管理手段２３、電文取出手段２４、サービス処理手段２５、キュー制御手段２６、送信手段２７から構成される。またキュー制御手段２６は、キュー生成手段２６１、キュー検査手段２６２、サービス要求電文移動手段２６３から構成される。受信手段２１は、クライアント１からサービス要求電文を受信し、格納手段２２へ送る。格納手段２２は、受信したサービス要求電文を記載されたサービスに従って分類し、キューに格納する。キュー管理手段２３には、キュー制御手段２６内のキュー生成手段２６１により、動的にキューが生成される。ここで「動的」とは、新たなサービスの要求によりキューを生成する必要が生じた場合に、新たにキューを生成してサービス要求電文を格納し、格納した全てのサービス要求電文の処理が完了した後、解消されることを意味する。電文取出手段２４は、キューからサービス要求電文を取り出し、サービス処理手段へ送る。サービス処理手段２５は、サービス要求電文に記載されたサービスを実行する。キュー生成手段２６１は、キュー管理手段にキューを動的に生成する。キュー検査手段２６２は、サービス要求電文の内容を検査する。サービス要求電文移動手段２６３は、キュー管理手段に生成した２つのキューの間で、具体的には後記するサービスグループ別キューとリソース別キューとの間で、サービス要求電文を移動する。送信手段２７は、実行したサービスの結果をクライアント１へ送信する。
【００３５】
キュー管理手段２３において生成されるキューは、通常、サービス要求電文に記載されたサービスの種類毎に生成されるが、サービスの種類が多い場合には、複数の種類のサービスをまとめたサービスグループ毎に一つサービスグループ別キュー２３１が生成されることが多い。サービスグループ別キュー２３１には、グループに属するサービスを要求するサービス要求電文が格納される。格納するサービス要求電文は、複数の異なるクライアントから送信されたものでも構わない。
【００３６】
図４は、サービスグループ別キューへのサービス要求電文の格納を模式的に示した模式図である。クライアント１より送信された同じサービスグループに属するサービスＡ、Ｂ、Ｃを要求する「サービスＡ要求電文」「サービスＢ要求電文」「サービスＣ要求電文」は、サーバ２への到着順にサービスグループ別キューへ格納され、方針に従って順番に処理される。
【００３７】
キュー生成手段２６１は、特定のサービスを要求するサービス要求電文が連続してサービスグループ別キューに格納されている場合には、キュー管理手段２３に、リソース別キュー２３２を作成する。リソース別キュー２３２は、特定のサービスを要求するサービス要求電文を格納するために、特定のサービスを要求するサービス要求電文に記載されたリソース情報にもとづいて動的に作成される。
【００３８】
キュー生成手段２６１により新たにキューが生成された場合、それに応じて電文取出手段２４には、キューからサービス要求電文を取り出す取出手段が動的に生成される。図３には、取出手段Ａ２４１と取出手段Ｂ２４２の２つの取出手段が生成された様子を示している。
【００３９】
キュー生成手段２６１により新たにキューが生成された場合、それに応じてサービス処理手段２５には、サービス要求電文に記載されたサービスを実行する処理手段が動的に生成される。図３には、処理手段Ａ２５１と処理手段Ｂ２５２の２つの処理手段が生成された様子を示している。
【００４０】
図５はサービス要求電文のデータ構造を示す。サービス要求電文４００は、ＲＰＣパケットを用いて実現される。サービス要求電文４００は、ヘッダ部４１０とデータ部４２０から構成され、リソース情報４３０は、ヘッダ部４１０の一部に付加される。
【００４１】
図６にリソース情報のデータ構造を示す。リソース情報４３０には、複数の種類のサービスをまとめたサービスグループの名称であるサービスグループ名４３１、サービスグループ毎に作成されるキューであるサービスグループ別キューのＩＤ４３２、クライアントが要求するサービスの名称であるサービス名４３３、リソース別キューのＩＤ４３４が付加されている。
【００４２】
以下、図７と図８を用い、必要に応じて図１〜６を参照して、スケジュールキューの管理方法の動作を詳細に説明する。
【００４３】
図７は、クライアント１におけるサービス要求電文４００の作成と送信の処理を示すフローチャートである。クライアント１内のサービス要求電文作成手段１１は、サーバ２に対して要求するサービスを記載したサービス要求電文を作成し、リソース情報作成付加手段１２へ送る（Ｓ１００）。リソース情報作成付加手段１２は、サービス要求電文に記載されたサービスの種類を参照して、特定の順序で処理する必要があるサービスであるか否かを判断し（Ｓ１０１）、必要がある場合（Ｙｅｓの場合）、サービスグループ名４３１、サービスグループ別キューのＩＤ４３２及びサービス名４３３から構成されるリソース情報４３０をサービス要求電文のヘッダに付加して送信手段１３へ送り（Ｓ１０２）、必要がない場合（Ｎｏの場合）、リソース情報を付加しない通常のサービス要求電文を送信手段１３へ送る（Ｓ１０３）。送信手段１３は、受け取ったサービス要求電文をサーバ２へ送信する（Ｓ１０４）。
【００４４】
図８、図９は、サーバ２におけるリソース別キュー２２２の作成とサービス要求電文４００の格納と処理を示すフローチャートである。サーバ２内の受信手段２１は、クライアント１からサービス要求電文４００を受信し（Ｓ２００）、キュー格納手段２２は、受信したサービス要求電文４００に記載されたサービスに従ってサービス要求電文を分類して、キュー管理手段２３内に生成されたサービスグループ別キュー２３１に格納する（Ｓ２０１）。キュー制御手段２６内のキュー検査手段２６２は、格納されているサービス要求電文４００の数が上限値を超えているか、または前回の検査から所定の時間が経過したかの判断を行いない（Ｓ２０２）、超えていないまたは経過していない場合（Ｎｏの場合）、Ｓ２００に戻って処理を継続する。超えているまたは経過している場合（Ｙｅｓの場合）、サービスグループ別キュー２３１内の全てのサービス要求電文４００のリソース情報４３０に記載されているサービス名４３３を検査し、特定のサービスを要求するサービス要求電文４００の数を数える（Ｓ２０３）。数えた結果、特定のサービスを要求するサービス要求電文４００が所定の数以上存在するか否かを判断し（Ｓ２０４）、存在しない場合（Ｎｏの場合）、処理を終了する。存在する場合（Ｙｅｓの場合）、キュー生成手段２６１は、リソース別キュー２３２を作成し、そのＩＤを決める（Ｓ２０５）。
【００４５】
次にサービス要求電文移動手段２６３は、サービスグループ別キュー２３１から特定のサービスを要求するサービス要求電文４００を取り出し（Ｓ２０６）、取り出したサービス要求電文４００のリソース情報４３０内に、リソース別キューのＩＤ４３４を書きこむ（Ｓ２０７）。そして取り出してリソース別キューのＩＤを書きこんだサービス要求電文４００を、作成したリソース別キュー２３２に格納する（Ｓ２０８）。サービスグループ別キュー２３１内に、特定のサービスを要求するサービス要求電文４００が、存在するか否かを判断し（Ｓ２０９）、まだ存在する場合（Ｙｅｓの場合）、Ｓ２０６に戻って処理を継続する。サービスグループ別キュー２２１から特定のサービスを要求するサービス要求電文４００を全て取り出した場合（Ｎｏの場合）、電文取出手段２４に生成した取出手段Ｂ２４２は、リソース別キュー２３２内に格納されている特定のサービスを要求するサービス要求電文４００を順番に取り出して、サービス処理手段２５へ送る（Ｓ２１０）。
【００４６】
サービス処理手段２５に生成した処理手段Ｂ２５２は、送られてきた特定のサービスを要求するサービス要求電文に記載されたサービスを実行する（Ｓ２１１）。またＳ２１０、Ｓ２１１と共に、電文取出手段２４に生成した取出手段Ａ２４１は、サービスグループ別キュー２３１に残された他のサービス要求電文を順番に取り出して、サービス処理手段２５へ送る（Ｓ２１２）。サービス処理手段２５に生成した処理手段Ａ２５１は、送られてきたサービス要求電文に記載されたサービスを実行する（Ｓ２１３）。なお、取出手段Ａ、取出手段Ｂ、処理手段Ａ、処理手段Ｂは、それぞれ特許請求の範囲に記載の第１の取り出し手段、第２の取り出し手段、第１の処理手段、第２の処理手段に相当する。また、図８、図９の中に記載されている記号ａ、ｂは、図８と図９の同一の記号間で処理が接続していることを示している。
【００４７】
本実施形態を実施することにより、以下のような効果を得ることができる。
サーバ２は、サービスグループ別キューに連続して格納されているサービス名が一致するサービス要求電文の総数を得ることができ、サービスグループ別キューに格納されているサービス要求電文に付加されたリソース情報を検査することができる。またサーバ２は、特定のサービスを要求するサービス要求電文が連続してサービスグループ別キューに格納されている場合でも、リソースを有効に利用することができ、サービスの要求が待たされることも少なくなり、その結果、サーバの処理能力を発揮させることが可能となる。
【００４８】
クライアント１は、処理スケジュール管理方法で利用されるリソース情報を作成し、サーバへ提供することができる
【００４９】
以上、処理スケジュールの管理方法及びリソース情報の作成方法に係るサーバとクライアントの構成、動作、そして効果について説明した。前記した説明では、サービス要求電文に記載されたサービスの実行は、装置としてのサーバ（サーバ装置）によって行われるものとして説明した。しかしサーバはサーバ装置として実体を有するものだけでなく、情報処理装置内にプログラムなどにより情報処理装置の一機能として仮想的に実現されることもあり、本発明を適用するサーバは、そのような仮想的なサーバであってもよい。
【００５０】
また前記した説明では、サーバはサービス処理手段を内蔵しており、キューの生成とサービスの処理を同じ装置内で実行する構成として説明した。しかしサービス処理手段を分離して、サーバの外部に存在する構成とすることも可能である。その場合、サーバはサービスの実行を外部に依頼し、その結果のみ得ることとなる。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態に係るサーバクライアントシステムの全体構成を示す図である。
【図２】本発明の実施の形態に係るクライアントの構成を示す図である。
【図３】本発明の実施の形態に係るサーバの構成を示す図である。
【図４】本発明の実施の形態に係るサービスグループ別キューへのサービス要求電文の格納を模式的に示した図である。
【図５】本発明の実施の形態に係るサービス要求電文のデータ構造を示す図である。
【図６】本発明の実施の形態に係るリソース情報のデータ構造を示す図である。
【図７】クライアントにおけるサービス要求電文の作成と送信の処理を示すフローチャートである。
【図８】サーバにおけるリソース別キューの作成とサービス要求電文の格納の処理を示すフローチャート（前半部分）である。
【図９】サーバにおけるリソース別キューの作成とサービス要求電文の格納の処理を示すフローチャート（後半部分）である。
【符号の説明】
【００５２】
１      クライアント
２      サーバ
３      ネットワーク
１１    サービス要求電文作成手段
１２    リソース情報作成付加手段
１３    送信手段（クライアント）
２１    受信手段
２２    格納手段
２３    キュー管理手段
２３１  サービスグループ別キュー
２３２  リソース別キュー
２４    電文取出手段
２４１  取出手段Ａ（第１の取り出し手段）
２４２  取出手段Ｂ（第２の取り出し手段）
２５    サービス処理手段
２５１  処理手段Ａ（第１の処理手段）
２５２  処理手段Ｂ（第２の処理手段）
２６    キュー制御手段
２６１  キュー生成手段
２６２  キュー検査手段
２６３  サービス要求電文移動手段
２７    送信手段（サーバ）
４００  サービス要求電文
４１０  ヘッダ
４２０  データ
４３０  リソース情報
４３１  サービスグループ名
４３２  サービスグループ別キューのＩＤ
４３３  サービス名
４３４  リソース別キューのＩＤ
【図１】
2005196262.tif 000003
【図２】
2005196262.tif 000004
【図３】
2005196262.tif 000005
【図４】
2005196262.tif 000006
【図５】
2005196262.tif 000007
【図６】
2005196262.tif 000008
【図７】
2005196262.tif 000009
【図８】
2005196262.tif 000010
【図９】
2005196262.tif 000011