JP2009238157A - ソケット管理装置及び方法 - Google Patents

ソケット管理装置及び方法 Download PDF

Info

Publication number
JP2009238157A
JP2009238157A JP2008086668A JP2008086668A JP2009238157A JP 2009238157 A JP2009238157 A JP 2009238157A JP 2008086668 A JP2008086668 A JP 2008086668A JP 2008086668 A JP2008086668 A JP 2008086668A JP 2009238157 A JP2009238157 A JP 2009238157A
Authority
JP
Japan
Prior art keywords
socket
application
sockets
target
applications
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
JP2008086668A
Other languages
English (en)
Other versions
JP4586873B2 (ja
Inventor
Kyoichi Uejima
恭一 上嶋
Toshihiro Shima
敏博 島
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008086668A priority Critical patent/JP4586873B2/ja
Priority to US12/407,569 priority patent/US8024445B2/en
Publication of JP2009238157A publication Critical patent/JP2009238157A/ja
Application granted granted Critical
Publication of JP4586873B2 publication Critical patent/JP4586873B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】コンピュータシステムにおいて、限られた数のソケットをアプリケーション間で適切に配分する仕組みを提供し、もって、システムのネットワーク性能の向上に貢献する。
【解決手段】ソケット管理部300が、OS100が提供できるソケット総数と、現在動作中のアプリケーション202、202、…に割り当てられたソケット目標数とを管理する。各アプリケーション202がソケットを取得したいとき、ソケット管理部300が、現在のソケット残数と、各アプリケーション202の優先度とに基づき、所定のスケジュールアルゴリズム312に従い、各アプリケーション202に割り当て可能なソケット目標数を再計算して各アプリケーション202に通知する。各アプリケーション202は、そのソケット目標数から、ソケットを取得できるか否か判断し、判断結果に応じてOS100から実際にソケットを取得するか否かを制御する。
【選択図】図1

Description

本発明は、コンピュータシステム上で動作している1以上のネットワークアプリケーションのそれぞれに割り当てられるソケットディスクリプタ(この明細書では、「ソケット」と呼ぶ)の数を管理するための技術に関する。
一般的なネットワークアプリケーションのプログラミングにはソケットインターフェースが使われており、アプリケーションはソケットインターフェースから生成されたソケットディスクリプタ(ソケット)を使用して通信する相手を特定して通信を行っている。
パーソナルコンピュータのように搭載メモリが比較的に豊富なコンピュータシステムの場合は、ネットワークアプリケーションはソケットの数の上限を意識せずに使うことができる。これに対し、プリンタのような機器内に組み込まれたコンピュータシステムでは、搭載メモリが少なく、メモリに合わせてソケットの数が低く抑えられているため、予めネットワークアプリケーションそれぞれに使用可能なソケットの数を割り当て、その範囲に収まるようにプログラムを作るのが一般的である。
後者(プリンタなどの機器に組み込まれたコンピュータ)の場合、普段は殆ど使われないアプリケーションにもある程度の数のソケットを割り当てる必要がある為、その機器で最も頻繁に使われる主要機能(例えば、プリンタにおける印刷機能)のアプリケーションに割り当てられるソケットの数が少なくなり、それに伴い、同時に確立できるクライアントとのコネクションの数も少なくなる。このような製品のネットワーク性能が低下する問題を解決する一つの単純な方法は、搭載メモリを増やすことであるが、それは当然にコスト増を引き起こす。
ソケットの割り当てに関して、特許文献1には、プリンタを監視するアプリケーションにおいて、ソケットの枯渇によって通信ができなくなると言う状態の発生を避けるため、予めアプリケーションが使用するソケットを確保しておき、アプリケーションの要求によって確保されたソケットを使う、ことが開示されている。この従来技術によれば、該当するアプリケーションを常に正常に動かすことができるメリットがある。しかし、使われていないソケットも常に確保されているため、製品全体で効率的にソケットリソースを使っているとは言いがたい。
特開2000−148426号公報
本発明の目的は、コンピュータシステムにおいて、限られた数のソケットをアプリケーション間でより適切に配分する仕組みを提供し、もって、システムのネットワーク性能の向上に貢献することにある。
本発明の一つの側面に従う、コンピュータシステム上で動作している1以上のアプリケーションのそれぞれに割り当てられるソケットの数を管理するための装置は;前記1以上のアプリケーションの全体に割り当て可能なソケットの総数を示すソケット総数と、前記1以上のアプリケーションの各々に割り当てられるソケットの数についての目標値を示すアプリケーション毎のソケット目標数とを記憶するアプリケーション管理手段と;前記1以上のアプリケーションのいずれかから発されるソケットの取得又は解放の要求を示すソケット数変更要求を受けて、前記アプリケーション管理手段内の前記ソケット総数とアプリケーション毎の前記ソケット目標数とに基づいて、前記ソケット数変更要求を発した要求元アプリケーションの前記ソケット目標数を再計算し、前記アプリケーション管理手段に記憶されている前記要求元アプリケーションの前記ソケット目標数を、再計算された前記ソケット目標数に更新するスケジューリング手段と;前記スケジューリング手段により再計算された前記ソケット数に基づいて、前記ソケット数変更要求に対する返答を生成し、前記返答を前記要求元アプリケーションに通知する返答手段とを備える。
このソケット管理装置は、ソケット総数とアプリケーション毎のソケット目標数とを記憶し、各アプリケーションからソケットの取得又は解放の要求(ソケット数変更要求)を受けると、受けたソケット数変更要求と、記憶されているソケット総数とアプリケーション毎のソケット目標数とに基づいて、そのソケット数変更要求の要求元アプリケーションのソケット目標数を再計算する。そして、ソケット管理装置は、その再計算されたソケット目標数に基づいて、上記ソケット数変更要求に対する返答を生成し、その返答を、上記要求元アプリケーションへ返す。
ここで、その返答は、再計算された要求元アプリケーションのソケット目標数を示すものであってもよいし、或いは、ソケット数変更要求、とりわけソケットの取得の要求、が許可されたか否か(例えば、要求された数のソケットの全ての取得が可能、要求された数の内の一部のソケットの取得が可能、又は、ソケットの取得が不可能)を示すものでもよい。
従って、要求元アプリケーションは、ソケット管理装置から受け取った返答に基づいて、要求元アプリケーションのソケット目標数が幾つか、又は、ソケット数変更要求、とりわけ、ソケットの新たな取得の要求、が受け入れられるものか否かを、判断することができる。そして、要求元アプリケーションが、その判断結果に従って、オペレーティングシステムから実際にソケットを取得するか、しないかを制御すれば、アプリケーション毎に実際に割り当てられるソケット数は、ソケット管理装置で計算されたアプリケーション毎のソケット目標数に沿うことになる。よって、アプリケーション毎に適切な数のソケットを割り当てることが可能になる。
ここで、ソケット管理装置が、各アプリケーションが保有するソケットの実数ではなくて、その目標数を管理するのは以下のような理由による。すなわち、ソケットの実体はOSの中で管理されているため、アプリケーションの中でソケットを解放しても、実際にOSの中でそのソケットが解放されるまでにはタイムラグが生じる。通常のOSは、実際に解放するまで数十秒から数分間そのソケットを保持していることが多い。つまり、OSの外部からは、ソケットの実数を把握することができないことなる。そのため、本発明では、ソケット管理装置は、ソケットの実数を管理するのではなく、あくまでもソケット目標数を管理する。このため、ソケットの実数と目標数は常に一致しているとは限らない。そこで、ソケット管理装置は、各アプリケーションが保有するソケットの実数と目標数との間の差を考慮に入れて、ソケット目標数のスケジュールを行うように構成されてよい。
本発明の一実施形態にかかるソケット管理装置は、次のように構成されてよい。すなわち、前記アプリケーション管理手段は、アプリケーション毎の優先度を更に記憶し、前記スケジューリング手段は、受けた前記ソケット数変更要求と、前記アプリケーション管理手段内の前記ソケット総数とアプリケーション毎の前記ソケット目標数と、さらに前記アプリケーション管理手段内の前記要求元アプリケーションの前記優先度とに基づいて、前記要求元アプリケーションのソケット目標数を再計算する。例えば、前記スケジュール手段は、前記アプリケーション管理手段内の前記1以上のアプリケーションの前記優先度に基づいて、前記1以上のアプリケーション間でのソケットの割り当て数の割合を決定し、前記決定された割り当て割合に従って、要求元アプリケーションのソケット目標数を計算する。
この実施形態によれば、優先度がより高いアプリケーションには、より優先的にソケットを割り当てるというように、アプリケーション毎の優先度を公領したソケット割り当て制御ができる。
本発明の一実施形態にかかるソケット管理装置は、また、次のように構成されてよい。すなわち、前記スケジュール手段は、前記1以上のアプリケーションの前記ソケット目標数の和と前記ソケット総数との間の差に相当するソケット残数に応じて、前記1以上のアプリケーション間でのソケットの割り当て割合を制御する。
従って、まだどのアプリケーションにも割り当てられてないソケット残数の多寡に応じて、アプリケーション間のソケット数の割り当て割合を変えることができる。例えば、ソケット残数がより少ないほど、優先度の高いアプリケーションへのソケット割り当て数割合をより大きくすることができる。それにより、ソケット残数が減っても、優先度の高いアプリケーションに割り当てられるソケット数はそれ程には変わらないようにして、システム全体のネットワーク性能を高く維持することができる。
本発明の一実施形態にかかるソケット管理装置は、また、次のように構成されてよい。すなわち、ソケット管理装置は、前記スケジューリング手段により再計算された前記要求元アプリケーションの前記ソケット目標数に基づいて、前記要求元アプリケーションによるソケットの取得を許可するか否かを判断し、判断結果が許可であれば、前記要求元アプリケーションのための新たなソケットを、前記コンピュータイシステムのオペレーティングシステムから取得するソケット取得手段をさらに備える。
この構成によれば、各アプリケーションのためのソケットをオペレーティングシステムから取得するという処理を、各アプリケーションに任せるのではなく、ソケット管理装置が、各アプリケーションの代理とシテ行うことができる。そのため、それぞれのアプリケーションへの実際のソケットの割り当て数を、ソケット目標値により確実に沿わせることができる。
本発明の別の側面に従えば、1以上のアプリケーションと、上述した構成のソケット管理装置とを備えたソケット管理システムが提供される。
一つの実施形態に従うソケット管理システムでは、各アプリケーションのためのソケットをオペレーティングシステムから取得するという処理を、各アプリケーションが行うことができる。すなわち、各アプリケーションが、ソケット管理装置からの返答に基づいて、ソケットの取得が許可されたか否かを判断し、判断結果が許可であれば、新たなソケットを、オペレーティングシステムから取得するソケット取得手段を備える。
また、別の実施形態に従うソケット管理システムでは、各アプリケーションのためのソケットをオペレーティングシステムから取得するという処理を、ソケット管理装置が、角アプリケーションに代わって行うことができる。その場合、各アプリケーションは、ソケット管理装置により取得された各アプリケーションのためのソケットを使用して、ネットワークコネクションを生成する。
本発明の別の側面に従う、コンピュータシステム上で動作している1以上のアプリケーションのそれぞれに割り当てられるソケットの数を管理するための方法は;前記1以上のアプリケーションの全体に割り当て可能なソケットの総数を示すソケット総数と、前記1以上のアプリケーションの各々に割り当てられるソケットの数についての目標値を示すアプリケーション毎のソケット目標数とを記憶するアプリケーション管理ステップと;前記1以上のアプリケーションのいずれかから発されるソケットの取得又は解放の要求を示すソケット数変更要求を受けて、前記アプリケーション管理ステップで記憶された前記ソケット総数とアプリケーション毎の前記ソケット目標数とに基づいて、前記ソケット数変更要求を発した要求元アプリケーションの前記ソケット目標数を再計算し、前記アプリケーション管理ステップで記憶された前記要求元アプリケーションの前記ソケット目標数を、再計算された前記ソケット目標数に更新するスケジューリングステップと;前記ソケット数変更要求を発した要求元アプリケーションに対して、前記スケジューリング手段により再計算された前記ソケット数に応じた返答を通知する通知ステップとを備える。
本発明は更に、上記方法をコンピュータに実行させるためのコンピュータ読み取り可能なコンピュータプログラムも提供する。
本発明によれば、アプリケーション間でソケットをより適切に配分できるので、ネットワーク通信のためのコネクション性能を向上させることができる。実際に使用されてないソケットを予め確保する必要がないので、メモリの無駄な使用が減り、それに伴い、余ったメモリリソースを他の機能へ割り当てることができる。
図1は、本発明が適用されたコンピュータシステムの一実施形態の要部のブロック構成を示す図である。
図1に示されたコンピュータシステム10は、パーソナルコンピュータのように比較的に豊富なメモリ容量をもつものであってもよいし、或いは、プリンタなどの機器に組み込まれたコンピュータシステムのように比較的に乏しいメモリ容量しかもたないものであってもよいが、特に後者の場合において、本発明の原理に従う利点が顕著に現れることになる。
図1に示すように、コンピュータシステム10は、オペレーティングシステム(以下、「OS」という)100と、アプリケーション部200と、ソケット管理部300とを有する。OS100と、アプリケーション部200と、ソケット管理部300は、典型的には、コンピュータマシンがそれぞれのコンピュータプログラムを実行することによって実現される。
ここで、ソケット管理部300は、本発明に従うソケット管理装置の一実施形態に相当する。そして、アプリケーション部200とソケット管理部300との組み合わせが、本発明に従うソケット管理システムの一実施形態に相当する。
アプリケーション部200は、それぞれ特定のネットワークサービスを実現する1以上のアプリケーション202、202、…の集まりである。各アプリケーション202は、サービス部204、ソケット取得部206、及びソケット制御部208の3つのモジュールを有する。
サービス部204は、ソケットインターフェースの機能を使ってプログラミングされ、ネットワークサービスの機能を実現する。
ソケット取得部206は、ソケット制御部208の制御の下で、各アプリケーション202が必要とするソケット数をOS100から取得すると共に、各アプリケーション202で不要になったソケットをOS100に返却する機能を有している。
ソケット制御部208は、各アプリケーション202のネットワークサービスが幾つソケットを実際に使っている(実際に保有している)のか(つまり、ソケット保有数210)を管理しながら、各アプリケーション202のソケット保有数210がソケット管理部300から指示されたソケット目標数に収まるように調整する機能を有する。
ソケット管理部300は、管轄下のアプリケーション部200の各アプリケーション202がそれぞれソケットを幾つまで使用してよいか(つまり、ソケット目標数)を管理し(ソケット保有数210自体は管理しない)、各アプリケーション202からソケットの取得又は解放の要求を受ける都度、その時のソケット配分状況に応じて、その要求を発したアプリケーション202のソケット目標数をスケジュール(再計算)して、そのアプリケーション202へ指示する機能を有している。尚、変形例として、ソケット管理部300は、アプリケーション部200の各アプリケーション202に対して、ソケット目標値を指示する代わりに、そのソケット目標値に基づいてそのアプリケーション202がソケットを新たに取得できるか否かを通知してもよい。
ここで、ソケット管理部300が、各アプリケーション202が保有するソケットの実数ではなくて、その目標数を管理するのは以下のような理由による。すなわち、ソケットの実体はOSの中で管理されているため、アプリケーション202の中でソケットを解放しても、実際にOS100の中でそのソケットが解放されるまでにはタイムラグが生じる。通常のOSは、実際に解放するまで数十秒から数分間そのソケットを保持していることが多い。つまり、OSの外部からは、ソケットの実数を把握することができないことなる。そのため、ソケット管理部300は、各アプリケーションが保有するソケットの実数を管理するのではなく、あくまでもソケット目標数を管理する。このため、ソケットの実数と目標数は常に一致しているとは限らない。そこで、ソケット管理部300は、各アプリケーション202が保有するソケットの実数と目標数との間の差を考慮に入れて、ソケット目標数のスケジュールを行うように構成されてよい。
このソケット管理部300は、アプリケーションI/F部302と、アプリケーション管理部304と、スケジューリング部306の3つのモジュールを備えている。
アプリケーションI/F部302は、アプリケーション部200の中のそれぞれのアプリケーション202、202、…と通信を行うためのモジュールである。アプリケーションI/F部302は、各アプリケーション202の起動時に各アプリケーション202をアプリケーション管理部304に登録するための、各アプリケーション202とアプリケーション管理部304との間の通信を仲介する機能と、各アプリケーション202が終了しようとする時に各アプリケーション202の登録を削除するための、各アプリケーション202とアプリケーション管理部304との間の通信を仲介する機能と、各アプリケーション202がソケットの取得又は解放の要求(以下、ソケット数変更要求という)を発した時にソケット目標の再スケジューリング(再計算)を行うための、各アプリケーション202とスケジューリング部306との間の通信を仲介する機能と、再スケジュール(再計算)されたソケット目標数を各アプリケーション202へ通知するための、各アプリケーション202とアプリケーション管理部304の間の通信を仲介する機能を有している。
アプリケーション管理部304は、アプリケーション部200の中で現在動作している(現在登録されている)各アプリケーション202の識別子(ID)、優先度、及びソケット目標数に関するアプリケーション情報310を記憶して管理すると共に、アプリケーション部200の全体で使うことができるソケット総数(OS100が提供できるソケットの最大値)308を記憶して管理するモジュールである。ここで、各アプリケーション202の識別子(ID)は、アプリケーション管理部304が各アプリケーション202を登録する時に、アプリケーション管理部304が各アプリケーション202に割り当てるコードである。また、各アプリケーション202の優先度は、各アプリケーション202に予め設定されていて、各アプリケーション202が起動するときに、各アプリケーション202から通知されるものである。
アプリケーション管理部304は、各アプリケーション202の起動時に各アプリケーション202を登録する(つまり、上述したアプリケーション情報310を生成し登録する)機能と、各アプリケーション202が終了しようとする時にそのアプリケーション202の登録を削除する(上述したアプリケーション情報310を削除する)機能と、各アプリケーション202がソケット数変更要求(ソケットの取得又は解放の要求)を発した時に、スケジューリング部306を呼び出して、スケジューリング部306に登録済みの全てのアプリケーション202、202、…のアプリケーション情報310、310、…及びソケット総数308を通知する機能と、スケジューリング部306により再スケジュール(再計算)されたソケット目標値で各アプリケーション202のアプリケーション情報310を更新する機能と、各アプリケーション202の再スケジュール(再計算)されたソケット目標値を各アプリケーション202に通知する機能とを有している。
スケジューリング部306は、各アプリケーション202がソケット数変更要求を発した時に、そのアプリケーション202がソケットを何個まで使ってよいかを示すソケット目標数を、予め設定されたスケジュールアルゴリズム312を使ってスケジュール(再計算)し、その計算結果をアプリケーション管理部304に書き込む機能を有している。
ここで、スケジュールアルゴリズム312の最適な具体的な内容は、コンピュータシステム10が搭載された製品カテゴリ、または、製品毎に異なる。そのため、スケジュールアルゴリズム312は、ソケット管理部300のプログラムから分離できるようなプログラム又はデータとして構成されることが望ましい。勿論、スケジュールアルゴリズム312がソケット管理部300のプログラム内に組み込まれていてもよい。
スケジュールアルゴリズム312は、各アプリケーション202がソケット数変更要求を発した時に、アプリケーション管理部304から呼び出される。すると、スケジュールアルゴリズム312は、アプリケーション管理部304から、登録済み(現在動作中)の全てのアプリケーション202、202、…のアプリケーション情報(ID、優先度及びソケット目標値)310、310、…を読み込み、そして、上記変更要求の要求元のアプリケーション202(例えば、アプリケーション♯1)のソケット目標数のみを再スケジューリング(再計算)する。
ここで重要なのは、スケジュールアルゴリズム312は、現在動作中(登録済み)のアプリケーション202、202、…の全体のソケット目標値のスケジューリングを行うのではなく、保有ソケット数の変更を要求した一つのアプリケーション202のソケット目標値のスケジューリングのみを行うことである。その理由は、各アプリケーション202がクライアントに提供しているネットワークサービスを何時終了させるかを決める主導権は、一般的にクライアント側が握るべきであるから、そのネットワークサービスの提供元であるコンピュータシステム10側から、そのネットワークサービスで使用されているソケットを強制的にクローズするべきでない(コンピュータシステム10側でソケットを強制的にクローズすると、クライアント側でエラーが発生する)ためである。
ここで、スケジュールアルゴリズム312の具体的な一例を説明する。この例では、スケジュールアルゴリズム312は、図2に例示するようなパターン算出表312Aと、図3に例示するようなソケット割り当て数割合表312Bとから構成される。
図2に例示されたパターン算出表312Aは、アプリケーション202ごとのソケット総数に対するソケット残数の割合(%)に応じて選択されるソケット配分パターンの種類を示している(各パターンの具体的内容は図3のソケット割り当て数割合表312Bで定義される)。ここで、ソケット残数とは、ソケット総数から各アプリケーション202のソケット目標数の総和を引いた値、すなわち、まだどのアプリケーションにも取得されていないソケットの数である。なお、各アプリケーション202のソケット目標数は、そのアプリケーション202が起動した(登録された)当初の初期値は「1」とされ、以後は、それが再スケジュールされる都度に更新される。
図2のパターン算出表312Aから、どのソケット配分パターンを使用するかが導き出される。
例えば、ソケット総数に対するソケット残数の割合が50%以上のとき(つまり、ソケット残数が比較的多いとき)は「パターン1」が選択され、ソケット総数に対するソケット残数の割合が50%〜20%の範囲では(つまり、ソケット残数が中ぐらいのときは)「パターン2」が選択され、ソケット総数に対するソケット残数の割合が20%未満のとき(つまり、ソケット残数が比較的少ないとき)は「パターン3」が選択される。
図3に例示されるソケット割り当て数割合表312Bには、図2で選択されたソケット配分パターンごとに、アプリケーションの優先度に応じたソケット割り当て数割合(ソケット残数の中から各アプリケーションに割り当て可能なソケット数の割合)(%)が定義されている。例えば、ソケット残数が比較的に多い場合に選択される「パターン1」では、優先度が「レベル1」(高い)のアプリケーション202へのソケット割り当て数割合が50%で、優先度が「レベル3」(低い)のアプリケーション202へのソケット割り当て数割合が20%というように、優先度が高いか低いかによるソケット割り当て数割合の差が比較的に小さい。
ソケット残数が中程度の場合に選択される「パターン2」では、優先度が「レベル1」(高い)のアプリケーション202に対するソケット割り当て数割合が60%で、優先度が「レベル3」(低い)のアプリケーション202へのソケット割り当て数割合が10%というように、優先度が高いか低いかによるソケット割り当て数割合の差が、中程度である。
さらに、ソケット残数が少ない場合に選択される「パターン3」では、優先度が「レベル1」(高い)のアプリケーション202に対するソケット割り当て数割合が80%で、優先度が「レベル3」(低い)のアプリケーション202へのソケット割り当て数割合が5%というように、優先度が高いか低いかによるソケット割り当て数割合の差がかなり大きい。
く、優先度のより高いアプリケーション202へのし、優先度が低いときはソケット割り当て数割合をかなり小さくしている。
ここで、各アプリケーション202の優先度の決め方は、重要性の高いアプリケーションに対してより高い優先度を与える方法を採っている。例えば、プリンタの場合は、最も重要な印刷機能に関わる印刷プロトコルには高い優先度、例えば「レベル1」を与え、WebやTelnetなどの重要性の低いアプリケーションには低い優先度、例えば「レベル3」を与えることができる。
上述した図3に例示されたソケット割り当て数割合表312Bによれば、優先度のより高いアプリケーションには、より低いアプリケーションよりも大きいソケット数割り当て割合が与えられとともに、ソケット残数が減るほど、優先度の高低差によるソケット数割り当て割合の差が大きくなる。その結果、ソケット残数が変動しても、優先度のより高い(つまり、重要度の高い)アプリケーションは、安定してある程度の数のソケットを保有することができる。
以下では、上述した構成をもつコンピュータシステム10の動作について、図4〜図7に示すシーケンス図を参照して説明する。
図4は、コンピュータシステム10が起動してから最初にソケット管理部300が起動し、その後に或る1つのアプリケーション202が起動するときのシーケンスを示す。
図4に示すように、まず、このコンピュータシステム10のメインタスク400が、ソケット管理部300のアプリケーションI/F部302を生成して初期化する(ステップS1)。次に、アプリケーションI/F部302がアプリケーション管理部304を生成して初期化する(ステップS2)。アプリケーション管理部304はソケット総数308を設定する(ステップS3)。ソケット総数308はあらかじめアプリケーション管理部304にプログラムされた固定値であってもよいし、外部から読み込んだソケット総数データに基づいて設定されてもよい。次に、アプリケーション管理部304は、正常に生成された旨の応答をアプリケーションI/F部302へ返す(ステップS4)。
また、アプリケーションI/F部302はスケジューリング部306を生成する(ステップS5)。そして、スケジューリング部306は正常に生成された旨の応答をアプリケーションI/F部302へ返す(ステップS6)。すると、アプリケーションI/F部30は、正常に生成された旨の応答をメインタスク400へ返す(ステップS7)。このようにして、ソケット管理部300が生成される。
その後、或る1つのアプリケーション202の起動が要求されと、メインタスク400が、そのアプリケーション202のサービス部204を生成し(ステップS8)、そして、サービス部204がソケット制御部208を生成する(ステップS9)。すると、ソケット制御部208が、ソケット管理部300のアプリケーションI/F部302に対して、そのアプリケーション202の優先度を通知してそのアプリケーション202の登録を要求する(ステップS10)。すると、ソケット管理部300のアプリケーションI/F部302は、アプリケーション管理部304に対して、そのアプリケーション202の優先度を通知してそのアプリケーション202の登録を要求する(ステップS11)。
すると、アプリケーション管理部304は、そのアプリケーション202のアプリケーション情報(ID、優先度、及びソケット目標数(初期値は「1」))310を生成して記憶することで、そのアプリケーション202を登録し、そして、アプリケーションI/F部302に対して、その登録されたアプリケーション202のIDを含んだ応答を返信する(ステップS12)。この応答情報は、アプリケーションI/F部302からソケット制御部208へ(ステップS13)、ソケット制御部208からサービス部204へ(ステップS14)、そして、サービス部204からメインタスク400へと(ステップS15)、順次に返信される。このようにして、或る1つのアプリケーション202が起動される。
図5は、図4のシーケンスに続くシーケンスであって、或る1つのアプリケーション202がソケットの取得を要求するときのシーケンスを示す。
先ず、或る1つのアプリケーション202のサービス部204が、ソケット制御部208に対して、取得したいソケット数(通常は1個であるが、複数個でもよい)を含んだソケット取得要求(ソケット数変更要求の一つ)を送信する(ステップS21)。すると、ソケット制御部208は、ソケット管理部300のアプリケーションI/F部302に対して、その取得したいソケット数とそのアプリケーション202のIDとを含んだ再スケジュール要求を送信する(ステップS22)。アプリケーションI/F部302は、その再スケジュール要求をスケジューリング部306に送信する(ステップS23)。
すると、スケジューリング部306は、アプリケーション管理部304に対して、アプリケーション情報取得要求を送信する(ステップS24)。すると、アプリケーション管理部304からスケジューリング部306へ、ソケット総数と、現在登録されている全てのアプリケーション202、202、…のアプリケーション情報310、310、…が返信される(ステップS25)。
すると、スケジューリング部306は、返信されたソケット総数とアプリケーション情報310、310、…と、上記ソケット取得要求の要求元のアプリケーション202が取得したいソケット数とその優先度とに基づき、スケジュールアルゴリズム312を使って、要求元のアプリケーション202のソケット目標数のスケジューリング(再計算)を行う(ステップS26)。
例えば、アプリケーション情報310、310、…から得られる現在動作中の全てのアプリケーション202、202、…の現在のソケット目標数を足し合わせて、その和をソケット総数から差し引いて、ソケット残数を求める。そして、前述した図2を用いて、ソケット総数に対するそのソケット残数の割合から、一つのソケット配分パターンが選択される。そして、前述した図3に示された選択されたソケット配分パターンに従って、要求元アプリケーション202の優先度に対応したソケット割り当て数割合が決定される。そして、その割り当て数割合をソケット残数に乗じことで、要求元アプリケーション202に新たに割り当て可能なソケットの数が算出される。そして、この算出された割り当て可能ソケット数と、上記取得したいソケット数とが比較される。
上記比較の結果、上記算出された割り当て可能ソケット数が、上記取得したいソケット数以上であれば、上記取得したいソケット数の全てを要求元アプリケーション202が新たに取得できることを意味する。この場合、要求元アプリケーション202の現在のソケット目標値に上記取得したいソケット数を足し算した数が、新しいソケット目標値(再計算されたソケット目標値)として算出される。
他方、上記比較の結果、上記算出された割り当て可能ソケット数が、1以上であるが、上記取得したいソケット数未満である場合には、要求元アプリケーション202が新たに取得できるソケット数は上記算出された割当て可能ソケット数であることを意味する。この場合、要求元アプリケーション202の現在のソケット目標値に上記割り当て可能ソケット数を足し算した数が、新しいソケット目標値として算出される。
また、上記算出された割り当て可能ソケット数が1未満である場合には、要求元アプリケーション202は新たにソケットを取得できないことを意味する。この場合、要求元アプリケーション202の現在のソケット目標値と同じ数が、新しいソケット目標値(再計算されたソケット目標値)として算出される。
例えば以上のようにして、スケジューリング部306は、要求元アプリケーション202のソケット目標数を再スケジュール(再計算)する。そして、スケジューリング部306は、アプリケーション管理部304が記憶している要求元アプリケーション202のアプリケーション情報310内のソケット目標数を、上記再ケジュール(再計算)されたソケット目標数に更新する(ステップS27〜S28)。
その後、スケジューリング部306は、ソケット目標数の再スケジューリングが終った旨の応答を、アプリケーションI/F部302へ返信し(ステップS29)、さらに、この応答はアプリケーションI/F部302からソケット制御部208へ返信される(ステップS30)。
すると、ソケット制御部208は、アプリケーションI/F部302に対して、更新されたソケット目標数の取得を要求し(ステップS31)、すると、アプリケーションI/F部302は、アプリケーション管理部304に対してソケット目標数の取得を要求する(ステップS32)。
すると、アプリケーション管理部304は、記憶されている要求元アプリケーション202の更新されたソケット目標数の通知を、アプリケーションI/F部302へ返信し(ステップS33)、その更新されたソケット目標数の通知はアプリケーションI/F部302からソケット制御部208へ返信され(ステップS34)、さらに、ソケット制御部208からサービス部204へ返信される(ステップS35)。
なお、変形例として、更新されたソケット目標数の通知に代えて、新たに取得可能なソケット数の通知が、アプリケーション管理部304からサービス部204へと返信されるようになっていてもよい。
以上のようにして、ソケット取得要求を発した要求元アプリケーション202は、アプリケーション管理部304からの上記通知に基づいて、新たに取得できるソケットの数(例えば、上記取得したいソケット数と同じ、それより少ない1以上の数、又はゼロ)を把握することができる。例えば、更新されたソケット目標数が通知された場合には、その通知されたソケット目標数から取得ソケット数を差し引けば、新たに取得できるソケット数が算出される。その後、(そのシーケンスは図示されてないが)要求元アプリケーション部200のソケット取得部206が、その取得できるソケットの数に相当する数のソケットをOS100から実際に取得する。
上記のように、ソケット管理部300は、各アプリケーション202がOS100からソケットを実際に取得する動作については関与せず、単に、ソケット目標数(すなわち、ソケットを新たに取得してよいか否かについてのアドバイス)を各アプリケーション202に提供する役割を行っている。
図6は、或る1つのアプリケーションが、取得済みのソケットの解放を要求するときのシーケンスを示す。
先ず、或る1つのアプリケーション202のサービス部204は、ソケット制御部208に対して、不要になったソケットについてのソケット解放要求(ソケット数変更要求の一つ)を送信する(ステップS41)。すると、ソケット制御部208は、ソケット管理部300のアプリケーションI/F部302に対して、解放したいソケット数を含んだ再スケジュール要求を送信し(ステップS42)、さらに、アプリケーションI/F部302は、スケジューリング部306に対して、その再スケジュール要求を送信する(ステップS43)。
すると、スケジューリング部306は、アプリケーション管理部304から、ソケット解放要求の要求元アプリケーション202のアプリケーション情報310を取得する(ステップS44、S45)。その後、スケジューリング部306は、要求元アプリケーション202のアプリケーション情報310内のソケット目標値から、上記解放したいソケット数を差し引いた数を、要求元アプリケーション202の新たなソケット目標数として算出する(ステップS46)。
このようにして、スケジューリング部306が要求元アプリケーション202のソケット目標数のスケジューリング(再計算)を行うと、スケジューリング部306は、アプリケーション管理部304に、再スケジュール(再計算)されたソケット目標数を設定する(ステップS47、S48)。
その後、差異スケジューリングが終った旨の応答が、スケジューリング部306からアプリケーションI/F部302へ(ステップS49)、アプリケーションI/F部302からソケット制御部208へ(ステップS50)、さらに、ソケット制御部208からサービス部204へ(ステップS51)と返信される。
その後、(そのシーケンスは図示されてないが)要求元アプリケーション202のソケット取得部206が、OS100に不要になったソケットの解放を要求する。
図7は、或る1つのアプリケーションがシャットダウンし、その後に、ソケット管理部300が終了するときのシーケンスを示す図である。
或るアプリケーションシャットダウン要求が入ると、メインタスク400からそのアプリケーション202のサービス部204に対してシャットダウンが要求され(ステップS61)、サービス部204からソケット制御部208に対して破棄が要求される(ステップS62)。すると、ソケット制御部208からソケット管理部300のアプリケーションI/F部302に対してそのアプリケーション202の登録削除が要求され(ステップS63)、さらに、アプリケーションI/F部302からアプリケーション管理部304に対して同登録削除が要求される(ステップS64)。
すると、アプリケーション管理部304がそのアプリケーション202のアプリケーション情報310を削除することで、そのアプリケーション202の登録を削除し、そして、アプリケーションI/F部302に対して、アプリケーション202の登録を削除した旨の応答が返信され(ステップS66)、アプリケーションI/F部302からソケット制御部208に対して同応答が返信される(ステップS67)。
すると、ソケット制御部208は、サービス部204に対して消滅の旨の応答を返信して(ステップS68)、消滅する。サービス部204は、メインタスク400にシャットダウンする旨の応答を返信して(ステップS69)、消滅する。
その後、OSコンピュータシステム10が動作を終了しようとするとき、メインタスク400からアプリケーションI/F部302に対して、シャットダウンを要求する(ステップS70)。すると、アプリケーションI/F部302からスケジューリング部306に対して破棄が要求される(ステップS71)。すると、スケジューリング部306は、アプリケーションI/F部302に対して消滅する旨の応答を返信して(ステップS72)、消滅する。
また、アプリケーションI/F部302がアプリケーション管理部304に対して破棄を要求する(ステップS73)。すると、アプリケーション管理部304は、アプリケーションI/F部302に対して消滅する旨の応答を返信して(ステップS74)、消滅する。
その後、アプリケーションI/F部302が、メインタスク400に対してシャットダウンする旨の応答を返信して(ステップS74)、シャットダウンする。その後、メインタスク400がシャットダウンして、OSコンピュータシステム10の動作が終了する。
図8は、本発明の別の実施形態にかかるソケット管理システムを備えたるコンピュータシステムの要部の構成を示すブロック線図である。
図1に示されたコンピュータシステム10では各アプリケーション202がソケット取得部206を有しているのに対し、図8に示されたコンピュータシステム20では、ソケット管理部320が、それぞれのアプリケーション202、202、…のためのソケットをOS100から取得するためのソケット取得部314、314、…を有している。このコンピュータシステム20では、或るアプリケーション202からソケット数変更要求(ソケットの取得又は解放の要求)が発された時に、その要求元アプリケーション202に割り当てられたソケット取得部314が、スケジューリング部306によって再スケジュールされた要求元アプリケーション202のソケット目標数に基づいて、OS100から新たなソケットを取得し又は取得済みのソケットを解放する。そして、要求元アプリケーション202は、そのソケット取得部314によって取得されたソケットを用いて、ネットワークサービスを行うようになっている。
このように、ソケット管理部320が各アプリケーション202のソケット目標値を計算するだけでなく、それに基づいて各各アプリケーション202のための実際のソケットの取得や解放を行うので、各アプリケーション222の実際のソケット保有数をソケット目標数に確実に一致させることができる(但し、ソケットの解放をOS100に要求してから、実際にソケットが解放されるまでのタイムラグの間は、この限りでない)。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であり、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない範囲で、上記実施形態とは異なる種々の態様で実施することができる。
本発明が適用されたコンピュータシステムの一実施形態の要部の構成を示すブロック線図。 スケジュールアルゴリズムの構成要素の一つであるパターン算出表の例を示す図。 スケジュールアルゴリズムの構成要素の別の一つであるソケット割り当て数割合表の例を示す図。 ソケット管理部が起動しそして或る1つのアプリケーションが起動するときのシーケンスを示す図。 或る1つのアプリケーションがソケットの取得を要求するときのシーケンスを示す図。 或る1つのアプリケーションがソケットの解放を要求するときのシーケンスを示す図。 或る1つのアプリケーションがシャットダウンしそしてソケット管理装置が終了するときのシーケンスを示す図。 本発明の別の実施形態にかかるソケット管理システムを備えたるコンピュータシステムの要部の構成を示すブロック線図。
符号の説明
10、20:コンピュータシステム、 100:オペレーションシステム(OS)、 200、220:アプリケーション部、 202、222:アプリケーション、 204:サービス部、 206、314:ソケット取得部、 208:ソケット制御部、 210:ソケット保有数、 300、320:ソケット管理部(ソケット管理装置)、 302:アプリケーションI/F部、 304:アプリケーション管理部、 306:スケジューリング部、 308:ソケット総数、 310:アプリケーション情報、 312:スケジュールアルゴリズム

Claims (9)

  1. コンピュータシステム上で動作している1以上のアプリケーションのそれぞれに割り当てられるソケットの数を管理するための装置において、
    前記1以上のアプリケーションの全体に割り当て可能なソケットの総数を示すソケット総数と、前記1以上のアプリケーションの各々に割り当てられるソケットの数についての目標値を示すアプリケーション毎のソケット目標数とを記憶するアプリケーション管理手段と、
    前記1以上のアプリケーションのいずれかから発されるソケットの取得又は解放の要求を示すソケット数変更要求を受けて、受けた前記ソケット数変更要求と、前記アプリケーション管理手段内の前記ソケット総数とアプリケーション毎の前記ソケット目標数とに基づいて、前記ソケット数変更要求を発した要求元アプリケーションの前記ソケット目標数を再計算し、前記アプリケーション管理手段に記憶されている前記要求元アプリケーションの前記ソケット目標数を、再計算された前記ソケット目標数に更新するスケジューリング手段と、
    前記スケジューリング手段により再計算された前記ソケット数に基づいて、前記ソケット数変更要求に対する返答を生成し、前記返答を前記要求元アプリケーションに通知する返答手段と
    を備えたソケット管理装置。
  2. 請求項1記載のソケット管理装置において、
    前記アプリケーション管理手段は、アプリケーション毎の優先度を更に記憶し、
    前記スケジューリング手段は、受けた前記ソケット数変更要求と、前記アプリケーション管理手段内の前記ソケット総数とアプリケーション毎の前記ソケット目標数と、さらに前記アプリケーション管理手段内の前記要求元アプリケーションの前記優先度とに基づいて、前記要求元アプリケーションの前記ソケット目標数を再計算する、
    ソケット管理装置。
  3. 請求項2記載のソケット管理装置において、
    前記スケジュール手段は、前記アプリケーション管理手段内の前記1以上のアプリケーションの前記優先度に基づいて、前記1以上のアプリケーション間でのソケットの割り当て数の割合を決定し、前記決定された割り当て割合に従って前記要求元アプリケーションの前記ソケット目標数を決定する、
    ソケット管理装置。
  4. 請求項1〜3のいずれか一項記載のソケット管理装置において、
    前記スケジュール手段は、前記1以上のアプリケーションの前記ソケット目標数の和と前記ソケット総数との間の差に相当するソケット残数に応じて、前記1以上のアプリケーション間でのソケットの割り当て割合を制御する、
    ソケット管理装置。
  5. 請求項1〜4のいずれか一項記載のソケット管理装置において、
    前記スケジューリング手段により再計算された前記要求元アプリケーションの前記ソケット目標数に基づいて、前記要求元アプリケーションによるソケットの取得を許可するか否かを判断し、判断結果が許可であれば、前記要求元アプリケーションのための新たなソケットを、前記コンピュータイシステムのオペレーティングシステムから取得するソケット取得手段を
    さらに備えたソケット管理装置。
  6. 1以上のアプリケーションと、請求項1〜4のいずれか一項に記載のソケット管理装置とを備え、
    各アプリケーションが、
    前記ソケット管理装置からの前記返答に基づいて、ソケットの取得が許可されたか否かを判断し、判断結果が許可であれば、新たなソケットを、前記コンピュータイシステムのオペレーティングシステムから取得するソケット取得手段を備えた、
    ソケット管理システム。
  7. 1以上のアプリケーションと、請求項5記載のソケット管理装置とを備え、
    各アプリケーションが、前記ソケット管理装置により取得された前記各アプリケーションのためのソケットを使用するようになった、
    ソケット管理システム。
  8. コンピュータシステム上で動作している1以上のアプリケーションのそれぞれに割り当てられるソケットの数を管理するための方法において、
    前記1以上のアプリケーションの全体に割り当て可能なソケットの総数を示すソケット総数と、前記1以上のアプリケーションの各々に割り当てられるソケットの数についての目標値を示すアプリケーション毎のソケット目標数とを記憶するアプリケーション管理ステップと、
    前記1以上のアプリケーションのいずれかから発されるソケットの取得又は解放の要求を示すソケット数変更要求を受けて、受けた前記ソケット数変更要求と、前記アプリケーション管理ステップで記憶された前記ソケット総数とアプリケーション毎の前記ソケット目標数とに基づいて、前記ソケット数変更要求を発した要求元アプリケーションの前記ソケット目標数を再計算し、前記アプリケーション管理ステップにより記憶されていた前記要求元アプリケーションの前記ソケット目標数を、再計算された前記ソケット目標数に更新するスケジューリングステップと、
    前記スケジューリング手段により再計算された前記ソケット数に基づいて、前記ソケット数変更要求に対する返答を生成し、前記返答を前記要求元アプリケーションに通知する返答ステップと
    を備えたソケット管理方法。
  9. 請求項8記載の方法をコンピュータに実行させるためのコンピュータ読み取り可能なコンピュータプログラム。
JP2008086668A 2008-03-28 2008-03-28 ソケット管理装置及び方法 Expired - Fee Related JP4586873B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008086668A JP4586873B2 (ja) 2008-03-28 2008-03-28 ソケット管理装置及び方法
US12/407,569 US8024445B2 (en) 2008-03-28 2009-03-19 Socket management device and socket management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008086668A JP4586873B2 (ja) 2008-03-28 2008-03-28 ソケット管理装置及び方法

Publications (2)

Publication Number Publication Date
JP2009238157A true JP2009238157A (ja) 2009-10-15
JP4586873B2 JP4586873B2 (ja) 2010-11-24

Family

ID=41118806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008086668A Expired - Fee Related JP4586873B2 (ja) 2008-03-28 2008-03-28 ソケット管理装置及び方法

Country Status (2)

Country Link
US (1) US8024445B2 (ja)
JP (1) JP4586873B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5217988B2 (ja) * 2008-12-08 2013-06-19 富士通株式会社 情報処理装置、プログラムおよび情報処理装置の制御方法
US8559331B2 (en) * 2010-09-13 2013-10-15 Alcatel Lucent Tri-colour data packet counting for tri-colour marking policies
US8224894B1 (en) 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US8812601B2 (en) 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints
US8171137B1 (en) 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US9184800B2 (en) 2012-07-16 2015-11-10 Google Inc. Automated sharing of application data over a near field communication link
CN102946362B (zh) * 2012-09-13 2016-08-31 杭州华三通信技术有限公司 一种套接字资源分配方法及设备
US9548912B2 (en) * 2012-10-15 2017-01-17 Oracle International Corporation System and method for supporting smart buffer management in a distributed data grid
US9125180B1 (en) 2013-03-15 2015-09-01 Google Inc. Techniques for automatically establishing a long-lasting connection across computing devices configured for short-range wireless communication

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332833A (ja) * 1993-05-25 1994-12-02 Nec Corp サーバ運用方式
JPH11110452A (ja) * 1997-10-03 1999-04-23 Nippon Steel Corp 金融情報処理システム、金融情報処理方法及び金融情報処理プログラムを記録した記録媒体
JP2000148426A (ja) * 1998-11-06 2000-05-30 Ricoh Co Ltd ソケット管理装置およびソケット管理方法
JP2004110249A (ja) * 2002-09-17 2004-04-08 Hitachi Ltd プログラム割当制御方法とプログラムおよびプログラム割当制御システム
JP2008004125A (ja) * 2007-09-03 2008-01-10 Hitachi Ltd 負荷制御方法および装置並びにその処理プログラム
JP2008059599A (ja) * 2007-09-28 2008-03-13 Hitachi Ltd 仮想化されたリソースの割当て方法及びその実施システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485460A (en) * 1994-08-19 1996-01-16 Microsoft Corporation System and method for running multiple incompatible network protocol stacks
US6400730B1 (en) * 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US7260635B2 (en) * 2000-03-21 2007-08-21 Centrisoft Corporation Software, systems and methods for managing a distributed network
US20040003085A1 (en) * 2002-06-26 2004-01-01 Joseph Paul G. Active application socket management
US7069326B1 (en) * 2002-09-27 2006-06-27 Danger, Inc. System and method for efficiently managing data transports
KR100560752B1 (ko) 2004-07-21 2006-03-13 삼성전자주식회사 소켓 연결 관리 시스템 및 그 소켓 연결 상태 체크 방법
JP4413121B2 (ja) 2004-10-05 2010-02-10 ソフトバンクモバイル株式会社 Tcp/ipソケットを用いたデータ通信装置及びデータ通信方法
US7403535B2 (en) * 2004-12-14 2008-07-22 Hewlett-Packard Development Company, L.P. Aggregation of network resources providing offloaded connections between applications over a network
US7508812B2 (en) * 2005-01-28 2009-03-24 Research In Motion Limited Socket management for always-on data connections
GB0518013D0 (en) * 2005-09-03 2005-10-12 Ibm Method,apparatus and computer program product for sharing resources
US8104039B2 (en) * 2006-08-07 2012-01-24 International Business Machines Corporation Method for balancing resource sharing and application latency within a data processing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332833A (ja) * 1993-05-25 1994-12-02 Nec Corp サーバ運用方式
JPH11110452A (ja) * 1997-10-03 1999-04-23 Nippon Steel Corp 金融情報処理システム、金融情報処理方法及び金融情報処理プログラムを記録した記録媒体
JP2000148426A (ja) * 1998-11-06 2000-05-30 Ricoh Co Ltd ソケット管理装置およびソケット管理方法
JP2004110249A (ja) * 2002-09-17 2004-04-08 Hitachi Ltd プログラム割当制御方法とプログラムおよびプログラム割当制御システム
JP2008004125A (ja) * 2007-09-03 2008-01-10 Hitachi Ltd 負荷制御方法および装置並びにその処理プログラム
JP2008059599A (ja) * 2007-09-28 2008-03-13 Hitachi Ltd 仮想化されたリソースの割当て方法及びその実施システム

Also Published As

Publication number Publication date
JP4586873B2 (ja) 2010-11-24
US20090248875A1 (en) 2009-10-01
US8024445B2 (en) 2011-09-20

Similar Documents

Publication Publication Date Title
JP4586873B2 (ja) ソケット管理装置及び方法
JP4829474B2 (ja) ネットワーク制御装置およびそのパス制御方法
JP5039016B2 (ja) ネットワークシステム、管理サーバ及び設定スケジューリング方法
JP5244717B2 (ja) 負荷割当制御方法および負荷分散システム
JP5273737B2 (ja) ストレージ管理システム、ストレージ管理方法およびプログラム
TW200421788A (en) Downloading system, communication terminal, server and downloading method
JP2005031929A (ja) サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム
GB2523568A (en) Method for processing requests and server device processing requests
JP4778916B2 (ja) QoS要求受付プログラム、QoS要求受付装置およびQoS要求受付方法
JP2008204120A (ja) コンピュータシステム
CN113382077A (zh) 微服务调度方法、装置、计算机设备和存储介质
US7818461B2 (en) Systems and methods for allocating an asset to interconnected devices
JP2003131960A (ja) データ中継方法
EP2725480A2 (en) Image forming apparatus and controlling method thereof
JP2008104110A (ja) 帯域制御システム、帯域制御方法および帯域制御プログラム
KR20070041462A (ko) 유효자원 쿼럼 생성 모듈 기반 그리드 자원 관리 시스템 및그 방법
JP2007531145A (ja) 制限されたバジェット使用の手法においてバジェットを転送する方法及びシステム
WO2016115798A1 (zh) 存储空间分配方法、存储空间分配装置和终端
JP2004046774A (ja) プリントサーバ、印刷システム、印刷ジョブ管理方法、プログラムおよび記録媒体
JP2001313647A (ja) 通信ネットワークのサービス優先順位を支援するための帯域幅割当ての方法および装置
JP2009205341A (ja) ワークフロー支援システム、ワークフロー支援方法、およびワークフロー支援プログラム
JP2007052542A (ja) 負荷分散処理システム及び装置
US9450863B2 (en) Route request mediation apparatus, control apparatus, route request mediation method and program
JP2004046372A (ja) 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体
JP2007310625A (ja) メモリ管理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100720

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100823

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4586873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees