JP2014081709A - リソース管理プログラム、リソース管理方法、及び情報処理装置 - Google Patents

リソース管理プログラム、リソース管理方法、及び情報処理装置 Download PDF

Info

Publication number
JP2014081709A
JP2014081709A JP2012227850A JP2012227850A JP2014081709A JP 2014081709 A JP2014081709 A JP 2014081709A JP 2012227850 A JP2012227850 A JP 2012227850A JP 2012227850 A JP2012227850 A JP 2012227850A JP 2014081709 A JP2014081709 A JP 2014081709A
Authority
JP
Japan
Prior art keywords
resource
resources
unused
request
application server
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.)
Pending
Application number
JP2012227850A
Other languages
English (en)
Inventor
Shinya Echigo
慎也 越後
Atsushi Shimano
淳 島野
Toshihiro Kawasaki
智弘 川崎
Kento Shirakawa
賢人 白川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012227850A priority Critical patent/JP2014081709A/ja
Priority to US13/972,173 priority patent/US20140108658A1/en
Publication of JP2014081709A publication Critical patent/JP2014081709A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数のコンピュータへのリソース配分の柔軟性を向上させること。
【解決手段】リソース管理プログラムは、コンピュータに、要求に応じて実行する処理において使用するリソースを共用する複数のコンピュータそれぞれの、確保済みのリソースのうちの不使用リソースの有無を示す情報を参照して、前記コンピュータにおける不使用リソースの有無を判定し、前記不使用リソースが無い場合に、前記情報を参照して、不使用リソースを確保している他のコンピュータを特定し、特定された他のコンピュータに前記リソースの解放を要求し、要求に応じて解放されたリソースを確保する処理を実行させる。
【選択図】図5

Description

本発明は、リソース管理プログラム、リソース管理方法、及び情報処理装置に関する。
オンラインシステムにおいて、システム全体の処理能力を増強するため、複数のアプリケーションサーバを並列に稼動させ、業務処理に必要な同時実行多重度を増やすことが行われている。
アプリケーションサーバを並列に稼動させる場合、各アプリケーションサーバは等価にされるのが一般的である。等価とは、例えば、同じ設定に基づいて同じ業務処理を実行することをいう。各アプリケーションサーバが等価であれば、クライアントからのリクエストがいずれのアプリケーションサーバによって処理されても同様の結果が得られる。また、各アプリケーションサーバの運用管理を簡易化できるといったメリットも有る。
特に、Webアプリケーションを運用するようなオンラインシステムにおいて、各アプリケーションサーバは、通常、セッションという概念によって区切られる、ログインからログアウトまでの一連の操作を継続的に処理する。
各セッション内で行われる業務処理の内容は、必ずしも均一とはならない。例えば、オンラインショッピングでは、利用者によって購入される商品数がばらばらであったり、購入までの所要時間もばらばらであったりする。このような利用者に依存した不均一さが、並列かつ等価に配置されたアプリケーションサーバ間での処理内容に不均一さを生じさせる。
そこで、セッション数や処理数等、各種の指標に基づいて負荷分散を行ったり、セッションをアプリケーションサーバ間で共有したりすることで、アプリケーションサーバ間の負荷の均一化が図られている。
他方において、クライアントからのリクエストに応答するため、各アプリケーションサーバが、バックエンドに配置されたデータベースサーバ等の他のサーバ(以下、「バックエンドサーバ」という。)と連携して処理を実行するといった構成も採用されている。各アプリケーションサーバがバックエンドサーバと連携する場合、各アプリケーションサーバによって、バックエンドサーバに関するリソースが共用される。バックエンドサーバに関するリソースの一例としてバックエンドサーバとの通信用のコネクションが挙げられる。通常、このようなリソースは有限である。すなわち、バックエンドサーバとのコネクション数には上限が有る。したがって、有限のリソースを、各アプリケーションにどのように配分するかが問題となる。
アプリケーションサーバに対するリソースの配分方法として、各アプリケーションサーバの最大負荷を想定し、最大負荷において必要であると推定される分のリソースを、各アプリケーションサーバに予め配分しておくといった方法が有る。または、各アプリケーションサーバは、リソースが必要になったときに必要な分だけリソースの配分を受けるといった方法も有る。
特開2002−41304号公報 特開2006−209294公報 特許第3672236号公報
しかしながら、各アプリケーションサーバの処理内容を完全に均一化することは困難である。処理内容に偏りが発生した場合、各アプリケーションサーバが必要とするリソース数にはばらつきが生じうる。
したがって、最大負荷に応じた分のリソースが予め配分される場合、負荷の軽いアプリケーションサーバではリソースが余っているにも拘わらず、想定した最大負荷を超えたアプリケーションサーバにおいては、リソースが不足してしまうといった可能性がある。
また、必要なときに必要な分だけリソースが配分される場合、高負荷のアプリケーションサーバによって上限分のリソースが先に確保されてしまい、後からリソースを必要とするアプリケーションサーバはリソースが不足してしまう可能性がある。
そこで、一側面では、複数のコンピュータへのリソース配分の柔軟性を向上させることを目的とする。
一態様のリソース管理プログラムは、コンピュータに、要求に応じて実行する処理において使用するリソースを共用する複数のコンピュータそれぞれの、確保済みのリソースのうちの不使用リソースの有無を示す情報を参照して、前記コンピュータにおける不使用リソースの有無を判定し、前記不使用リソースが無い場合に、前記情報を参照して、不使用リソースを確保している他のコンピュータを特定し、特定された他のコンピュータに前記リソースの解放を要求し、要求に応じて解放されたリソースを確保する処理を実行させる。
一態様によれば、複数のコンピュータへのリソース配分の柔軟性を向上させることができる。
本発明の実施の形態における情報処理システムの構成例を示す図である。 本発明の実施の形態における情報処理システムの論理構成を示す図である。 本発明の実施の形態におけるアプリケーションサーバのハードウェア構成例を示す図である。 本発明の実施の形態におけるアプリケーションサーバの機能構成例を示す図である。 リソース管理部の機能構成例を示す図である。 リソースの払い出し要求に応じてリソース管理部が実行する処理手順の一例を説明するためのフローチャートである。 リソース管理テーブルの構成例を示す図である。 リソース状態記憶部の構成例を示す図である。 不使用リソースの解放要求に応じてリソース管理部が実行する処理手順の一例を説明するためのフローチャートである。 リソースの回収要求に応じてリソース管理部が実行する処理手順の一例を説明するためのフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。図1に示される情報処理システム1において、複数のクライアント端末40と、負荷分散装置30と、複数のアプリケーションサーバ10と、バックエンドサーバ20とは、例えば、LAN(Local Area Network)又はインターネット等のネットワーク50を介して通信可能とされている。図1では、アプリケーションサーバ10の一例として、アプリケーションサーバ10a、10b、及び10cが示されている。また、クライアント端末40の一例として、クライアント端末40a、40b、及び40cが示されている。各装置の機能については、図2を参照しつつ説明する。
図2は、本発明の実施の形態における情報処理システムの論理構成を示す図である。図2では、情報処理システム1に含まれる各装置間の論理的な関係が示されている。
クライアント端末40は、アプリケーションサーバ10に対して処理要求を送信するPC(Personal Computer)、スマートフォン、携帯電話、タブレット型端末、又はPDA(Personal Digital Assistance)等の情報処理装置である。
負荷分散装置30は、クライアント装置より送信された処理要求の転送先を、各アプリケーションサーバ10の負荷が略均一化されるように選択し、選択されたアプリケーションサーバ10に当該処理要求を転送する情報処理装置である。
アプリケーションサーバ10は、負荷分散装置30によって転送された処理要求に応じた処理を実行するコンピュータである。アプリケーションサーバ10は、必要に応じてバックエンドサーバ20と連携して処理要求に応じた処理を実行する。
バックエンドサーバ20は、データベースサーバやレガシーシステム等、アプリケーションサーバ10によって利用されるコンピュータ又はコンピュータシステムである。なお、本実施の形態では、アプリケーションサーバ10とバックエンドサーバ20との間のコネクションが、複数のアプリケーションサーバ10によって共用されるリソース(資源)の一例とされる。アプリケーションサーバ10とバックエンドサーバ20との間のコネクションとは、アプリケーションサーバ10がバックエンドサーバ20と通信するために開設されるリソースである。同時に開設可能なコネクション数は有限であり、上限値が定められている。
図3は、本発明の実施の形態におけるアプリケーションサーバのハードウェア構成例を示す図である。図3のアプリケーションサーバ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
アプリケーションサーバ10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってアプリケーションサーバ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
図4は、本発明の実施の形態におけるアプリケーションサーバの機能構成例を示す図である。図4に示されるように、各アプリケーションサーバ10は、一以上の業務ロジック部11、リソース管理部12、及び分散キャッシュ実現部13等を有する。これら各部は、各アプリケーションサーバ10にインストールされた一以上のプログラムが、各アプリケーションサーバ10のCPU104に実行させる処理により実現される。また、各アプリケーションサーバ10は、リソース状態記憶部14及び設定情報記憶部15を有する。リソース状態記憶部14及び設定情報記憶部15は、例えば、各アプリケーションサーバ10の補助記憶装置102を用いて実現可能である。但し、リソース状態記憶部14は、情報を永続的に記憶する必要はないため、メモリ装置103を用いて実現されるのが好適である。また、設定情報記憶部15は、各アプリケーションサーバ10にネットワークを介して接続される記憶装置によって実現されてもよい。また、各アプリケーションサーバ10に対して共通の記憶装置によって、一元的に設定情報記憶部15が実現されてもよい。
業務ロジック部11は、クライアント端末40からの処理要求に応じた処理(例えば、業務ロジック等)を実行する。業務ロジック部11は、要求の内容又は種類に応じて実行される処理内容ごとに複数存在してもよい。業務ロジック部11は、例えば、WebアプリケーションプログラムがCPU104に実行させる処理によって実現されてもよい。
リソース管理部12は、業務ロジック部11が使用するリソースの管理を行う。例えば、リソース管理部12は、リソースの確保や解放等を実行する。また、リソース管理部12は、当該アプリケーションサーバ10におけるリソースの確保数が足りない場合、不使用リソースを確保している他のアプリケーションサーバ10のリソース管理部12に対してリソースの解放を要求し、解放されたリソースを確保する。不使用リソースとは、使用されていないリソースをいう。過去に使用されていたリソースであっても、現在使用されていなければ、不使用リソースに該当する。
なお、本実施の形態において、リソースの「確保」は、直ちにリソースの「使用」を意味しない。すなわち、リソースに関して、「確保」された状態と、「使用」されている状態とは必ずしも一致しない。リソースを使用したいアプリケーションサーバ10は、まず、リソースを確保する必要がある。アプリケーションサーバ10は、自らが確保しているリソースを使用することができる。したがって、リソースには、確保されているが不使用であるという状態が有る。本実施の形態では、このような状態のリソース分に関して、アプリケーションサーバ10間の受け渡しを可能とする。
本実施の形態におけるリソースは、バックエンドサーバ20とのコネクションであるため、リソースの確保は、バックエンドサーバ20とのコネクションの開設に相当する。リソースの利用は、バックエンドサーバ20との通信の実行に相当する。したがって、開設されているコネクションであって、通信に使用されていないコネクションは、確保されているが不使用であるリソースに相当する。
各アプリケーションサーバ10の分散キャッシュ実現部13は、論理的又は仮想的に複数のアプリケーションサーバ10を跨いで分散キャッシュC1を実現する。分散キャッシュC1とは、複数のコンピュータを用いてキャッシュを実現する公知技術である。本実施の形態では、分散キャッシュC1を、複数のアプリケーションサーバ10が情報共有するための手段として利用する。共有される情報は、後述されるリソース管理テーブル16である。リソース管理テーブル16は、アプリケーションサーバ10ごとに、リソースの使用状況を示す情報を記憶するテーブルである。
リソース状態記憶部14は、当該アプリケーションサーバ10において確保されているリソースの状態を示す情報、すなわち、使用されているか不使用であるかを示す情報を記憶する。
設定情報記憶部15は、バックエンドサーバ20との連携に関する設定情報を記憶する。本実施の形態では、バックエンドサーバ20とのコネクションの上限数を示す値(以下、「上限値」という。)が設定情報記憶部15に記憶される。上限値は、複数のアプリケーションサーバ10に対する上限値である。すなわち、複数のアプリケーションサーバ10とバックエンドサーバ20とのコネクションの合計数が、上限値を超えることはできない。
図5は、リソース管理部の機能構成例を示す図である。図5において、リソース管理部12は、要求受付部121、不使用有無判定部122、確保部123、検索部124、解放要求部125、解放部126、払出部127、及び回収部128等を有する。
要求受付部121は、業務ロジック部11からのリソースの払い出し要求を受け付ける。例えば、業務ロジック部11は、バックエンドサーバ20との通信を開始する際に、要求受付部121に対してリソースの払い出し、具体的には、バックエンドサーバ20とのコネクションの使用を要求する。要求受付部121は、また、業務ロジック部11からのリソースの回収要求をも受け付ける。例えば、業務ロジック部11は、バックエンドサーバ20との通信が終了した際に、当該リソースの回収を要求受付部121に要求する。
不使用有無判定部122は、当該アプリケーションサーバ10において確保済みのリソースのうち、不使用リソースの有無を判定する。当該判定は、分散キャッシュC1に記憶されているリソース管理テーブル16を参照して行われる。確保部123は、リソースの確保を実行する。すなわち、確保部123は、バックエンドサーバ20とのコネクションを開設する。検索部124は、不使用リソースを確保している他のアプリケーションサーバ10を検索する。当該検索は、リソース管理テーブル16を参照して行われる。解放要求部125は、検索部124によって検索された他のアプリケーションサーバ10に対して、不使用リソースの解放要求を送信する。解放部126は、他のアプリケーションサーバ10からの不使用リソースの解放要求に応じ、不使用リソースを解放する。リソースの解放とは、リソースが確保されている状態を解消することをいう。本実施の形態において、リソースの解放は、バックエンドサーバ20との間で開設されているコネクションの切断に相当する。払出部127は、リソースの払い出し要求に応じ、払い出し要求元に、確保済みのリソースを払い出す。リソースの払い出しとは、確保済みのリソースの使用を許可することをいう。例えば、リソースの払い出しでは、当該リソースを使用するために必要な識別子(以下、「リソースID」という。)等が払い出し要求元に返却される。
回収部128は、リソースの回収要求に応じ、当該リソースを回収する。回収されたリソースは、不使用リソースとなり、新たな払い出し要求に応じて払い出しが可能となる。
以下、アプリケーションサーバ10のリソース管理部12が実行する処理手順について説明する。図6は、リソースの払い出し要求に応じてリソース管理部が実行する処理手順の一例を説明するためのフローチャートである。
ステップS101において、要求受付部121は、業務ロジック部11より、リソースの払い出し要求を受け付ける。続いて、不使用有無判定部122は、当該アプリケーションサーバ10に関して、確保済みであって、かつ、不使用であるリソースの有無を、リソース管理テーブル16を参照して判定する(S102)。
図7は、リソース管理テーブルの構成例を示す図である。図7において、リソース管理テーブル16は、アプリケーションサーバ10ごとに、サーバ名、確保数、及び不使用数等を記憶する。サーバ名は、各アプリケーションサーバ10の識別名である。本実施の形態において、「A」、「B」、「C」は、それぞれ、アプリケーションサーバ10a、アプリケーションサーバ10b、アプリケーションサーバ10cのサーバ名であるとする。確保数は、確保済みのリソースの数である。不使用数は、不使用リソースの数である。したがって、(確保数−不使用数)は、使用されているリソースの数となる。
リソース管理テーブル16は、分散キャッシュC1に配置されている。したがって、各アプリケーションサーバ10は、論理的又は仮想的に共通のリソース管理テーブル16を参照することになる。「論理的又は仮想的に共通」というのは、リソース管理テーブル16にアクセスする側からは、物理的な配置位置を意識する必要はなく、複数のアプリケーションサーバ10に対して一つのリソース管理テーブル16が存在しているように見えるからである。
なお、リソース管理テーブル16に記憶される情報が物理的にどのように配置されるかは、分散キャッシュ実現部13の実装に依存する。例えば、分散キャッシュC1の実装形態の一例として、次のような形態が挙げられる。
第一の実装形態では、各アプリケーションサーバ10のメモリ装置103にリソース管理テーブル16の全部が記憶される。この場合、各アプリケーションサーバ10の分散キャッシュ実現部13は、いずれかのアプリケーションサーバ10におけるリソース管理テーブル16の更新を、自らのアプリケーションサーバ10のリソース管理テーブル16に反映するための処理を実行する。
第二の実装形態では、各アプリケーションサーバ10のメモリ装置103には、当該アプリケーションサーバ10に関する情報のみが記憶される。すなわち、図7に示される各行が、各アプリケーションサーバ10のメモリ装置103に分散されて記憶される。この場合、各アプリケーションサーバ10の分散キャッシュ実現部13は、当該アプリケーションサーバ10以外に記憶されている情報を、当該アプリケーションサーバ10に記憶されているかのように見せかけるための処理を実行する。
なお、上記以外の実装形態によって分散キャッシュC1が実現されてもよい。
ステップS102において、当該アプリケーションサーバ10が、アプリケーションサーバ10a又はアプリケーションサーバ10cである場合、不使用数は0である。したがって、この場合、ステップS102では、不使用リソースは無いと判定される。
不使用リソースが無い場合(S102でYes)、確保部123は、リソース管理テーブル16に記憶されている各アプリケーションサーバ10の確保数の合計値が、設定情報記憶部15に記憶されている上限値未満であるか否かを判定する(S103)。すなわち、新たなリソースの確保の可否が判定される。図7の例では、確保数の合計値は5+10=15である。したがって、例えば、上限値が16以上である場合、ステップS103では、確保数の合計値は上限値未満であると判定される。
確保数の合計値が上限値未満である場合(S103でYes)、確保部123は、リソース管理テーブル16において、当該アプリケーションサーバ10に対する確保数及び不使用数のそれぞれに1を加算する(S104、S105)。確保数に1が加算されるのは、後述のステップS106において確保される分を確保数に反映させるためである。不使用数に1が加算されるのは、確保されるリソースは、確保された時点では不使用であるため、斯かる状態を不使用数に反映させるためである。
続いて、確保部123は、新たにリソースを確保する(S106)。本実施の形態では、バックエンドサーバ20との間に、新たなコネクションが開設される。確保部123は、確保されたリソースのID及び状態を、当該アプリケーションサーバ10におけるリソース状態記憶部14に記憶する。
図8は、リソース状態記憶部の構成例を示す図である。図8において、リソース状態記憶部14は、当該アプリケーションサーバ10において確保されているリソースごとに、リソースID及び状態を記憶する。状態は、「使用」又は「不使用」のいずれかである。ステップS106では、確保されたリソースは使用されていないため、状態には「不使用」が記憶される。
新たなリソースの確保に成功した場合(S107でYes)、払出部127は、新たに確保されたリソースを、払い出し要求元の業務ロジック部11に払い出す(S108)。払出部127は、リソース状態記憶部14に記憶されている、払い出されたリソースの状態を、「不使用」から「使用」に更新する。すなわち、本実施の形態において、リソースが払い出された状態と使用状態とは等価である。また、リソースが回収された状態と不使用状態とは等価である。
続いて、払出部127は、当該アプリケーションサーバ10に対す不使用数から1を減算する(S109)。不使用数から1が減算されるのは、リソースが業務ロジック部11に払い出されるということは、当該リソースが使用されることを意味するからである。
ステップS106において、何らかの原因でリソースの確保に失敗した場合(S107でNo)、確保部123は、リソース管理テーブル16において、当該アプリケーションサーバ10に対する確保数及び不使用数のそれぞれから1を減算する(S110、S111)。確保数及び不使用数のそれぞれから1が減算されるのは、リソースの確保の成功を見込んでステップS104及びS105において加算された分を解消するためのである。
続いて、払出部127は、払い出し要求元の業務ロジック部11にエラーを返却する(S112)。但し、所定時間待機した後に、改めてステップS106以降が実行されてもよい。
一方、ステップS102において、不使用リソースが有る場合(S102でYes)、ステップS103〜S107は実行されずに、ステップS108以降が実行される。ステップS108では、未使用リソースのうちの一つが、払い出し要求元の業務ロジック部11に返却される。未使用リソースのリソースIDは、リソース状態記憶部14を参照して特定することができる。
例えば、当該アプリケーションサーバ10が、アプリケーションサーバ10bである場合、図7に示されるように不使用数は10である。したがって、この場合、ステップS102に続いて、ステップS108及びS109が実行される。
また、ステップS103において、各アプリケーションサーバ10の確保数の合計値が上限値に達している場合(S103でNo)、検索部124は、リソース管理テーブル16を参照して、不使用数が1以上である他のアプリケーションサーバ10を検索する(S113)。例えば、図7において、アプリケーションサーバ10bの不使用数は、10である。ここで、当該アプリケーションサーバ10が、アプリケーションサーバ10aであり、かつ、設定情報記憶部15に記憶されている上限値が、確保数の合計値と同じである15であるとする。この場合、ステップS113では、不使用数が1以上である他のアプリケーションサーバ10としてアプリケーションサーバ10bが検索される。
該当する他のアプリケーションサーバ10が検索された場合(S113でYes)、解放要求部125は、当該他のアプリケーションサーバ10のリソース管理部12に対して不使用リソースの解放要求を送信する(S114)。続いて、解放要求の送信後、当該アプリケーションサーバ10(解放要求を送信した側のアプリケーションサーバ10)のリソース管理部12は、所定時間待機する(S115)。続いて、ステップS103以降が繰り返される。すなわち、解放要求に応じて不使用リソースが解放されること、又は所定時間内のうちに、いずれかのアプリケーションサーバ10において偶然的に不使用リソースが解放されることを期待して、ステップS103以降が再実行される。所定時間待機のうちに、不使用リソースが解放されていれば、ステップS104以降が実行される。
一方、不使用数が1以上である他のアプリケーションサーバ10が無い場合(S113でNo)、ステップS112が実行される。但し、この場合も、所定時間待機後、ステップS103以降が繰り返されてもよい。所定時間待機後に、不使用数が1以上である他のアプリケーションサーバ10が発生するかもしれないからである。
なお、図7に示したリソース管理テーブル16では、アプリケーションサーバ10ごとに不使用数が記憶される例を示したが、ステップS113では、不使用リソースの有無が特定できればよい。したがって、リソース管理テーブル16には、必ずしも不使用リソースの数まで記憶されなくてもよく、不使用リソースの有無を示す情報が記憶されてもよい。不使用数は、不使用リソースの有無を示す情報の一例であるといえる。
続いて、ステップS114において送信される不使用リソースの解放要求を受信したアプリケーションサーバ10のリソース管理部12によって実行される処理について説明する。
図9は、不使用リソースの解放要求に応じてリソース管理部が実行する処理手順の一例を説明するためのフローチャートである。
他のアプリケーションサーバ10より送信された不使用リソースの解放要求が受信されると(S201)、解放部126は、リソース管理テーブル16を参照して、当該アプリケーションサーバ10の不使用数は1以上であるか否かを確認する(S202)。例えば、アプリケーションサーバ10aからアプリケーションサーバ10bに対して不使用リソースの解放要求が送信された場合、図9の説明における当該アプリケーションサーバ10は、アプリケーションサーバ10bである。
不使用数が1以上である場合(S202でYes)、解放部126は、リソース管理テーブル16において、当該アプリケーションサーバ10に対する確保数及び不使用数のそれぞれから1を減算する(S203、S204)。続いて、解放部126は、不使用リソースの一つを解放する(S205)。本実施の形態では、バックエンドサーバ20とのコネクションの一つが切断される。当該アプリケーションサーバ10においていずれが不使用リソースであるかは、当該アプリケーションサーバ10のリソース状態記憶部14を参照することにより特定可能である。解放部126は、リソースの解放に伴って、当該リソースに対応するレコードを、リソース状態記憶部14より削除する。なお、ステップS203及びS204における減算は、ステップS205における不使用リソースの解放に対応したものである。
解放要求に応じて不使用リソースが解放されることにより、確保数の合計値は、上限値未満となる。したがって、解放要求元のアプリケーションサーバ10において、新たなリソースを確保できる可能性が高まる。すなわち、不使用リソースの解放を要求したアプリケーションサーバ10は、不使用リソースを解放したアプリケーションサーバ10に対するリソースの割り当て分を譲り受けることができる。
一方、不使用リソースが無い場合(S202でNo)、ステップS203以降は実行されない。
続いて、リソースの払い出し先の業務ロジック部11からリソースの回収要求が受け付けられた際にリソース管理部12が実行する処理手順について説明する。
図10は、リソースの回収要求に応じてリソース管理部が実行する処理手順の一例を説明するためのフローチャートである。
ステップS301において、要求受付部121は、業務ロジック部11より、リソースの回収要求を受け付ける。例えば、回収要求には、回収対象のリソースのリソースIDが指定される。続いて、回収部128は、リソース管理テーブル16において、当該アプリケーションサーバ10に対する不使用数に1を加算する(S302)。リソースの回収により、不使用リソースが増加するからである。続いて、回収部128は、回収対象のリソースを回収する(S303)。具体的には、当該アプリケーションサーバ10のリソース状態記憶部14において、回収対象のリソースのリソースIDに対応する状態を、「使用」から「不使用」に更新する。
上述したように、本実施の形態によれば、或るアプリケーションサーバ10においてリソース不足が発生した場合、すなわち、リソースを確保しようとしたときに、確保数の合計値が上限値に達していた場合、他のアプリケーションサーバ10の不使用リソースが解放される。リソース不足のアプリケーションサーバ10は、解放されたリソースを確保することができる。すなわち、アプリケーションサーバ10間において、不使用リソースの受け渡しを実現することができる。したがって、各アプリケーションサーバ10へのリソース配分の柔軟性を向上させることができる。その結果、例えば、クライアント端末40からのリクエストに応じた処理について、アプリケーションサーバ10間で偏りが生じ、各アプリケーションサーバ10が必要とするリソースがばらついたとしても、各アプリケーションサーバ10が安定した応答を行える可能性を高めることができる。
また、各アプリケーションサーバ10が、最大負荷を想定して予め過大なリソースを確保しておく必要性を低減させることができる。
また、各アプリケーションサーバ10に対して共通のリソース管理テーブル16には、各アプリケーションサーバ10のリソースの使用状況が記憶される。したがって、リソース不足となったアプリケーションサーバ10は、リソース管理テーブル16を参照して、未使用のリソースを確保している他のアプリケーションサーバ10を迅速に検索することができる。
また、リソース管理テーブル16に各アプリケーションサーバ10のリソースの確保数が記憶されることで、各アプリケーションサーバ10は、確保数の合計値を把握することができる。したがって、各アプリケーションサーバ10は、当該合計値と上限値とを比較することで、新たなリソースの可否を迅速に判定することができる。なお、リソースの確保数は、必ずしも各アプリケーションサーバ10に対して共通のリソース管理テーブル16に記憶されていなくてもよい。但し、その場合、各アプリケーションサーバ10には、リソースの確保に失敗することにより、リソース不足を検出するといった負荷の高い処理の実行が要求される。本実施の形態では、斯かる処理の発生を回避することができる。
また、本実施の形態では、アプリケーションサーバ10の数に依存した設定値が各アプリケーションサーバ10に設定される必要性は小さい。したがって、システム管理に必要なコストの削減を期待することができる。アプリケーションサーバ10の数に依存した設定値の一例としては、予めアプリケーションサーバ10ごとに、リソース確保数が割り当てられる場合の割当数が挙げられる。割当数は、例えば、リソースの上限値÷アプリケーションサーバ10の数といった演算により求められる。したがって、アプリケーションサーバ10の数に依存した設定値であるといえる。
また、本実施の形態では、特定のサーバによって集中的に制御が行われるのではなく、各アプリケーションサーバ10が、能動的に処理を実行する。したがって、特定のサーバの動作不正等による制御不能といった事態の発生を回避することができる。
なお、本実施の形態におけるリソース管理テーブル16は、必ずしも分散キャッシュC1を用いて実現されなくてもよい。各プリケーションサーバから物理的に共通にアクセス可能な記憶装置にリソース管理テーブル16が記憶されてもよい。但し、分散キャッシュC1は確立された技術であり、そのアクセス性能も高い。したがって、分散キャッシュC1を利用することで、リソース管理テーブル16の操作性を向上させることができる。
また、リソースは、コネクションに限られない。例えば、複数のアプリケーションサーバ10によって共用される記憶装置であってもよい。この場合、各アプリケーションサーバ10は、確保済みであって未使用の記憶領域を、他のアプリケーションのために解放するようにしてもよい。
更に、リソースは、ハードウェア資源及びソフトウェア資源のいずれであってもよい。
なお、本実施の形態において、アプリケーションサーバ10は、コンピュータ又は情報処理装置の一例である。不使用有無判定部122は、判定部の一例である。検索部124は、特定部の一例である。解放要求部125は、要求部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
コンピュータに、
要求に応じて実行する処理において使用するリソースを共用する複数のコンピュータそれぞれの、確保済みのリソースのうちの不使用リソースの有無を示す情報を参照して、前記コンピュータにおける不使用リソースの有無を判定し、
前記不使用リソースが無い場合に、前記情報を参照して、不使用リソースを確保している他のコンピュータを特定し、
特定された他のコンピュータに前記リソースの解放を要求し、
要求に応じて解放されたリソースを確保する、
処理を実行させるリソース管理プログラム。
(付記2)
前記特定する処理は、前記リソースを共用する複数のコンピュータのリソースの確保数の合計値が、前記リソースの上限数に達している場合であって、前記コンピュータにおいて前記不使用リソースが無い場合に、不使用リソースを確保している他のコンピュータを特定する付記1記載のリソース管理プログラム。
(付記3)
前記コンピュータと前記リソースを共用する他のコンピュータからの前記リソースの解放の要求に応じ、前記コンピュータが確保済みのリソースのうちの不使用リソースを解放する処理を前記コンピュータに実行させる付記1又は2記載のリソース管理プログラム。
(付記4)
コンピュータが、
要求に応じて実行する処理において使用するリソースを共用する複数のコンピュータそれぞれの、確保済みのリソースのうちの不使用リソースの有無を示す情報を参照して、前記コンピュータにおける不使用リソースの有無を判定し、
前記不使用リソースが無い場合に、前記情報を参照して、不使用リソースを確保している他のコンピュータを特定し、
特定された他のコンピュータに前記リソースの解放を要求し、
要求に応じて解放されたリソースを確保する、
処理を実行するリソース管理方法。
(付記5)
前記特定する処理は、前記リソースを共用する複数のコンピュータのリソースの確保数の合計値が、前記リソースの上限数に達している場合であって、前記コンピュータにおいて前記不使用リソースが無い場合に、不使用リソースを確保している他のコンピュータを特定する付記4記載のリソース管理方法。
(付記6)
前記コンピュータと前記リソースを共用する他のコンピュータからの前記リソースの解放の要求に応じ、前記コンピュータが確保済みのリソースのうちの不使用リソースを解放する処理を前記コンピュータが実行する付記4又は5記載のリソース管理方法。
(付記7)
情報処理装置であって、
要求に応じて実行する処理において使用するリソースを共用する複数の情報処理装置それぞれの、確保済みのリソースのうちの不使用リソースの有無を示す情報を参照して、前記情報処理装置における不使用リソースの有無を判定する判定部と、
前記不使用リソースが無い場合に、前記情報を参照して、不使用リソースを確保している他の情報処理装置を特定する特定部と、
特定された他の情報処理装置に前記リソースの解放を要求する要求部と、
要求に応じて解放されたリソースを確保する確保部とを有する情報処理装置。
(付記8)
前記特定部は、前記リソースを共用する複数の情報処理装置のリソースの確保数の合計値が、前記リソースの上限数に達している場合であって、前記情報処理装置において前記不使用リソースが無い場合に、不使用リソースを確保している他の情報処理装置を特定する付記7記載の情報処理装置。
(付記9)
前記情報処理装置と前記リソースを共用する他の情報処理装置からの前記リソースの解放の要求に応じ、前記情報処理装置が確保済みのリソースのうちの不使用リソースを解放する解放部を有する付記7又は8記載の情報処理装置。
1 情報処理システム
10 アプリケーションサーバ
11 業務ロジック部
12 リソース管理部
13 分散キャッシュ実現部
14 リソース状態記憶部
15 設定情報記憶部
16 リソース管理テーブル
20 バックエンドサーバ
30 負荷分散装置
40 クライアント端末
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 要求受付部
122 不使用有無判定部
123 確保部
124 検索部
125 解放要求部
126 解放部
127 払出部
128 回収部
B バス
C1 分散キャッシュ

Claims (5)

  1. コンピュータに、
    要求に応じて実行する処理において使用するリソースを共用する複数のコンピュータそれぞれの、確保済みのリソースのうちの不使用リソースの有無を示す情報を参照して、前記コンピュータにおける不使用リソースの有無を判定し、
    前記不使用リソースが無い場合に、前記情報を参照して、不使用リソースを確保している他のコンピュータを特定し、
    特定された他のコンピュータに前記リソースの解放を要求し、
    要求に応じて解放されたリソースを確保する、
    処理を実行させるリソース管理プログラム。
  2. 前記特定する処理は、前記リソースを共用する複数のコンピュータのリソースの確保数の合計値が、前記リソースの上限数に達している場合であって、前記コンピュータにおいて前記不使用リソースが無い場合に、不使用リソースを確保している他のコンピュータを特定する請求項1記載のリソース管理プログラム。
  3. 前記コンピュータと前記リソースを共用する他のコンピュータからの前記リソースの解放の要求に応じ、前記コンピュータが確保済みのリソースのうちの不使用リソースを解放する処理を前記コンピュータに実行させる請求項1又は2記載のリソース管理プログラム。
  4. コンピュータが、
    要求に応じて実行する処理において使用するリソースを共用する複数のコンピュータそれぞれの、確保済みのリソースのうちの不使用リソースの有無を示す情報を参照して、前記コンピュータにおける不使用リソースの有無を判定し、
    前記不使用リソースが無い場合に、前記情報を参照して、不使用リソースを確保している他のコンピュータを特定し、
    特定された他のコンピュータに前記リソースの解放を要求し、
    要求に応じて解放されたリソースを確保する、
    処理を実行するリソース管理方法。
  5. 情報処理装置であって、
    要求に応じて実行する処理において使用するリソースを共用する複数の情報処理装置それぞれの、確保済みのリソースのうちの不使用リソースの有無を示す情報を参照して、前記情報処理装置における不使用リソースの有無を判定する判定部と、
    前記不使用リソースが無い場合に、前記情報を参照して、不使用リソースを確保している他の情報処理装置を特定する特定部と、
    特定された他の情報処理装置に前記リソースの解放を要求する要求部と、
    要求に応じて解放されたリソースを確保する確保部とを有する情報処理装置。
JP2012227850A 2012-10-15 2012-10-15 リソース管理プログラム、リソース管理方法、及び情報処理装置 Pending JP2014081709A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012227850A JP2014081709A (ja) 2012-10-15 2012-10-15 リソース管理プログラム、リソース管理方法、及び情報処理装置
US13/972,173 US20140108658A1 (en) 2012-10-15 2013-08-21 Computer-readable recording medium storing a resource management program, resource management method and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012227850A JP2014081709A (ja) 2012-10-15 2012-10-15 リソース管理プログラム、リソース管理方法、及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2014081709A true JP2014081709A (ja) 2014-05-08

Family

ID=50476489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012227850A Pending JP2014081709A (ja) 2012-10-15 2012-10-15 リソース管理プログラム、リソース管理方法、及び情報処理装置

Country Status (2)

Country Link
US (1) US20140108658A1 (ja)
JP (1) JP2014081709A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389905B (zh) * 2018-04-20 2023-12-19 伊姆西Ip控股有限责任公司 资源释放方法、资源分配方法、设备和计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069087A (ja) * 1998-08-21 2000-03-03 Nec Corp 複数ルータによるリソース共有方法
JP2007004403A (ja) * 2005-06-22 2007-01-11 Nec Corp 分散資源配分システム、分散資源配分方法およびプログラム
JP2009258982A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc ノード装置及びプログラム並び資源割当方法
JP2010277581A (ja) * 2009-04-27 2010-12-09 Hitachi Ltd 資源管理方法、資源管理プログラム、および、資源管理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007075B1 (en) * 1998-12-09 2006-02-28 E-Lysium Transaction Systems Inc. Flexible computer resource manager
US6434543B1 (en) * 1999-11-01 2002-08-13 Sun Microsystems, Inc. System and method for reliable caching of database connections in a distributed application
WO2002052887A2 (en) * 2000-12-22 2002-07-04 Siemens Aktiengesellschaft Method and device for atm transmission
JP2005004350A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc リソース管理方法及び装置、リソース管理プログラム、記憶媒体
US20050172029A1 (en) * 2004-01-29 2005-08-04 International Business Machines Corporation Method and apparatus for managing a connection pool using heuristic information
US8244865B2 (en) * 2004-10-08 2012-08-14 International Business Machines Corporation Method and apparatus for autonomic management of connection pools
JP5368285B2 (ja) * 2009-12-11 2013-12-18 株式会社日立製作所 計算機システム、計算機リソースの管理方法及びプログラム
US9098335B2 (en) * 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
US8424010B2 (en) * 2010-01-21 2013-04-16 Mckesson Financial Holdings Shared resource management
US8260757B1 (en) * 2010-04-22 2012-09-04 Wal-Mart Stores, Inc. Data access layer
JP5370946B2 (ja) * 2011-04-15 2013-12-18 株式会社日立製作所 リソース管理方法及び計算機システム
US9189272B2 (en) * 2012-08-29 2015-11-17 Fujitsu Limited Information processing apparatus, computer program, and method for controlling execution of jobs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069087A (ja) * 1998-08-21 2000-03-03 Nec Corp 複数ルータによるリソース共有方法
JP2007004403A (ja) * 2005-06-22 2007-01-11 Nec Corp 分散資源配分システム、分散資源配分方法およびプログラム
JP2009258982A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc ノード装置及びプログラム並び資源割当方法
JP2010277581A (ja) * 2009-04-27 2010-12-09 Hitachi Ltd 資源管理方法、資源管理プログラム、および、資源管理装置

Also Published As

Publication number Publication date
US20140108658A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
US9246744B2 (en) Controlling access of clients to service in cluster environment
JP2012142012A5 (ja)
JP5557689B2 (ja) ネットワークシステム
WO2021227999A1 (zh) 云计算服务系统和方法
EP2897368B1 (en) Interactive personal/internet protocol television subscription system, and subscription plan management method and device
JP2010044552A (ja) リクエスト処理方法及び計算機システム
US9542226B2 (en) Operating programs on a computer cluster
CN112099728B (zh) 一种执行写操作、读操作的方法及装置
JP2017091330A (ja) 計算機システム及び計算機システムのタスク実行方法
JP4887999B2 (ja) スーパースケジュール装置、処理実行システム、処理依頼方法、およびスーパースケジューラプログラム
US8850440B2 (en) Managing the processing of processing requests in a data processing system comprising a plurality of processing environments
JP2014081709A (ja) リソース管理プログラム、リソース管理方法、及び情報処理装置
JP2017102777A (ja) 負荷分散処理サーバ、負荷分散処理方法、及び、システム
US8589551B2 (en) Multiprocessor computer and network computing system processing use and provision of hardware resource via a network
CN108228323B (zh) 基于数据本地性的Hadoop任务调度方法及装置
US20100306780A1 (en) Job assigning apparatus, and control program and control method for job assigning apparatus
JP7037059B2 (ja) リソース管理システム、および、リソース割当プログラム
KR102450749B1 (ko) 원격 컴퓨팅 서비스 제공 시스템 및 방법
KR101146742B1 (ko) SaaS의 분산된 세션 관리 방법 및 그 관리 시스템
JP2010097566A (ja) 情報処理装置、及び情報処理システムにおけるバッチ処理の割り当て方法
JP4887223B2 (ja) 情報処理システム、情報処理方法、およびプログラム
CN106254544A (zh) 数据访问方法及装置
CN101739286B (zh) 一种多处理器的储存服务器的负载均衡方法
WO2012098650A1 (ja) コンピュータ、コンピュータシステム、方法、およびプログラム
US9836319B2 (en) Information sharing program, information sharing system and information sharing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160426

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160510

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160708