JP4364150B2 - リソース共用装置、方法、及びプログラム - Google Patents

リソース共用装置、方法、及びプログラム Download PDF

Info

Publication number
JP4364150B2
JP4364150B2 JP2005088990A JP2005088990A JP4364150B2 JP 4364150 B2 JP4364150 B2 JP 4364150B2 JP 2005088990 A JP2005088990 A JP 2005088990A JP 2005088990 A JP2005088990 A JP 2005088990A JP 4364150 B2 JP4364150 B2 JP 4364150B2
Authority
JP
Japan
Prior art keywords
resource
client
access
usage request
usage
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
JP2005088990A
Other languages
English (en)
Other versions
JP2006268714A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2005088990A priority Critical patent/JP4364150B2/ja
Publication of JP2006268714A publication Critical patent/JP2006268714A/ja
Application granted granted Critical
Publication of JP4364150B2 publication Critical patent/JP4364150B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、例えば電子商取引用のサイトや、オークション用のサイトや、各種データベース用のサイトを提供するようなリソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、リソース提供側と複数のクライアントとの間を中継するリソース共用装置、方法、及びプログラムに関する。
通常、限られたリソースを複数のアプリケーション、プロセス、スレッドなどで利用するシステムにおいては、複数のリソース利用クライアント間で効率的にリソースを共用するしくみが求められる。ここでの限られたリソースとは例えば、SSLコネクションやDBコネクションなどである。
以下、SSLを例に説明する。SSLによる通信では、SSLセッションを確立するための計算/通信コストが高い。またサーバ側がSSLコネクションの数に制限を加えることもある。例えば、あるサーバとSSL通信するクライアントアプリケーションが3つあり、SSLセッション/コネクションは1つしか許されない場合を考える。この場合、各クライアントアプリケーションがSSLセッション/コネクションの確立と破棄を繰り返すよりも、3つのクライアントアプリケーションが1つのSSLコネクションを使い回せれば実行する上で効率的である。
限られたリソースを共有するしくみとしてプーリング機構が実用されている。プーリング機構とは、リソースを集めて管理するためのしくみである。例えば上述のSSLの例では、許される数のSSLコネクションをあらかじめ確立しておき、それらのSSLコネクションをプーリング機構に登録しておく。リソース利用クライアントがSSL通信する際には、プーリング機構から空いているSSLコネクションを借りて利用する。リソース利用クライアントはSSL通信が済んだら、そのSSLコネクションをプーリング機構に返す。
ところで、リソース利用クライアントがプーリング機構からリソースを借りようとしたとき、必ずしもリソースに空きがあるとは限らない。リソースが空いていない場合、そのリソースを使って実行しようとしているタスクを実行できない。そのためリソース利用クライアントは、そのタスクの実行を待機しなければならない。タスクの実行を待機する方法としては、以下に示す(a)及び(b)の2つの方法が考えられる。
(a)は、リソースが開放されるまでリソース利用クライアントが待ち、リソースが空いたらそのリソースを使ってタスクを実行する方法であり、(b)は、リソース利用クライアントはリソースが空くまで待つのではなく、リソース利用クライアントがプーリング機構に対して「リソースが空いたらこのタスクを実行してくれ」と依頼する方法である。
上記(a)にてリソースが開放されるまで待つ方法としては、ポーリングとコールバックを使う方法がある。ポーリングでは、リソース利用クライアントは、リソースが空くまでプーリング機構へ問い合わせを繰り返す。このようなポーリングでは、プーリング機構へ問い合わせた時点で、たまたま空いているリソースを借りられる。リソース利用クライアントがリソースを要求した順番や、リソースを必要とする優先度などの制御ができない。
また、コールバックとは、リソース利用クライアントはリソースを使いたい旨をプーリング機構に伝え、リソースが空いたら通知してもらう。このようなコールバックでは、リソース利用クライアントからのリソース利用要求の待ち行列をプーリング機構で管理することができる。そのため、リソースの利用のされ方をプーリング機構で制御できる。すなわち、リソース利用クライアントがリソースを要求した順番や、リソースを必要とする優先度などに応じて、リソースを貸し出す順番を決めることができる。
一方、上記(b)にてリソース利用クライアントがプーリング機構に対してタスクの実行を依頼する方法としては、そのタスク実行依頼をプーリング機構の待ち行列に格納する方法が考えられる。
なお、特許文献1には、上記に関連する技術として、1つのジョブ実行部に対して、複数の端末装置がジョブの実行を要求するような場合に、ジョブ実行部に出力される実行要求の順番を決めるための技術が開示されている。
特開平8−287027号公報
しかしながら、このような従来技術のプーリング機構では、以下のような問題がある。
すなわち、リソース共用のために従来技術のプーリング機構を適用すると、リソース利用クライアントはプーリング機構に依存することになり、以下に示すように、リソース利用クライアントがやらねばならない手順が大きく増える。そのため、リソース共有のためのシステム開発コストの増大や、リソース共有要否の条件が変わった場合にシステム変更コストが予想以上に増大するという問題が発生する。
図12は、リソースを共用する必要がない場合、本来実現したい処理の流れを示す図である。リソース提供サーバ40が提供するリソースを共用する必要がなければ、リソース利用クライアント30は、単にリソースを利用する要求をリソース提供サーバ40に送信する(S101)。この場合、リソース提供サーバ40が提供するリソースが空いていれば、ステップS101でなされた要求に応じてリソース提供サーバ40からリソース利用クライアント30に対して返却値が返却される(S102)。
しかしながら、リソースが空いていない場合、そのリソースを使って実行しようとしているタスクを実行できない。そのためリソース利用クライアントは、プーリング機構を適用し、上述した(a)又は(b)の方法に従って、タスクの実行を待機しなければならない。以下では、プーリング機構の適用により、リソース利用クライアントがやらねばならない手順がどのように増えたのかを、SSLコネクションの例を用いて、上述した(a)及び(b)それぞれについて具体的に説明する。
(a)リソース利用クライアントがリソースの開放を待つ場合
プーリング機構からコールバックのしくみによって空きSSLコネクションを取得して利用する場合について図13を用いて説明する。この場合、リソース利用クライアント30は、以下に示すステップS111〜S117の手続きを実施しなければならない。
SSLコネクションを利用したい旨をプーリング機構50に伝える(S111)。プーリング機構50からSSLコネクション空き通知が届くのを待つ(S112)、プーリング機構50からSSLコネクション空き通知が届いたら、SSLコネクションの取得を依頼する(S113〜S114)、取得したSSLコネクションを使ってリソース提供サーバ40と通信する(S115)、返却値が返却される(S116)、SSLコネクションをプーリング機構50に返却する(S117)。
これらステップのうち、リソース利用クライアント30が本来やりたいことはステップS115とステップS116だけである。それ以外のステップは、プーリング機構50を使うためにやむなく行わねばならない手続きである。そのため、SSLコネクションを共用するクライアントの開発コストが増える。
またシステム開発当初はリソースの不足を予期しておらず、運用の途中からリソース不足が顕在化してリソース共有のしくみを追加導入するという状況もあり得る。この場合、システムにてそのリソースを利用しているあらゆる箇所にて、上述の追加ステップを実施しなければならず、システム変更コストが高くなる。
(b)リソース利用クライアントがプーリング機構にタスクの実行を依頼する場合
リソース利用クライアント30がプーリング機構50に対して、「SSLコネクションが空いたらこのメッセージを送信してくれ」と依頼する場合について図14を用いて説明する。この場合、リソース利用クライアント30とプーリング機構50との間では以下の手続きが実施される。すなわち、そのメッセージを送信して欲しい旨をリソース利用クライアント30がプーリング機構50に伝える(S121)、プーリング機構50がSSLコネクションの空きを待つ(S122)、SSLコネクションが空いたら、プーリング機構50は、リソース利用クライアント30から送信を託されたメッセージをリソース提供サーバ40に送信する(S123)、プーリング機構50が、送信が完了した旨をリソース利用クライアント30に通知する(S124)。
上記各ステップにおいて、リソース利用クライアント30が関与するのはステップS121とステップS124である。一方、リソース利用クライアント30が本来やりたいことは、SSL通信でメッセージを送受信することである。そのため、ステップS121とステップS124とは、プーリング機構50を使うためにやむなく行わねばならない手続きである。このように、図12に示すような単にSSL通信でメッセージを送受信する場合と比較すると、特にステップS124の送信完了通知を受け取るしくみをリソース利用クライアント30に実装するのは開発コストがかかる。
また(a)の場合と同様、システム開発当初はリソースの不足を予期しておらず、運用の途中からリソース不足が顕在化してリソース共有のしくみを追加導入するという状況もあり得る。この場合、システムにてそのリソースを利用しているあらゆる箇所にて、上述の追加ステップを実施しなければならず、システム変更コストが高くなる。
本発明はこのような事情に鑑みてなされたものであり、リソースを利用するクライアント側の影響を抑えつつ、複数のクライアントがリソースを共用して利用できるようなリソース共用装置、方法、及びプログラムを提供することを目的とする。
上記の目的を達成するために、本発明では、以下のような手段を講じる。
すなわち、本発明は、リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、リソース提供側と複数のクライアントとの間を中継するリソース共用装置、リソース共用装置に適用されるリソース共用方法、及びリソース共用方法を実現するプログラムである。このリソース共用装置には、複数の利用要求受付手段と、記憶装置と、例えばSSLコネクションのような遠隔呼出によってリソース提供側にアクセス可能なアクセス手段と、書込手段と、監視手段と、初期化手段と、負荷分散手段とが備えられている。
クライアントが、このようなリソース共用装置を利用する場合には、まず、複数の利用要求受付手段のうちの何れかにアクセスし、リソースの利用要求情報を入力する。このようにして利用要求受付手段に入力された利用要求情報は、書込手段によって、受け付けた利用要求受付手段に関連付けられて、記憶装置に書き込まれる。
一方、リソース提供側によって提供されるリソースのクライアントによる利用状況は、監視手段によって監視されている。さらにこの監視手段によって、クライアントによって利用されていないリソースが発見された場合には、記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、利用されていないリソースが存在することが通知される。
そして、通知された利用要求受付手段が、アクセス手段に接続することによって、この利用要求受付手段にアクセスしているクライアントは、リソースを利用できるようになる。
このようにすることによって、複数のクライアントがリソースを共用して利用できるようになる。
ここで、各利用要求受付手段は、リソース提供側がアクセス手段に提供しているインタフェースと同一仕様のインタフェース(例えば、SOAP(Simple Object Access Protocol)を用いたインタフェース)を、クライアントに提供するようにしても良い。
また、アクセス手段は、リソースにアクセスするためのリソースアクセスオブジェクトを、リソース毎に備えるようにし、利用されていないソースの存在を通知された利用要求受付手段が、この利用されていないリソースにアクセスしているリソースアクセスオブジェクトに接続することによって、この利用要求受付手段にアクセスしているクライアントが、このリソースアクセスオブジェクトがアクセスしているリソースを利用できるようにしても良い。
さらに、記憶装置に、書き込まれた利用要求情報を保持するキューを備えるようにしてもよい。このキューは、リソース共用装置の初期化時に、初期化手段によってクリアされる。また、上述したリソースアクセスオブジェクトは、リソース共用装置の初期化時に、この初期化手段によって生成される。
また、各リソースアクセスオブジェクトに予め識別番号を付与し、クライアントが、利用要求受付手段から利用要求情報を入力する際に、利用したいリソースアクセスオブジェクトの識別番号も入力することによって、リソースアクセスオブジェクトがアクセスしているリソースを指定することもできる。
また、各利用要求受付手段に対して予め優先度を定めておくことによって、利用されていないリソースが監視手段によって発見され、その旨が利用要求受付手段に通知される場合に、優先度の高い利用要求受付手段から順に通知されるようにすることもできる。
なお、ここでクライアントは、唯一のリソース共用装置へのアクセスのみが許容されている訳ではなく、別のリソース共用装置にアクセスしていても良い。
また、リソース共用装置が備えるアクセス手段は一つに限るものではなく、複数備えていても良い。このようにアクセス手段を複数備え、各アクセス手段を、それぞれ異なるリソース提供側とアクセスさせることによって、リソース共用装置は、複数のリソース提供側とアクセスすることが可能となる。
なお、このように複数のリソース提供側とアクセスしている場合、利用要求受付手段は、クライアントから、利用要求情報とともに、複数のアクセス手段のうちの何れかを指定する指定入力を受け付ける。これによってクライアントは、複数のリソース提供側とアクセスが可能となっているリソース共用装置を使って、所望するリソースにアクセスすることが可能となる。
なお、このようにリソース共用装置がアクセス手段を複数備えた場合には、上述した優先度や、指定入力等の制約の範囲内で、負荷分散手段によって、アクセス手段に接続しようとする利用要求受付手段を、通信負荷の小さいアクセス手段に優先的に接続させることによって、複数のアクセス手段の負荷分散が図られる。
以上のような手段を講じることによって、本発明は、複数のクライアントがリソースを共用できるようになる。しかも、複数のクライアントがリソースを共用することを可能にするための処理をクライアントから隠蔽しながら行うので、クライアントに対して、操作手順の増加をもたらすことはない。このため、クライアントは、リソース共用装置の操作を特に意識する必要は無い。また、リソース共有するためのシステムの開発や、リソース共有要否の条件が変わった場合のためのシステムの変更も不要となる。
本発明のリソース共用装置、方法、及びプログラムによれば、複数のクライアントがリソースを共用できるようになる。しかも、複数のクライアントがリソースを共用することを可能にするための処理をクライアントから隠蔽しながら行うので、クライアントに対して、操作手順の増加をもたらすことはない。このため、クライアントは、リソース共用装置の操作を特に意識する必要は無い。また、リソース共有するためのシステムの開発や、リソース共有要否の条件が変わった場合のためのシステムの変更も不要となる。
以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。
なお、以下の各実施の形態の説明に用いる図中の符号は、図12乃至図14と同一部分については同一符号を付して示すことにする。
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係るリソース共用方法を適用したリソース共用装置の一例を示す機能ブロック図である。
すなわち、本実施の形態に係るリソース共用装置10は、リソース提供サーバ40によって提供されるリソース42を、複数のリソース利用クライアント30(#1,#2,#3,〜#n)(以下、代表的に「複数のリソース利用クライアント30」と称する)が共用して利用できるように、リソース提供サーバ40と複数のリソース利用クライアント30との間を中継する装置であって、複数のプロキシ12(#1,#2,#3,〜#n)(以下、代表的に「プロキシ12」と称する)と、接続リソース利用管理部14と、接続リソースアクセス部16とを備えている。さらに接続リソース利用管理部14は、キュー管理部20と、利用要求記憶装置22と、接続オブジェクト管理部24と、ユーザデータ記憶装置26と、証明書データ記憶装置28とを備えている。接続リソースアクセス部16は、リソース提供サーバ40が提供するリソース42(#1〜#3)のそれぞれに対応している接続オブジェクト18(#1〜#3)を備えている。なお、図1では、リソース42及び接続オブジェクト18として3つのみ示しているが、これは一例であり、3つに限定される訳ではない。
プロキシ12は、リソース利用クライアント30の数に対応して設けられ、それぞれ対応するリソース利用クライアント30から、リソース42の利用要求情報を受け付ける。この場合、リソース利用クライアント30は、希望する接続オブジェクト18がある場合には、希望する接続オブジェクト18の識別番号を利用要求情報に含めて入力する。そして、リソース利用クライアント30によってなされた利用要求情報を、接続リソース利用管理部14のキュー管理部20に送る。また、利用要求情報に待機スレッド指定を含めるようにしても良い。待機スレッド指定とは、要求に合う接続オブジェクト18が開放されたときに、復帰する待機スレッドを指定するものである。
またプロキシ12は、リソース利用クライアント30に対して提供する入力受付用インタフェースとして、リソース提供サーバ40が提供している入力受付用インタフェースと同一仕様のもの(例えば、SOAPを用いたインタフェース)を使用するようにしても良い。こうすることによって、リソース利用クライアント30を操作するクライアントは、リソース共用装置10を介してリソース提供サーバ40にアクセスする場合も、リソース提供サーバ40に直接アクセスした場合も、同じインタフェースが与えられることになるので、リソース利用クライアント30は、リソース提供サーバ40と、リソース共用装置10のプロキシ12に対して同一の方法でアクセスでき、リソース共用装置10を経由してリソース提供サーバ40にアクセスすることを意識しなくてもよくなる。
キュー管理部20は、プロキシ12からの利用要求情報を受けると、この利用要求情報を、この利用要求情報を要求したクライアントのユーザ識別番号と、このクライアントの優先度とともに、利用要求記憶装置22に書き込む。ここで、利用要求記憶装置22は、待ち行列の形式でデータの書込み、読み出しが制御される。以下、このようにして制御される利用要求記憶装置22を利用要求データキューとして説明する。なお、この利用要求データキューは、メモリやHDDなどのハードウェアから構成される。
図2は、利用要求データキュー(利用要求記憶装置22)に書き込まれた利用要求データのデータ構成例を示す図である。この利用要求データキュー(利用要求記憶装置22)には、プロキシ12から出力された順に、優先度、ユーザ識別番号、待機スレッド指定、希望する接続オブジェクト識別番号等の項目が関連付けられたデータが積まれる形式で記憶されている。なお、これは、クライアント毎に優先度が指定されている場合の例である。優先度を指定しない場合には、優先度の欄には何も書き込まれない。また、希望する接続オブジェクト18の指定がない場合には、希望する接続オブジェクトの欄には何も書き込まれない。
接続オブジェクト管理部24は、キュー管理部20と、接続オブジェクト18との起動時における初期化処理、及び停止処理を行う。初期化処理では、キュー管理部20に対して、利用要求データキュー(利用要求記憶装置22)の内容をクリアさせる。また、図3にそのデータ構成例を示すユーザデータ記憶装置26に書き込まれたユーザ識別番号及びパスワードを用いて、接続リソースアクセス部16の中に、リソース共用装置10がリソース提供サーバ40によって許可されたネットワーク通信接続の数だけ接続オブジェクト18を生成する。
接続リソースアクセス部16に生成された接続オブジェクト18は、接続オブジェクト管理部24によって、リソース共用装置10がリソース提供サーバ40によって許可されたネットワーク通信接続の数だけ生成される。
各接続オブジェクト18は、このようにして生成されると、証明書データ記憶装置28に書き込まれたデータであって、図4にそのデータ構成例を示すように発行者、有効期限、ユーザ識別番号の項目からなるデータを用いて、それぞれリソース42との間に、例えばSOAP over HTTP接続のような遠隔呼出によるSSLコネクションによるアクセスを確立することによって、リソース42にログインし、接続を維持する。
また、接続オブジェクト管理部24は、リソース共用装置10の各部位の動作を制御するとともに、プロキシ12と接続オブジェクト18との接続状況を監視することによって、リソース42の、リソース利用クライアント30による利用状況を監視する。そして、リソース利用クライアント30によって利用されていないリソース42を発見した場合には、利用要求データキュー(利用要求記憶装置22)に書き込まれた利用要求データを参照して、何れかのプロキシ12に対して、利用されていないリソース42が存在する、すなわち、どのプロキシ12にも接続されていない接続オブジェクト18が存在することをキュー管理部20を介して通知する。これを処理可能通知と称する。この場合、利用要求データキュー(利用要求記憶装置22)に書き込まれた利用要求データの優先度の順に従って、通知するプロキシ12を決定する。優先度が指定されていない場合には、利用要求情報を出力した順番に従ってプロキシ12を決定する。
このようにして接続オブジェクト管理部24から通知がなされたプロキシ12が、どのプロキシ12からも利用されていない接続オブジェクト18を利用できるようになる。プロキシ12はクライアントからの依頼を接続オブジェクト18に送信し、接続オブジェクト18はこの依頼をリソース42に送信する。
なお、リソース共用装置10の各部位の動作を制御する接続オブジェクト管理部24は、図示しないプログラム記憶領域を備えており、ここに記憶されたプログラムを読み出し、このプログラムにしたがって動作する。なお、このプログラムは、このように自己に記憶される場合に限定されるものではなく、インターネット等の通信ネットワークを介してダウンロードされるようにしてもよい。
ここでプログラム記憶領域としては、磁気ディスク、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD−ROM、DVD等)、光磁気ディスク(MO等)、半導体メモリ等、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
また、プログラム記憶領域からインストールされたプログラムの指示に基づき稼働しているOS(オペレーティングシステム)や、利用要求記憶装置22、ユーザデータ記憶装置26、及び証明書データ記憶装置28を管理するためのソフトウェア、ネットワークソフト等のMW(ミドルウェア)等が本発明の実施の形態を実現するための各処理の一部を実行してもよい。
さらに、上記プログラム記憶領域は、接続オブジェクト管理部24の一部であっても図示しない独立した媒体であっても良く、更にはLANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体であっても良い。
また、この記憶媒体は1つに限らず、複数の媒体から本発明の実施の形態における処理が実行される場合もここでいう記憶媒体に含まれ、媒体構成は何れの構成であってもよい。
なお、ここでいうコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施の形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。また、このコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
次に、以上のように構成した本実施の形態に係るリソース共用装置の動作について具体例を用いて説明する。
この具体例では、リソース共用装置10とリソース提供サーバ40の間の通信においてクライアント認証を伴うHTTPS通信によるWebサービス(SOAP)接続において、1クライアント1接続に同時接続が制限されている場合について説明する。
例えば、会員限定のオークションサービスをリソース提供サーバ40が提供しており、クライアントがその同時接続数に応じて利用料を払い、オークションに参加する場合を考える。リソース提供サーバ40は、オークションサービスへアクセスするための方法としてSOAPを提供し、SOAPを用いてアクセスするインタフェースの情報をWSDL(Web Services Description Language)として公開する。SOAP接続のための低レベルのプロトコルとしてHTTPSを用いる。HTTPSはクライアント認証をするために,クライアント証明書を要求する。リソース提供サーバ40は、同一のクライアント証明書を用いた接続は、同時に一つだけに制限する。クライアントは、リソース利用クライアント30を用いてリソース提供サーバ40にアクセスするには、アクセス許可を受けた証明書をライセンス料を払って取得する必要がある。
ここでは、リソース利用クライアント30は、ネットワーク通信接続数とは関係なく複数存在するが、リソース共用装置10が提供する接続共用機能を使うことで、複数のリソース利用クライアント30は、同時接続の状態を意識せずにリソース提供サーバ40を共有できる。そのため,同時接続数はライセンス料を取得した証明書の数に制約されるが、接続共用機能を用いることで、クライアント数は証明書の数に制約されないようになる。
このような接続共用機能を実現するリソース共用装置10を動作させる場合には、図5の処理流れ図に示すように、まず初期化処理が行われる。
初期化処理では、接続オブジェクト管理部24によってキュー管理部20が起動され(S1)、キュー管理部20に初期化メッセージが投げられる(S2)。すると、キュー管理部20によって、利用要求データキュー(利用要求記憶装置22)の内容が初期化されクリアされる(S3)。また、ユーザデータ記憶装置26に書き込まれたユーザ識別番号及びパスワードを用いて、接続リソースアクセス部16の中に、リソース共用装置10がリソース提供サーバ40によって許可されたネットワーク通信接続の数だけ接続オブジェクト18が生成される(S4)。さらに、接続オブジェクト管理部24によって、生成した接続オブジェクト18に対して、初期化メッセージを投げられるとともに、ユーザデータ記憶装置26に書き込まれたユーザ識別番号及びパスワードが渡される(S5)。
生成された各接続オブジェクト18では、初期化メッセージを受けると、渡されたユーザ識別番号及びパスワードに対応する証明書が証明書データ記憶装置28から取得される。そして、この証明書を用いてリソース提供サーバ40にログインし、セッション状態が維持される(S6)。
一方、プロキシ12からは、本リクエスト処理機能が、リソース利用クライアント30に対して公開API(Application Program Interface)等により提供される。これによって、リソース共用装置10によって、リソース提供サーバ40へのリクエスト送信が仲介される。このとき、リソース利用クライアント30が、リソース提供サーバ40に直接アクセスするときと、本実施の形態に係るリソース共用装置10を介するときとで、アクセスするAPIを同じとしている。このようにするためには、リソース提供サーバ40が公開するWSDLから自動生成したProxyクラスのAPIに対して、インタフェースを変えずに、内部実装を、リソース共用装置10を用いるように修整すればよい。
図6の処理流れ図に示すように、このAPIを用いてリソース利用クライアント30から、利用要求情報として例えばSOAPリクエスト要求がプロキシ12に入力されると(S11、S12)、この利用要求情報はキュー管理部20に送られる(S13)。するとキュー管理部20によって、利用要求データキュー(利用要求記憶装置22)内の利用要求データとして、プロキシ12から出力された順に、優先度、ユーザ識別番号、待機スレッド指定、希望する接続オブジェクト等のデータが書き込まれる(S14)。このようにして利用要求データキュー(利用要求記憶装置22)への書き込みが終わると、プロキシ12は、接続オブジェクト管理部24からの処理可能通知があるまでは待機状態となる(S15)。
ステップS15の待機状態に入ると、接続オブジェクト管理部24によって、プロキシ12と接続オブジェクト18との接続状況が監視される。そして、利用要求情報で希望された接続オブジェクト18が空いていることが確認され、復帰イベントが発生する(S16)まで、現在のスレッドが待機状態とされる。なお、利用要求情報で希望する接続オブジェクト18の指定がなかった場合には、いずれかの空いている接続オブジェクト18が確認され、復帰イベントが発生する(S16)まで、現在のスレッドが待機状態とされる。この復帰イベントは、接続オブジェクト管理部24によって、利用要求データキュー内で最も優先度が高い利用要求情報を含むスレッド指定に対してなされる。
このようにしてスレッド指定に対して復帰イベントがなされると、このスレッド指定に対応するキューに記憶されたデータが利用要求データキュー(利用要求記憶装置22)から削除される(S17)。また、プロキシ12に対して処理可能通知が、接続可能な接続オブジェクト18の識別番号とともに出力される(S18)。なお、利用要求情報で希望する接続オブジェクト18の指定がなかった場合には、いずれかの空いている接続オブジェクト18があれば、処理可能通知が、この空いている接続オブジェクト18の識別番号とともにプロキシ12に対してなされる(S18)。
このようにしてプロキシ12に処理可能通知が、接続オブジェクト18の識別番号とともに出力されると、プロキシ12から、この識別番号に対応する接続オブジェクト18に対して接続要求が送られ、プロキシ12と接続オブジェクト18とが接続される(S19)。これによって、このプロキシ12にアクセスしているリソース利用クライアント30は、リソース提供サーバ40を利用できるようになるので、クライアントは、リソース利用クライアント30から必要な要求内容を入力すると、この要求内容は、プロキシ12から接続オブジェクト18に渡され、さらに接続オブジェクト18からSOAP over HTTPSの接続セッションを介してリソース提供サーバ40に入力される(S20)。そして、リソース提供サーバ40からは、この要求内容に応じた情報が、SOAP over HTTPSの接続セッションを介して接続オブジェクト18に送信され、さらにそこからプロキシ12を介してリソース利用クライアント30に戻される。
このようにして、リソース利用クライアント30を利用するクライアントは、リソース提供サーバ40を利用することができる。そして、リソース利用クライアント30によるリソース提供サーバ40の利用が終了すると、プロキシ12と接続オブジェクト18との間の接続が切断されるとともに、別のプロキシ12からの利用要求に処理を渡すために、プロキシ12からキュー管理部20に対して、接続オブジェクト18が開放された旨の通知がなされる(S21)。
次に、接続オブジェクト管理部24によってなされる停止処理時の動作について、図7に示す処理流れ図を用いて説明する。
本実施の形態に係るリソース共用装置10を停止する場合には、接続オブジェクト管理部24から停止準備メッセージがキュー管理部20に送られる(S31)。キュー管理部20に停止準備メッセージが送られると、キュー管理部20は、新たなリクエスト要求を受け付けない。
次に、ステップS31における停止準備メッセージが送られて30秒後に、利用要求データキュー(利用要求記憶装置22)が空である(何も記憶されていない)ことを確認する確認メッセージがキュー管理部20に送られる(S32)。
キュー管理部20によって確認メッセージが受け取られると、キュー管理部20によって、利用要求記憶装置22内の利用要求データキュー(利用要求記憶装置22)が空であるか否かが確認される(S33)。この結果は、キュー管理部20から接続オブジェクト管理部24に返される。
ステップS33において、利用要求データキュー(利用要求記憶装置22)が空であることが確認された場合には、接続オブジェクト管理部24からキュー管理部20に対して停止メッセージが出力され、これによってキュー管理部20によるキュー管理機能が停止される(S34)。
一方、ステップS33において、利用要求データキュー(利用要求記憶装置22)が空でないことが確認された場合には、その確認結果を受け取ってから30秒後に再度、接続オブジェクト管理部24からキュー管理部20に対して、利用要求データキュー(利用要求記憶装置22)が空であることを確認する確認メッセージが(S32)。
このようにして最終的にキュー管理部20によるキュー管理機能が停止すると、接続オブジェクト管理部24から各接続オブジェクト18に対して、リソース提供サーバ40との接続の切断を要求するログアウト要求が出力される(S35)。
そして、ログアウト要求を受け取った各接続オブジェクト18からは、リソース提供サーバ40に対してログアウトメッセージが出力される(S36)。そして、ログアウトメッセージを受け取ったリソース提供サーバ40によって、接続オブジェクト18とリソース42との各接続が切断される。これによって、各接続オブジェクト18の動作が停止される(S37)。
上述したように、本実施の形態に係るリソース共用方法を適用したリソース共用装置10においては、上記のような作用により、限られたリソースを複数のクライアントで使い回すことにより、複数のクライアントがリソース提供サーバ40を共用することを可能にする。
図8は、本実施の形態に係るリソース共用方法を適用したリソース共用装置10の、リソース利用クライアント30及びリソース提供サーバ40との処理関係を示す図である。
図8に示すように、限られたリソースを複数のリソース利用クライアント30で使い回すために行っているリソース共用装置10の振る舞いは、リソース利用クライアント30から隠蔽される。つまり、リソース利用クライアント30から見ると、リソース提供サーバ40に直接アクセスする場合(図12参照)でも、リソース共用装置10が仲介する場合でも、同じようにリソース提供サーバ40にアクセスできる。つまり、図12に示すステップS101及びステップS102の処理と、図8に示すステップS41及びステップS44の処理とはそれぞれ同じであり、また、複数のリソース利用クライアント30がリソース提供サーバ40を共用することを可能にするための処理であるステップS42及びステップS43を、リソース利用クライアント30側から隠蔽しながら行うので、クライアントに対して、操作手順の増加をもたらすことない。
このため、クライアントは、リソース共用装置10の操作を特に意識する必要は無い。また、リソース提供サーバ40を共有するためのシステムの開発や、リソース共有要否の条件が変わった場合のためのシステムの変更も不要となる。以上により、システムの開発コストの削減が見込める。また、リソース共有要否の条件が変わった場合にも、システムの変更コストを低く抑えることが可能となる。
なお、本実施の形態に係るリソース共用装置10を利用するリソース利用クライアント30は、図1に示すように、単一のリソース共用装置10のプロキシ12にアクセスしている場合に限られるものではなく、図9に示すように、複数のリソース共用装置10(#1,#2)のプロキシ12にそれぞれアクセスすることにより、複数のリソース提供サーバ40(#1,#2)を利用することも可能である。
この場合、複数のリソース共用装置10へのアクセスを要求するリソース利用クライアント30は、最初にどのリソース共用装置10にアクセスするのかを指定する。それ以降の動作については、一つのリソース共用装置10の動作と同様である。
(第2の実施の形態)
本発明の第2の実施の形態に係るリソース共用方法を適用したリソース共用装置は、第1の実施の形態に係るリソース共用方法を適用したリソース共用装置の変形例である。したがって、同一部位については同一符号を付すとともに、第1の実施の形態と異なる点について説明する。
すなわち、本実施の形態に係るリソース共用方法を適用したリソース共用装置11は、図10に示すように、2つの接続リソースアクセス部16(#1,#2)を備えている。各接続リソースアクセス部16(#1,#2)はそれぞれ別のリソース提供サーバ40(#1,#2)に接続するためのものである。
このように複数の接続リソースアクセス部16を備えた場合、リソース共用装置11は、プロキシ12に、接続リソースアクセス部16の指定を受け付けるAPIを備える。これによって、リソース利用クライアント30は、プロキシ12にアクセスした場合に、利用したい接続リソースアクセス部16を指定することができる。
このように、利用したい接続リソースアクセス部16の指定入力があった場合には、プロキシ12は、この指定入力を利用要求情報に含めてキュー管理部20に送る。すると、キュー管理部20は、この指定入力も含めて利用要求データキュー(利用要求記憶装置22)に書き込む。したがって、この場合、利用要求データのデータ構成は、図11に示すように、図2に示すデータ構成に、リソースアクセス部16の指定項目を追加したものとなる。そして、接続オブジェクト管理部24は、この指定された接続リソースアクセス部16の接続オブジェクト18に空きが出た場合に、プロキシ12に対して処理可能通知を送る。
なお、リソース提供サーバ40(#1)と、リソース提供サーバ40(#2)との違いがクライアントにとって重要でない場合、リソース利用クライアント30は、接続リソースアクセス部16を指定しなくても構わない。この場合、図11に示す接続リソースアクセス部16の指定欄には何も書き込まれない。そして、接続オブジェクト管理部24は、接続リソースアクセス部16(#1)の中の接続オブジェクト18か、または接続リソースアクセス部16(#2)の中の接続オブジェクト18かのうちのどちらかに空きの出た場合には、プロキシ12に対して処理可能通知を行う。
なお、接続リソースアクセス部16の指定がない場合であって、空の接続オブジェクト18が、接続リソースアクセス部16(#1)及び接続リソースアクセス部16(#2)の何れにもあった場合には、接続オブジェクト管理部24は、接続リソースアクセス部16(#1)と接続リソースアクセス部16(#2)との通信負荷をそれぞれ監視し、この監視結果に基づいて、通信負荷の小さい接続リソースアクセス部16にある接続オブジェクト18に優先的に接続させることによって、両接続リソースアクセス部16(#1,#2)の通信負荷を分散するようにしても良い。
以上のような構成とすることによって、本実施の形態では、第1の実施の形態で奏された作用効果に加えて、1つのリソース共用装置11によって複数のリソース提供サーバ40を取り扱うことが可能となる。
以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
第1の実施の形態に係るリソース共用方法を適用したリソース共用装置の一例を示す機能ブロック図。 利用要求データの一例を示すデータ構成図。 ユーザデータベースの一例を示すデータ構成図。 証明書データベースの一例を示すデータ構成図。 初期化処理の一例を示す処理流れ図。 処理要求受付処理の一例を示す処理流れ図。 停止処理の一例を示す処理流れ図。 第1の実施の形態に係るリソース共用装置の、リソース利用クライアント及びリソース提供サーバとの処理関係を示す図。 一つのリソース利用クライアントが複数のリソース共用装置を利用する場合を示す構成図。 第2の実施の形態に係るリソース共用方法を適用したリソース共用装置の一例を示す機能ブロック図。 ユーザデータベースの一例を示すデータ構成図。 リソースを共用する必要がない場合の処理流れ図。 プーリング機構からコールバックのしくみによって空きSSLコネクションを取得して利用する場合の処理流れ図。 リソース利用クライアントがプーリング機構にタスク実行を依頼する場合の処理流れ図。
符号の説明
10、11…リソース共用装置、12…プロキシ、14…接続リソース利用管理部、16…接続リソースアクセス部、18…接続オブジェクト、20…キュー管理部、22…利用要求記憶装置、24…接続オブジェクト管理部、26…ユーザデータ記憶装置、28…証明書データ記憶装置、30…リソース利用クライアント、40…リソース提供サーバ、42…リソース、50…プーリング機構

Claims (30)

  1. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置であって、
    アクセスされた前記複数のクライアントから、前記リソースの利用要求情報をそれぞれ受け付ける複数の利用要求受付手段と、
    前記リソース提供側にアクセス可能な複数のアクセス手段と、
    前記各利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて記憶装置に書き込む書込手段と、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する監視手段とを備え、
    前記複数のアクセス手段は、それぞれがリソース提供側にアクセス可能であり、
    前記監視手段によって通知された利用要求受付手段が、前記複数のアクセス手段のうち、前記利用されていないリソースにアクセスしているアクセス手段に接続することによって、この利用要求受付手段にアクセスしているクライアントが、前記利用されていないリソースを利用できるようにしたリソース共用装置。
  2. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置であって、
    アクセスされた前記複数のクライアントから、前記リソースの利用要求情報をそれぞれ受け付ける複数の利用要求受付手段と、
    前記リソース提供側にアクセス可能な複数のアクセス手段と、
    前記各利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて記憶装置に書き込む書込手段と、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する監視手段とを備え、
    前記複数のアクセス手段は、それぞれ異なるリソース提供側にアクセス可能であり、
    前記利用要求受付手段は、前記アクセスされたクライアントから、前記利用要求情報とともに、前記複数のアクセス手段のうちの何れかを指定する指定入力を受け付け、
    前記書込手段は、前記受け付けた指定入力を、前記利用要求情報とともに前記利用要求受付手段に関連付けて前記記憶装置に書き込み、
    前記監視手段は、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられ、かつ前記発見されたリソースにアクセスしているアクセス手段に対する指定入力を行っている利用要求受付手段に対して、前記利用されていないリソースが存在することを通知するようにしており、
    前記監視手段によって通知された利用要求受付手段が、前記アクセス手段に接続することによって、この利用要求受付手段にアクセスしているクライアントが、前記リソースを利用できるようにしたリソース共用装置。
  3. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置であって、
    アクセスされた前記複数のクライアントから、前記リソースの利用要求情報をそれぞれ受け付ける複数の利用要求受付手段と、
    前記リソース提供側にアクセス可能な複数のアクセス手段と、
    前記各利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて記憶装置に書き込む書込手段と、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する監視手段と
    前記監視手段によって、前記クライアントに利用されていないリソースが複数発見された場合には、前記複数のアクセス手段の通信負荷をそれぞれ監視し、この監視結果に基づいて、前記監視手段からの通知に従って前記アクセス手段に接続しようとする利用要求受付手段を、前記通信負荷の小さいアクセス手段に優先的に接続させることによって、前記複数のアクセス手段の負荷分散を図る負荷分散手段とを備え、
    前記監視手段によって通知された利用要求受付手段が、前記アクセス手段に接続することによって、この利用要求受付手段にアクセスしているクライアントが、前記リソースを利用できるようにしたリソース共用装置。
  4. 請求項1乃至3のうち何れか1項に記載のリソース共用装置において、
    前記各利用要求受付手段は、前記リソース提供側が前記アクセス手段に提供しているインタフェースと同一仕様のインタフェースを、前記クライアントに提供しているリソース共用装置。
  5. 請求項1乃至4のうち何れか1項に記載のリソース共用装置において、
    前記アクセス手段は、前記リソースにアクセスするためのリソースアクセスオブジェクトを、前記リソース毎に備え、
    前記監視手段によって通知された利用要求受付手段が、前記利用されていないリソースにアクセスしているリソースアクセスオブジェクトに接続することによって、この利用要求受付手段にアクセスしているクライアントが、このリソースアクセスオブジェクトがアクセスしているリソースを利用できるようにしたリソース共用装置。
  6. 請求項に記載のリソース共用装置において、
    初期化時に、前記書込手段が前記記憶装置に書き込んだ利用要求情報をクリアするとともに、前記アクセス手段の中に、前記リソースアクセスオブジェクトを生成する初期化処理を行う初期化手段を更に備えたリソース共用装置。
  7. 請求項1乃至のうち何れか1項に記載のリソース共用装置において、
    前記記憶装置は、前記書込手段によって書き込まれる利用要求情報を、キュー形式で保持するリソース共用装置。
  8. 請求項乃至のうち何れか1項に記載のリソース共用装置において、
    前記リソースアクセスオブジェクトに予め識別番号を付与し、
    前記利用要求受付手段は、前記クライアントから利用要求情報を受け付ける場合に、前記利用要求情報とともに、前記クライアントが利用したいリソースアクセスオブジェクトの識別番号も受け付け、
    前記書込手段は、前記利用要求情報とともに、前記受け付けた識別番号を、前記利用要求受付手段に関連付けて前記記憶装置に書き込み、
    前記監視手段は、前記利用されていないリソースが存在することを通知する際には、このリソースにアクセスしているリソースアクセスオブジェクトの識別番号とともに通知し、
    前記監視手段によって通知された利用要求受付手段は、前記通知された識別番号に対応するリソースアクセスオブジェクトに接続することによって、この利用要求受付手段にアクセスしているクライアントが、このリソースアクセスオブジェクトがアクセスしているリソースを利用できるようにしたリソース共用装置。
  9. 請求項1乃至3のうち何れか1項に記載のリソース共用装置において、
    前記各利用要求受付手段に対して予め優先度を定めておき、
    前記監視手段は、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段に対して、前記優先度の高い順から、前記利用されていないリソースが存在することを通知するようにしたリソース共用装置。
  10. 請求項1乃至のうち何れか1項に記載のリソース共用装置において、
    前記アクセス手段は、前記リソース提供側に遠隔呼出によりアクセス可能であるリソース共用装置。
  11. 請求項1乃至10のうち何れか1項に記載のリソース共用装置において、
    前記各利用要求受付手段及び前記リソース提供側は、前記クライアント及びアクセス手段に対してそれぞれSOAPを用いたインタフェースを提供し、
    前記アクセス手段は、前記リソース提供側にSSLコネクションによりアクセス可能であるリソース共用装置。
  12. 請求項1乃至11のうち何れか1項に記載のリソース共用装置が複数動作している場合、前記複数のリソース共用装置のうち、前記クライアントによって選択されたリソース共用装置が、前記リソース提供側とこのクライアントとの間を中継するようにした請求項1乃至11のうち何れか1項に記載のリソース共用装置。
    たリソース
  13. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置に適用されるリソース共用方法であって、
    前記リソース共用装置に複数備えられた利用要求受付手段のうちの何れかにアクセスした前記クライアントから、前記アクセスされた利用要求受付手段が、前記リソースの利用要求情報を受け付ける利用要求受付ステップと、
    前記利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて、前記リソース共用装置に備えられた記憶装置に書き込む書込ステップと、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する通知ステップと、
    前記通知ステップにおいて通知された利用要求受付手段が、前記リソース共用装置に複数備えられ、それぞれが前記リソース提供側にアクセス可能であるアクセス手段に接続することによって、この利用要求受付手段にアクセスしているクライアントが、前記リソースを利用できるようにする接続ステップとを備え、
    前記接続ステップでは、前記通知ステップにおいて通知された利用要求受付手段が、前記複数のアクセス手段のうち、前記利用されていないリソースにアクセスしているアクセス手段に接続することによって、この利用要求受付手段にアクセスしているクライアントが、前記利用されていないリソースを利用できるようにしたリソース共用方法。
  14. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置に適用されるリソース共用方法であって、
    前記リソース共用装置に複数備えられた利用要求受付手段のうちの何れかにアクセスした前記クライアントから、前記アクセスされた利用要求受付手段が、前記リソースの利用要求情報を受け付ける利用要求受付ステップと、
    前記利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて、前記リソース共用装置に備えられた記憶装置に書き込む書込ステップと、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する通知ステップと、
    前記通知ステップにおいて通知された利用要求受付手段が、前記リソース共用装置に複数備えられ、それぞれが前記リソース提供側にアクセス可能であるアクセス手段に接続することによって、この利用要求受付手段にアクセスしているクライアントが、前記リソースを利用できるようにする接続ステップとを備え、
    前記利用要求受付ステップでは、前記利用要求受付手段が、前記アクセスされたクライアントから、前記利用要求情報とともに、前記複数のアクセス手段のうちの何れかを指定する指定入力を受け付け、
    前記書込ステップでは、前記受け付けた指定入力を、前記利用要求情報とともに前記利用要求受付手段に関連付けて前記記憶装置に書き込み、
    前記通知ステップでは、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられ、かつ前記クライアントによって利用されていないことが発見されたリソースにアクセスしているアクセス手段に対する指定入力を行っている利用要求受付手段に対して、前記利用されていないリソースが存在することを通知するようにしたリソース共用方法。
  15. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置に適用されるリソース共用方法であって、
    前記リソース共用装置に複数備えられた利用要求受付手段のうちの何れかにアクセスした前記クライアントから、前記アクセスされた利用要求受付手段が、前記リソースの利用要求情報を受け付ける利用要求受付ステップと、
    前記利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて、前記リソース共用装置に備えられた記憶装置に書き込む書込ステップと、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する通知ステップと、
    前記通知ステップにおいて通知された利用要求受付手段が、前記リソース共用装置に複数備えられ、それぞれが前記リソース提供側にアクセス可能であるアクセス手段に接続することによって、この利用要求受付手段にアクセスしているクライアントが、前記リソースを利用できるようにする接続ステップとを備え
    前記通知ステップにおいて、前記クライアントに利用されていないリソースが複数発見された場合には、前記複数のアクセス手段の通信負荷をそれぞれ監視し、この監視結果に基づいて、前記監視手段からの通知に従って前記アクセス手段に接続しようとする利用要求受付手段を、前記通信負荷の小さいアクセス手段に優先的に接続させることによって、前記複数のアクセス手段の負荷分散を図るようにしたリソース共用方法。
  16. 請求項13乃至15のうち何れか1項に記載のリソース共用方法において、
    前記アクセス手段は、前記リソースにアクセスするためのリソースアクセスオブジェクトを、前記リソース毎に備え、
    前記リソース共用装置の初期化時に、前記記憶装置に書き込まれた利用要求情報をクリアするとともに、前記アクセス手段の中に、前記リソースアクセスオブジェクトを生成する初期化処理を行う初期化ステップを更に備えたリソース共用方法。
  17. 請求項13乃至16のうち何れか1項に記載のリソース共用方法において、
    前記記憶装置は、前記書き込まれる利用要求情報を、キュー形式で保持するリソース共用装置。
  18. 請求項16又は17に記載のリソース共用方法において、
    前記各リソースアクセスオブジェクトに予め識別番号を付与しておき、
    前記利用要求受付ステップでは、前記利用要求受付手段が、前記クライアントから利用要求情報を受け付ける場合に、前記利用要求情報とともに、前記クライアントが利用したいリソースアクセスオブジェクトの識別番号も受け付け、
    前記書込ステップでは、前記利用要求情報とともに、前記受け付けた識別番号を、前記利用要求受付手段に関連付けて前記記憶装置に書き込み、
    前記通知ステップでは、前記利用されていないリソースが存在することを通知する際には、このリソースにアクセスしているリソースアクセスオブジェクトの識別番号とともに通知し、
    前記接続ステップでは、前記通知ステップで通知された利用要求受付手段が、前記通知された識別番号に対応するリソースアクセスオブジェクトに接続することによって、この利用要求受付手段にアクセスしているクライアントが、このリソースアクセスオブジェクトがアクセスしているリソースを利用できるようにしたリソース共用方法。
  19. 請求項13乃至15のうち何れか1項に記載のリソース共用方法において、
    前記各利用要求受付手段に対して予め優先度を定めておき、
    前記通知ステップでは、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段に対して、前記優先度の高い順から、前記利用されていないリソースが存在することを通知するようにしたリソース共用方法。
  20. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置に適用されるプログラムであって、
    前記リソース共用装置に複数備えられた利用要求受付手段のうちの何れかにアクセスした前記クライアントから、前記アクセスされた利用要求受付手段が、前記リソースの利用要求情報を受け付ける機能、
    前記利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて、前記リソース共用装置に備えられた記憶装置に書き込む機能、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する機能、
    前記通知された利用要求受付手段を、前記リソース共用装置に備えられ、前記リソース提供側にアクセス可能なアクセス手段に接続させることによって、この利用要求受付手段にアクセスしているクライアントが、前記リソースを利用できるようにする機能をコンピュータに実現させるためのプログラムであって、
    前記リソース共用装置は、アクセス手段を複数備え、前記複数のアクセス手段は、それぞれがリソース提供側にアクセス可能であり、
    前記リソースを利用できるようにする機能は、前記利用要求受付手段を、前記複数のアクセス手段のうち、前記利用されていないリソースにアクセスしているアクセス手段に接続させることによって、この利用要求受付手段にアクセスしているクライアントが、前記利用されていないリソースを利用できるようにしたプログラム
  21. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置に適用されるプログラムであって、
    前記リソース共用装置に複数備えられた利用要求受付手段のうちの何れかにアクセスした前記クライアントから、前記アクセスされた利用要求受付手段が、前記リソースの利用要求情報を受け付ける機能、
    前記利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて、前記リソース共用装置に備えられた記憶装置に書き込む機能、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する機能、
    前記通知された利用要求受付手段を、前記リソース共用装置に備えられ、前記リソース提供側にアクセス可能なアクセス手段に接続させることによって、この利用要求受付手段にアクセスしているクライアントが、前記リソースを利用できるようにする機能をコンピュータに実現させるためのプログラムであって、
    前記リソース共用装置は、前記アクセス手段を複数備え、各アクセス手段は、それぞれ異なるリソース提供側にアクセス可能であり、
    前記受け付ける機能は、前記利用要求受付手段が、前記アクセスされたクライアントから、前記利用要求情報とともに、前記複数のアクセス手段のうちの何れかを指定する指定入力を受け付け、
    前記書き込む機能は、前記受け付けた指定入力を、前記利用要求情報とともに前記利用要求受付手段に関連付けて前記記憶装置に書き込み、
    前記通知する機能は、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられ、かつ前記クライアントによって利用されていないことが発見されたリソースにアクセスしているアクセス手段に対する指定入力を行っている利用要求受付手段に対して、前記利用されていないリソースが存在することを通知するプログラム
  22. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置に適用されるプログラムであって、
    前記リソース共用装置に複数備えられた利用要求受付手段のうちの何れかにアクセスした前記クライアントから、前記アクセスされた利用要求受付手段が、前記リソースの利用要求情報を受け付ける機能、
    前記利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて、前記リソース共用装置に備えられた記憶装置に書き込む機能、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する機能、
    前記通知された利用要求受付手段を、前記リソース共用装置に備えられ、前記リソース提供側にアクセス可能なアクセス手段に接続させることによって、この利用要求受付手段にアクセスしているクライアントが、前記リソースを利用できるようにする機能をコンピュータに実現させるためのプログラムであって、
    前記リソース共用装置に前記アクセス手段を複数備えるとともに、
    前記通知する機能によって、前記クライアントに利用されていないリソースが複数発見された場合には、前記複数のアクセス手段の通信負荷をそれぞれ監視し、この監視結果に基づいて、前記監視手段からの通知に従って前記アクセス手段に接続しようとする利用要求受付手段を、前記通信負荷の小さいアクセス手段に優先的に接続させることによって、前記複数のアクセス手段の負荷分散を図る機能を更にコンピュータに実現させるためのプログラム
  23. 請求項20乃至22のうち何れか1項に記載のプログラムにおいて、
    前記アクセス手段は、前記リソースにアクセスするためのリソースアクセスオブジェクトを、前記リソース毎に備えており、
    前記通知された利用要求受付手段を、前記利用されていないリソースにアクセスしているリソースアクセスオブジェクトに接続させることによって、この利用要求受付手段にアクセスしているクライアントが、このリソースアクセスオブジェクトがアクセスしているリソースを利用できるようにする機能を更にコンピュータに実現させるためのプログラム。
  24. 請求項23に記載のプログラムにおいて、
    前記リソース共用装置の初期化時に、前記記憶装置に書き込まれた利用要求情報をクリアするとともに、前記リソースアクセスオブジェクトを前記アクセス手段の中に生成する機能を更にコンピュータに実現させるためのプログラム。
  25. 請求項20乃至24のうち何れか1項に記載のプログラムにおいて、
    前記書き込む機能は、前記利用要求情報を、前記記憶装置にキュー形式で書き込むプログラム。
  26. 請求項23乃至25のうち何れか1項に記載のプログラムにおいて、
    前記各リソースアクセスオブジェクトは予め識別番号が付与されており、
    前記受け付ける機能は、前記利用要求受付手段が、前記クライアントから利用要求情報を受け付ける場合に、前記利用要求情報とともに、前記クライアントが利用したいリソースアクセスオブジェクトの識別番号も受け付け、
    前記書き込む機能は、前記利用要求情報とともに、前記受け付けた識別番号を、前記利用要求受付手段に関連付けて前記記憶装置に書き込み、
    前記通知する機能は、前記利用されていないリソースが存在することを通知する際には、このリソースにアクセスしているリソースアクセスオブジェクトの識別番号とともに通知し、
    前記接続する機能は、前記通知された利用要求受付手段を、前記通知された識別番号に対応するリソースアクセスオブジェクトに接続させることによって、この利用要求受付手段にアクセスしているクライアントが、このリソースアクセスオブジェクトがアクセスしているリソースを利用できるように接続するプログラム。
  27. 請求項20乃至22のうち何れか1項に記載のプログラムにおいて、
    前記各利用要求受付手段に対して予め優先度が定められており、
    前記通知する機能は、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段に対して、前記優先度の高い順から、前記利用されていないリソースが存在することを通知するプログラム。
  28. 請求項20乃至27のうち何れか1項に記載のプログラムにおいて、
    前記アクセス手段は、前記リソース提供側に遠隔呼出によりアクセス可能であるプログラム。
  29. 請求項28に記載のプログラムにおいて、
    前記アクセス手段は、前記リソース提供側にSSLコネクションによりアクセス可能であるプログラム。
  30. リソース提供側によって提供されるリソースを、複数のクライアントが共用して利用できるように、前記リソース提供側と前記複数のクライアントとの間を中継するリソース共用装置であって、
    アクセスされた前記複数のクライアントから、前記リソースの利用要求情報をそれぞれ受け付ける複数の利用要求受付手段と、
    前記リソース提供側にアクセス可能なアクセス手段と、
    前記各利用要求受付手段によって受け付けられた利用要求情報を、受け付けた利用要求受付手段に関連付けて記憶装置に書き込む書込手段と、
    前記リソース提供側によって提供されるリソースの前記クライアントによる利用状況を監視し、前記クライアントによって利用されていないリソースを発見した場合には、前記記憶装置に書き込まれた利用要求情報に関連付けられた利用要求受付手段のうちの何れかに、前記利用されていないリソースが存在することを通知する監視手段とを備え、
    前記監視手段によって通知された利用要求受付手段が、前記アクセス手段に接続することによって、前記アクセス手段と前記書込み手段と前記監視手段との各振る舞いが隠蔽された状態で、前記利用要求受付手段にアクセスしているクライアントが前記リソースを利用できるようにし、かつ、前記各利用要求受付手段が、前記リソース提供側が前記アクセス手段に提供しているイタフェースと同一仕様のインタフェースを、前記クライアントに提供しているリソース共用装置。
JP2005088990A 2005-03-25 2005-03-25 リソース共用装置、方法、及びプログラム Expired - Fee Related JP4364150B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005088990A JP4364150B2 (ja) 2005-03-25 2005-03-25 リソース共用装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005088990A JP4364150B2 (ja) 2005-03-25 2005-03-25 リソース共用装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2006268714A JP2006268714A (ja) 2006-10-05
JP4364150B2 true JP4364150B2 (ja) 2009-11-11

Family

ID=37204574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005088990A Expired - Fee Related JP4364150B2 (ja) 2005-03-25 2005-03-25 リソース共用装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP4364150B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6011167B2 (ja) 2012-09-03 2016-10-19 ブラザー工業株式会社 通信中継プログラム、及び、通信中継装置
JP6167502B2 (ja) 2012-10-31 2017-07-26 ブラザー工業株式会社 通信中継プログラム、通信中継装置、及び、画像処理装置
JP6927552B2 (ja) * 2016-02-19 2021-09-01 日本電気株式会社 情報処理装置、リソース管理方法及びリソース管理プログラム

Also Published As

Publication number Publication date
JP2006268714A (ja) 2006-10-05

Similar Documents

Publication Publication Date Title
TWI225990B (en) Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure
JP4876170B2 (ja) グリッド・システムにおいてセキュリティ強制を追跡するシステムおよび方法
US10270706B2 (en) Customizable model for throttling and prioritizing orders in a cloud environment
JP5036876B2 (ja) 複数のミドルウェア環境全体のメッセージフローのサービス品質(qos)管理
O'Brien et al. Quality attributes for service-oriented architectures
JP5765836B2 (ja) パブリッシュ−サブスクライブ・モデルを用いたアイデンティティ・プロバイダ・ディスカバリ・サービス
US10812324B2 (en) Technologies for managing application configurations and associated credentials
US8296778B2 (en) Computer data communications in a high speed, low latency data communications environment
US20060150159A1 (en) Coordinating the monitoring, management, and prediction of unintended changes within a grid environment
US20050204054A1 (en) Quality of Service resource management apparatus and method for middleware services
WO2005114488A2 (en) System and method for actively managing service-oriented architecture
WO2008011227A2 (en) System and method for playing rich internet applications in remote computing devices
JP2008535113A (ja) グリッドコンピューティング環境においてリソースをアウトソーシングする方法、システム、およびプログラム
KR101662965B1 (ko) 가입 인증 및 생성 방법과 시스템 및 기계 판독 가능 매체
US20100115075A1 (en) Directional optimization for policy evaluation
JP4364150B2 (ja) リソース共用装置、方法、及びプログラム
US20230224376A1 (en) Method and system to implement proxying for operations through an application program for a transaction manager
KR101090890B1 (ko) 분산 서버 기반의 그리드 시스템 및 동작 방법
JP2006164135A (ja) サービス処理方法及びプログラム
JP2002358290A (ja) 情報処理サービス提供方法及びプログラム並びにシステム
US20200153749A1 (en) Biased selection of dedicated physical connections to provider network
JP2018180682A (ja) 情報処理装置、情報処理システム及び情報処理方法
CA3068742A1 (en) Technologies for managing web notifications in client-server systems
EP1895454A1 (en) Business process and system with integrated network quality of service management
US20060101023A1 (en) Universal computing paradigm with single-code base utilizing a flexible distributed computing architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090615

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

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

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

Free format text: PAYMENT UNTIL: 20120828

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

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