(57)【要約】【課題】装置に設定された時刻の変更に影響されず、タイムアウト判定を必要としないリソース管理技術を提供する。【解決手段】リソース管理装置であって、リソースの解放位置であるチェインの識別情報を含む解放位置テーブルを記憶する記憶部と、リソースを解放するリソース管理部と、解放位置テーブルを更新する有効期間管理部と、有効期間管理部に、所定期間毎の周期通知を出力する周期通知部と、を有し、有効期間管理部は、周期通知が入力されると、解放位置テーブルに含まれるチェインの識別情報を、他のチェインの識別情報とし、解放位置テーブルに示されるチェインに属するリソースを特定して、当該特定したリソースの識別情報をリソース管理部に通知し、リソース管理部は、通知された識別情報に示されるリソースを解放する。【選択図】  図１
2015029234.tif 000002
【特許請求の範囲】
【請求項１】
リソース管理装置であって、
リソースの解放位置であるチェインの識別情報を含む解放位置テーブルを記憶する記憶部と、
リソースを解放するリソース管理部と、
前記解放位置テーブルを更新する有効期間管理部と、
前記有効期間管理部に、所定期間毎の周期通知を出力する周期通知部と、を有し、
前記有効期間管理部は、前記周期通知が入力されると、
前記解放位置テーブルに含まれる前記チェインの識別情報を、他のチェインの識別情報とし、
前記解放位置テーブルに含まれるチェインに属するリソースを特定して、当該特定したリソースの識別情報を前記リソース管理部に通知し、
前記リソース管理部は、
前記通知された識別情報に示されるリソースを解放すること
を特徴とするリソース管理装置。
【請求項２】
請求項１に記載のリソース管理装置であって、
前記記憶部は、チェインテーブルと、リソーステーブルと、をさらに記憶し、
前記チェインテーブルは、リソースの管理単位であるチェインの識別情報毎に、当該チェインに属する１つ以上のリソースの識別情報を含み、
前記リソーステーブルは、リソース毎に、当該リソースの直前のリソースの識別情報である直前リソースと、当該リソースの直後のリソースの識別情報である直後リソースとを含み、
前記有効期間管理部は、前記周期通知が入力されると、
前記リソーステーブルに基づいて、前記解放位置テーブルに示されるチェインに属するリソースを特定し、前記チェインテーブルと前記リソーステーブルとの各々を、前記特定したリソースが、前記解放位置テーブルに示されるチェインに属していないものとすること
を特徴とするリソース管理装置。
【請求項３】
請求項１又は２に記載のリソース管理装置であって、
前記記憶部は、
リソースの登録位置である前記チェインの識別情報を含む登録位置テーブルをさらに記憶し、
前記リソース管理部は、
使用対象のリソースの割り振りを行い、
前記使用対象のリソースの識別情報を含む登録要求を前記有効期間管理部に出力し、
前記有効期間管理部は、
前記周期通知が入力されると、前記登録位置テーブルに含まれる前記チェインの識別情報を、他のチェインの識別情報とし、
前記登録要求が入力されると、当該登録要求に含まれるリソースの識別情報を、前記登録位置テーブルに示されるチェインに属するものとして前記チェインテーブルに含め、当該リソース毎に、当該リソースの直前のリソースの識別情報と直後のリソースの識別情報とを前記リソーステーブルに含めること
を特徴とするリソース管理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載のリソース管理装置であって、
前記リソース管理部は、
解放対象のリソースを解放し、
前記解放対象のリソースの識別情報を含む解放要求を前記有効期間管理部に出力し、
前記有効期間管理部は、
前記解放要求が入力されると、当該解放要求に含まれるリソースの識別情報と前記リソーステーブルに基づいて、前記解放対象のリソースが属するチェインを特定し、
前記チェインテーブルを、前記解放対象のリソースが、前記特定したチェインに属していないものとし、
前記リソーステーブルの、当該解放要求に含まれるリソースの直前のリソースにおける直後リソースを当該解放要求に含まれるリソースの直後のリソースの識別情報とし、当該解放要求に含まれるリソースの直後のリソースにおける直前リソースを当該解放要求に含まれるリソースの直前のリソースの識別情報とすること
を特徴とするリソース管理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載のリソース管理装置であって、
前記チェインテーブルには、チェイン毎に、当該チェインに属する先頭のリソースの識別情報と最後尾のリソースの識別情報とを含むこと
を特徴とするリソース管理装置。
【請求項６】
リソース管理方法であって、
リソース管理装置は、リソースの解放位置であるチェインの識別情報を含む解放位置テーブルを記憶する記憶部と、リソース管理部と、有効期間管理部と、周期通知を所定期間毎に前記有効期間管理部に出力する周期通知部と、を有し、
前記周期通知が入力されると、
前記有効期間管理部は、
前記解放位置テーブルに含まれる前記チェインの識別情報を、他のチェインの識別情報とし、
前記解放位置テーブルに含まれるチェインに属するリソースを特定して、当該特定したリソースの識別情報を前記リソース管理部に通知し、
前記リソース管理部は、
前記通知された識別情報に示されるリソースを解放すること
を特徴とするリソース管理方法。
【請求項７】
リソース管理プログラムであって、
リソースの解放位置であるチェインの識別情報を含む解放位置テーブルを記憶する記憶部と、演算装置と、を有するコンピュータにより実行されると、当該コンピュータを、
リソースを解放するリソース管理部と、
前記解放位置テーブルを更新する有効期間管理部と、
前記有効期間管理部に、所定期間毎の周期通知を出力する周期通知部と、して機能させ、
前記有効期間管理部は、前記周期通知が入力されると、
前記解放位置テーブルに含まれる前記チェインの識別情報を、他のチェインの識別情報とし、
前記解放位置テーブルに含まれるチェインに属するリソースを特定して、当該特定したリソースの識別情報を前記リソース管理部に通知し、
前記リソース管理部は、
前記通知された識別情報に示されるリソースを解放すること
を特徴とするリソース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソース管理装置、方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来のリソース管理方式では、リソース使用要求が発生したときに割り当て、リソース解放要求が発生したときに回収する方式をとっているために、リソース解放要求が何らかの要因で実行されないと回収されず、リソースが浮く要因になっていた。
【０００３】
その解決のために、特許文献１には、各受信コネクションに関して前にセルが到着した時刻を時刻データ管理部に記録しておき、タイムアウト判定部にて現時刻と比較してタイムアウトを判定するタイマ管理装置において、各時刻データを時刻データソート部において登録または更新した時刻順にソートしておき、タイムアウト判定を最古データ選択部が選択する最古の時刻データに対してのみ行なうことで一定時間内のタイムアウト判定処理を実現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平6-152686号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、開始時刻と現在時刻との比較によりタイムアウト判定し、これによりリソース浮きの検出を可能としている。しかし、引用文献１に記載の技術は、装置に設定された時刻の変更については考慮が薄く、例えば、時刻戻しや時刻装置の故障が発生した場合に、タイムアウトと誤判定したり、時刻の取得ができずに監視できなかったりする問題がある。
【０００６】
本発明の目的は、装置に設定された時刻の変更に影響されず、タイムアウト判定を必要としないリソース管理技術を提供することである。
【課題を解決するための手段】
【０００７】
本願は、上記課題を解決するための手段を複数含んでいるが、その一例を挙げるならば、  リソース管理装置であって、リソースの解放位置であるチェインの識別情報を含む解放位置テーブルを記憶する記憶部と、リソースを解放するリソース管理部と、前記解放位置テーブルを更新する有効期間管理部と、前記有効期間管理部に、所定期間毎の周期通知を出力する周期通知部と、を有し、前記有効期間管理部は、前記周期通知が入力されると、前記解放位置テーブルに含まれる前記チェインの識別情報を、他のチェインの識別情報とし、前記解放位置テーブルに含まれるチェインに属するリソースを特定して、当該特定したリソースの識別情報を前記リソース管理部に通知し、前記リソース管理部は、前記通知された識別情報に示されるリソースを解放することを特徴とする。
【発明の効果】
【０００８】
本発明の技術によれば、装置に設定された時刻の変更に影響されず、タイムアウト判定を必要としないリソース管理技術を提供することができる。上記以外の課題、構成および効果等は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】リソース管理装置の構成例を示す。
【図２】記憶部に格納されている各テーブルの一例である。
【図３】本実施形態のリソース、チェイン、及び記憶部内の各テーブルを説明するための図である。
【図４】リソース管理装置のハードウェア構成例である。
【図５】所定時間の入力を受け付けるための画面例である。
【図６】リソースを新たに使用する際の動作フローチャートの例である。
【図７】Ｓ６０５、Ｓ６０６の処理の具体例を説明する図である。
【図８】リソースを解放する際の動作フローチャートの例である。
【図９】Ｓ８０３の処理の具体例を説明する図である。
【図１０】周期通知動作フローチャートの例である。
【図１１】Ｓ１００２−Ｓ１００６の処理の具体例を説明する図である。
【図１２】ディスプレイ等の出力装置にリソース等の使用状況を出力する例である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。なお、以下では、同一の構成に対しては同じ符号を付与して説明を省略するが、複数の同一の構成の各々を区別する場合、符号「ａ」、「ｂ」等をさらに付与して説明する。
【００１１】
図１は、リソース管理装置１００の構成例を示す。本実施形態のリソース管理装置１００は、リソース管理を行うものであり、任意の装置の一部として機能してもよく、また、独立した装置として機能してもよい。ここでは、リソース管理装置１００は、図示しない他の構成や装置等から、リソース使用要求、リソース更新要求、リソース解放要求等が入力されるものとして説明する。以下では、これらの要求を入力する構成や他装置等を、要求元として説明する。
【００１２】
また、リソース管理装置１００は、リソースに対し有効期間（以降、TTL（Time To Live）と言う）を設け、このTTLによりリソースを管理する。この詳細は後述する。
【００１３】
リソース管理装置１００は、リソース管理部１０１、有効期間管理部１０２、記憶部１０３、周期通知部１０４等を有する。
【００１４】
リソース管理部１０１は、要求元からのリソース使用要求、リソース更新要求、リソース解放要求が入力されると、要求に従いリソースの割り当て、有効期間管理部１０２への要求出力を行う。また、リソース管理部１０１は、有効期間管理部１０２からのリソース解放要求が入力されると、要求に従いリソースを解放する。
【００１５】
記憶部１０３は、以下で説明する処理に必要な各テーブルを格納する。テーブルの詳細は後述する。
【００１６】
有効期間管理部１０２は、リソース管理部１０１からのTTL更新要求、リソース管理部１０１からのTTL削除要求、周期通知部１０４からの周期通知等に従い、記憶部１０３内のテーブルの各々を更新等する。また、有効期間管理部１０２は、リソース管理部１０１へリソース解放要求を出力する。
【００１７】
周期通知部１０４は、所定時間経過ごとに、有効期間管理部１０２に周期通知を出力する。この所定時間は任意の値とすることができる。
【００１８】
次に、記憶部１０３に格納されている各テーブルの例を説明する。図２は、記憶部１０３に格納されている各テーブルの一例である。
【００１９】
記憶部１０３には、チェインテーブル２１０、登録位置テーブル２２０、解放位置テーブル２３０、リソーステーブル２４０等が記憶されている。
【００２０】
チェインテーブル２１０は、少なくとも１つのリソースを１つにまとめて管理するための情報を格納する。ここでは、チェインテーブル２１０で管理する、少なくとも１つのリソースをチェインという。
【００２１】
より詳細には、チェインテーブル２１０は、チェイン毎に、チェイン識別情報２１１、先頭リソース２１２、最後尾リソース２１３等が含まれている。チェイン識別情報２１１は、チェインの識別情報を示す。先頭リソース２１２は、該当チェインの先頭のリソースのインデックスを示す。なお、インデックスとは、リソースの識別情報である。最後尾リソース２１３は、該当チェインの最後尾のリソースのインデックスを示す。
【００２２】
以下の説明では、チェイン毎のチェイン識別情報２１１、先頭リソース２１２、最後尾リソース２１３等の組みを特に説明する場合、単位チェインテーブル２１５ともいう。
【００２３】
なお、チェインテーブル２１０に含まれるチェインの数は任意である。また、チェインテーブル２１０のデータ構造等も任意であり、図示するものに限定しない。
【００２４】
リソーステーブル２４０は、チェインを構成するリソースに関する情報を格納する。より詳細には、リソーステーブル２４０は、リソース毎に、インデックス２４１、直前リソース２４２、直後リソース２４３、所属チェイン２４４等を有する。
【００２５】
インデックス２４１は、リソースのインデックスを示す。直前リソース２４２は、そのリソースの直前のリソースのインデックスを示す。直後リソース２４３は、そのリソースの直後のリソースのインデックスを示す。所属チェイン２４４は、そのリソースが所属するチェインを示す。
【００２６】
以下の説明では、リソース毎のインデックス２４１、直前リソース２４２、直後リソース２４３、所属チェイン２４４等の組みを特に説明する場合、単位リソーステーブル２４５ともいう。
【００２７】
なお、リソーステーブル２４０に含まれるリソースの数は任意である。また、リソーステーブル２４０のデータ構造も任意であり、図示するものに限定しない。
【００２８】
登録位置テーブル２２０は、チェインの登録位置を示す。解放位置テーブル２３０は、チェインの解放位置を示す。
【００２９】
なお、以下では、説明の簡略化のために、チェインテーブル２１０及びリソーステーブル２４０の各項目の値が格納されていない場合、それを「０」で示すものとして説明する。しかし、具体的なデータ値は任意であり、これに限定しない。
【００３０】
ここで、本実施形態のリソース管理の概要を説明する。図３は、本実施形態のリソース、チェイン、及び記憶部１０３内の各テーブルを説明するための図である。
【００３１】
図３において、チェイン３２０は、各単位チェインテーブル２１５で管理するチェインを示す。また、リソース３２１は、各単位リソーステーブル２４５で管理するリソースを示す。
【００３２】
ここでは、同一のチェインに対し最初に登録されたリソースを先頭のリソースといい、最後に登録されたリソースを最後尾のリソースという。例えば、図３の例において、矢印Ｃの順でリソースが登録される場合、チェイン３２０ａの先頭のリソースはリソース３２１ａであり、最後尾のリソースはリソース３２１ｃである。
【００３３】
従って、例えば、チェイン３２０ａの単位チェインテーブル２１５の場合、チェイン識別情報２１１は、チェイン３２０ａの識別情報を示す。また、先頭リソース２１２は、リソース３２１ａのインデックスを示す。また、最後尾リソース２１３は、リソース３２１ｃのインデックスを示す。
【００３４】
また、ここでは、各リソースに対し、同一のチェインに登録された１つ前のリソースを直前のリソースといい、１つ後のリソースを直後のリソースという。例えば、図３の例において、矢印Ｃの順でリソースが登録される場合、リソース３２１ｂの直前のリソースはリソース３２１ａであり、リソース３２１ｂの直後のリソースはリソース３２１ｃである。
【００３５】
従って、例えば、リソース３２１ｂの単位リソーステーブル２４５の場合、インデックス２４１は、リソース３２１ｂのインデックスを示す。また、直前リソース２４２は、リソース３２１ａのインデックスを示す。また、直後リソース２４３は、リソース３２１ｃのインデックスを示す。なお、所属チェイン２４４は、チェイン３２０ａの識別情報を示す。
【００３６】
登録位置３１２は、登録位置テーブル２２０のチェインを示す。解放位置３１４は、解放位置テーブル２３０のチェインを示す。
【００３７】
例えば、ある時点での登録位置テーブル２２０の値が図３の登録位置Ｂであり、そのタイミングでリソースの登録を行う場合、有効期間管理部１０２は、登録対象のリソースを登録位置Ｂのチェインに所属するものとする。同様に、ある時点での解放位置テーブル２３０の値が図３のチェイン３２０ｂであり、そのタイミングでリソースの解放を行う場合、有効期間管理部１０２は、チェイン３２０ｂに所属するリソースを解放対象とする。
【００３８】
有効期間管理部１０２は、周期通知部１０４からの周期通知が入力されると、登録位置テーブル２２０、解放位置テーブル２３０の各々の値を１つずらす。図３では、ずらす方向の例を矢印Ａで示している。
【００３９】
例えば、ある時点での登録位置テーブル２２０の値が前回登録位置３１１、解放位置テーブル２３０の値が前回解放位置３１２である場合に周期通知が入力されると、有効期間管理部１０２は、登録位置テーブル２２０の値を登録位置３１２の値とし、解放位置テーブル２３０の値を解放位置３１４の値として設定する。
【００４０】
入力された周期通知に従ってずらす値を特定する技術は、特に限定しないが、例えば、チェインの識別情報に含まれる情報そのものから特定してもよく、任意の記憶領域に予め格納されているチェインの識別情報と次チェインの識別情報等との対応テーブル等（図示略）を参照して特定してもよい。即ち、周期通知が入力されると、登録位置テーブル２２０、解放位置テーブル２３０の各々の値が、異なるチェインを示すようにすればよい。ただし、登録位置テーブル２２０及び解放位置テーブル２３０の各々の値は、登録位置にあるチェインが有効期間（TTL）を過ぎると解放位置のチェインとなるように設定されるものとする。
【００４１】
また、チェインの識別情報が末端に相当する所定値までずらされた後は、他方の末端である他の値に戻すことにより、登録位置及び解放位置のチェインは、ループ状に設けられてもよい。
【００４２】
また、登録位置及び解放位置のチェインをずらす量は、１つに限るわけではなく、１以上の整数であれば良い。
【００４３】
また、登録位置のチェイン及び解放位置のチェインは、異なるものであればよく、登録位置のチェインと解放位置のチェインとの間に位置するチェインの数は限定しない。
【００４４】
次に、リソース管理装置１００のハードウェア構成例を説明する。図４は、リソース管理装置１００のハードウェア構成例である。
【００４５】
リソース管理装置１００は、演算装置４０１、メモリ４０２、外部記憶装置４０３、入出力Ｉ/Ｆ４０４、通信Ｉ/Ｆ４０５等を有する。
【００４６】
演算装置４０１は、例えばＣＰＵ（Central Processing Unit）等である。メモリ４０２は、発揮性/不発揮性のメモリである。外部記憶装置４０３は、例えばＨＤＤ（hard disk drive）、ＳＳＤ（solid state drive）や、任意の可搬記憶媒体（図示略）に記憶された情報の読み出し及び書き込み可能な読み取り装置等である。入出力Ｉ/Ｆ４０４には、入力装置４１１、出力装置４１２等が接続される。入力装置４１１は、例えばキーボード、マウス、マイクロフォン等である。また、出力装置４１２は、例えばディスプレイ装置、プリンタ、スピーカ等である。リソース管理装置１００は、通信Ｉ/Ｆ４０５を介して任意の通信ネットワーク４２１と接続される。
【００４７】
上記リソース管理部１０１、有効期間管理部１０２、周期通知部１０４の各々は、演算装置４０１がプログラムを実行することにより実現してもよい。このプログラムは、メモリ４０２、外部記憶装置４０３及び/又は可搬記憶媒体等に記憶されていてもよく、また、通信Ｉ/Ｆ４０５を介して通信ネットワーク４２１から入力されてもよい。
【００４８】
また、記憶部１０３は、メモリ４０２、外部記憶装置４０３及び/又は可搬記憶媒体等により実現してもよい。
【００４９】
また、上記リソース管理部１０１、有効期間管理部１０２、記憶部１０３、周期通知部１０４の一部又は全ては、任意の回路等によりハードウェアとして実現されてもよい。
【００５０】
次に、リソース管理装置１００の動作例を具体的に説明する。
【００５１】
上記のように、リソース管理装置１００の周期通知部１０４は、所定時間経過ごとに周期通知を出力する。この所定時間は任意の値とすることができるが、入力装置４１１から入力された情報に従い設定されてもよい。図５は、所定時間の入力を受け付けるための画面例である。
【００５２】
画面５００は、例えば、リソース管理装置１００の任意の処理部（図示略）が所定の記憶領域に格納されている画像データ等を用いて出力情報を生成し、出力装置４１２に出力することにより実現する。ユーザは、画面５００において、入力装置４１１を用いて値を入力する。リソース管理装置１００の周期通知部１０４等は、入力された値に従い、周期通知のタイミングを設定するとよい。
【００５３】
なお、画面５００では、周期通知のタイミングを設定する例を示しているが、これに限るわけではなく、例えば、チェインテーブル２１０に含まれるチェインの数を設定可能としてもよい。この場合、上記と同様に、ユーザが入力装置４１１を用いて値を入力すると、リソース管理装置１００の有効期間管理部１０２等は、チェインテーブル２１０に含まれるチェインの数が、入力された値に相当するようにするとよい。
【００５４】
また、上記と同様にして、登録位置テーブル２２０のチェインと解放位置テーブル２３０のチェインとの間のチェイン数を設定可能としてもよい。
【００５５】
また、上記と同様にして、有効期間（TTL）を設定可能としてもよい。有効期間の設定は、例えば、有効期間管理部１０２等が、周期通知が入力された際に登録位置テーブル２２０及び解放位置テーブル２３０の各々の値をずらす量を、入力された値に相当するようにするとよい。または、周期通知部１０４等が、入力された値に従い、周期通知のタイミングを設定してもよい。または、有効期間管理部１０２等が、登録位置テーブル２２０のチェイン及び解放位置テーブル２３０のチェイン等の少なくとも一方を、入力された値に相当するようにするとよい。或いは、これらの組み合わせでもよい。
【００５６】
図６は、リソースを新たに使用する際の動作フローチャートの例である。図６に一例を示す動作は、要求元からのリソース使用要求が入力された場合に起動する。
【００５７】
リソース管理部１０１は、要求元からのリソース登録要求が入力されると、登録するリソースの割り当てを行い、有効期間管理部１０２にTTL登録要求を出力する（Ｓ６０１）。このTTL登録要求には、割り当てられたリソースのインデックスが含まれている。なお、リソースの割り当て技術は特に限定せず、任意の公知技術を用いるとよい。
【００５８】
有効期間管理部１０２は、登録位置テーブル２２０を参照して、登録位置を取得する（Ｓ６０２）。この登録位置とは、上記のように、チェインを示す。
【００５９】
次に、有効期間管理部１０２は、Ｓ６０２で取得した登録位置を示すチェインに所属しているリソースが有るか否か判定する（Ｓ６０３）。そのために、有効期間管理部１０２は、例えば、Ｓ６０２で取得したチェインと一致する値のチェイン識別情報２１１を含む単位チェインテーブル２１５を特定し、特定した単位チェインテーブル２１５の先頭リソース２１２及び最後尾リソース２１３の少なくとも一方に、リソースのインデックスが含まれているか否か判定する。先頭リソース２１２及び最後尾リソース２１３の少なくとも一方にリソースのインデックスが含まれている場合、有効期間管理部１０２は、Ｓ６０２で取得した登録位置を示すチェインに所属しているリソースがあると判定する。
【００６０】
Ｓ６０２の判定の結果、所属するリソースが無い場合、有効期間管理部１０２は、登録対象のリソースを、Ｓ６０２で取得した登録位置を示すチェインの先頭として登録する（Ｓ６０４）。
【００６１】
そのために、有効期間管理部１０２は、チェインテーブル２１０の単位チェインテーブル２１５のうち、登録位置を示すチェインと一致するチェイン識別情報２１１が含まれているものを特定し、特定した単位チェインテーブル２１５の先頭リソース２１２の値等を、登録対象のリソースのインデックス等とする。
【００６２】
一方、Ｓ６０２の判定の結果、所属するリソースが有る場合、有効期間管理部１０２は、登録対象のリソースを、登録位置を示すチェインの最後尾として登録する（Ｓ６０５）。
【００６３】
そのために、有効期間管理部１０２は、チェインテーブル２１０の単位チェインテーブル２１５のうち、登録位置を示すチェインと一致するチェイン識別情報２１１が含まれているものを特定し、特定した単位チェインテーブル２１５の最後尾リソース２１３の値等を、登録対象のリソースのインデックス等とする。
【００６４】
次に、有効期間管理部１０２は、単位リソーステーブル２４５に情報を設定する（Ｓ６０５）。そのために、有効期間管理部１０２は、まず、リソーステーブル２４０の単位リソーステーブル２４５のうち、登録対象のリソースのインデックスと一致するインデックス２４１が含まれているものを特定する。
【００６５】
次に、有効期間管理部１０２は、登録対象のリソースがチェインの先頭であれば（Ｓ６０３でＮｏ）、特定した単位リソーステーブル２４５の所属チェイン２４４の値等を、Ｓ６０２で取得したチェインの識別情報等とする。
【００６６】
また、有効期間管理部１０２は、登録対象のリソースがチェインの最後尾であれば（Ｓ６０３でＹｅｓ）、特定した単位リソーステーブル２４５の直前リソース２４２、所属チェイン２４４等の各々の値を、直前のリソースのインデックス、Ｓ６０２で取得したチェインの識別情報等の各々とする。また、有効期間管理部１０２は、直前のリソースの単位リソーステーブル２４５の直後リソース２４３の値等を、登録対象のリソースのインデックス等とする。
【００６７】
ここで、図６の動作フローチャートによるチェインテーブル２１０、リソーステーブル２４０の各々の更新等の具体例を図面を参照して説明する。図７は、Ｓ６０５、Ｓ６０６の処理の具体例を説明する図である。
【００６８】
図７では、登録対象のリソースのインデックスが「＆３」であり、登録位置テーブル２３０の登録位置がチェイン「＃１」を示しており、インデックス「＆１」及び「＆２」のリソースが、チェイン「＃１」に所属している場合の例である。即ち、登録対象のチェインの登録前のチェインテーブル２１０には、チェイン「＃１」の先頭としてインデックス「＆１」のリソースが、チェイン「＃１」の最後尾としてインデックス「＆２」のリソースが登録されており、ここに、インデックス「＆３」のリソースが登録される場合の例である。
【００６９】
この場合、有効期間管理部１０２は、チェインテーブル２１０の単位チェインテーブル２１５のうち、チェイン識別情報２１１が「＃１」を示すもの（図７における単位チェインテーブル２１５）の最後尾リソース２１３の値を、インデックス「＆３」とする。
【００７０】
また、有効期間管理部１０２は、登録対象のリソースの単位リソーステーブル２４５の直前リソース２４２、所属チェイン２４４の各々の値を設定する。より具体的には、有効期間管理部１０２は、インデックス「＆３」の単位リソーステーブル２４５（図７における単位リソーステーブル２４５ｂ）の直前リソース２４２、所属チェイン２４４の各々の値を、「＆２」、「＃１」とする。
【００７１】
また、有効期間管理部１０２は、登録対象のリソースの直前のリソースの単位リソーステーブル２４５の直後リソース２４３の値を設定する。より具体的には、有効期間管理部１０２は、インデックス「＆２」であるリソースの単位リソーステーブル２４５（図７における単位リソーステーブル２４５ａ）の直後リソース２４３の値を「＆３」とする。
【００７２】
図８は、リソースを解放する際の動作フローチャートの例である。図８に一例を示す動作は、要求元からのリソース解放要求が入力された場合に起動する。
【００７３】
リソース管理部１０１は、解放するリソースを特定し、有効期間管理部１０２にTTL削除要求を出力する（Ｓ８０１）。このTTL削除要求には、解放対象のリソースのインデックスが含まれている。
【００７４】
有効期間管理部１０２は、解放対象のリソースの所属チェインを取得する（Ｓ８０２）。そのために、有効期間管理部１０２は、リソーステーブル２４０の各単位リソーステーブル２４５のうち、解放対象のリソースのインデックスと一致するインデックス２４１を含むものを特定し、特定した単位リソーステーブル２４５の所属チェイン２４４の値を、削除対象のリソースの所属チェインとする。
【００７５】
次に、有効期間管理部１０２は、リソーステーブル２４０を設定する（Ｓ８０３）。具体的には、有効期間管理部１０２は、解放対象のリソースの単位リソーステーブル２４５の各値を「０」とする。また、有効期間管理部１０２は、解放対象のリソースの直前のリソースの単位リソーステーブル２４５の各値、及び、解放対象のリソースの直後のリソースの単位リソーステーブル２４５の各値を設定する。
【００７６】
Ｓ８０３の処理を詳細に説明する。有効期間管理部１０２は、リソーステーブル２４０の各単位リソーステーブル２４５のうち、解放対象のリソースのインデックスと一致するインデックス２４１を含むものを特定し、特定した単位リソーステーブル２４５の直前リソース２４２、直後リソース２４３、所属チェイン２４４等の値を、全て「０」とする。このとき、有効期間管理部１０２は、特定した単位リソーステーブル２４５の直前リソース２４２、直後リソース２４３等の値を、解放対象のリソースの直前のリソースのインデックス及び直後のリソースのインデックスとして以下処理で用いるとよい。
【００７７】
また、有効期間管理部１０２は、リソーステーブル２４０の各単位リソーステーブル２４５のうち、直前のリソースのインデックスと一致するインデックス２４１を含むものを特定し、特定した単位リソーステーブル２４５の直後リソース２４３の値を、直後のリソースのインデックスとする。
【００７８】
また、有効期間管理部１０２は、リソーステーブル２４０の各単位リソーステーブル２４５のうち、直後のリソースのインデックスと一致するインデックス２４１を含むものを特定し、特定した単位リソーステーブル２４５の直前リソース２４２の値を、直前のリソースのインデックスとする。
【００７９】
なお、解放対象のリソースがチェインの先頭又は最後尾であれば、有効期間管理部１０２は、各単位リソーステーブル２４５の該当する値を「０」とする。解放対象のリソースがチェインの先頭又は最後尾であるかの判定処理は、後述するものを用いるとよい。
【００８０】
次に、有効期間管理部１０２は、解放対象のリソースが所属チェインの先頭又は最後尾であるか否か判定する（Ｓ８０４）。そのために、有効期間管理部１０２は、Ｓ８０２で取得した所属チェインの単位チェインテーブル２１５の先頭リソース２１２又は最後尾リソース２１３の値が、解放対象のリソースのインデックスと一致するか否か判定する。
【００８１】
Ｓ８０４の判定の結果、解放対象のリソースが所属チェインの先頭又は最後尾でない場合、有効期間管理部１０２は処理を終了する。
【００８２】
Ｓ８０４の判定の結果、解放対象のリソースが所属チェインの先頭又は最後尾である場合、有効期間管理部１０２は、チェインテーブル２１０を設定する（Ｓ８０５）。
【００８３】
より詳細には、解放対象のチェインが所属チェインの先頭である場合、有効期間管理部１０２は、解放対象のチェインの単位チェインテーブル２１５の先頭リソース２１２等の値を、解放対象のチェインの直後のチェインのインデックス等とする。直後のチェインが存在しない場合は、有効期間管理部１０２は、単位チェインテーブル２１５の先頭リソース２１２等の値を「０」とする。
【００８４】
また、解放対象のチェインが所属チェインの最後尾である場合、有効期間管理部１０２は、解放対象のチェインの単位チェインテーブル２１５の最後尾リソース２１３等の値を、解放対象のチェインの直前のチェインのインデックス等とする。直前のチェインが存在しない場合は、有効期間管理部１０２は、単位チェインテーブル２１５の最後尾リソース２１３等の値を「０」とする。
【００８５】
なお、リソース管理部１０１は、要求元からのリソース解放要求が入力されると、解放するリソースを特定した後に、そのリソースの解放処理を行う。このリソース解放処理そのものは限定せず、任意の公知技術を用いるとよい。また、リソース解放処理のタイミングは特に限定せず、有効期間管理部１０２へのTTL削除要求出力の前後又は同時に行ってもよく、有効期間管理部１０２がＳ８０４又はＳ８０５の処理の後にリソース管理部１０１へ設定完了応答等を出力し、この設定完了応答が入力された後に、リソース解放処理を行ってもよい。
【００８６】
ここで、図８の動作フローチャートによるリソーステーブル２４０の各々の更新等の具体例を図面を参照して説明する。図９は、Ｓ８０３の処理の具体例を説明する図である。
【００８７】
ここでは、チェイン「＃１」に、３つのリソース「＆１」、「＆２」、「＆３」が、「＆１」、「＆２」、「＆３」の順で所属しており、解放対象のリソースのインデックスが「＆２」である場合の例である。即ち、チェインテーブル２１０には、チェイン「＃１」の先頭としてインデックス「＆１」が、チェイン「＃１」の最後尾としてインデックス「＆３」が登録されており、この状態から、インデックス「＆２」のリソースが解放される場合の例である。
【００８８】
この場合、有効期間管理部１０２は、解放対象のリソースの単位リソーステーブル２４５を再設定する。より詳細には、有効期間管理部１０２は、インデックス「＆２」の単位リソーステーブル２４５（図９における単位リソーステーブル２４５ｂ）の直前リソース２４２、直後リソース２４３、所属チェイン２４４等の値を、全て「０」とする。
【００８９】
また、有効期間管理部１０２は、解放対象のリソースの直前のリソース（インデックス「＆１」）の単位リソーステーブル２４５及び直後のリソース（インデックス「＆３」）の単位リソーステーブル２４５を再設定する。より詳細には、有効期間管理部１０２は、インデックスが「＆１」であるリソースの単位リソーステーブル２４５（図９における単位リソーステーブル２４５ａ）の直後リソース２４３の値を、直後リソースのインデックス「＆３」とする。また、有効期間管理部１０２は、インデックスが「＆３」である単位リソーステーブル２４５（図９における単位リソーステーブル２４５ｃ）の直前リソース２４２の値を、直前リソースのインデックス「＆１」とする。
【００９０】
また、この場合、チェイン「＃１」の先頭及び最後尾の各々は「＆１」及び「＆３」であるので、Ｓ８０４の判定でＮｏとなり、有効期間管理部１０２は処理を終了する。
【００９１】
なお、上記のように、リソース管理部１０１には、要求元からのリソース使用要求及びリソース解放要求の他に、リソース更新要求が入力される。リソース更新要求が入力された場合の動作例は、上記のリソース登録要求及びリソース削除要求を組み合わせたものであるので詳細は省略するが、例えば、リソース管理部１０１は、任意の公知技術により、更新対象のリソースと、新たに割り当てるリソースとを特定し、これらのインデックスを含む要求を有効期間管理部１０２に出力するとともに、更新対象のリソースに対しては上記リソース解放と同じ処理を行う。有効期間管理部１０２は、更新対象のリソースに対しては上記のリソース解放と同じ処理を行い、新たに割り当てるリソースに対しては上記リソース登録と同じ処理を行うとよい。
【００９２】
図１０は、周期通知部１０４による周期通知動作フローチャートの例である。図１０に一例を示す動作は、周期通知部１０４が、一定の時間経過ごとに起動する。
【００９３】
周期通知部１０４は、周期通知を有効期間管理部１０２に出力する（Ｓ１００１）。有効期間管理部１０２は、登録位置テーブル２２０、解放位置テーブル２３０の各々を１つずつずらす（Ｓ１００２）。
【００９４】
有効期間管理部１０２は、解放位置のチェインに所属するリソースがあるか否か判定する（Ｓ１００３）。
【００９５】
そのために、有効期間管理部１０２は、例えば、解放位置テーブル２３０の値と一致するチェイン識別情報２１１を含む単位チェインテーブル２１５を特定し、特定した単位チェインテーブル２１５の先頭リソース２１２、最後尾リソース２１３に、いずれかのリソースのインデックスを示す値が含まれているか否か判定する。いずれかのリソースのインデックスを示す値が含まれている場合、有効期間管理部１０２は、解放位置のチェインに所属するリソースがあると判定する。
【００９６】
Ｓ１００３の判定の結果、所属チェインがない場合、有効期間管理部１０２は処理を終了する。
【００９７】
Ｓ１００３の判定の結果、所属チェインがある場合、有効期間管理部１０２は、解放位置のチェインに所属する単位リソーステーブル２４５を設定する（Ｓ１００４）。
【００９８】
そのために、有効期間管理部１０２は、単位リソーステーブル２４５のうち、所属チェイン２４４の値が、解放位置テーブル２３０の示す値と一致するものを特定し、この単位リソーステーブル２４５の直前リソース２４２、直後リソース２４３、所属チェイン２４４等の値を「０」等とする。
【００９９】
また、リソース管理部１０１は、解放位置のチェインに所属するリソースを解放する（Ｓ１００５）。
【０１００】
そのために、有効期間管理部１０２は、リソース解放要求をリソース管理部１０１に出力する。このリソース解放要求には、解放位置のチェインに所属する全てのリソースのインデックスが含まれている。このインデックスは、例えば、上記処理で特定した単位リソーステーブル２４５のインデックス２４１の値である。
【０１０１】
有効期間管理部１０２からのリソース解放要求が入力されると、リソース管理部１０１は、そのリソース解放要求に含まれるインデックスのリソースの解放処理を行う。これを実現する技術は特に限定せず、公知の技術を用いるとよい。
【０１０２】
また、有効期間管理部１０２は、チェインテーブル２１０を設定する（Ｓ１００６）。そのために、有効期間管理部１０２は、チェインテーブル２１０の単位チェインテーブル２１５のうち、解放位置テーブル２３０の値と一致するチェイン識別情報２１１を含む単位チェインテーブル２１５を特定し、特定した単位チェインテーブル２１５の先頭リソース２１２、最後尾リソース２１３の値等を「０」等する。
【０１０３】
ここで、図１０の動作フローチャートによるチェインテーブル２１０、リソーステーブル２４０の各々の更新等の具体例を図面を参照して説明する。図１１は、Ｓ１００２−Ｓ１００６の処理の具体例を説明する図である。
【０１０４】
ここでは、登録位置のチェインが「＃１」、解放位置のチェインが「＃２」であり、周期通知により１つずつずれて、登録位置のチェインが「＃２」、解放位置のチェインが「＃３」となる場合の例を説明する。
【０１０５】
この場合、有効期間管理部１０２は、登録位置テーブル２２０の値を「＃１」から「＃２」とする。また、有効期間管理部１０２は、解放位置テーブル２３０の値を「＃２」から「＃３」とする。また、この場合、解放位置は「＃３」であり、チェイン識別情報２１１が「＃３」である単位チェインテーブル２１５の先頭リソース２１２、最後尾リソース２１３の各々にインデックス「＆３」及び「＆４」が格納されているため、有効期間管理部１０２は、解放対象のリソースがあると判定する。
【０１０６】
有効期間管理部１０２は、所属チェイン２４４が「＃１」である単位リソーステーブル２４５は、インデックス２４１の値が「＆３」及び「＆４」のものと特定する。有効期間管理部１０２は、インデックス２４１の値が「＆３」である単位リソーステーブル２４５（図１１における単位リソーステーブル２４５ａ）の直後リソース２４３、所属チェイン２４４の各値を「０」、「０」とする。直前リソース２４２の値は、そもそも「０」であるのでそのままである。同様に、有効期間管理部１０２は、インデックス２４１の値が「＆４」である単位リソーステーブル２４５（図１１における単位リソーステーブル２４５ｂ）の直前リソース２４２、所属チェイン２４４の各値を「０」、「０」とする。直後リソース２４３の値は、そもそも「０」であるのでそのままである。
【０１０７】
さらに、有効期間管理部１０２は、チェイン識別情報２１１が「＃３」である単位チェインテーブル２１５（図１１における単位チェインテーブル２１５ａ）の先頭リソース２１２、最後尾リソース２１３の各値を「０」、「０」とする。
【０１０８】
また、本実施形態のリソース管理装置１００の処理部（図示略）は、任意のタイミングで、リソース等の使用状況を出力装置４１２に出力することができる。図１２は、ディスプレイ等の出力装置４１２にリソース等の使用状況を出力する例である。
【０１０９】
画面１２００は、例えば、リソースの使用率、チェイン別のリソース使用率等の表示領域を含む。画面１２００は、例えば、処理部が、所定の記憶領域に格納されている画像データ、記憶部１０３内に記憶されている各テーブル等を用いて出力情報を生成し、出力装置４１２に出力することにより実現する。
【０１１０】
なお、リソースの使用率を取得する技術は特に限定せず、公知の技術を用いるとよい。また、チェイン別の使用率を取得する技術は特に限定しないが、例えば、処理部は、リソーステーブル２４０に基づいて、チェイン毎に、所属するリソースを特定し、特定したリソースと、チェイン別等に予め設定されている任意の値等とから、チェイン別のリソース使用率を算出してもよい。
【０１１１】
上記のように、本実施形態では、登録位置と解放位置とを設け、所定期間毎に登録位置と解放位置との各々をずらし、解放位置にあるチェイン構造のリソースを解放することができる。
【０１１２】
一定周期で動作するため、装置に設定された時刻の変更が発生しても、その時刻変更の影響を受けず、時刻変更に伴うタイムアウト判定が不要となる。
【０１１３】
また、本実施形態では、リソースをチェイン構成で管理するため、リソース使用・解放・更新時には、全テーブルではなく、該当するチェイン位置のテーブル等の設定のみを変更するのみで済む。これにより、処理負荷を低減することができる。
【０１１４】
ただし、上記のように、テーブル構成は特に限定せず、登録位置及び解放位置のチェインと、各チェインに属するリソースとが特定できればよい。
【０１１５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１１６】
また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【０１１７】
また、上記各処理は、上記した順で必ずしも実行されなくてもよく、ある処理のために必要な処理が行われていれば、任意の順で実行することが可能である。例えば、周知通知が入力された際の登録位置テーブル及び解放位置テーブルの更新と、リソース解放処理とは、リソース解放処理の後に、登録位置テーブル及び解放位置テーブルの更新を行ってもよい。
【符号の説明】
【０１１８】
１：リソース管理装置、１０１：リソース管理部、１０２：有効期間管理部、１０３：記憶部、１０４：周期通知部、２１０：チェインテーブル、２２０：登録位置テーブル、２３０：解放位置テーブル、２４０：リソーステーブル、４０１：演算装置、４０２：メモリ、４０３：外部記憶装置、４０４：入出力Ｉ/Ｆ、４０５：通信Ｉ/Ｆ、４１１：入力装置、４１２：出力装置、４２１：通信ネットワーク４２１
【図１】
2015029234.tif 000003
【図２】
2015029234.tif 000004
【図３】
2015029234.tif 000005
【図４】
2015029234.tif 000006
【図５】
2015029234.tif 000007
【図６】
2015029234.tif 000008
【図７】
2015029234.tif 000009
【図８】
2015029234.tif 000010
【図９】
2015029234.tif 000011
【図１０】
2015029234.tif 000012
【図１１】
2015029234.tif 000013
【図１２】
2015029234.tif 000014