JP5494021B2 - サーバ装置、情報処理方法、及び、プログラム - Google Patents

サーバ装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
JP5494021B2
JP5494021B2 JP2010047409A JP2010047409A JP5494021B2 JP 5494021 B2 JP5494021 B2 JP 5494021B2 JP 2010047409 A JP2010047409 A JP 2010047409A JP 2010047409 A JP2010047409 A JP 2010047409A JP 5494021 B2 JP5494021 B2 JP 5494021B2
Authority
JP
Japan
Prior art keywords
thread
processing
type
processing request
specific type
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.)
Expired - Fee Related
Application number
JP2010047409A
Other languages
English (en)
Other versions
JP2011181032A (ja
Inventor
朗康 吉田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2010047409A priority Critical patent/JP5494021B2/ja
Publication of JP2011181032A publication Critical patent/JP2011181032A/ja
Application granted granted Critical
Publication of JP5494021B2 publication Critical patent/JP5494021B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を複数のスレッドを用いて行うサーバ装置に関する。
処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成するサーバ装置が知られている。この種のサーバ装置の一つは、非特許文献1に記載の通信プロトコルであるNFS(Network File System)に従った処理要求をクライアント装置から受信し、受信した処理要求に基づく処理を、いずれの処理も実行中でないスレッドに実行させる。
S. Shepler、外、「Network File System (NFS) version 4 Protocol」、RFC(Request for Comments) 3530、IETF(Internet Engineering Task Force)、2003年4月
ところで、処理要求は、ある記憶装置に、他の記憶装置に記憶されているデータを複製したデータを書き込む旨を要求するバックアップ処理要求、又は、現時点の実際の状態(例えば、気温、携帯電話機の位置、又は、預金残高等)を表すデータを記憶装置に書き込む旨を要求する即時処理要求等である。
ここで、バックアップ処理要求に基づく処理は、処理要求が送信された時点から比較的大きく遅れて実行されてもよいことが多い。一方、即時処理要求に基づく処理は、処理要求が送信された時点から可能な限り早期に実行されることが望ましい。
そこで、サーバ装置は、複数のスレッドの一部を、即時処理要求に基づく処理(即時処理)を専用に実行するスレッドとして設定するように構成されることが好適であると考えられる。しかしながら、この場合、即時処理要求がクライアント装置から送信されない期間が比較的長く継続し、且つ、バックアップ処理要求がクライアント装置から比較的多く送信されると、サーバ装置がバックアップ処理要求に基づく処理を実行する時期が無駄に遅くなってしまうという問題があった。
なお、この問題は、HTTP(HyperText Transfer Protocol)等の他の通信プロトコルに従った処理要求を受信するサーバ装置においても同様に生じる。
このため、本発明の目的は、上述した課題である「特定の処理要求に基づく処理を十分に早期に実行できないこと、及び、それ以外の処理要求に基づく処理を実行する時期が無駄に遅くなってしまうこと」を解決することが可能なサーバ装置を提供することにある。
かかる目的を達成するため本発明の一形態であるサーバ装置は、
処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成するスレッド生成手段と、
クライアント装置から上記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、上記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力する処理要求出力手段と、
上記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整するスレッド数比調整手段と、
を備える。
また、本発明の他の形態である情報処理方法は、
処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成し、
クライアント装置から上記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、上記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力し、
上記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整する方法である。
また、本発明の他の形態であるプログラムは、
サーバ装置に、
処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成するスレッド生成手段と、
クライアント装置から上記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、上記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力する処理要求出力手段と、
上記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整するスレッド数比調整手段と、
を実現させるためのプログラムである。
本発明は、以上のように構成されることにより、特定の処理要求に基づく処理を十分に早期に実行し、且つ、それ以外の処理要求に基づく処理を実行する時期が無駄に遅くなることを防止することができる。
本発明の第1実施形態に係る情報処理システムの概略構成を表す図である。 本発明の第1実施形態に係るサーバ装置の概略構成を表す図である。 本発明の第1実施形態に係るサーバ装置の機能の概略を表すブロック図である。 本発明の第1実施形態に係るサーバ装置のCPUが実行するプログラムを示したフローチャートである。 本発明の第1実施形態に係るサーバ装置のCPUが実行するプログラムを示したフローチャートである。 本発明の第1実施形態に係るサーバ装置のCPUが実行するプログラムを示したフローチャートである。 本発明の第2実施形態に係るサーバ装置の概略構成を表す図である。
以下、本発明に係る、サーバ装置、情報処理方法、及び、プログラム、の各実施形態について図1〜図7を参照しながら説明する。
<第1実施形態>
(構成)
図1に示したように、第1実施形態に係る情報処理システム1は、サーバ装置10と、複数のクライアント装置20a,20b,…と、を含む。サーバ装置10、及び、クライアント装置20a,20b,…は、IP(Internet Protocol)網を構成する通信回線NWを介して、互いに通信可能に接続されている。
サーバ装置10は、ネットワーク接続ストレージ装置(NAS;Network Attached Storage)である。なお、サーバ装置10は、NAS以外のファイルサーバ装置であってもよい。また、サーバ装置10は、パーソナル・コンピュータ等の情報処理装置であってもよい。
サーバ装置10は、図2に示したように、通信装置11と、中央処理装置(CPU;Central Processing Unit)12と、メモリ13と、ストレージ制御部14と、ストレージ部15と、を備える。通信装置11、CPU12、メモリ13、及び、ストレージ制御部14は、バスを介して互いにデータを授受可能に接続されている。また、ストレージ制御部14及びストレージ部15も、バスを介して互いにデータを授受可能に接続されている。
通信装置11は、通信回線NWを介して、クライアント装置20a,20b,…のそれぞれと互いに通信可能に接続されている。
ストレージ部15は、記憶装置としてのハードディスク駆動装置(HDD;Hard Disk Drive)を備える。
ストレージ制御部14は、CPU12からの書込指示に従って、ストレージ部15にデータを書き込む(記憶させる)。また、ストレージ制御部14は、CPU12からの読出指示に従って、ストレージ部15に記憶されているデータを読み出す。
サーバ装置10は、ストレージ部15に記憶されているプログラムをCPU12が実行することにより、後述する機能を実現するように構成されている。
クライアント装置20aは、パーソナル・コンピュータである。なお、クライアント装置20aは、携帯電話端末、PHS(Personal Handyphone System)、PDA(Personal Data Assistance、Personal Digital Assistant)、カーナビゲーション端末、又は、ゲーム端末等であってもよい。
クライアント装置20aは、図示しないCPU、記憶装置(メモリ及びHDD)、入力装置(本例では、キーボード及びマウス等)及び出力装置(本例では、ディスプレイ等)を備える。クライアント装置20aは、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
なお、クライアント装置20b,…もクライアント装置20aと同様の構成を有する。
(機能の概要)
サーバ装置10は、予め設定されたスレッド数だけスレッドを生成する。ここで、スレッドは、処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行う機能を有する。各クライアント装置20a,20b,…は、処理要求をサーバ装置10へ送信する。
本例では、処理要求は、NFS(Network File System)に従った情報である。また、処理要求は、バックアップ処理要求、又は、即時処理要求である。バックアップ処理要求は、ある記憶装置に、他の記憶装置に記憶されているデータを複製したデータを書き込む旨を要求する情報である。即時処理要求は、現時点の実際の状態(例えば、気温、携帯電話機の位置、又は、預金残高等)を表すデータを記憶装置に書き込む旨を要求する情報ある。
ところで、バックアップ処理要求に基づく処理(バックアップ処理)は、大量のデータを記憶装置に書き込む処理であることが多い。従って、サーバ装置10がバックアップ処理を実行している間、サーバ装置10の負荷が過大となる。その結果、サーバ装置10が、即時処理要求に基づく処理(即時処理)を早期に実行できない場合が生じる。
そこで、第1実施形態に係るサーバ装置10は、バックアップ処理を実行するために使用するスレッド数を制限する。その結果、バックアップ処理を実行することによるサーバ装置10の負荷を軽減できるので、即時処理を早期に実行することができる。
更に、サーバ装置10は、即時処理の実行速度に基づいてスレッド数比を調整する。スレッド数比は、即時処理を実行可能なスレッドの数の、バックアップ処理を実行可能なスレッドの数に対する比である。これにより、即時処理の実行速度を目標値に近づけることができる。
(機能)
次に、サーバ装置10の機能について、より具体的に説明する。
図3は、上記のように構成されたサーバ装置10の機能を表すブロック図である。この機能は、サーバ装置10のCPU12が後述する図4〜図6に示したフローチャートにより表されるプログラム等を実行することにより、実現される。
サーバ装置10の機能は、スレッド情報記憶部(スレッド情報記憶手段)31と、処理要求出力部(処理要求出力手段)32と、スレッド生成部(スレッド生成手段)33と、設定情報記憶部34と、特定種別処理速度取得部(特定種別処理速度取得手段)35と、スレッド数比調整部(スレッド数比調整手段)36と、を含む。
設定情報記憶部34は、予め設定されたスレッド数と、予め設定された目標処理速度と、を記憶している。スレッド数は、スレッド生成部33により生成されるスレッドの総数である。また、目標処理速度は、スレッド生成部33により生成されたスレッドにより実行される即時処理の実行速度(特定種別処理速度)の目標値である。
スレッド情報記憶部31は、スレッド生成部33により生成された、各スレッドを識別するためのスレッド識別情報と、当該スレッドが処理可能な処理要求の種別を特定するための処理可能種別特定情報と、を対応付けたスレッド情報を記憶する。
本例では、処理可能種別特定情報は、第1の処理可能種別特定情報、又は、第2の処理可能種別特定情報である。第1の処理可能種別特定情報は、スレッドが処理可能な処理要求の種別として、即時処理要求に基づく処理の種別(「即時処理」)を特定するための情報である。第2の処理可能種別特定情報は、スレッドが処理可能な処理要求の種別として、すべての種別(「汎用処理」)を特定するための情報である。
即ち、第1の処理可能種別特定情報と対応付けられたスレッド識別情報により識別されるスレッドは、即時処理要求に基づく処理のみを実行可能なスレッド(即時処理用スレッドTIa,…)である。また、第2の処理可能種別特定情報と対応付けられたスレッド識別情報により識別されるスレッドは、すべての処理要求(即ち、バックアップ処理要求、及び、即時処理要求の両方)に基づく処理を実行可能なスレッド(汎用スレッドTGa,…)である。
なお、即時処理要求に基づく処理の種別である「即時処理」は、本明細書において、特定種別とも呼ばれる。また、バックアップ処理要求に基づく処理の種別である「バックアップ処理」は、本明細書において、非特定種別とも呼ばれる。なお、非特定種別は、複数の種別を含んでいてもよい。
スレッド生成部33は、設定情報記憶部34に記憶されているスレッド数だけスレッドを生成する。
処理要求出力部32は、各クライアント装置20a,20b,…から処理要求を受信する(受け付ける)。
処理要求出力部32は、処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得する。本例では、処理要求出力部32は、処理要求を送信してきたクライアント装置20a,20b,…の位置を特定するためのアドレス情報(本例では、IPアドレス)に基づいて処理要求の種別を取得する。具体的には、処理要求出力部32は、IPアドレスの範囲を表す情報と、処理要求の種別と、を対応付けた情報を予め記憶し、当該情報に基づいて処理要求の種別を取得する。
なお、処理要求出力部32は、処理要求を送信してきたクライアント装置20a,20b,…のユーザを識別するためのユーザ識別情報、又は、処理要求に含まれる、処理を特定するための処理特定情報(例えば、書き込み又は読み出し等のオペレーションを表す情報、若しくは、データのアクセス先を特定するための情報(ファイルパス等)等)等に基づいて処理要求の種別を取得してもよい。また、処理要求出力部32は、アドレス情報、ユーザ識別情報、及び、処理特定情報の2つ以上を組み合わせた情報に基づいて処理要求の種別を取得してもよい。
処理要求出力部32は、取得された種別を特定するための処理可能種別特定情報と対応付けて、スレッド情報記憶部31に記憶されているスレッド識別情報により識別されるスレッドを、当該取得された種別と対応付けられたスレッドとして特定する。処理要求出力部32は、スレッド生成部33により生成されたスレッドのうちの、特定された(即ち、上記取得された種別と対応付けられた)スレッドへ、上記受信された処理要求を出力する。
このとき、処理要求出力部32は、上記取得された種別と対応付けられたスレッドのいずれもが処理を実行中である(即ち、空きスレッドが存在しない)場合、上記受信された処理要求をキュー(待ち行列)に追加することにより一次的に記憶する。本例では、処理要求出力部32は、取得された種別が「即時処理」である場合、受信された処理要求を、即時処理用キューQIに追加する。また、処理要求出力部32は、取得された種別が「バックアップ処理」である場合、受信された処理要求を、バックアップ処理用キューQBに追加する。
また、処理要求出力部32は、即時処理用キューQIに処理要求が存在する場合において、いずれかのスレッドが処理の実行を完了した場合、即時処理用キューQIから処理要求を取り出し、取り出した処理要求を当該スレッドへ出力する。
また、処理要求出力部32は、バックアップ処理用キューQBに処理要求が存在する場合において、種別としての「バックアップ処理」と対応付けられたスレッドのいずれかが処理の実行を完了した場合、バックアップ処理用キューQBから処理要求を取り出し、取り出した処理要求を当該スレッドへ出力する。
スレッド生成部33により生成された各スレッドTIa,TGa,…は、受け付けた処理要求に基づく処理を行う。具体的には、各スレッドTIa,TGa,…は、ストレージ制御部14へ、書込指示、又は、読出指示を出力する。
また、各スレッドTIa,TGa,…は、処理の実行を完了した場合、当該処理の基となった処理要求を送信してきたクライアント装置20a,20b,…へ、次の処理要求の送信を促す応答情報を送信する。
特定種別処理速度取得部35は、種別が「即時処理」(特定種別)である処理要求に基づいて、スレッド生成部33により生成されたスレッドにより実行される処理の実行速度(特定種別処理速度)を取得する。本例では、特定種別処理速度取得部35は、種別が「即時処理」(特定種別)である処理要求に基づいて、単位時間あたりにストレージ部15に書き込まれたデータの量を特定種別処理速度として取得する。
スレッド数比調整部36は、予め設定された調整周期が経過する毎に、スレッド数比を調整する。本例では、スレッド数比調整部36は、特定種別処理速度取得部35により取得された特定種別処理速度が、設定情報記憶部34に記憶されている目標処理速度よりも小さい場合、スレッド数比を大きくする。一方、スレッド数比調整部36は、特定種別処理速度取得部35により取得された特定種別処理速度が、設定情報記憶部34に記憶されている目標処理速度よりも大きい場合、スレッド数比を小さくする。
具体的には、スレッド数比調整部36は、特定種別処理速度が目標処理速度よりも小さい場合、スレッド情報記憶部31に記憶されている第2の処理可能種別特定情報の1つを第1の処理可能種別特定情報へ変更する。これにより、スレッド数比は大きくなる。なお、スレッド情報記憶部31に記憶されている第2の処理可能種別特定情報が1つしか存在しない場合、スレッド数比調整部36は、当該第2の処理可能種別特定情報を第1の処理可能種別特定情報へ変更しない。
一方、スレッド数比調整部36は、特定種別処理速度が目標処理速度よりも大きい場合、スレッド情報記憶部31に記憶されている第1の処理可能種別特定情報の1つを第2の処理可能種別特定情報へ変更する。これにより、スレッド数比は小さくなる。
このように、スレッド数比調整部36は、スレッド情報記憶部31に記憶されているスレッド情報を変更することにより、スレッド数比を調整する。
(作動)
次に、上述した情報処理システム1の作動について説明する。
先ず、クライアント装置20aが処理要求をサーバ装置10へ送信する。
一方、サーバ装置10は、サーバ装置10の起動時に、設定情報記憶部34に記憶されているスレッド数だけスレッドを生成する。
更に、サーバ装置10のCPU12は、図4にフローチャートにより示したプログラムを、スレッドの生成後に実行する。
具体的に述べると、サーバ装置10は、クライアント装置20a,20b,…から処理要求を受信する(受け付ける)まで待機する(ステップS101)。
そして、サーバ装置10は、クライアント装置20aから処理要求を受け付けると、「Yes」と判定してステップS102へ進み、受け付けた処理要求の種別を取得する。次いで、サーバ装置10は、空きスレッドが存在しているか否かを判定する(ステップS103)。
ここで、空きスレッドは、処理を実行中でないスレッドである。空きスレッドが存在している場合、サーバ装置10は、「Yes」と判定してステップS104へ進み、ステップS102にて取得された種別が「即時処理」であるか否かを判定する。
取得された種別が「即時処理」である場合、サーバ装置10は、「Yes」と判定してステップS105へ進み、空きスレッドの1つに、上記ステップS101にて受け付けられた処理要求に基づく処理を実行させる。そして、サーバ装置10は、ステップS101へ戻り、ステップS101〜ステップS109の処理を繰り返し実行する。
一方、取得された種別が「バックアップ処理」である場合、サーバ装置10は、ステップS104にて「No」と判定してステップS106へ進み、汎用スレッドが空きスレッドとして存在するか否かを判定する。
即ち、サーバ装置10は、処理を実行中でなく、且つ、第2の処理可能種別特定情報と対応付けて記憶されているスレッド識別情報により識別されるスレッド(汎用スレッド)が存在するか否かを判定する。
汎用スレッドが空きスレッドとして存在する場合、サーバ装置10は、「Yes」と判定してステップS107へ進み、空きスレッドとして存在する汎用スレッドの1つに、上記ステップS101にて受け付けられた処理要求に基づく処理を実行させる。そして、サーバ装置10は、ステップS101へ戻り、ステップS101〜ステップS109の処理を繰り返し実行する。
一方、汎用スレッドが空きスレッドとして存在しない場合、サーバ装置10は、ステップS106にて「No」と判定してステップS108へ進み、上記ステップS101にて受け付けられた処理要求をバックアップ処理用キューQBに追加する。そして、サーバ装置10は、ステップS101へ戻り、ステップS101〜ステップS109の処理を繰り返し実行する。
また、空きスレッドが存在していない場合、サーバ装置10は、ステップS103にて「No」と判定してステップS109へ進み、上記ステップS101にて受け付けられた処理要求をキューQI,QBに追加する。
具体的には、サーバ装置10は、取得された種別が「バックアップ処理」である場合、当該処理要求をバックアップ処理用キューQBに追加し、一方、取得された種別が「即時処理」である場合、当該処理要求を即時処理用キューQIに追加する。そして、サーバ装置10は、ステップS101へ戻り、ステップS101〜ステップS109の処理を繰り返し実行する。
また、サーバ装置10のCPU12は、図5にフローチャートにより示したプログラムを、スレッドの生成後に実行する。
具体的に述べると、サーバ装置10は、いずれかのスレッドが処理の実行を完了するまで待機する(ステップS201)。
そして、サーバ装置10は、いずれかのスレッドが処理の実行が完了すると、「Yes」と判定してステップS202へ進み、当該スレッドに、当該処理の基となった処理要求を送信してきたクライアント装置20a,20b,…へ応答情報を送信させる。
次いで、サーバ装置10は、即時処理用キューQIに処理要求が存在するか否かを判定する(ステップS203)。即時処理用キューQIに処理要求が存在する場合、サーバ装置10は、「Yes」と判定してステップS204へ進み、即時処理用キューQIから処理要求を取り出す。
更に、サーバ装置10は、取り出した処理要求に基づく処理を、上記スレッドに実行させる。そして、サーバ装置10は、ステップS201へ戻り、ステップS201〜ステップS207の処理を繰り返し実行する。
一方、即時処理用キューQIに処理要求が存在する場合、サーバ装置10は、ステップS203にて「No」と判定してステップS205へ進み、バックアップ処理用キューQBに処理要求が存在するか否かを判定する。
バックアップ処理用キューQBに処理要求が存在する場合、サーバ装置10は、「Yes」と判定してステップS206へ進み、処理の実行が完了したスレッドが、第2の処理可能種別特定情報と対応付けて記憶されているスレッド識別情報により識別されるスレッド(汎用スレッド)であるか否かを判定する。
処理の実行が完了したスレッドが汎用スレッドである場合、サーバ装置10は、「Yes」と判定してステップS207へ進み、バックアップ処理用キューQBから処理要求を取り出す。
更に、サーバ装置10は、取り出した処理要求に基づく処理を、上記スレッドに実行させる。そして、サーバ装置10は、ステップS201へ戻り、ステップS201〜ステップS207の処理を繰り返し実行する。
一方、処理の実行が完了したスレッドが汎用スレッドでない場合、サーバ装置10は、ステップS206にて「No」と判定してステップS207の処理を実行することなくステップS201へ戻る。
また、バックアップ処理用キューQBに処理要求が存在しない場合も、サーバ装置10は、ステップS205にて「No」と判定してステップS206,S207の処理を実行することなくステップS201へ戻る。
また、サーバ装置10のCPU12は、図6にフローチャートにより示したプログラムを、スレッドの生成後に実行する。
具体的に述べると、サーバ装置10は、特定種別処理速度を取得する(ステップS301)。次いで、サーバ装置10は、取得された特定種別処理速度が、設定情報記憶部34に記憶されている目標処理速度よりも小さいか否かを判定する(ステップS302)。
特定種別処理速度が目標処理速度よりも小さい場合、サーバ装置10は、「Yes」と判定してステップS303へ進み、スレッド情報記憶部31に記憶されている第2の処理可能種別特定情報の1つを第1の処理可能種別特定情報へ変更する。
これにより、スレッド数比は大きくなる。即ち、汎用スレッドの数が減少するとともに、即時処理用スレッドの数が増加する。この結果、特定種別処理速度が大きくなる。即ち、即時処理要求に基づく処理を十分に早期に実行することができる。
一方、特定種別処理速度が目標処理速度よりも大きい場合、サーバ装置10は、ステップS302にて「No」と判定してステップS304へ進み、スレッド情報記憶部31に記憶されている第1の処理可能種別特定情報の1つを第2の処理可能種別特定情報へ変更する。
これにより、スレッド数比は小さくなる。即ち、汎用スレッドの数が増加するとともに、即時処理用スレッドの数が減少する。この結果、特定種別処理速度が小さくなる。その結果、バックアップ処理要求に基づく処理を実行する時期が無駄に遅くなることを防止することができる。
その後、サーバ装置10は、ステップS305へ進み、予め設定された調整周期だけ待機する。そして、サーバ装置10は、ステップS301へ戻り、ステップS301〜ステップS305の処理を繰り返し実行する。
このようにして、サーバ装置10は、特定種別処理速度を目標処理速度に一致させるようにスレッド数比を調整する。
以上、説明したように、本発明の第1実施形態に係るサーバ装置10によれば、スレッド数比を適切に調整することにより、種別が特定種別(本例では、「即時処理」)である処理要求(即ち、特定の処理要求)に基づく処理を十分に早期に実行することができるとともに、種別が非特定種別(本例では、「バックアップ処理」)である処理要求(特定の処理要求以外の処理要求)に基づく処理を実行する時期が無駄に遅くなることを防止することができる。
更に、第1実施形態に係るサーバ装置10は、特定種別処理速度が目標処理速度よりも小さい場合、スレッド数比を大きくし、一方、特定種別処理速度が目標処理速度よりも大きい場合、スレッド数比を小さくするように構成されている。
これによれば、特定種別処理速度が目標処理速度よりも小さい場合、スレッド数比が大きくされる。従って、サーバ装置10は、種別が特定種別である処理要求に基づく処理を、より多くのスレッドを用いて実行することができる。この結果、特定種別処理速度を高めることができる。
一方、特定種別処理速度が目標処理速度よりも大きい場合、スレッド数比が小さくされる。従って、サーバ装置10は、種別が非特定種別である処理要求に基づく処理を、より多くのスレッドを用いて実行することができる。この結果、種別が非特定種別である処理要求に基づく処理の実行速度を高めることができる。
<第2実施形態>
次に、本発明の第2実施形態に係るサーバ装置について図7を参照しながら説明する。
第2実施形態に係るサーバ装置100は、
処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成するスレッド生成部(スレッド生成手段)101と、
クライアント装置から上記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、上記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力する処理要求出力部(処理要求出力手段)102と、
上記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整するスレッド数比調整部(スレッド数比調整手段)103と、
を備える。
これによれば、スレッド数比を適切に調整することにより、種別が特定種別である処理要求(即ち、特定の処理要求)に基づく処理を十分に早期に実行することができるとともに、種別が非特定種別である処理要求(特定の処理要求以外の処理要求)に基づく処理を実行する時期が無駄に遅くなることを防止することができる。
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
例えば、上記実施形態において、処理要求は、NFSに従った情報であったが、HTTP(HyperText Transfer Protocol)に従った情報であってもよい。
また、上記実施形態において、処理要求は、記憶装置にデータを書き込む旨を要求する情報であったが、記憶装置からデータを読み出す旨を要求する情報であってもよい。また、処理要求は、所定の演算処理を実行する旨を要求する情報であってもよい。
なお、上記実施形態においてサーバ装置の各機能は、CPUがプログラム(ソフトウェア)を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
また、上記実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
<付記>
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
(付記1)
処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成するスレッド生成手段と、
クライアント装置から前記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、前記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力する処理要求出力手段と、
前記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整するスレッド数比調整手段と、
を備えるサーバ装置。
これによれば、スレッド数比を適切に調整することにより、種別が特定種別である処理要求(即ち、特定の処理要求)に基づく処理を十分に早期に実行することができるとともに、種別が非特定種別である処理要求(特定の処理要求以外の処理要求)に基づく処理を実行する時期が無駄に遅くなることを防止することができる。
(付記2)
付記1に記載のサーバ装置であって、
前記スレッドを識別するためのスレッド識別情報と、当該スレッドが処理可能な処理要求の種別を特定するための処理可能種別特定情報と、を対応付けたスレッド情報を記憶するスレッド情報記憶手段を備え、
前記処理要求出力手段は、前記取得された種別を特定するための処理可能種別特定情報と対応付けて記憶されているスレッド識別情報により識別されるスレッドを、当該取得された種別と対応付けられたスレッドとして特定するように構成され、
前記スレッド数比調整手段は、前記記憶されているスレッド情報を変更することにより、前記スレッド数比を調整するように構成されたサーバ装置。
(付記3)
付記1又は付記2に記載のサーバ装置であって、
前記処理要求出力手段は、前記取得された種別と対応付けられたスレッドのいずれもが前記処理を実行中である場合、前記受け付けられた処理要求を一次的に記憶するとともに、当該種別と対応付けられたスレッドのいずれかが前記処理の実行を完了した場合に当該記憶されている処理要求を当該スレッドへ出力するように構成されたサーバ装置。
(付記4)
付記1乃至付記3のいずれか一項に記載のサーバ装置であって、
前記種別が前記特定種別である前記処理要求に基づいて前記スレッドにより実行される処理の実行速度である特定種別処理速度を取得する特定種別処理速度取得手段を備え、
前記スレッド数比調整手段は、
前記取得された特定種別処理速度が、予め設定された目標処理速度よりも小さい場合、前記スレッド数比を大きくし、一方、当該取得された特定種別処理速度が当該目標処理速度よりも大きい場合、前記スレッド数比を小さくするように構成されたサーバ装置。
これによれば、特定種別処理速度が目標処理速度よりも小さい場合、スレッド数比が大きくされる。従って、サーバ装置は、種別が特定種別である処理要求に基づく処理を、より多くのスレッドを用いて実行することができる。この結果、特定種別処理速度を高めることができる。
一方、特定種別処理速度が目標処理速度よりも大きい場合、スレッド数比が小さくされる。従って、サーバ装置は、種別が非特定種別である処理要求に基づく処理を、より多くのスレッドを用いて実行することができる。この結果、種別が非特定種別である処理要求に基づく処理の実行速度を高めることができる。
(付記5)
付記1乃至付記4のいずれか一項に記載のサーバ装置であって、
前記種別が前記非特定種別である前記処理要求は、ある記憶装置に、他の記憶装置に記憶されているデータを複製したデータを書き込む旨を要求するバックアップ処理要求であるサーバ装置。
ところで、ある記憶装置に、他の記憶装置に記憶されているデータを複製したデータを書き込むバックアップ処理は、処理要求が送信された時点から比較的大きく遅れて実行されてもよいことが多い。従って、上述したサーバ装置において、種別が非特定種別である処理要求がバックアップ処理要求であることが好適である。
(付記6)
付記1乃至付記5のいずれか一項に記載のサーバ装置であって、
前記スレッドが、前記処理の実行を完了した場合、前記クライアント装置へ、次の処理要求の送信を促す応答情報を送信するように構成されたサーバ装置。
(付記7)
付記1乃至付記6のいずれか一項に記載のサーバ装置であって、
前記処理要求出力手段は、前記クライアント装置の位置を特定するためのアドレス情報、前記クライアント装置のユーザを識別するためのユーザ識別情報、及び、前記処理要求に含まれる前記処理を特定するための処理特定情報のうちの少なくとも1つに基づいて前記種別を取得するように構成されたサーバ装置。
(付記8)
付記1乃至付記7のいずれか一項に記載のサーバ装置であって、
前記処理要求は、NFS(Network File System)、又は、HTTP(HyperText Transfer Protocol)に従った情報であるサーバ装置。
(付記9)
処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成し、
クライアント装置から前記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、前記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力し、
前記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整する、情報処理方法。
(付記10)
付記9に記載の情報処理方法であって、
前記スレッドを識別するためのスレッド識別情報と、当該スレッドが処理可能な処理要求の種別を特定するための処理可能種別特定情報と、を対応付けたスレッド情報を記憶する記憶装置に、前記取得された種別を特定するための処理可能種別特定情報と対応付けて記憶されているスレッド識別情報により識別されるスレッドを、当該取得された種別と対応付けられたスレッドとして特定し、
前記記憶されているスレッド情報を変更することにより、前記スレッド数比を調整する、情報処理方法。
(付記11)
サーバ装置に、
処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成するスレッド生成手段と、
クライアント装置から前記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、前記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力する処理要求出力手段と、
前記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整するスレッド数比調整手段と、
を実現させるためのプログラム。
(付記12)
付記11に記載のプログラムであって、
前記処理要求出力手段は、前記スレッドを識別するためのスレッド識別情報と、当該スレッドが処理可能な処理要求の種別を特定するための処理可能種別特定情報と、を対応付けたスレッド情報を記憶する記憶装置に、前記取得された種別を特定するための処理可能種別特定情報と対応付けて記憶されているスレッド識別情報により識別されるスレッドを、当該取得された種別と対応付けられたスレッドとして特定するように構成され、
前記スレッド数比調整手段は、前記記憶されているスレッド情報を変更することにより、前記スレッド数比を調整するように構成されたプログラム。
本発明は、処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を複数のスレッドを用いて行う、ネットワーク接続ストレージ装置、ファイルサーバ装置、及び、ウェブサーバ装置等に適用可能である。
1 情報処理システム
10 サーバ装置
11 通信装置
12 CPU
13 メモリ
14 ストレージ制御部
15 ストレージ部
20a,20b,… クライアント装置
31 スレッド情報記憶部
32 処理要求出力部
33 スレッド生成部
34 設定情報記憶部
35 特定種別処理速度取得部
36 スレッド数比調整部
100 サーバ装置
101 スレッド生成部
102 処理要求出力部
103 スレッド数比調整部
NW 通信回線

Claims (9)

  1. 処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成するスレッド生成手段と、
    クライアント装置から前記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、前記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力する処理要求出力手段と、
    前記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整するスレッド数比調整手段と、
    前記種別が前記特定種別である前記処理要求に基づいて前記スレッドにより実行される処理の実行速度である特定種別処理速度を取得する特定種別処理速度取得手段と、
    を備え、
    前記スレッド数比調整手段は、前記取得された特定種別処理速度が、予め設定された目標処理速度よりも小さい場合、前記スレッド数比を大きくし、一方、当該取得された特定種別処理速度が当該目標処理速度よりも大きい場合、前記スレッド数比を小さくするように構成されたサーバ装置。
  2. 請求項1に記載のサーバ装置であって、
    前記スレッドを識別するためのスレッド識別情報と、当該スレッドが処理可能な処理要求の種別を特定するための処理可能種別特定情報と、を対応付けたスレッド情報を記憶するスレッド情報記憶手段を備え、
    前記処理要求出力手段は、前記取得された種別を特定するための処理可能種別特定情報と対応付けて記憶されているスレッド識別情報により識別されるスレッドを、当該取得された種別と対応付けられたスレッドとして特定するように構成され、
    前記スレッド数比調整手段は、前記記憶されているスレッド情報を変更することにより、前記スレッド数比を調整するように構成されたサーバ装置。
  3. 請求項1又は請求項2に記載のサーバ装置であって、
    前記処理要求出力手段は、前記取得された種別と対応付けられたスレッドのいずれもが前記処理を実行中である場合、前記受け付けられた処理要求を一次的に記憶するとともに、当該種別と対応付けられたスレッドのいずれかが前記処理の実行を完了した場合に当該記憶されている処理要求を当該スレッドへ出力するように構成されたサーバ装置。
  4. 請求項1乃至請求項のいずれか一項に記載のサーバ装置であって、
    前記種別が前記非特定種別である前記処理要求は、ある記憶装置に、他の記憶装置に記憶されているデータを複製したデータを書き込む旨を要求するバックアップ処理要求であるサーバ装置。
  5. 請求項1乃至請求項のいずれか一項に記載のサーバ装置であって、
    前記スレッドが、前記処理の実行を完了した場合、前記クライアント装置へ、次の処理要求の送信を促す応答情報を送信するように構成されたサーバ装置。
  6. 請求項1乃至請求項のいずれか一項に記載のサーバ装置であって、
    前記処理要求出力手段は、前記クライアント装置の位置を特定するためのアドレス情報、前記クライアント装置のユーザを識別するためのユーザ識別情報、及び、前記処理要求に含まれる前記処理を特定するための処理特定情報のうちの少なくとも1つに基づいて前記種別を取得するように構成されたサーバ装置。
  7. 請求項1乃至請求項のいずれか一項に記載のサーバ装置であって、
    前記処理要求は、NFS(Network File System)、又は、HTTP(HyperText Transfer Protocol)に従った情報であるサーバ装置。
  8. 処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成し、
    クライアント装置から前記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、前記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力し、
    前記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整すると共に、
    前記種別が前記特定種別である前記処理要求に基づいて前記スレッドにより実行される処理の実行速度である特定種別処理速度を取得し、
    前記取得された特定種別処理速度が、予め設定された目標処理速度よりも小さい場合、前記スレッド数比を大きくし、一方、当該取得された特定種別処理速度が当該目標処理速度よりも大きい場合、前記スレッド数比を小さくする、
    情報処理方法。
  9. サーバ装置に、
    処理要求を受け付けるとともに当該受け付けた処理要求に基づく処理を行うスレッドを、予め設定されたスレッド数だけ生成するスレッド生成手段と、
    クライアント装置から前記処理要求を受け付けた場合、当該受け付けた処理要求の種別を取得し、前記生成されたスレッドのうちの当該取得された種別と対応付けられたスレッドへ、当該処理要求を出力する処理要求出力手段と、
    前記種別の1つである特定種別と対応付けられたスレッドの数の、当該特定種別以外の種別である非特定種別と対応付けられたスレッドの数に対する比であるスレッド数比を調整するスレッド数比調整手段と、
    前記種別が前記特定種別である前記処理要求に基づいて前記スレッドにより実行される処理の実行速度である特定種別処理速度を取得する特定種別処理速度取得手段と、
    を実現させると共に、
    前記スレッド数比調整手段は、前記取得された特定種別処理速度が、予め設定された目標処理速度よりも小さい場合、前記スレッド数比を大きくし、一方、当該取得された特定種別処理速度が当該目標処理速度よりも大きい場合、前記スレッド数比を小さくする、
    ことを実現させるためのプログラム。
JP2010047409A 2010-03-04 2010-03-04 サーバ装置、情報処理方法、及び、プログラム Expired - Fee Related JP5494021B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010047409A JP5494021B2 (ja) 2010-03-04 2010-03-04 サーバ装置、情報処理方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010047409A JP5494021B2 (ja) 2010-03-04 2010-03-04 サーバ装置、情報処理方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2011181032A JP2011181032A (ja) 2011-09-15
JP5494021B2 true JP5494021B2 (ja) 2014-05-14

Family

ID=44692436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010047409A Expired - Fee Related JP5494021B2 (ja) 2010-03-04 2010-03-04 サーバ装置、情報処理方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5494021B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6007516B2 (ja) * 2012-03-02 2016-10-12 日本電気株式会社 リソース配分システム、リソース配分方法、及びリソース配分プログラム
JP7128443B2 (ja) * 2018-08-06 2022-08-31 京セラドキュメントソリューションズ株式会社 処理実行システムおよび処理実行プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076043A (ja) * 1993-03-05 1995-01-10 Mitsubishi Electric Corp マルチスレッド・サーバ
JPH06332834A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd リモートプロシジャコール方法
JPH0969053A (ja) * 1995-08-31 1997-03-11 Toshiba Corp メッセージ受信機構に於けるマルチスレッド制御方式及びキューイング方式
JP2002140201A (ja) * 2000-11-02 2002-05-17 Nec Eng Ltd データベース更新方法及びそれを用いたデータベース管理システム
JP3975703B2 (ja) * 2001-08-16 2007-09-12 日本電気株式会社 情報処理システムにおける優先実行制御方法及びその装置並びにプログラム
JP4349188B2 (ja) * 2004-04-16 2009-10-21 ソニー株式会社 スケジューリング装置およびスケジューリング方法、並びにプログラムおよびそれを記録した媒体
JP4127273B2 (ja) * 2005-03-16 2008-07-30 日本電気株式会社 並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム

Also Published As

Publication number Publication date
JP2011181032A (ja) 2011-09-15

Similar Documents

Publication Publication Date Title
JP5672199B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
KR101795333B1 (ko) 클라우드 프로세스 관리
EP2996309A1 (en) Interest keep alives at intermediate routers in a ccn
CN109995881A (zh) 缓存服务器的负载均衡方法和装置
JP6972714B2 (ja) データ取得プログラム、装置、及び方法
WO2017095820A1 (en) Methods and devices for acquiring data using virtual machine and host machine
JP5304674B2 (ja) データ変換装置、データ変換方法及びプログラム
JP2015156071A (ja) データ格納方法、ストレージシステム、プログラム及びストレージ装置
JP2018532202A (ja) クラウドファイル処理方法および装置
JP2009533757A (ja) ネットワーク応答バッファリング動作の管理
JP5494021B2 (ja) サーバ装置、情報処理方法、及び、プログラム
US10375168B2 (en) Throughput in openfabrics environments
JP2012522318A (ja) スマートルーティング
JP2015156209A (ja) 情報処理システム
US10616317B2 (en) Method and system for affinity load balancing
US10073657B2 (en) Data processing apparatus, data processing method, and computer program product, and entry processing apparatus
JP2015094976A (ja) 情報処理装置、情報処理方法、及び、プログラム
JP5949552B2 (ja) アクセス制御情報生成システム
US20090328229A1 (en) System, method and computer program product for performing a data protection operation
CN115150464A (zh) 应用代理方法、装置、设备及介质
JP5982436B2 (ja) 画面転送サーバ装置、および画面転送方法
JP2009199281A (ja) データ送信装置
JP2015179434A (ja) 情報処理装置及び情報処理プログラム
US20230061892A1 (en) Non-transitory computer-readable medium, service management device, and service management method
JP5933094B2 (ja) サーバ装置、及びサーバ装置のプログラム

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140115

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: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

R150 Certificate of patent or registration of utility model

Ref document number: 5494021

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees