JP2005196262A - 処理スケジュールの管理方法、リソース情報の作成方法、サーバ、クライアント、処理スケジュールの管理プログラム、リソース情報の作成プログラム - Google Patents

処理スケジュールの管理方法、リソース情報の作成方法、サーバ、クライアント、処理スケジュールの管理プログラム、リソース情報の作成プログラム Download PDF

Info

Publication number
JP2005196262A
JP2005196262A JP2003435297A JP2003435297A JP2005196262A JP 2005196262 A JP2005196262 A JP 2005196262A JP 2003435297 A JP2003435297 A JP 2003435297A JP 2003435297 A JP2003435297 A JP 2003435297A JP 2005196262 A JP2005196262 A JP 2005196262A
Authority
JP
Japan
Prior art keywords
service
queue
request message
service request
resource information
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.)
Granted
Application number
JP2003435297A
Other languages
English (en)
Other versions
JP4109624B2 (ja
Inventor
Kiyonori Honda
清典 本多
Toru Shimotori
亨 霜鳥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003435297A priority Critical patent/JP4109624B2/ja
Publication of JP2005196262A publication Critical patent/JP2005196262A/ja
Application granted granted Critical
Publication of JP4109624B2 publication Critical patent/JP4109624B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 特定のサービスの実行を要求するサービス要求電文が連続してサービスグループ別キューに格納された場合であっても、サービス要求電文に記載されたサービスを待たせることなく実行し、リソースを有効に利用し、サーバの処理能力を発揮させるキューを実現することを目的とする。
【解決手段】 特定サービスを要求するサービス要求電文400が連続してサービスグループ別キュー231に格納された場合、特定のサービスの実行を要求するサービス要求電文専用のリソース別キュー232を動的に作成した上で、これらのサービス要求電文400を格納し、別途、サービスを実行することとした。またサービス要求電文400にはリソース情報430を付加し、それにもとづいて特定のサービス要求するサービス要求電文の分類を行うこととした。
【選択図】 図3

Description

本発明は、クライアントサーバシステムにおけるスケジュールキューを用いた処理スケジュールの管理方法、その方法を実現するサーバ及びプログラム、並びに処理スケジュールの管理方法で用いるリソース情報の作成方法、その方法を実現するクライアント及びプログラムに関する。
サーバの機能を複数のコンピュータに分散し、ネットワークを介してオンライントランザクション処理を行う分散コンピューティングの代表的な例にクライアントサーバシステムがある。クライアントサーバシステムでは、サーバとクライアントとがネットワークを介して接続されており、クライアントはサーバに対してサービスを要求し、これに対してサーバは、処理や結果の返信等のサービスを実行する。クライアントとサーバ間の通信には、RPC(Remote Procedure Call)方式が利用される。RPC方式は、遠隔地に存在するコンピュータ上のプログラムをネットワークを介して呼び出すこと(利用すること)、又はそのような遠隔呼び出し(遠隔利用)を可能にしたインターフェイスであり、複数のコンピュータを使った分散処理が可能となる。
クライアントサーバシステムが、例えばインターネットを利用して構成されており、不特定多数のクライアントからサーバに対して、多数のサービス要求がほぼ同時に行われた場合、サーバは要求に対応することができなくなり、処理能力の低下やさらにはシステムダウンなどの事態を招く恐れがある。この問題は、多数の端末が接続されているLAN(Local Area Network)においても、同様に発生する可能性がある。
このような事態が発生することを防止するために、サーバに対してサービスを要求する際には、キューイング方式が利用される。キューイング方式とは、クライアントが要求するサービスを記載したサービス要求電文を作成してサーバへ送信し、サーバは受信したサービス要求電文を到着順にスケジュールキュー(待ち行列とも言う。以後、キューと略称する。)に格納した後、サービス要求電文をキューから順番に取り出して、サービス要求電文に記載されたサービスを実行するものである。つまりキューは、サービス要求電文を到着順に格納し蓄積する機能を有する。キューを用いることにより、サーバは、受信するサービス要求電文の流量を制限することができ、多量のサービスがほぼ同時に要求された場合でも、一つずつサービスを実行する負荷分散が可能となる。その結果、処理能力の低下、さらにはシステムダウンなどの事態を招く恐れはなくなる。またキューからのサービス要求電文の取り出しを制御することにより、例えば特定のクライアントからのサービス要求電文を優先的に取り出してサービスを実行するなどの優先制御を実現できる。このキューイング方式は、流量制御のために一般的に利用されている技術である。
キューは、サーバのシステムリソース(オペレーティングシステムが管理するセマフォ、共用メモリ、ファイル記述子、ハードディスク、メッセージ待ち行列などを意味する)上に作成され、一般的にはハードディスクドライブ(HDD)上にファイルとして作成されることが多い。ファイルのサイズは、オペレーティングシステムにより上限が定められており、このためキューに格納するサービス要求電文のサイズが大きい場合、あまり多くの数のサービス要求電文を格納することはできないこととなる。
この問題を解決するため特許文献1では、HDD上に複数のキューを作成し、それぞれのキューにサービス要求電文を格納することとしている。またキューにサービス要求電文が格納された順番にキューの番号を格納するポインタを用意し、それによってサービス要求電文のキューへの格納とキューから取り出しの順番を管理することとしている。
しかしながら特許文献1で提案しているようなHDD上に複数のキューを作成する方法、例えばサービスの種類毎にキューを作成する方法では、サービスの種類の数(キューの数)が少なく、キューとして利用されるHDDの容量が少なければ特に問題は生じない。しかしサービスの種類の数(キューの数)が多くなり、キューとして利用されるHDDの容量が大きくなれば、他の用途で用いるHDDの領域は圧迫され、またHDDへのアクセス時間が長くなるなどの問題を生じ、サーバの処理能力の低下をもたらすこととなる。
そこでサービスの種類の数が多い場合には、複数のサービスをまとめてグループ化し、それに対して一つのキューを作成する方法が考えられる。この方法によりキューが使用するHDD容量の増加を防止でき、限りあるシステムリソースを有効に利用することが可能となる。以下、このようにして作成したキューを「サービスグループ別キュー」と呼ぶことにする。
特開平09−167145号公報(段落0012〜0021)
しかしながら、サーバにサービスグループ別キューが一つだけしか存在せず、サービスグループ別キューに格納された順番にサービス要求電文に記載されたサービスを実行することを方針とする場合、特定のサービスを要求するサービス要求電文(=特定のリソースを使用するサービス要求電文)が連続してサービスグループ別キューに格納されたときには、特定のサービスを要求するサービス要求電文が格納した順番で処理されるため、結果的に、特定のサービスの実行に必要なリソースのみが使用されることとなる。その結果、他のサービス要求電文に記載されたサービスの実行に必要なリソースは使用されていないにもかかわらず、他のサービス要求電文はサービスを実行できずに待たされることとなり、サーバの処理能力が十分に発揮されないという問題を生じる。ここでリソースとは、プログラムの実行単位であるプロセスやスレッド及びプロセスやスレッドが動作する際に必要とするものを意味し、システムリソースを含む場合もある。
例えば図4に示す様に、複数のクライアントから要求された「サービスAを要求するサービス要求電文(サービスA要求電文)」及び「サービスBを要求するサービス要求電文(サービスB要求電文)」が、サービスグループ別キュー231に格納されていた場合、サービスBが利用するリソースが、サービスAが利用するリソースとは異なり、サービスAとサービスBは同時に実行することが可能であるにもかかわらず、「サービスA要求電文」に記載されたサービスAの実行が全て完了するまで、「サービスB要求電文」に記載されたサービスBは実行されずに待たされることとなる。このためサービスBが利用するリソースは、サービスAが実行されている間、利用されず無駄になっている。
そこで本発明は、サービスの実行を待たせることがなくなり、リソースを有効に利用でき、サーバの処理能力を発揮させる処理スケジュールの管理方法、管理装置及び管理プログラムを提供することを主たる目的とする。
前記課題を解決するため、本発明は、特定のサービスを要求するサービス要求電文が連続してサービスグループ別キューに格納された場合、特定のサービスを要求するサービス要求電文を格納する専用のキュー(「リソース別キュー」と呼ぶ)を別途、作成した上で、サービスグループ別キューから特定のサービスを要求するサービス要求電文を取り出してリソース別キューに格納することとした。またリソース別キューから特定のサービスを要求するサービス要求電文を順次取り出して、記載されたサービスを実行すると共に、サービスグループ別キューに残されたサービス要求電文に記載されたサービスを実行することとした。さらにサービス要求電文には、リソース情報(後記)を付加し、それにもとづいて特定のサービス要求するサービス要求電文を選択することとした。
本発明によれば、サーバのリソースを有効に利用することができるようになり、その結果、サービス要求電文に記載されたサービスの実行を待たせることがなくなり、サーバの処理能力を十分に発揮させることができる。
次に本発明の実施形態について、適宜図面を参照しながら詳細に説明する。まず本発明を実現するための手段とその作用を説明する。
処理スケジュールの管理方法では、受信手段が、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納する手順と、キュー検査手段が、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査する手順と、リソース情報を検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合に、キュー生成手段が、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成する手順と、サービス要求電文移動手段が、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納する手順と、第1の取り出し手段が、サービス要求電文をサービスグループ別キューから取り出して、第1の処理手段へ送ると共に、少なくとも一つ以上ある第2の取り出し手段が、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、少なくとも一つ以上ある第2の処理手段へ送る手順とを実行する。
このようにすることにより、クライアントからリソース情報の付加されたサービス要求電文を受信してサービスグループ別キューへ格納した後、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査し、その結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成し、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納した後、サービス要求電文をサービスグループ別キューから取り出して、第1の処理手段へ送ると共に、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、第2の処理手段へ送ることができる。
処理スケジュールの管理方法では、キュー検査手段が、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報内のサービス名を検査し、連続して格納されているサービス名が一致するサービス要求電文の数を数えて総数を得る。
このようにすることにより、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報内のサービス名を検査し、連続して格納されているサービス名が一致するサービス要求電文の数を数えて総数を得ることができる。
処理スケジュールの管理方法では、キュー検査手段が、所定の時間毎に、またはサービスグループ別キュー内のサービス要求電文の数が上限値に達したことを契機として、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報の検査を実行する。
このようにすることにより、所定の時間毎に、またはサービスグループ別キュー内のサービス要求電文の数が上限値に達したことを契機として、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査することができる。
リソース情報の作成方法では、サービス要求電文作成手段が、サービス要求電文を作成する手順と、リソース情報作成付加手段が、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加する手順と、送信手段が、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信する手順とを実行する。
このようにすることにより、サービス要求電文を作成した後、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加し、その後、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信することができる。
リソース情報の作成方法では、リソース情報は、複数のサービスをグループ化したサービスグループの名称であるサービスグループ名と、サービスグループごとに作成されるサービスグループ別キューのIDと、クライアントが要求するサービスの名称であるサービス名と、リソース情報にもとづいて作成されるリソース別キューのIDとから構成される。
このようにすることにより、リソース情報として、複数のサービスをグループ化したサービスグループの名称であるサービスグループ名と、サービスグループごとに作成されるサービスグループ別キューのIDと、クライアントが要求するサービスの名称であるサービス名と、リソース情報にもとづいて作成されるリソース別キューのIDとを利用することができる。
サーバは、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納する受信手段と、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査するキュー検査手段と、リソース情報を検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合に、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成するキュー生成手段と、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納するサービス要求電文移動手段と、サービス要求電文をサービスグループ別キューから取り出して、第1の処理手段へ送る、第1の取り出し手段と、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、少なくとも一つ以上ある第2の処理手段へ送る、少なくとも一つ以上ある第2の取り出し手段とを備える。
このようにすることにより、サーバは、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納した後、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査し、検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成し、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納した後、サービス要求電文をサービスグループ別キューから取り出して、第1の処理手段へ送り、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、第2の処理手段へ送ることできる。
クライアントは、サービス要求電文を作成するサービス要求電文作成手段と、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加するリソース情報作成付加手段と、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信する送信手段とを備える。
このようにすることにより、クライアントは、サービス要求電文を作成した後、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加し、その後、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信することができる。
処理スケジュールの管理プログラムは、サーバに、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納する受信機能と、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査するキュー検査機能と、リソース情報を検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合に、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成するキュー生成機能と、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納するサービス要求電文移動機能と、サービス要求電文をサービスグループ別キューから取り出して、第1の処理手段へ送る、第1の取り出し機能と、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、少なくとも一つ以上ある第2の処理手段へ送る、少なくとも一つ以上ある第2のサービス処理機能とを有する。
このようにすることにより、サーバは、クライアントからリソース情報の付加されたサービス要求電文を受信しサービスグループ別キューへ格納した後、サービスグループ別キューに格納されたサービス要求電文に付加されたリソース情報を検査し、検査した結果、特定のサービスを要求するサービス要求電文がサービスグループ別キューに所定の数以上格納されていることを検出した場合、特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成し、特定のサービスを要求するサービス要求電文をサービスグループ別キューから取り出してリソース別キューへ格納した後、サービス要求電文をサービスグループ別キューから取り出して、第1の処理手段へ送り、特定のサービスを要求するサービス要求電文をリソース別キューから取り出して、少なくとも一つ以上ある第2の処理手段へ送ることができる。
リソース情報の作成プログラムは、クライアントに、サービス要求電文を作成するサービス要求電文作成機能と、リソース情報を作成し、必要な場合、作成したリソース情報をサービス要求電文へ付加するリソース情報作成付加機能と、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信する送信機能とを有する。
このようにすることにより、クライアントは、サービス要求電文を作成した後、リソース情報を作成して、必要な場合、作成したリソース情報をサービス要求電文へ付加し、その後、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバへ送信することができる。
次に本発明の実施形態に係る構成を説明する。図1は、分散コンピューティングシステムの代表例であるクライアントサーバシステムの構成図である。クライアントサーバシステムは、複数のクライアント1とサーバ2及びそれらを接続するネットワーク3から構成される。クライアント1には、一般的にはパーソナルコンピュータが利用されるが、それに限らず他の情報処理装置でも構わない。ネットワーク3は、LANやインターネット、専用線等が利用される。またクライアント1とサーバ2との間の通信プロトコルには、一般的には、TCP/IP(Transmission Control Protocol/Internet Protocol)が使用される。
クライアント1の構成を図2に示す。クライアント1は、サービス要求電文作成手段11、リソース情報作成付加手段12、送信手段13により構成される。サービス要求電文作成手段11は、サーバに要求するサービスを記載したサービス要求電文を作成する。ここで「電文」とは、例えば、インターネット上を伝送するIPパケットやLAN上を伝送するEthernet(R)のパケットを意味し、「サービス要求電文」とは、クライアントがサーバに対して要求するサービスを記載したパケットを意味している。リソース情報作成付加手段12は、リソース情報(後述)を作成し、必要な場合、サービス要求電文にリソース情報を付加する。送信手段13は、サービス要求電文またはリソース情報を付加したサービス要求電文をサーバ2へ送信する。
サーバ2の構成を図3に示す。サーバ2は、受信手段21、格納手段22、キュー管理手段23、電文取出手段24、サービス処理手段25、キュー制御手段26、送信手段27から構成される。またキュー制御手段26は、キュー生成手段261、キュー検査手段262、サービス要求電文移動手段263から構成される。受信手段21は、クライアント1からサービス要求電文を受信し、格納手段22へ送る。格納手段22は、受信したサービス要求電文を記載されたサービスに従って分類し、キューに格納する。キュー管理手段23には、キュー制御手段26内のキュー生成手段261により、動的にキューが生成される。ここで「動的」とは、新たなサービスの要求によりキューを生成する必要が生じた場合に、新たにキューを生成してサービス要求電文を格納し、格納した全てのサービス要求電文の処理が完了した後、解消されることを意味する。電文取出手段24は、キューからサービス要求電文を取り出し、サービス処理手段へ送る。サービス処理手段25は、サービス要求電文に記載されたサービスを実行する。キュー生成手段261は、キュー管理手段にキューを動的に生成する。キュー検査手段262は、サービス要求電文の内容を検査する。サービス要求電文移動手段263は、キュー管理手段に生成した2つのキューの間で、具体的には後記するサービスグループ別キューとリソース別キューとの間で、サービス要求電文を移動する。送信手段27は、実行したサービスの結果をクライアント1へ送信する。
キュー管理手段23において生成されるキューは、通常、サービス要求電文に記載されたサービスの種類毎に生成されるが、サービスの種類が多い場合には、複数の種類のサービスをまとめたサービスグループ毎に一つサービスグループ別キュー231が生成されることが多い。サービスグループ別キュー231には、グループに属するサービスを要求するサービス要求電文が格納される。格納するサービス要求電文は、複数の異なるクライアントから送信されたものでも構わない。
図4は、サービスグループ別キューへのサービス要求電文の格納を模式的に示した模式図である。クライアント1より送信された同じサービスグループに属するサービスA、B、Cを要求する「サービスA要求電文」「サービスB要求電文」「サービスC要求電文」は、サーバ2への到着順にサービスグループ別キューへ格納され、方針に従って順番に処理される。
キュー生成手段261は、特定のサービスを要求するサービス要求電文が連続してサービスグループ別キューに格納されている場合には、キュー管理手段23に、リソース別キュー232を作成する。リソース別キュー232は、特定のサービスを要求するサービス要求電文を格納するために、特定のサービスを要求するサービス要求電文に記載されたリソース情報にもとづいて動的に作成される。
キュー生成手段261により新たにキューが生成された場合、それに応じて電文取出手段24には、キューからサービス要求電文を取り出す取出手段が動的に生成される。図3には、取出手段A241と取出手段B242の2つの取出手段が生成された様子を示している。
キュー生成手段261により新たにキューが生成された場合、それに応じてサービス処理手段25には、サービス要求電文に記載されたサービスを実行する処理手段が動的に生成される。図3には、処理手段A251と処理手段B252の2つの処理手段が生成された様子を示している。
図5はサービス要求電文のデータ構造を示す。サービス要求電文400は、RPCパケットを用いて実現される。サービス要求電文400は、ヘッダ部410とデータ部420から構成され、リソース情報430は、ヘッダ部410の一部に付加される。
図6にリソース情報のデータ構造を示す。リソース情報430には、複数の種類のサービスをまとめたサービスグループの名称であるサービスグループ名431、サービスグループ毎に作成されるキューであるサービスグループ別キューのID432、クライアントが要求するサービスの名称であるサービス名433、リソース別キューのID434が付加されている。
以下、図7と図8を用い、必要に応じて図1〜6を参照して、スケジュールキューの管理方法の動作を詳細に説明する。
図7は、クライアント1におけるサービス要求電文400の作成と送信の処理を示すフローチャートである。クライアント1内のサービス要求電文作成手段11は、サーバ2に対して要求するサービスを記載したサービス要求電文を作成し、リソース情報作成付加手段12へ送る(S100)。リソース情報作成付加手段12は、サービス要求電文に記載されたサービスの種類を参照して、特定の順序で処理する必要があるサービスであるか否かを判断し(S101)、必要がある場合(Yesの場合)、サービスグループ名431、サービスグループ別キューのID432及びサービス名433から構成されるリソース情報430をサービス要求電文のヘッダに付加して送信手段13へ送り(S102)、必要がない場合(Noの場合)、リソース情報を付加しない通常のサービス要求電文を送信手段13へ送る(S103)。送信手段13は、受け取ったサービス要求電文をサーバ2へ送信する(S104)。
図8、図9は、サーバ2におけるリソース別キュー222の作成とサービス要求電文400の格納と処理を示すフローチャートである。サーバ2内の受信手段21は、クライアント1からサービス要求電文400を受信し(S200)、キュー格納手段22は、受信したサービス要求電文400に記載されたサービスに従ってサービス要求電文を分類して、キュー管理手段23内に生成されたサービスグループ別キュー231に格納する(S201)。キュー制御手段26内のキュー検査手段262は、格納されているサービス要求電文400の数が上限値を超えているか、または前回の検査から所定の時間が経過したかの判断を行いない(S202)、超えていないまたは経過していない場合(Noの場合)、S200に戻って処理を継続する。超えているまたは経過している場合(Yesの場合)、サービスグループ別キュー231内の全てのサービス要求電文400のリソース情報430に記載されているサービス名433を検査し、特定のサービスを要求するサービス要求電文400の数を数える(S203)。数えた結果、特定のサービスを要求するサービス要求電文400が所定の数以上存在するか否かを判断し(S204)、存在しない場合(Noの場合)、処理を終了する。存在する場合(Yesの場合)、キュー生成手段261は、リソース別キュー232を作成し、そのIDを決める(S205)。
次にサービス要求電文移動手段263は、サービスグループ別キュー231から特定のサービスを要求するサービス要求電文400を取り出し(S206)、取り出したサービス要求電文400のリソース情報430内に、リソース別キューのID434を書きこむ(S207)。そして取り出してリソース別キューのIDを書きこんだサービス要求電文400を、作成したリソース別キュー232に格納する(S208)。サービスグループ別キュー231内に、特定のサービスを要求するサービス要求電文400が、存在するか否かを判断し(S209)、まだ存在する場合(Yesの場合)、S206に戻って処理を継続する。サービスグループ別キュー221から特定のサービスを要求するサービス要求電文400を全て取り出した場合(Noの場合)、電文取出手段24に生成した取出手段B242は、リソース別キュー232内に格納されている特定のサービスを要求するサービス要求電文400を順番に取り出して、サービス処理手段25へ送る(S210)。
サービス処理手段25に生成した処理手段B252は、送られてきた特定のサービスを要求するサービス要求電文に記載されたサービスを実行する(S211)。またS210、S211と共に、電文取出手段24に生成した取出手段A241は、サービスグループ別キュー231に残された他のサービス要求電文を順番に取り出して、サービス処理手段25へ送る(S212)。サービス処理手段25に生成した処理手段A251は、送られてきたサービス要求電文に記載されたサービスを実行する(S213)。なお、取出手段A、取出手段B、処理手段A、処理手段Bは、それぞれ特許請求の範囲に記載の第1の取り出し手段、第2の取り出し手段、第1の処理手段、第2の処理手段に相当する。また、図8、図9の中に記載されている記号a、bは、図8と図9の同一の記号間で処理が接続していることを示している。
本実施形態を実施することにより、以下のような効果を得ることができる。
サーバ2は、サービスグループ別キューに連続して格納されているサービス名が一致するサービス要求電文の総数を得ることができ、サービスグループ別キューに格納されているサービス要求電文に付加されたリソース情報を検査することができる。またサーバ2は、特定のサービスを要求するサービス要求電文が連続してサービスグループ別キューに格納されている場合でも、リソースを有効に利用することができ、サービスの要求が待たされることも少なくなり、その結果、サーバの処理能力を発揮させることが可能となる。
クライアント1は、処理スケジュール管理方法で利用されるリソース情報を作成し、サーバへ提供することができる
以上、処理スケジュールの管理方法及びリソース情報の作成方法に係るサーバとクライアントの構成、動作、そして効果について説明した。前記した説明では、サービス要求電文に記載されたサービスの実行は、装置としてのサーバ(サーバ装置)によって行われるものとして説明した。しかしサーバはサーバ装置として実体を有するものだけでなく、情報処理装置内にプログラムなどにより情報処理装置の一機能として仮想的に実現されることもあり、本発明を適用するサーバは、そのような仮想的なサーバであってもよい。
また前記した説明では、サーバはサービス処理手段を内蔵しており、キューの生成とサービスの処理を同じ装置内で実行する構成として説明した。しかしサービス処理手段を分離して、サーバの外部に存在する構成とすることも可能である。その場合、サーバはサービスの実行を外部に依頼し、その結果のみ得ることとなる。
本発明の実施の形態に係るサーバクライアントシステムの全体構成を示す図である。 本発明の実施の形態に係るクライアントの構成を示す図である。 本発明の実施の形態に係るサーバの構成を示す図である。 本発明の実施の形態に係るサービスグループ別キューへのサービス要求電文の格納を模式的に示した図である。 本発明の実施の形態に係るサービス要求電文のデータ構造を示す図である。 本発明の実施の形態に係るリソース情報のデータ構造を示す図である。 クライアントにおけるサービス要求電文の作成と送信の処理を示すフローチャートである。 サーバにおけるリソース別キューの作成とサービス要求電文の格納の処理を示すフローチャート(前半部分)である。 サーバにおけるリソース別キューの作成とサービス要求電文の格納の処理を示すフローチャート(後半部分)である。
符号の説明
1 クライアント
2 サーバ
3 ネットワーク
11 サービス要求電文作成手段
12 リソース情報作成付加手段
13 送信手段(クライアント)
21 受信手段
22 格納手段
23 キュー管理手段
231 サービスグループ別キュー
232 リソース別キュー
24 電文取出手段
241 取出手段A(第1の取り出し手段)
242 取出手段B(第2の取り出し手段)
25 サービス処理手段
251 処理手段A(第1の処理手段)
252 処理手段B(第2の処理手段)
26 キュー制御手段
261 キュー生成手段
262 キュー検査手段
263 サービス要求電文移動手段
27 送信手段(サーバ)
400 サービス要求電文
410 ヘッダ
420 データ
430 リソース情報
431 サービスグループ名
432 サービスグループ別キューのID
433 サービス名
434 リソース別キューのID

Claims (9)

  1. ネットワークを介して接続されたクライアントからの要求に応じてサービスを提供するサーバが、スケジュールキューを用いてサービス要求電文を処理するスケジュールを管理する処理スケジュールの管理方法であって、
    受信手段が、前記クライアントからリソース情報の付加された前記サービス要求電文を受信しサービスグループ別キューへ格納する手順と、
    キュー検査手段が、前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報を検査する手順と、
    前記リソース情報を検査した結果、特定のサービスを要求するサービス要求電文が前記サービスグループ別キューに所定の数以上格納されていることを検出した場合に、
    キュー生成手段が、前記特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成する手順と、
    サービス要求電文移動手段が、前記特定のサービスを要求するサービス要求電文を前記サービスグループ別キューから取り出して前記リソース別キューへ格納する手順と、
    第1の取り出し手段が、前記サービス要求電文を前記サービスグループ別キューから取り出して、第1の処理手段へ送ると共に、
    少なくとも一つ以上ある第2の取り出し手段が、前記特定のサービスを要求するサービス要求電文を前記リソース別キューから取り出して、少なくとも一つ以上ある第2の処理手段へ送る手順と
    を実行することを特徴とする処理スケジュールの管理方法。
  2. 前記キュー検査手段が、
    前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報内のサービス名を検査し、
    連続して格納されている前記サービス名が一致する前記サービス要求電文の数を数えて総数を得ること
    を特徴とする請求項1に記載の処理スケジュールの管理方法。
  3. 前記キュー検査手段が、
    所定の時間毎に、または前記サービスグループ別キュー内の前記サービス要求電文の数が上限値に達したことを契機として、
    前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報を検査すること
    を特徴とする請求項1または請求項2に記載の処理スケジュールの管理方式。
  4. ネットワークを介して接続されたサーバへサービスを要求するクライアントが、リソース情報を作成するリソース情報の作成方法であって、
    サービス要求電文作成手段が、サービス要求電文を作成する手順と、
    リソース情報作成付加手段が、前記リソース情報を作成し、必要な場合、前記サービス要求電文へ付加する手順と、
    送信手段が、前記サービス要求電文または前記リソース情報を付加したサービス要求電文を前記サーバへ送信する手順と
    を実行することを特徴とするリソース情報の作成方法。
  5. 前記リソース情報は、
    複数のサービスをグループ化したサービスグループの名称であるサービスグループ名と、
    サービスグループごとに作成されるサービスグループ別キューのIDと、
    前記クライアントが要求するサービスの名称であるサービス名と、
    前記リソース情報にもとづいて作成されるリソース別キューのIDと
    から構成されることを特徴とする請求項4に記載のリソース情報の作成方法。
  6. ネットワークを介して接続されたクライアントからの要求に応じてサービスを提供するサーバであって、
    前記クライアントからリソース情報の付加された前記サービス要求電文を受信しサービスグループ別キューへ格納する受信手段と、
    前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報を検査するキュー検査手段と、
    前記リソース情報を検査した結果、特定のサービスを要求するサービス要求電文が前記サービスグループ別キューに所定の数以上格納されていることを検出した場合に、
    前記特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成するキュー生成手段と、
    前記特定のサービスを要求するサービス要求電文を前記サービスグループ別キューから取り出して前記リソース別キューへ格納するサービス要求電文移動手段と、
    前記サービス要求電文を前記サービスグループ別キューから取り出して、第1の処理手段へ送る、第1の取り出し手段と、
    前記特定のサービスを要求するサービス要求電文を前記リソース別キューから取り出して、少なくとも一つ以上ある第2の処理手段へ送る、少なくとも一つ以上ある第2の取り出し手段と
    を備えることを特徴とするサーバ。
  7. ネットワークを介して接続されたサーバへサービスを要求するクライアントであって、
    サービス要求電文を作成するサービス要求電文作成手段と、
    前記リソース情報を作成し、必要な場合、前記サービス要求電文へ付加するリソース情報作成付加手段と、
    前記サービス要求電文または前記リソース情報を付加したサービス要求電文を前記サーバへ送信する送信手段と
    を備えることを特徴とするクライアント。
  8. ネットワークを介して接続されたクライアントからの要求に応じてサービスを提供するサーバに、スケジュールキューを用いてサービス要求電文を処理するスケジュールを管理させる処理スケジュールの管理プログラムであって、
    前記サーバに、
    前記クライアントからリソース情報の付加された前記サービス要求電文を受信しサービスグループ別キューへ格納する受信機能と、
    前記サービスグループ別キューに格納された前記サービス要求電文に付加された前記リソース情報を検査するキュー検査機能と、
    前記リソース情報を検査した結果、特定のサービスを要求するサービス要求電文が前記サービスグループ別キューに所定の数以上格納されていることを検出した場合に、
    前記特定のサービスを要求するサービス要求電文を格納するためのリソース別キューを別途作成するキュー生成機能と、
    前記特定のサービスを要求するサービス要求電文を前記サービスグループ別キューから取り出して前記リソース別キューへ格納するサービス要求電文移動機能と、
    前記サービス要求電文を前記サービスグループ別キューから取り出して、第1の処理手段へ送る、第1の取り出し機能と、
    前記特定のサービスを要求するサービス要求電文を前記リソース別キューから取り出して、少なくとも一つ以上ある第2の処理手段へ送る、少なくとも一つ以上ある第2のサービス処理機能と
    を実現させることを特徴とする処理スケジュールの管理プログラム。
  9. ネットワークを介して接続されたサーバへサービスを要求するクライアントに、リソース情報を作成させるリソース情報の作成プログラムであって、
    前記クライアントに、
    サービス要求電文を作成するサービス要求電文作成機能と、
    前記リソース情報を作成し、必要な場合、前記サービス要求電文へ付加するリソース情報作成付加機能と、
    前記サービス要求電文または前記リソース情報を付加したサービス要求電文を前記サーバへ送信する送信機能と
    を実現させることを特徴とするリソース情報の作成プログラム。
JP2003435297A 2003-12-26 2003-12-26 処理スケジュールの管理方法、サーバ、処理スケジュールの管理プログラム Expired - Fee Related JP4109624B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003435297A JP4109624B2 (ja) 2003-12-26 2003-12-26 処理スケジュールの管理方法、サーバ、処理スケジュールの管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003435297A JP4109624B2 (ja) 2003-12-26 2003-12-26 処理スケジュールの管理方法、サーバ、処理スケジュールの管理プログラム

Publications (2)

Publication Number Publication Date
JP2005196262A true JP2005196262A (ja) 2005-07-21
JP4109624B2 JP4109624B2 (ja) 2008-07-02

Family

ID=34815452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003435297A Expired - Fee Related JP4109624B2 (ja) 2003-12-26 2003-12-26 処理スケジュールの管理方法、サーバ、処理スケジュールの管理プログラム

Country Status (1)

Country Link
JP (1) JP4109624B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011096249A1 (ja) * 2010-02-05 2011-08-11 日本電気株式会社 負荷制御装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011096249A1 (ja) * 2010-02-05 2011-08-11 日本電気株式会社 負荷制御装置
JP2011164736A (ja) * 2010-02-05 2011-08-25 Nec Corp 負荷制御装置
CN102782653A (zh) * 2010-02-05 2012-11-14 日本电气株式会社 负载控制设备
US9086910B2 (en) 2010-02-05 2015-07-21 Nec Corporation Load control device

Also Published As

Publication number Publication date
JP4109624B2 (ja) 2008-07-02

Similar Documents

Publication Publication Date Title
JP4900982B2 (ja) サーバ・クラスタにおいてフェイルオーバを管理するための方法、フェイルオーバ・サーバ及びコンピュータ・プログラム
JP4144897B2 (ja) 共通作業キュー環境における最適格サーバ
US10673969B2 (en) Scalable data feed system
EP3346379B1 (en) Database management system with dynamic allocation of database requests
US9513833B2 (en) Asynchronous processing of mapping information
EP3149921B1 (en) Providing router information according to a programmatic interface
US10944683B1 (en) Hybrid queue system for request throttling
CN107315972A (zh) 一种大数据非结构化文件动态脱敏方法及系统
CN103248670A (zh) 计算机网络环境下的连接管理
US6934761B1 (en) User level web server cache control of in-kernel http cache
JP5479710B2 (ja) データを処理するためのプロセッサ‐サーバ・ハイブリッド・システムおよび方法
CA2896154C (en) Accessing payload portions of client requests
Faraji et al. Design considerations for GPU‐aware collective communications in MPI
JP2004046372A (ja) 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体
EP3539278B1 (en) Method and system for affinity load balancing
JP2008124977A (ja) メッセージ配送方法、装置及びプログラム
JP4109624B2 (ja) 処理スケジュールの管理方法、サーバ、処理スケジュールの管理プログラム
JP2019532399A (ja) スケーラブルメッセージングシステムにおけるデータ複製
US11210089B2 (en) Vector send operation for message-based communication
JP4786115B2 (ja) 計算機システム
JP2006031238A (ja) メッセージ転送制御方法、メッセージ転送制御プログラムおよびメッセージキューイング装置
JP2021040259A (ja) 計算機、データ制御方法及びデータストアシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080404

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140411

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees