JP4077352B2 - 負荷分散方法及びその実施システム並びにその処理プログラム - Google Patents

負荷分散方法及びその実施システム並びにその処理プログラム Download PDF

Info

Publication number
JP4077352B2
JP4077352B2 JP2003095659A JP2003095659A JP4077352B2 JP 4077352 B2 JP4077352 B2 JP 4077352B2 JP 2003095659 A JP2003095659 A JP 2003095659A JP 2003095659 A JP2003095659 A JP 2003095659A JP 4077352 B2 JP4077352 B2 JP 4077352B2
Authority
JP
Japan
Prior art keywords
reservation
business
service
business service
processing
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
JP2003095659A
Other languages
English (en)
Other versions
JP2004302918A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003095659A priority Critical patent/JP4077352B2/ja
Priority to US10/720,758 priority patent/US7672863B2/en
Publication of JP2004302918A publication Critical patent/JP2004302918A/ja
Application granted granted Critical
Publication of JP4077352B2 publication Critical patent/JP4077352B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • 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
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Description

【0001】
【発明の属する技術分野】
本発明は情報処理装置を動的に割り当てて負荷分散を行う負荷分散システムに関するものである。
【0002】
【従来の技術】
複数の情報処理装置を組み合わせたシステムにおいて、従来は、特定の情報処理装置に処理要求が多量に集中すると、その情報処理装置の負荷が増大する為、システム全体の応答時間が著しく長くなったり、或いは処理不能となったりする場合がある。すなわち、システムのサービス品質が低下する。ここで、サービスとは、情報処理装置または情報処理装置を組み合わせたシステムが、要求された処理を実行することである。またサービス品質とは、情報処理装置または情報処理装置を組み合わせたシステムの、計測可能な性能のことであり、応答時間や単位時間あたりの処理件数が該当するが、これに限らない。
【0003】
前記の問題を解決するために、従来の複数の情報処理装置を組み合わせたシステムでは、例えば、いくつかの情報処理装置をクラスタリングさせて見かけ上単一の情報処理装置を構成すると共に、当該システムに処理を要求する情報処理装置からの処理の要求を、負荷分散装置によって、前記見かけ上単一の情報処理装置を構成する各情報処理装置に振り分けることにより、多量の処理の要求を処理できる様にしている。すなわち、システムのサービス品質を向上させている。
【0004】
但し、この方法では、特定の時間帯に極端に多量の処理の要求を受ける場合には、システムを構成する全ての情報処理装置に大きな負荷がかかることになり、結局サービス品質は低下することになる。事前に最大の負荷に対応しうる数の情報処理装置を用意しておけば解決可能ではあるものの、特定の時間帯を除けばそれほど要求が多くない様な場合、最大の負荷の為に用意した情報処理装置は無駄である。
【0005】
この様な問題を解決する手段として、既存の情報処理装置群の処理能力を超えた場合には、新たな情報処理装置(予備情報処理装置)を追加することにより、超過分の処理を行わせ、逆に、既存の情報処理装置群の処理能力が過大になる場合には、余剰となる情報処理装置を削除する方法がある(例えば特許文献1参照)。
【0006】
しかし、この方法では、処理の要求の変動に応じて、人手を介在させずに予備情報処理装置を追加することを目的としており、予備情報処理装置は、サービスの為のプログラムやプログラムの使用する情報が予め記録された状態で待機していることが前提となっている。すなわち、この方法では、平常時には不要となる情報処理装置を最大負荷の為だけに待機しておかなければならないという問題を解決することができない。
【0007】
特に、情報処理装置や電源、設置場所、空調、管理業務等を総合的に提供する事業であるデータセンタにおいては、SLA(Service Level Agreements:サービス・レヴェル・アグリーメント)等の利用者との契約を満足する為に、顧客に対して固定的なパーティション(情報処理装置の集合)を与えており、時刻によって負荷が変動する場合にも、最大の負荷に対応可能な規模のパーティションを用意しなければならないので、データセンタにとっては、多くの情報処理装置を管理しなければならないことから管理にかかる費用の点で問題があり、利用者にとっては、一時的にしか使用しない情報処理装置の為に大きな利用料を支払わなければならない点で問題があった。
【0008】
【特許文献1】
特開2002−163241号公報
【特許文献2】
特開2002−222110号公報
【0009】
【発明が解決しようとする課題】
前記の様に複数の情報処理装置を組み合わせたシステムにおいて、従来は、特定の情報処理装置に処理の要求が多量に集中すると、その情報処理装置の負荷が増大してサービス品質が低下し、これを防ぐ為に事前に最大の負荷に対応しうる情報処理装置を用意した場合には、平常時に不要となる情報処理装置を最大負荷の為だけに待機しておかなければならならず、多くの情報処理装置を管理する際の管理コストや一時的にしか使用しない情報処理装置の為に大きな利用料が必要となるという問題がある。
【0010】
本発明の目的は上記問題を解決し、業務や時間帯に応じて使用されていない状態となっている情報処理装置を別の業務に割り当てることが可能な技術を提供することにある。
【0011】
【課題を解決するための手段】
本発明は、処理の要求の変動に応じて情報処理装置を動的に割り当てて負荷分散を行う負荷分散システムにおいて、サービス品質に関する取り決めを満足する為の目標値であるSLOに従って分割された各スケジュールに、そのSLOを満たす情報処理装置群を割り当てることによりサービスの負荷分散を行うものである。
【0012】
本実施形態における負荷分散システムでは、複数の情報処理装置から成るシステムを用いて実行するサービスについて、それらのサービスの論理的なシステム構成を示す論理構成、そのサービスの開始時と終了時に実行する処理を記述したスクリプト等の情報を含む業務構成定義の入力を受け付けて、業務構成管理リポジトリへ登録する。
また、前記サービスのSLOをSLO管理テーブルへ登録する。
【0013】
更に、前記論理構成に、実際の情報処理装置群を割り当てた場合の性能の計測結果を入力し、各情報処理装置の性能を示す情報として性能管理テーブルへ登録しておく。
【0014】
そして、情報処理装置群の割り当て対象となるサービスの指定を受け付けた後、その指定されたサービスのスケジュールを前記業務構成管理リポジトリ中の業務構成定義から読み込み、前記指定サービスのSLOを前記SLO管理テーブルから取得する。
【0015】
その後、前記読み込んだスケジュールを前記取得したSLOに従って分割し、前記性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるSLOを満たしている情報処理装置を当該スケジュールで前記指定サービスを実行する情報処理装置として予約する。
【0016】
例えばSLOとして指定されている各時間帯の応答時間の情報と、各時間帯における単位時間当たりの処理件数の情報とを重ね合わせ、応答時間及び単位時間当たりの処理件数の両方が一定となっている部分毎にスケジュールを分割した後、前記性能管理テーブルを参照し、その分割されたスケジュールにおける応答時間及び単位時間当たりの処理件数を達成することのできる情報処理装置群を選択して、前記指定サービスを実行する情報処理装置群として予約する。
【0017】
前記の様に本発明の負荷分散システムでは、SLOに従って分割された各スケジュールに、そのSLOを満たす情報処理装置を割り当てることによりサービスの負荷分散を行うので、サービス品質に関する取り決めを満足する最適なパーティション(情報処理装置の集合)を動的に構築し、時間帯に応じて使用されていない状態となっている情報処理装置を別のサービスに割り当てることができる。
【0018】
また本発明では、前記指定サービスを実行する情報処理装置を予約する際に、その指定サービスとその情報処理装置で既に予約済みのサービスの、開始時と終了時に実行する処理を記述したスクリプトを参照し、重複する処理を省略して前記予約を行う様にしても良い。この様に、重複する処理を省略することにすれば、そのサービスの実行に必要な時間が短くなるので、開始時と終了時に実行する処理を含めたサービスの予約が行えない場合であっても、重複する処理の省略されたサービスの予約が行える場合が生じ、情報処理装置の使用されていない時間帯にサービスを割り当てられる可能性を高くすることができる。
【0019】
また従来では、サービスを実行する複数の情報処理装置からなるシステムを、管理者が利用者とコンサルティングを行いながら、かつ知識や経験に基づいて、構築していたが、本発明によれば、事前に測定された性能に関する指標から自動的にシステムを構築するので、利用者は、実際の情報処理装置を考慮することなく前記サービスを実行するシステムを設計することができ、一方で、管理者は、より効率的にシステムの構築を行うことができる様になる。
【0020】
以上の様に本発明の負荷分散システムによれば、SLOに従って分割された各スケジュールに、そのSLOを満たす情報処理装置を割り当てることによりサービスの負荷分散を行うので、サービス品質に関する取り決めを満足するパーティションを動的に構築し、業務や時間帯に応じて使用されていない状態となっている情報処理装置を別の業務に割り当てることが可能である。
【0021】
【発明の実施の形態】
以下に処理の要求の変動に応じて情報処理装置を動的に割り当てて負荷分散を行う一実施形態の負荷分散システムについて説明する。
【0022】
図1は本実施形態の負荷分散システム300の全体の構成を示す図である。図1に示す様に本実施形態の負荷分散システム300は、サーバ情報管理処理部310と、SLO管理処理部320と、予約管理処理部330と、性能管理処理部340と、業務構成管理処理部350と、システム構築処理部360とを有している。
【0023】
なお、以下、サービスのことを業務サービスと呼ぶことがある。また、サービスを実行するシステムの構成要素を論理サーバと呼ぶ。論理サーバは、物理的に存在する一つの情報処理装置であってもその処理を実施可能なプログラムやオブジェクトであっても、LPAR等の技術を用いて一つの情報処理装置を仮想的に分割した一区画であっても良い(LPARについては特許文献2参照)。
【0024】
サーバ情報管理処理部310は、論理サーバについて、その用途、コスト及び付加情報等の入力を受け付けてサーバ情報管理テーブル410へ登録する処理部である。
【0025】
SLO管理処理部320は、各業務サービスについて、その業務サービスの利用者と結んだサービス品質に関する取り決めを満足させる為の条件として、各業務サービスの各時間帯における応答時間や単位時間当たりの処理件数等の目標値(SLO)の入力を受け付けてSLO管理テーブル420へ登録する処理部である。
【0026】
業務構成管理処理部350は、各業務サービスの論理的なシステム構成を示す論理構成、その業務サービスの開始時刻や終了時刻等の稼働予定を示すスケジュール、その業務サービスの開始時スクリプト及び終了時スクリプト等の情報を含む業務構成定義の入力を受け付けて業務構成管理リポジトリ450へ登録する処理部である。
【0027】
性能管理処理部340は、各業務サービスの前記論理的なシステム構成に実際の論理サーバ群を割り当てた場合の応答時間や単位時間当たりの処理件数等の性能の計測結果を入力し、各論理サーバの性能を示す情報として性能管理テーブル440へ登録する処理部である。
【0028】
予約管理処理部330は、指定された業務サービスのスケジュールを業務構成管理リポジトリ450中の業務構成定義から読み込み、前記指定業務サービスのSLOをSLO管理テーブル420から取得し、前記読み込んだスケジュールを前記取得したSLOに従って分割し、性能管理テーブル440中の性能情報が前記分割されたスケジュールにおけるSLOを満たしている論理サーバを当該スケジュールで前記指定業務サービスを実行する情報処理装置として予約する処理部である。システム構築処理部360は、前記予約された内容に従ってシステム構築手段500へシステム構築やシステム解除を指示する処理部である。
【0029】
負荷分散システム300をサーバ情報管理処理部310、SLO管理処理部320、予約管理処理部330、性能管理処理部340、業務構成管理処理部350及びシステム構築処理部360として機能させる為のプログラムは、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【0030】
図1の論理サーバ群600の論理サーバ群とは、同一の性能を持ち、同一の用途(または同一の用途の組み合わせ)に用いられる一つ以上の論理サーバの集合を表している。
【0031】
図2は本実施形態のシステム管理クライアント100及び業務管理クライアント200の画面表示例を示す図である。図2に示す様にシステム管理クライアント100及び業務管理クライアント200は、それぞれ、システム管理画面110及び業務管理画面210を呼び出し可能な情報処理装置で、システム管理画面110または業務管理画面210を画面に表示する処理を行う。
【0032】
システム管理画面110は、メニュー120の各メニュー項目、すなわち、サーバ情報管理機能呼び出し121、SLO管理機能呼び出し122、予約管理機能呼び出し123、性能管理機能呼び出し124をマウス等の入力装置で選択させることにより、それぞれ、サーバ情報管理処理部310、SLO管理処理部320、予約管理処理部330、性能管理処理部340の各機能を利用可能な画面、すなわち、サーバ情報管理画面131、SLO管理画面132、予約管理画面133、性能管理画面134を表示する。
【0033】
また、業務管理画面210のメニュー220のメニュー項目、すなわち、業務構成管理機能呼び出し221をマウス等の入力装置で選択させることにより、業務構成管理処理部350の機能を利用可能な業務構成管理画面231を表示する。
【0034】
システム管理クライアント100と業務管理クライアント200は、システム管理画面110及び業務管理画面210を呼び出し可能であれば、一つの情報処理装置として実装されても良いし、システム管理画面110と業務管理画面210も一つの画面であっても良い。また、以下、システム管理画面110を利用する者をシステム管理者と呼び、業務管理画面を利用する者を業務管理者と呼ぶが、両者は同一の者であっても良い。
【0035】
図3は本実施形態のサーバ情報管理テーブル410の詳細を示す図である。本実施形態のサーバ情報管理処理部310は、各種業務サービスを実行する論理サーバの用途、コスト及び付加情報等の入力を受け付けてサーバ情報管理テーブル410へ登録する処理を行う。
【0036】
図3に示す様にサーバ情報管理テーブル410は、サーバ群テーブル411、サーバ用途定義テーブル412及びサーバテーブル413から成り、それぞれ典型的には、リレーショナル・データベースのテーブルとして表現されるが、XML(Extensible Markup Language)形式のデータファイル等の、他の表現方法であっても良い(本実施形態におけるテーブルについては、以下、同様に他の表現方法であっても良いものとする)。
【0037】
このサーバ情報管理テーブル410では、一つの論理サーバの情報がサーバテーブル413の一つのレコードに対応しており、またサーバ群テーブル411の一つのレコードが、一つのサーバテーブル413に対応している。
【0038】
サーバ群テーブル411のサーバ群ID411aは、レコードが追加された際に、サーバ群テーブル411内で当該レコードが一意に識別できる様にサーバ情報管理処理部310が付与する番号である。
【0039】
用途411bは、当該レコードが保持する論理サーバ群の用途を示しており、サーバ用途定義テーブル412の用途412aにあるもののみ指定できるものとする(すなわち、サーバ群テーブル411がリレーショナル・データベースのテーブルとして表現されているのだとすれば用途411bは外部キーであり、その親キーは用途412aであるものとする)。また用途411bは、サーバ群ID411aに対して複数指定できるが、同じ用途を同時に指定することはできないものとする(すなわち、サーバ群テーブル411がリレーショナル・データベースのテーブルとして表現されているのだとすればサーバ群ID411aと用途412aは主キーであるものとする)。図中のWeb、EJB(Enterprise JavaBeans)(登録商標)、DB(database)は、その論理サーバがそれぞれWebページ、EJB、DBを用いる業務サービスに用いられることを表している。
【0040】
コスト411dは、当該レコードが保持する論理サーバ群のコストを示しており、予約管理処理部330は、コスト411dを相対的に評価するので、このコスト411dに指定される数値は、実際の金額であっても仮想的な値であっても良いものとする。
【0041】
付加情報411cは、当該レコードが保持する論理サーバ群に関する情報を示しており、システム管理者が当該論理サーバ群を識別し易くする目的で設定する情報である。この情報は、論理サーバの性能の内で定量化できるものであればどんなものでも良く、例えばCPUのクロック周波数やメモリ容量の他に、ハードディスクの回転数やバッファメモリ容量、CPUの一次キャッシュまたは二次キャッシュの容量やバス幅、メモリのI/O速度等を用いても良い。
【0042】
サーバ用途定義テーブル412の一つのレコードが一つの用途に関する定義を保持しており(サーバ用途定義テーブル412がリレーショナル・データベースのテーブルとして表現されているのだとすれば用途412aが主キー)、説明412bは、当該レコードが保持する用途の説明を示している。システム管理者が当該用途を識別し易くする目的で設定する情報である。
【0043】
サーバテーブル413のサーバID413aは、レコードが追加された際に、サーバテーブル413内で当該レコードが一意に識別できる様にサーバ情報管理処理部310が付与する番号であり、利用可否413bは、当該レコードに対応する論理サーバが利用可能であるかどうかと、利用可能である場合にその期間を示している。
【0044】
図4は本実施形態のサーバ情報管理画面131の詳細を示す図である。本実施形態においてシステム管理者は、論理サーバ群または論理サーバに関する情報を、図4に示すサーバ情報管理画面131を通じて追加、編集、削除し、また用途の追加、編集、削除も行うものとする。
【0045】
またテーブル131lがサーバ情報管理テーブル410に、テーブル131mがサーバ用途定義テーブル412に、テーブル131uがサーバテーブル413に対応している。
【0046】
サーバ情報管理テーブル410への更新を、システム管理者がサーバ情報管理画面131を操作する度に行っても良いし、適用ボタンの様なものがあって、適用ボタンが押下された場合のみ行うものとしても良い。またサーバ情報管理画面131とサーバ情報管理テーブル410の同期は公知の方法により行われるものとする。
【0047】
テーブル131lの用途131bは、サーバ用途定義テーブル412の内容に従ってプルダウンメニューとして表示されるものとし、システム管理者はプルダウンメニューから選択することで、用途131bを決定する。直接入力により編集できない選択による決定方法であればプルダウンメニュー以外のものでも良い。付加情報131cは直接入力により編集され、またサーバ群ID131aは編集できないものとする。
【0048】
付加情報131cは空欄でも良いものとするが、用途131bは必ずいずれかが選択されていなければならない。また、1つのサーバ群ID131aに対して複数の用途131bがある場合には、同じ用途をそれら複数の用途131bで同時に選択することはできないものとする。
【0049】
追加ボタン131eが押下されると、システム管理クライアント100は、テーブル131lに1行追加し、サーバ群ID131aを付番する処理を行い、また当該サーバ群用のテーブル131uを生成する。
【0050】
サーバ群ID131aの内の1つが選択された状態で削除ボタン131fが押下されると、システム管理クライアント100は、テーブル131lの当該サーバ群ID131aによって特定される行を全て削除すると共に当該サーバ群用のテーブル131uを削除する処理を行う。但し、前記テーブル131uに1行でも行がある場合は、削除ボタン131fは無効であるものとする。
【0051】
付加情報追加ボタン131kが押下されると、システム管理クライアント100は、付加情報131cを1列追加し、付加情報の名称を受け付ける。入力された名称が既に存在する付加情報の名称である場合はエラーとなるものとする。
【0052】
付加情報131cの内の1つが選択された状態で付加情報削除ボタン131sが押下されると、システム管理クライアント100は、テーブル131lの当該付加情報の列を削除する処理を行う。
【0053】
サーバ群ID131aの内の1つが選択された状態で用途追加ボタン131rが押下されると、システム管理クライアント100は、テーブル131lに1行追加し、選択されていたサーバ群ID131aを新たに追加したサーバ群ID131aに設定する。
【0054】
サーバ群ID131aと用途131bの組み合わせの内、1つが選択された状態で用途削除ボタン131tが押下されると、システム管理クライアント100は、テーブル131lの当該サーバ群ID131a及び用途131bによって特定される行を削除する。但し、1つのサーバ群ID131aに対して、用途131bが1つしかない場合、用途削除ボタン131tは無効であるものとする。
【0055】
テーブル131mでは、用途131g及び説明131hは直接入力により編集されるものとする。説明131hは空欄でも良いが、用途131gは空欄であることは許されない。また、当該用途が既にテーブル131lの用途131bにおいて1個所でも指定されている場合は、用途131gを編集することはできないものとし、更に、既に他で使用されている用途を用途131gに指定することはできないものとする。
【0056】
追加ボタン131iが押下されると、システム管理クライアント100は、テーブル131mに1行追加する処理を行い、用途131bの内の1つが選択された状態で削除ボタン131jが押下されると、システム管理クライアント100は、テーブル131mから当該用途の行を削除する。但し、当該用途が既にテーブル131lの用途131bにおいて1個所でも指定されている場合、削除ボタン131jは無効であるものとする。
【0057】
テーブル131uの利用可否131oは、直接入力により編集されるものとし、サーバID131nは編集できないものとする。また利用可否131oは空欄であることは許されないものとし、利用可否131oが変更された場合、予約管理処理部330は再予約処理を行う。
【0058】
追加ボタン131pが押下されると、システム管理クライアント100は、テーブル131uに1行追加してサーバID131nを付番し、サーバID131nの内の1つが選択された状態で削除ボタン131qが押下されると、システム管理クライアント100は、テーブル131uから当該論理サーバの行を削除する。サーバID131nが削除された場合、予約管理処理部330は再予約処理を行う。
【0059】
前記の様に本実施形態のサーバ情報管理機能では、個々の論理サーバに関する情報をサーバテーブル413に持つ一方、同じ種類の論理サーバを論理サーバ群と考えて、その情報をサーバ群テーブル411に持ち、また、その指標として用途411bを導入している。
【0060】
またサーバテーブル413は、論理サーバが利用可能かどうかの情報とその利用可能な期間を持っており、サーバテーブル413に対して変更や削除を行うと再予約が行われるので、システム管理者は、業務サービスの予約状況を意識することなく論理サーバの管理を行うことができる。
【0061】
図5は本実施形態の業務構成管理リポジトリ450の詳細を示す図である。図5に示す様に業務構成管理リポジトリ450は、業務サービス毎に定義される複数の業務構成定義451と、業務サービスに必要なプログラムや定義情報、データ等を保持するAPリポジトリ452から成っている。なお、リポジトリをデータベースとしても良い。
【0062】
業務構成定義451は、論理構成451a、構成の制約451b、スケジュール451c、開始時スクリプト451d及び終了時スクリプト451eを有している。
【0063】
論理構成451aは、業務構成定義451で定義されている業務サービスの論理的なシステム構成を示している。ここで、論理的なシステム構成とは、どの様な論理サーバでなければならないかを特定し得るだけの情報(具体的にはその論理的なシステム構成の構成要素の用途がサーバ用途定義テーブル412で定義された用途412aのどれであるかを示す情報)と、その結線関係を保持する構成である。
【0064】
構成の制約451bは、論理構成451aの各ノードのスケーラビリティ、及び結線関係の制約を示している。ここでスケーラビリティとは、当該ノードを複数の論理サーバで構成可能かどうかを示す情報であり、結線関係の制約とは、当該結線の親ノードと子ノードが固定的である必要が有るか無いかを示す情報である。
【0065】
図6は本実施形態の構成の制約451bの詳細を示す図である。本実施形態では、具体的には図6の構成の制約451bの詳細に示す情報を、論理構成451aの全てのノード及び結線関係について持っているものとする。
【0066】
図7は本実施形態の論理構成451aと構成の制約451bの具体例を示す図である。本実施形態において、典型的には論理構成451aと構成の制約451bはXML形式で表現され、具体的には図7に示す様に表現され得る。
【0067】
スケジュール451cは、業務サービスの稼動スケジュールを示しており、典型的には、開始時刻・終了時刻を持つが、終了時間を持たずに永続的に業務を行わせることや、日単位または週単位等の繰り返し処理も、本実施形態で述べる手法を拡張すれば容易に実現できる。
【0068】
図8は本実施形態の開始時スクリプト451dと終了時スクリプト451eの詳細を示す図である。本実施形態の開始時スクリプト451dは、業務サービスを開始する際に必要な処理を示しており、具体的には、ステップ451d1、処理対象451d2、処理内容451d3、省略判定フラグ451d4、対応する終了時ステップ451d5を持つ。ステップ451d1は当該ステップを開始時スクリプト451d内で一意に識別できる様に業務構成管理処理部350が指定するものとする。処理内容451d3は、システム構築手段500が認識可能であるか、システム構築手段500が認識可能である様にシステム構築処理部360が変換可能な形式にて記録されているものとする。省略判定フラグ451d4は当該ステップの処理内容451d3を予約管理処理部360が識別する為に設定されているものとする。これは、予約管理処理部360が処理内容451d3を認識できないものと仮定しているからである。
【0069】
処理対象451d2は、当該ステップの処理を実行する対象を示しており、論理構成451aと同様、対象がどの様な論理サーバでなければならないかを特定し得るだけの情報、すなわち、サーバ用途定義テーブル412で定義されている用途412aの内の何れか一つを指定する。但し、システム構築手段500が認識可能であるか、システム構築手段500が認識可能である様にシステム構築処理部360が変換可能な形式にて記述されていれば、この他のものが指定されていても良い。
【0070】
対応する終了時ステップ451d5は、終了時スクリプト451eにおいて、当該ステップに対応するステップの、ステップ451e1を設定するものとする。
【0071】
また終了時スクリプト451eは、業務構成定義451の定義する業務サービスを終了する際に必要な処理を示しており、具体的には、ステップ451e1、処理対象451e2、処理内容451e3、省略判定フラグ451e4、対応する開始時ステップ451e5を持つ。ステップ451e1は当該ステップを終了時スクリプト451e内で一意に識別できる様に業務構成管理処理部350が指定するものとする。処理内容451e3は、システム構築手段500が認識可能であるか、システム構築手段500が認識可能である様にシステム構築処理部360が変換可能な形式にて記録されているものとする。省略判定フラグ451e4は当該ステップの処理内容451e3を予約管理処理部360が識別する為に設定されているものとする。これは、予約管理処理部360が処理内容451d3を認識できないものと仮定しているからである。
【0072】
処理対象451e2は、当該ステップの処理を実行する対象を示しており、論理構成451aと同様、対象がどの様な論理サーバでなければならないかを特定し得るだけの情報、すなわち、サーバ用途定義テーブル412で定義されている用途412aの内の何れか一つを指定する。但し、システム構築手段500が認識可能であるか、システム構築手段500が認識可能である様にシステム構築処理部360が変換可能な形式にて記述されていれば、この他のものが指定されていても良い。
【0073】
対応する開始時ステップ451e5は、開始時スクリプト451dにおいて、当該ステップに対応するステップの、ステップ451d1を設定するものとする。
【0074】
一方、業務構成管理リポジトリ450のAPリポジトリ452には、開始時スクリプト451dと終了時スクリプト451eの参照するプログラムや定義情報、データ等が格納されている。
【0075】
本実施形態において、業務管理者は、業務構成定義451に関する情報の追加、編集、削除及びAPリポジトリ452への登録を、業務構成管理画面231を通じて行う。その業務構成管理画面231での処理内容は、以下の事項を除き、前述のサーバ情報管理画面131の説明で述べたものと同様であるものとする。すなわち、業務構成管理処理部350が業務構成定義451を削除する場合、予約管理処理部330は当該業務サービスの予約削除処理を行い、業務構成管理処理部350が業務構成定義451を変更する場合、予約管理処理部330は当該業務サービスの再予約処理を行う。
【0076】
図9は本実施形態の性能管理テーブル440の詳細を示す図である。図9に示す様に性能管理テーブル440は、性能管理メインテーブル441及び構築時間テーブル442から成り、一つの業務構成定義451に対して一つの性能管理メインテーブル441が必ず対応し、また、論理構成451aの一つのノードに対して一つの構築時間テーブル442が対応している。
【0077】
計測結果テーブル441は、論理構成451aについて、システム構築手段500を用いて実際に論理サーバを割り当てた場合の、性能の計測結果を示しており、計測結果テーブル441には、公知の技術を利用して計測された結果が、性能管理画面134を通じてシステム管理者により設定されるものとする。
【0078】
計測結果テーブル441の組み合わせID441aは、レコードが追加された際に、計測結果テーブル441内で当該レコードが一意に識別できる様に性能管理処理部340が付与する番号である。
【0079】
対象441b−1…n(nは整数)は、それぞれ論理構成451aのノードのいずれかに対応し、設定するのは、用途411bが当該対象441bに対応する論理構成451aのノードの用途に一致する、一つ以上のサーバ群テーブル411のサーバ群ID411aとその個数である。但し、対象441b−1…nは、論理構成451aの全てのノードを含む必要は無く(nは論理構成451aのノードの総数以下)、ノードが多い場合には一部のみ設定しても良い。
【0080】
指標441c−1…m(mは整数)は、利用者と結んだサービス品質に関する取り決めを満足させる為の指標の一つに対応し、設定するのは、当該組み合わせにおけるその計測値である。前記指標は、その業務サービスで満たすべき定量化可能な指標であればどんなものでも良く、例えば処理件数や応答時間の他に、各種ベンチマークツールの結果、フーリエ変換または位相解析等の計算式の処理時間、同時アクセス数、ダウンロード時間、平均待ち時間等を用いても良い。
【0081】
構築時間テーブル442は、論理構成451aのノードのいずれかに対応し、対象441b−1…nと同様、論理構成451aの全てのノードについて存在する必要は無く、ノードが多い場合は一部のみで良いが、対象441b−1…nとは必ず1対1に対応する。
【0082】
対象442aは、当該構築時間テーブル442に対応する対象441bと一致し、設定するのは、サーバ群テーブル411のサーバ群ID411aである。
【0083】
また、ステップ時間442b−1…kは、開始時スクリプト451d及び終了時スクリプト451eにおいて、処理対象451d2または処理対象451e2に当該構築時間テーブル442と対応する論理構成451aのノードが指定されているステップの全てを含み、対象442aに対して当該ステップを行った処理時間を設定する。
【0084】
本実施形態において業務管理者は、計測結果テーブル441及び構築時間テーブル442に関する情報の追加、編集及び削除を、性能管理画面134を通じて行う。性能管理画面134での処理内容は、前述のサーバ情報管理画面131の説明と同様であるものとする。
【0085】
性能管理テーブル440は、実際の運用結果に基づいて、性能管理処理部340やシステム構築手段500によって随時更新されるものとする。
【0086】
システム管理者は、自身の管理下にある情報処理装置について多くの知識を持っているので、いくつかの典型的なパターンについて確認した後、推論に基づいてレコードを追加することも想定されるが、この様な推論に基づいて追加されたレコードも、実際の運用結果に基づいて随時更新されるので、性能管理テーブル440は、運用を繰り返すことにより信頼度が増すことが判る。なお、前記システム管理者の持つ知識は、経験やサーバの性能に関する知識等であり、例えば、過去に同じ様な構成で運用した経験があれば、情報処理装置の性能や性能計測結果から、ある程度の推論ができる。
【0087】
図10は本実施形態のSLO管理テーブル420の詳細を示す図である。図10に示す様にSLO管理テーブル420は、複数のSLO421−1…o(oは整数)から成り、一つの業務構成定義451に対して一つのSLO管理メインテーブル420が必ず対応している。また、SLO421−1…oが、計測結果テーブル441の指標441c−1…mに1対1に対応するが、どちらか一方が欠如していても良く(mとoは必ずしも等しくない)、指標441c−1…mに不足があれば、それに対応するSLO421−1…oが無視されるものとし、その逆も同様であるものとする。
【0088】
典型的には、一つのSLO421は一つのテーブルとしてリレーショナル・データベースに格納され、一つのスパンが一つの行として定義される。ここで、スパンとは、SLOにおいて当該SLOの保持する指標の値が一定である時間のことであり、スパンとスパンの間隔はゼロであるものとする(時間と指標を縦軸と横軸に配したグラフにおいて、垂直でも水平でもない部分は存在しない)。
【0089】
SLOは、事前に定めたサービス品質に関する取り決めを満足させる為の目標値としてシステム管理者が設定するものであり、SLO421−1…mは、典型的にはある所定の期間について処理の要求の変動に応じて定義するが、スケジュール451cと同様、日単位または週単位等の繰り返し処理も、本実施形態で述べる手法を拡張すれば容易に実現できる。
【0090】
図11は本実施形態の業務構成管理処理、性能管理処理及びSLO管理処理の処理手順を示すフローチャートである。図11に示す様に本実施形態の業務構成管理処理部350は、各業務サービスの論理的なシステム構成を示す論理構成451a、その業務サービスの開始時刻や終了時刻等の稼働予定を示すスケジュール451c、その業務サービスの開始時スクリプト451d及び終了時スクリプト451e等の情報を含む業務構成定義451の入力を受け付けて業務構成管理リポジトリ450へ登録する処理を行う。
【0091】
また性能管理処理部340は、各業務サービスに実際の論理サーバ群を割り当てた場合の応答時間や単位時間当たりの処理件数等の性能の計測結果を受け付け、各論理サーバの性能を示す情報として性能管理テーブル440へ登録する処理を行う。
【0092】
更にSLO管理処理部320は、各業務サービスについて、その業務サービスの利用者との間で結んだサービス品質に関する取り決めを満足させる為の目標値として、各業務サービスの各時間帯における応答時間や単位時間当たりの処理件数等のSLOの入力を受け付けてSLO管理テーブル420へ登録する処理を行う。
【0093】
図12は本実施形態の予約管理テーブル430の詳細を示す図である。図12に示す様に予約管理テーブル430は、予約台帳431、フラグテーブル432、及びログ433から成り、予約台帳431の一つのレコードがサーバテーブル413の一つのレコードと対応している。また、予約台帳431の一つの予約がフラグテーブル432の一つのレコードと対応している。
【0094】
本実施形態において、予約とは、業務管理者の要求により特定の業務サービスをスケジュール451cに従って実行するとき、必要となる論理サーバを占有することであるものとする。このとき、当該業務サービスはその予約の予約業務サービスと呼ぶものとし、各予約は固有の予約IDを持つものとする。
【0095】
予約管理テーブル430の予約台帳431は、各論理サーバの予約スケジュールを保持する。予約スケジュールとは、予約の時間情報であり、開始処理の開始時刻と終了時刻、運用の開始時刻と終了時刻、終了処理の開始時刻と終了時刻を持ち、開始処理の終了時刻と運用の開始時刻は等しく、運用の終了時刻と終了処理の開始時刻も等しい。
【0096】
予約管理テーブル430の予約台帳431は、各論理サーバの仮予約スケジュールも保持する。仮予約スケジュールとは、仮予約の時間情報であり、予約を決定するに当たり、一時的に予約台帳431に追加された予約スケジュールである。また、時間情報として仮予約スケジュールを持つ予約を特に仮予約と呼び、仮予約は固有の仮予約IDを持つ。
【0097】
図12における予約の開始処理とは、当該予約の予約業務サービスの開始時スクリプト451dによる処理を指し、処理対象451d2が当該論理サーバであるステップの処理内容451d3のことである。同様に予約の終了処理とは、当該予約の予約業務サービスの終了時スクリプト451eによる処理で、処理対象451e2が当該論理サーバであるステップの処理内容451e3のことである。また予約の運用とは、当該予約の予約業務サービスがスケジュール451cに従って当該論理サーバを使用することである。
【0098】
本実施形態において、一つの論理サーバは、重複する予約スケジュールを持たないが、仮予約スケジュールについては重複して重複して持ちうるものとする。
【0099】
フラグテーブル432は、予約ID432aと、開始時フラグ432bと、終了時フラグ432cとからなっている。開始時スクリプト451d及び終了時スクリプトの各ステップは、前後の予約の内容によっては省略することが可能である。開始時フラグ432b及び終了時フラグ432cは、前記各ステップの内、予約ID432aによって識別される当該予約について省略できるステップを判別する為に、それぞれ該当するフラグを複数保持している。
【0100】
図13は本実施形態の予約管理メイン処理の処理手順を示すフローチャートである。図13の予約管理メイン処理は、予約管理処理部330が業務管理クライアント200からの要求を受け付けることにより開始され、予約処理の対象となる業務サービスの指定を受け付ける(S1000)。
【0101】
そして予約管理処理部330は、S1000において指定を受けた業務サービスの業務構成定義451を業務構成管理処理部350に要求し、業務構成管理処理部350により業務構成管理リポジトリ450から読み出された業務構成定義451を取得する(S1050)。次に予約管理処理部330は、取得した業務構成定義451からスケジュール451cを読み込む(S1100)。
【0102】
更に予約管理処理部330は、前記指定を受けた業務サービスのSLO421をSLO管理処理部320に要求し、SLO管理処理部320によりSLO管理テーブル420から読み出されたSLO421を取得する(S1200)。
【0103】
次に予約管理処理部330は、前記読み込んだスケジュール451cを前記取得したSLO421に従って分割し(S2000)、その分割した各スケジュールについて論理サーバを割り当てる(S3000)。
【0104】
次に前記論理サーバの割り当てに成功したかどうかを調べ(S9000)、成功した場合にはS3000の処理へ戻り、前記分割したスケジュールの残りについて論理サーバの割り当てを行う(S9100)。また論理サーバの割り当てに失敗した場合には、システム管理者と業務管理者に通知する(S9050)。
【0105】
なお、本実施形態の予約処理では、少なくとも複数のS3000の処理を同時に実行しないものとするが、排他処理を必要に応じて追加すれば、同時に実行することも可能である。
【0106】
図14は本実施形態のスケジュール分割処理S2000の処理手順を示すフローチャートである。図14に示す様に予約管理処理部330のスケジュール分割処理S2000では、まずS2050で分割位置候補リストを格納する為の領域をメモリ上に確保し、そのリストの値を初期化する。
【0107】
次にS2100では、前記取得したSLO421の内で、まだスケジュール分割の処理に用いていないものが残っているかどうかを調べ、残りがある場合にはS2150へ進む。
【0108】
S2150では、S2100で残りと判定されたSLO421中のスパンの内で、前記読み込んだスケジュール451cの範囲内に一部でも重複するスパンが残っているかどうかを調べ、残りがある場合にはS2200へ進み、S2200では、S2200で残りと判定されたスパンの終了時刻を分割位置候補リストに追加する。
【0109】
一方、S2100の処理で、SLO421の残りが無いと判定された場合にはS2300へ進み、前記分割位置候補リスト中の時刻の中から重複するものを削除して分割位置リストとする。そしてS2400では、前記分割位置リスト中の時刻を時刻の経過順に取り出して、その時刻毎にスケジュール451cを分割する。
【0110】
図15は本実施形態のスケジュール分割処理S2000の具体例を示す図である。図15に示すスケジュール分割処理例では、スケジュール451cの範囲内で、
・応答時間のSLOのスパンは、3:00〜6:00、6:00〜14:00、14:00〜23:00の3つであり、
・処理件数のSLOのスパンは、3:00〜8:00、8:00〜10:00、10:00〜12:00、12:00〜14:00、14:00〜23:00の5つである
から、3:00〜6:00、6:00〜8:00、8:00〜10:00、10:00〜12:00、12:00〜14:00、14:00〜23:00と分けている。
【0111】
なお、この方法によると、分割スケジュール単位で独立に論理サーバの割り当てを行うので、
・3:00〜6:00:論理サーバ#001×3
・6:00〜8:00:論理サーバ#002×5
・8:00〜10:00:論理サーバ#003×4、論理サーバ#004×1
・10:00〜12:00:論理サーバ#001×4
・12:00〜14:00:論理サーバ#005×1
・14:00〜23:00:論理サーバ#001×2
の様に、分割スケジュール毎に異なる論理サーバが割り当てられ、切り替え時のオーバヘッドにより無駄が生じる様に思われる。しかし、後述するS5300の処理では、無駄な切り替えが生じない様に論理サーバの割り当てを行う(分割スケジュールをまたがって使用すれば良い論理サーバは連続して使用する)ので、上記の様な問題は起こらない。
【0112】
図16は本実施形態の組み合わせ判定処理S3000の処理手順を示すフローチャートである。図16に示す様に組み合わせ判定処理S3000では、分割スケジュール毎に、S1000において指定を受けた業務サービスの論理構成451aに論理サーバを割り当てる。
【0113】
予約管理処理部330は、まず仮予約IDを採番し(S3090)、当該分割スケジュールにおけるSLO421を指標441cが満足するレコードを計測結果テーブル441から抜き出し、「予約候補」とする(S3100)。
【0114】
次に、前記抜き出した予約候補それぞれについて、予約することが可能かどうかを予約台帳431やサーバテーブル413を参照して確認し、予約可能であるならば仮予約を行う候補仮予約処理を実行する(S3200、S4000)。
【0115】
次に予約管理処理部330は、候補仮予約処理により仮予約に成功した数を調べ、一つ以上の仮予約に成功している場合にはS8000へ進み、そうでない場合にはS7000で予約転用処理を行う。
【0116】
S8000では、予め設定されている選択方法を調べ、その設定によって自動で選択する様に決定されている場合にはS8150へ進み、S8150では、同じく予め設定によって決定されている条件の優先順位に従い、仮予約に成功した予約候補から最も割り当てに適しているものを選択する。
【0117】
一方、S8000で判定した結果、前記設定によって手動で選択する様に決定されている場合にはS8100へ進み、まず仮予約に成功した予約候補の一覧をS8100で予約管理画面133に表示した後、業務管理者による選択をS8200で受け付ける。
【0118】
次にS8300で予約管理処理部330は、S8150で選択した予約候補か、S8200で受け付けた予約候補の予約を確定し、予約台帳431の更新とフラグテーブル432の更新を行う。
なお、S8150からS8200の詳細については、後で述べる。
【0119】
図17は本実施形態の候補仮予約処理S4000の処理手順を示すフローチャートである。図17に示す様に候補仮予約処理S4000では、予約候補毎に、予約が可能かどうか判定し、可能であれば予約台帳431とフラグテーブル432の一時的な更新を行う。より具体的には、対象441b−1…nの全てが予約可能であれば、当該予約候補は予約可能であるし、ある対象441b−x(xは1以上n以下の整数)は、指定数分の論理サーバ441b−x−1…jの全てが予約可能であれば、当該対象は予約可能である。
【0120】
図17のS4100で予約管理処理部330は、前記抜き出した予約候補のレコード中に予約可能であるかを調べていない対象441bがまだ残っているかどうかを調べ、対象441bの残りがある場合にはS4200へ進む。
【0121】
S4200では、S4100で残りと判定された対象441b中の論理サーバの内で、予約可能であるかを調べていない論理サーバがまだ残っているかどうかを調べ、残りがある場合にはS5000へ進み、S5000では、対象441b中で指定されている論理サーバの指定数分の予約が可能かどうか判定する。
【0122】
S6000では、S5000での仮予約の結果を示す戻り値を参照して、指定数分の論理サーバの仮予約が成功したかどうかを調べ、仮予約が成功した場合にはS4200へ戻り、指定数分の論理サーバの内で一つでも仮予約のできない論理サーバがある場合には、S6400で当該候補の仮予約は失敗であるとした後、ここまでのS5000の処理において予約台帳431に追加した仮予約の内容を全て削除し(S6500)、同じくS5000においてフラグテーブル432に追加した当該仮予約のレコードを削除する(S6600)。
【0123】
一方、S4100で調べた結果、対象441bの残りが無く、全ての論理サーバについて指定数分の仮予約に成功した場合には、当該予約候補の仮予約は成功となる(S6300)。
【0124】
図18は本実施形態の論理サーバ指定数分仮予約処理S5000の処理手順を示すフローチャートである。図18に示す様に論理サーバ指定数分仮予約処理S5000では、論理サーバ群毎に、指定数分の予約が可能であるかどうか判定し、可能であれば予約台帳431とフラグテーブル432の一時的な更新を行う。この判定にあたっては、当該論理サーバ群のサーバテーブル413と予約台帳431の全てのレコードを参照し、まず予約可能である論理サーバを全て選択する。その後、設定によって決定されている条件の優先順位に従い、選択された論理サーバから最も割り当てに適しているものを指定数分仮予約する。
【0125】
まず予約管理処理部330は、サーバテーブル413を参照して論理サーバの利用可否413bを読み出し(S5100)、その論理サーバが使用可能であるか判定する(S5150)。このときS5150では、開始時スクリプト451dにおいて、処理対象451d2が当該論理サーバの用途に一致するステップにかかる時間の総計を(a)とし、終了時スクリプト451eにおいて、処理対象451e2が当該論理サーバの用途に一致するステップにかかる時間の総計を(b)とし、分割スケジュールの時間の前に(a)を、後に(b)を付加した時間の範囲(以下、これを予約要求時間と呼ぶ)において、サーバテーブル413の当該論理サーバが使用可能であるかどうかを判定する。なお、当該論理サーバの用途は、計測結果テーブル441において当該論理サーバがどの対象441bとして指定されているのかどうかにより判定できる。また、前記総計を求める際の時間は、当該論理サーバの用途の構築時間テーブル442から得られるものとする。
【0126】
S5150において使用可能であると判定された場合、予約管理処理部330は、予約台帳431の当該論理サーバの情報を参照して予約可能かどうか判定し、可能であれば仮予約を行う(S5300)。このとき、もし前後の予約の予約スケジュールと重複がある場合に、開始時スクリプト451d及び終了時スクリプト451eのいずれかのステップが省略であれば省略して仮予約を行う。
【0127】
サーバテーブル413予約管理処理部330は、S5100からS5300までの処理を、サーバテーブル413に含まれる全ての論理サーバについて行う(S5500)。
【0128】
S5500では、サーバテーブル413中の論理サーバの内で、利用可能かどうかの判定をまだ行っていないものが残っているかどうかを調べ、残りがある場合にはS5100へ戻って処理を続行し、そうでない場合にはS5550へ進む。
【0129】
S5550では、S5300で行われた仮予約の数が指定数以上であるかを調べ、指定数分以上の仮予約に成功している場合にはS5600へ進み、そうでない場合にはS5700へ進む。
【0130】
S5600では、予め設定されている条件の優先順位に従って、指定数を超過する分の論理サーバについて予約台帳431中の仮予約スケジュールを削除し、フラグテーブル432の追加を削除した後、S5650では論理サーバ群の仮予約が成功であることを示す戻り値を設定して呼び出し元へ戻る。
【0131】
またS5700では、仮予約を行った論理サーバについて予約台帳431中の仮予約スケジュールを削除し、フラグテーブル432の追加を削除した後、S5750では論理サーバ群の仮予約が失敗であることを示す戻り値を設定して呼び出し元へ戻る。
【0132】
図19は本実施形態の論理サーバ仮予約処理S5300の処理手順を示すフローチャートである。図19に示す様に論理サーバ仮予約処理S5300では、予約要求時間の範囲において、当該論理サーバが他の予約に占有されていないかどうか判定し、予約可能であれば仮予約を行う。
【0133】
予約管理処理部330は、まず、分割スケジュールの範囲に、他の予約の運用が存在しないかどうか判定する(S5305)。この際、他の予約の開始処理及び終了処理は存在して良いものとする。また仮予約スケジュールも存在して良い。他の予約の運用が存在しなければS5309に進み、直前の予約の終了時フラグを保持するバッファ(フラグバッファ1)を初期化した後、S5310で直前の予約との関係を判定する処理を行う。
【0134】
S5340では、S5310での判定結果を参照し、S5310での判定結果が予約可能であることを示している場合にはS5359に進み、直後の予約の開始時フラグを保持するバッファ(フラグバッファ2)を初期化した後、S5360で直後の予約との関係を判定する処理を行う。
【0135】
S5390では、S5360での判定結果を参照し、S5360での判定結果が予約可能であることを示している場合にはS5392に進み、論理サーバ仮予約の判定結果を「可」として、S3090で採番された仮予約IDで当該論理サーバを仮予約するものとして、予約台帳431に前記仮予約IDで識別される仮予約スケジュールを追加する(S5393)。
【0136】
なお、直前の予約とは、終了処理の終了時刻が、分割スケジュールの開始時刻に最も近い仮予約でない予約のことであり、直後の予約とは、開始処理の開始時刻が、分割スケジュールの終了時刻に最も近い仮予約でない予約のことである。
【0137】
S5305で他の予約の運用が存在している場合や、S5340またはS5390で参照した判定結果が予約不可である場合には、論理サーバ仮予約の判定結果を「不可」として(S5394)、フラグバッファ1とフラグバッファ2の内容を削除し、S3090で採番された仮予約IDを予約ID432aとしてS5310及びステップ5360で追加したレコードをフラグテーブル432から削除する(S5396)。
【0138】
図20は本実施形態の直前の予約との関係を判定する処理S5310の処理手順を示すフローチャートである。図20に示す様に直前の予約との関係を判定する処理S5310では、仮予約しようとする内容と直前の予約との関係を調べ、予約可能であるかどうかを判定する。この時、開始時スクリプト451dのいずれかのステップが省略可能で、かつ省略することで予約が可能となる場合には、必要に応じてそのステップを省略して判定を行う。
【0139】
予約管理処理部330は、直前の予約の終了時スクリプト451eと構築時間テーブル442を、業務構成管理処理部350に要求して取得し(S5312)、終了時スクリプト451eの全てのステップについて(S5313)、処理対象451e2が当該論理サーバの用途に一致するのであれば(S5314)、当該ステップのステップ時間を時間1に積算した上で(S5315)、以下の比較処理(直前)を行う(S5320)。なお、前記ステップ時間は、構築時間テーブル442より得られるものとし、「時間2」、「省略できる時間」についても同様であるものとする。
【0140】
すなわち、S5320の比較処理では、まず前記終了時スクリプト451eの処理対象となるステップの省略判定フラグ451e4を待避しておく。次に、本処理において当該論理サーバの予約を行おうとしている予約業務サービスの開始時スクリプト451dと構築時間テーブル442を、業務構成管理処理部350に要求して取得し(S5321)、前記開始時スクリプト451dの全てのステップについて(S5322)、処理対象451d2が当該論理サーバの用途に一致するのであれば(S5323)、当該ステップのステップ時間を時間2に積算した上で(S5324)、以下の処理を行う。
【0141】
まず、対応する終了時ステップ451d5を参照し、終了時スクリプト451eの該当ステップの省略判定フラグ451e4を取得する。この省略判定フラグ451e4が、前記待避済みの省略判定フラグと一致するかどうかを判定する(S5325)。
【0142】
S5325において省略判定フラグが一致すれば、予約管理処理部330は、フラグテーブル432の予約ID432aが、S3090で採番した仮予約IDと一致するレコードの開始時フラグ432bに、前記の一致した省略判定フラグを設定する(S5326)。更に、前記の一致した省略判定フラグをフラグバッファ1に設定する(S5327)。また、省略判定フラグの一致したステップのステップ時間を、省略できる時間として積算する(S5328)。なお、S5326で該当レコードが存在しない場合には、新たにレコードを挿入して以降の処理を行うものとする。
【0143】
前記の様にしてS5320の処理を、直前の予約の終了時スクリプト451eにおける全てのステップにて実行した後、前記積算した省略できる時間と、時間1と、時間2と、直前の予約の運用の終了時刻から分割スケジュールの開始時刻までの時間3とを用い、以下の数1に従って計算して(S5331)、その計算結果が正の値であれば、直前の予約との関係を判定する処理S5310の判定結果を「可」とする(S5332)。結果が負の値であれば、同様にして「不可」とし(S5333)、フラグバッファ1の内容を削除する(S5334)。
【0144】
【数1】
時間3−(時間1+時間2−省略できる時間)
【0145】
図21は本実施形態の直後の予約との関係を判定する処理S5360の処理手順を示すフローチャートである。図21に示す様に直後の予約との関係を判定する処理S5360では、仮予約しようとする内容と直後の予約との関係を判定し、予約可能であればS3090で採番した仮予約IDで仮予約を行う。この時、終了時スクリプト451eのいずれかのステップが省略可能で、かつ省略することで予約が可能となる場合には、必要に応じてそのステップを省略して仮予約を行う。
【0146】
なお、図21の直後の予約との関係を判定する処理S5360の詳細は、図20の直前の予約との関係を判定S5310の場合と同様である。
【0147】
予約管理処理部330は、直後の予約の開始時スクリプト451dと構築時間テーブル442を、業務構成管理処理部350に要求して取得し(S5362)、開始時スクリプト451dの全てのステップについて(S5363)、処理対象451d2が当該論理サーバの用途に一致するのであれば(S5364)、当該ステップのステップ時間を時間1に積算した上で(S5365)、以下の比較処理(直後)を行う(S5370)。
【0148】
すなわち、S5370の比較処理では、まず前記開始時スクリプト451dの処理対象となるステップの省略判定フラグ451d4を待避しておく。次に、本処理において当該論理サーバの予約を行おうとしている予約業務サービスの終了時スクリプト451eと構築時間テーブル442を、業務構成管理処理部350に要求して取得し(S5371)、前記終了時スクリプト451eの全てのステップについて(S5372)、処理対象451e2が当該論理サーバの用途に一致するのであれば(S5373)、当該ステップのステップ時間を時間2に積算した上で(S5374)、以下の処理を行う。
【0149】
まず、対応する開始時ステップ451e5を参照し、開始時スクリプト451dの該当ステップの省略判定フラグ451d4を取得する。この省略判定フラグ451d4が、前記待避済みの省略判定フラグと一致するかどうかを判定する(S5375)。
【0150】
S5375において省略判定フラグが一致すれば、予約管理処理部330は、フラグテーブル432の予約ID432aが、S3090で採番した仮予約IDと一致するレコードの開始時フラグ432bに、前記の一致した省略判定フラグを設定する(S5376)。更に、前記の一致した省略判定フラグをフラグバッファ2に設定する(S5377)。また、省略判定フラグの一致したステップのステップ時間を、省略できる時間として積算する(S5378)。なお、S5376で該当レコードが存在しない場合には、新たにレコードを挿入して以降の処理を行うものとする。
【0151】
前記の様にしてS5370の処理を、直後の予約の開始時スクリプト451dにおける全てのステップにて実行した後、前記積算した省略できる時間と、時間1と、時間2と、直後の予約の運用の終了時刻から分割スケジュールの開始時刻までの時間3とを用い、数1に従って計算して(S5381)、その計算結果が正の値であれば、直後の予約との関係を判定する処理S5360の判定結果を「可」とする(S5382)。結果が負の値であれば、同様にして「不可」とし(S5383)、フラグバッファ2の内容を削除する(S5384)。
【0152】
図22は、図8に終了処理省略451e6を追加したものである。次に述べる様に終了処理省略451e6を判定することで、当該ステップは省略できると判定されたならば、前記の処理ではステップが省略できず仮予約ができない場合でも、予約が可能となる。終了省略処理451e6に設定される指標には、「ステップが省略されていない」、「無条件」及び「フラグ無し」があるものとする。
【0153】
すなわち、直前の予約との関係を判定する処理S5310では、ステップS5331で「偽」となった場合に、直前の予約の予約業務サービスの終了時スクリプト451eの全てのステップについて、直後の予約との関係を判定する処理S5360では、ステップS5381で「偽」となった場合に、当該処理において当該論理サーバの予約を行おうとしている業務サービスの終了時スクリプト451eの全てのステップについて、以下の判定を行う。次に、直前の予約との関係を判定する処理S5310ではステップS5331を、直後の予約との関係を判定する処理S5360ではステップS5381を改めて行う。
【0154】
(1)処理の対象となるステップの終了処理省略451e6が「ステップが省略されていない」である場合、
(a)直前の予約との関係を判定する処理S5310では、終了処理省略541e6に続いて示すステップが、ステップS5325において「真」となっていなければ、当該ステップ(処理の対象となるステップ)の省略判定フラグ451e4を、フラグバッファ1に設定し、当該ステップのステップ時間を省略できる時間に追加する。
【0155】
(b)直後の予約との関係を判定する処理S5360では、終了処理省略541e6に続いて示すステップが、ステップS5375において「真」となっていなければ、フラグテーブル432の予約ID432aが、仮予約IDと一致するレコードの開始時フラグ432bに、当該ステップ(処理の対象となるステップ)の省略判定フラグ451e4を設定し、当該ステップのステップ時間を省略できる時間に追加する。
【0156】
前記指標の「ステップが省略されていない」は、ある特定ステップを代替可能なステップが省略されていない場合に当該特定ステップを省略することを表している。例えばステップT013の省略可の条件が「T014が省略されていない」であれば、ステップT014が省略されていない場合にステップT013を省略可能であるものとし、EJBコンポーネントをアンインストールすればEJBコンポーネントに対する設定は無条件に削除されるからこの削除を省略する場合等がこれに相当する。
【0157】
(2)処理の対象となるステップの終了処理省略451e6が「無条件」である場合、
(a)直前の予約との関係を判定する処理S5310では、無条件に、当該ステップ(処理の対象となるステップ)の省略判定フラグ451e4を、フラグバッファ1に設定し、当該ステップのステップ時間を省略できる時間に追加する。
【0158】
(b)直後の予約との関係を判定する処理S5360では、無条件に、仮予約IDと一致するレコードの開始時フラグ432bに、当該ステップ(処理の対象となるステップ)の省略判定フラグ451e4を設定し、当該ステップのステップ時間を省略できる時間に追加する。
【0159】
前記指標の「無条件」は、特定ステップを省略した際に予約済みの業務サービスに影響の無い場合に当該特定ステップを省略することを表している。例えばソフトウェアのアンインストールを行うステップ等については、直後の業務サービスに影響の無い限り行わないものとし、アンインストールに必要な時間を節約する。
【0160】
(3)処理の対象となるステップの終了処理省略451e6が「フラグ無し」である場合、
(a)直前の予約との関係を判定する処理S5310では、終了処理省略541e6に続いて示すフラグが省略判定フラグ451d4に設定されているステップが、当該処理において当該論理サーバの予約を行おうとしている業務サービスの開始時スクリプト451dに無いならば、当該ステップ(処理の対象となるステップ)の省略判定フラグ451e4を、フラグバッファ1に設定し、当該ステップのステップ時間を省略できる時間に追加する。
【0161】
(b)直後の予約との関係を判定する処理S5360では、終了処理省略541e6に続いて示すフラグが省略判定フラグ451d4に設定されているステップが、直後の予約の予約業務サービスの開始時スクリプト451dに無いならば、フラグテーブル432の予約ID432aが、仮予約IDと一致するレコードの開始時フラグ432bに、当該ステップ(処理の対象となるステップ)の省略判定フラグ451e4を設定し、当該ステップのステップ時間を省略できる時間に追加する。
【0162】
例えば直後の業務サービスの開始時スクリプトに「EJBコンテナ*インストール済みフラグ無し」(*は任意の文字)が存在する場合、そのEJBコンテナのアンインストールを省略することはできないものとする。主に直後の業務サービスで、同じ種類ながら別のソフトウェア製品をインストールする場合や、同じ種類でも別バージョンのソフトウェアをインストールする場合を想定しており、コンフリクトを回避する為に省略できないものとしている。従って、無条件ではないが、直後の業務サービスの内容によっては省略することも可能である。
【0163】
前記のアンインストールを省略する等の処理は、各論理サーバにハードディスク容量の制限が無く、また性能への影響が無いことを前提にしているが、そのステップを省略した場合の性能やハードディスク残容量への影響度を示す指標を導入し、それらの指標を含めて組み合わせ判定処理S3000で組み合わせを判定するものとしても良い。
【0164】
図23は本実施形態の予約台帳とフラグテーブルの更新処理S8300の処理手順を示すフローチャートである。図23に示す様に予約台帳とフラグテーブルの更新処理S8300では、S8150若しくはS8200で選択された予約候補と、それ以外の予約候補について、必要な後処理を行う。
【0165】
予約管理処理部330は、まず、選択されなかった予約候補があるかどうかを調べ(S8310)、ある場合にはその選択されなかった全ての予約候補について、予約台帳431から仮予約を削除する(S8320)。すなわち、予約台帳431の当該予約候補の持つ論理サーバの全てについて、S3090で採番された仮予約IDの仮予約があれば、それを全て削除する。
【0166】
次に、当該予約候補の持つ全ての論理サーバのフラグバッファ1及びフラグバッファ2を削除する(S8330、S8335)。更に、フラグテーブル432から、前記仮予約IDで識別されるレコードを削除する(S8340)。
【0167】
一方、S8310で調べた結果、選択されなかった予約候補がもう無い場合に予約管理処理部330は、選択された予約候補の持つ全ての論理サーバのフラグバッファ1で、当該論理サーバの、直前の予約のフラグテーブル432における終了時フラグ432cを更新する(S8350)。同様に、選択された予約候補の持つ全ての論理サーバのフラグバッファ2で、当該論理サーバの、直後の予約のフラグテーブル432における開始時フラグ432bを更新する(S8355)。更に、仮予約IDを予約IDに変更する(S8360)。
【0168】
また、本実施形態の負荷分散システム300では、予約の要求、予約候補からの選択方法の設定、S8200における予約候補からの選択、S8150及びS5600において判断に用いる条件の優先順位の設定を、予約管理画面133を通じて行う。
【0169】
図24は本実施形態の予約候補からの選択処理S8200の詳細を示す図である。図24に示す様に業務管理クライアント200は、S8200において、予約管理画面133に仮予約に成功した予約候補を一覧として表示する。
【0170】
図24の指標133bは、計測結果テーブル441の当該予約候補の指標441c−1…mである。
【0171】
直前の予約との関係133cは、S5310において算出する情報であり、
・直前の予約の終了時刻から予約要求時間の開始時刻までの時間について、当該予約候補の含む全ての論理サーバについて加算した総和133c1
・開始処理を省略できる論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合133c2
・直前の予約の終了処理と当該仮予約の開始処理を完全に省略できる論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合133c3
を表示している。
【0172】
第一の情報133c1は、当該予約候補が、いかに論理サーバの空き時間を少なくして仮予約を行うことができるのかを示している。第二の情報133c2は、第一の情報133c1と同じく、いかに論理サーバの空き時間を少なくして仮予約を行うことができるのかを示すが、これを時間ではなく、論理サーバの台数の割合として示している。第三の情報133c3は、直前の予約の終了時ステップの内で当該論理サーバに関するステップを完全に省略でき、かつ、当該仮予約の開始時ステップの内で当該論理サーバに関するステップを完全に省略できる論理サーバの台数の割合を示している。なお、直前の予約との関係133cは、予約処理における一連のステップで取得可能であれば、他に表示しても良い。また、それらの組み合わせや組み合わせて計算できる計算結果であっても良い。
【0173】
直後の予約との関係133dは、同様に、S5360において算出する情報であり、
・予約要求時間の終了時刻から直後の予約の開始時刻までの時間について、当該予約候補の含む全ての論理サーバについて加算した総和133d1
・終了処理を省略できる論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合133d2
・直後の予約の開始処理と当該仮予約の終了処理を完全に省略できる論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合133d3
を表示している。
【0174】
前後の予約との関係133fは、133cと133dの平均であり、総コスト133gは、当該予約候補の含む論理サーバの、サーバ群テーブル411より導出できるコストの総和である。また用途一致率133fは、直前の予約と、当該論理サーバの使用用途が一致していた論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合、及び直後の予約と、当該論理サーバの使用用途が一致していた論理サーバの数の、当該予約候補の含む論理サーバの総数に対する割合の平均である。
【0175】
指標133b、直前の予約との関係133c、直後の予約との関係133d、前後の予約との関係133f、総コスト133g、用途一致率133eは、ソートボタンを押下することで、予約候補133aを昇順/降順でソートできるものとし、ソートの条件の順位は、ソートボタンを押下した順番の逆順で決まるものとする。例えば、直前の予約との関係133cのソートボタン、総コスト133gのソートボタンの順に押下した場合、総コスト133g、直前の予約との関係133cの順にソートされる。
【0176】
システム管理者は、ソートを行い、最適な候補を選択して、「決定」ボタンを押下することで、予約の決定を行う。
【0177】
次に、S8150及びS5600において判断に用いる条件の優先順位の設定について説明する。S8150及びS5600において判断に用いる条件の優先順位とは、前記の指標133b、直前の予約との関係133c、直後の予約との関係133d、前後の予約との関係133f、総コスト133g、用途一致率133eを、どの順に優先させて選択するかの指標であり、業務管理者が、事前に予約管理画面133において、決定しておく必要があるものとする。
【0178】
なお、デフォルトとしては、
1. 前後の予約との関係133f3
2. 前後の予約との関係133f1
3. 前後の予約との関係133f2
4. 総コスト133g
5. 用途一致率133e
6. 指標133b
等の順に優先して選択する。
【0179】
次に、本実施形態における予約転用処理について説明する。予約管理処理部330は、S4000の候補仮予約の処理において、全ての予約候補が仮予約に失敗した場合、当該分割スケジュールの範囲で、別の業務サービスが予約している論理サーバを転用し、その業務サービスには別の論理サーバを割り当てることで予約が可能とならないか判定し、可能であれば予約を行う。
【0180】
ごく単純な例でいえば、業務サービス2についてある予約要求時間の範囲の予約処理を行うとき、
条件1)業務サービス1:論理サーバ群Aの論理サーバを1台、Web用途に使用する予約を実施済み。
【0181】
条件2)業務サービス2:論理サーバ群Aの論理サーバを1台、EJB用途に使用したい。
【0182】
条件3)当該予約要求時間に使用できるのは論理サーバ群Bの論理サーバ1台で、Web用途にのみ使用できる。
【0183】
である場合、もし業務サービス1の当該分割スケジュールのSLOが論理サーバ群Bの論理サーバ1でも満足できるのならば、業務サービス1の予約を解除し、論理サーバ群Bの論理サーバ1台で予約しなおした上で、業務サービス2の用途として、解除された論理サーバ群Aの論理サーバ1台を利用すれば良い。なお、以下、業務サービス2の様なある分割スケジュールにおいて予約に失敗した業務サービスを「転用対象業務サービス」と呼ぶ。
【0184】
図25は本実施形態の予約転用処理S7000の処理手順を示すフローチャートである。図25に示す様に予約管理処理部330は、まず、予約候補を仮予約に失敗した論理サーバの数の少ない順に並べ替える(S7010)。次に、前記並べ替えた各予約候補について(S7020)、当該予約候補が候補仮予約S4000において仮予約に失敗した論理サーバ(以下、転用対象論理サーバと呼ぶ)の全てが、それらを既に予約している予約業務サービス(以下、転用候補業務サービスと呼ぶ)から転用できるかどうかを以下の様に判定する。
【0185】
まず、第一の転用対象論理サーバについて(S7030)、サーバテーブル413を参照し、論理サーバのそれぞれについて以下の処理を行う。
【0186】
(1)当該論理サーバを予約要求時間内で予約している予約業務サービスを全て取得し、これを転用候補業務サービスとする(S7100)。
【0187】
(2)転用候補業務サービスの全てについて予約IDを仮予約IDとする(S7250)。
【0188】
(3)当該論理サーバに対する予約を取り消した上で、別の予約候補をもって予約を割り当てることが可能かどうか、全ての転用候補業務サービスについて判定する(S7300)。
【0189】
S7300において全ての転用候補業務サービスについて転用に成功した場合にはS7700からS7030へ戻り、次の転用対象論理サーバについて、(1)から(3)までの処理を繰り返す。
【0190】
一方、S7300において、一つでも転用に失敗した転用候補業務サービスがある場合にはS7700からS7750へ進み、全ての転用候補業務サービスの仮予約IDを予約IDに戻した上で(S7750)、仮予約に失敗した論理サーバの数が次に少ない予約候補でS7040以降の処理を行う。
【0191】
S7030で論理サーバの残りが無くなり、全ての転用対象論理サーバについて転用に成功した場合にはS7900へ進み、当該予約候補をもって転用可能であるとして、予約台帳431とフラグテーブル432の更新を行う。この場合、S8000からS8300までの処理を行わずに組み合わせ判定処理S3000が完了する。
【0192】
一方、S7020で予約候補が無くなり、全ての予約候補において転用に失敗した場合にはS7800へ進み、組み合わせ判定に失敗したものとして、システム管理者と業務管理者に通知する(S9050)。
【0193】
図26は本実施形態の転用候補業務サービスの取得処理S7100の処理手順を示すフローチャートである。図26に示す様に転用候補業務サービスの取得処理S7100では、まず、分割スケジュールの範囲に、他の予約の運用が存在しないかどうか判定する(S7110)。他の予約の運用が存在する場合、それらを転用候補業務サービスのリストに追加する(S7120、S7130)。
【0194】
次に、直前の予約との関係を判定し(S5310)、判定の結果、予約不能であれば(S7140)、転用候補業務サービスのリストに直前の予約の予約業務サービスを追加する(S7150)。
【0195】
更に、直後の予約との関係を判定し(S5360)、判定の結果、予約不能であれば(S7160)、同様に転用候補業務サービスのリストに直後の予約の予約業務サービスを追加する(S7170)。
【0196】
図27は本実施形態の予約ID変更処理S7250の処理手順を示すフローチャートである。図27に示す様に予約ID変更処理S7250では、各転用候補業務サービスの予約IDを読み出してメモリ上に格納した後、転用候補業務サービスの予約IDを仮予約IDに変更する処理を行う。
【0197】
図28は本実施形態の業務サービス転用処理S7300の処理手順を示すフローチャートである。図28に示す様に業務サービス転用処理S7300では、転用候補業務サービス毎に、再度候補仮予約処理S4000を行い、対象となる転用対象論理サーバを使用しない予約候補があれば、転用候補業務サービスの予約を前記予約候補と置換し、当該転用対象論理サーバが少なくとも予約要求時間の範囲で予約可能である様にして予約する。
【0198】
予約管理処理部330は、まず、転用対象業務サービスの、当該分割スケジュールにおける予約IDで当該転用対象論理サーバの仮予約を行う(S5300)。
【0199】
次に、転用候補業務サービスの全てについて(S7350)、当該転用候補業務サービスの計測結果テーブル441から、当該分割スケジュールにおけるSLO421を指標441cが満足するレコードを抜き出し、「予約候補」とする(S7400)。
【0200】
次に、予約候補それぞれについて(S7450)、候補仮予約を実行する(S4000)。その結果、仮予約に成功した予約候補があれば(S7500)、当該転用候補業務サービスの当該予約に対して行った選択基準に基づき、予約候補の選択を行う(S7550)。また、転用候補業務サービスの内、選択できる予約候補が一つもないものがあれば、転用は失敗とする(S7600)。
【0201】
S7350で転用対象業務サービスの残りが無くなり、全ての転用候補業務サービスで予約候補の選択に成功すれば、転用は成功である(S7650)。
【0202】
予約管理処理330は、予約の取消処理も行う。これは、予約台帳431から削除を要求された予約の予約スケジュールを全て削除し、フラグテーブル432から、当該予約の予約IDで識別されるレコードを削除する処理である。また、前記までの予約処理と、予約転用処理と、予約削除処理とから、特定の論理サーバと特定の時間を指定して当該論理サーバの当該時間の予約を取り消すことや、特定の業務サービスを指定して当該業務サービスの予約を取り消すことができるのは自明である。更に、特定の論理サーバを指定して当該論理サーバの予約を全て取り消して、当該論理サーバを予約していた全ての業務サービスについて、再予約を行うことができるのも自明である。
【0203】
図29は本実施形態の仮予約ID変更処理S7750の処理手順を示すフローチャートである。図29に示す様に仮予約ID変更処理S7750では、メモリ上に格納しておいた各転用候補業務サービスの予約IDを読み出して、転用候補業務サービスの仮予約ID部分に格納することにより、転用候補業務サービスの仮予約ID部分を予約IDに戻す処理を行う。
【0204】
図30は本実施形態の予約台帳とフラグテーブルの更新処理S7900の処理手順を示すフローチャートである。図30に示す様に予約台帳とフラグテーブルの更新処理S7900では、各転用候補論理サーバと各転用候補業務サービスについて、予約台帳とフラグテーブルの更新処理S8300を行うことにより、予約台帳431とフラグテーブル432を更新する。
【0205】
次に本実施形態のシステム構築処理部360の処理について説明する。
図31は本実施形態のシステム構築処理の処理手順を示すフローチャートである。図31に示す様にシステム構築処理部360は、予約管理処理部330からの予約の開始指示を受けると(S11110)、当該予約の予約業務サービスの論理構成451aと、予約台帳431に格納されている、実際に割り当てるべき論理サーバの情報と、構成の制約451bを、システム構築手段500が認識できる形式に変換し(S11120)、ネットワーク構築をシステム構築手段500に指示する(S11130)。
【0206】
次に、フラグテーブル432を参照し、開始時スクリプト451dから省略できるステップを削除し、前記同様予約台帳431に格納されている、実際に割り当てるべき論理サーバの情報をそのスクリプト中に埋め込む。更に、これをシステム構築手段500が認識できる形式に変換し(S11140)、変換した開始時スクリプトの実行をシステム構築手段500に指示する(S11150)。
【0207】
図32は本実施形態のシステム解除処理の処理手順を示すフローチャートである。システム構築処理の場合と同様に、システム構築処理部360は、予約管理処理部330からの予約の終了指示を受けると(S11210)、フラグテーブル432を参照し、当該予約の予約業務サービスの終了時スクリプト451eから省略できるステップを削除し、予約台帳431に格納されている、実際に割り当てるべき論理サーバの情報をそのスクリプトに埋め込む。更に、これをシステム構築手段500が認識できる形式に変換し(S11220)、変換した開始時スクリプトの実行をシステム構築手段500に指示する(S11230)。
【0208】
次に、論理構成451aと、前記同様予約台帳431に格納されている、実際に割り当てるべき論理サーバの情報と、構成の制約451bを、システム構築手段500が認識できる形式に変換し(S11140)、ネットワーク解除をシステム構築手段500に指示する(S11150)。
【0209】
また本実施形態のシステム構築処理部360は、予約の開始処理中及び終了処理中、システム構築手段500を常に監視して構築時間テーブル442を更新する処理を行い、同様にシステム構築処理部360は、予約の運用中、システム構築手段500を常に監視して計測結果テーブル441を更新する処理を行うものとする。
【0210】
以上説明した様に本実施形態の負荷分散システムによれば、SLOに従って分割された各スケジュールに、そのSLOを満たす情報処理装置を割り当てることにより業務サービスの負荷分散を行うので、サービス品質に関する取り決めを満足するパーティションを動的に構築し、業務や時間帯に応じて使用されていない状態となっている情報処理装置を別の業務に割り当てることが可能である。
【0211】
【発明の効果】
本発明によれば業務や時間帯に応じて使用されていない状態となっている情報処理手段を他の業務に割り当て情報処理手段の負荷分散を行うことが可能である。
【図面の簡単な説明】
【図1】本実施形態の負荷分散システムの全体の構成を示す図である。
【図2】本実施形態のシステム管理クライアント100及び業務管理クライアント200の画面表示例を示す図である。
【図3】本実施形態のサーバ情報管理テーブル410の詳細を示す図である。
【図4】本実施形態のサーバ情報管理画面131の詳細を示す図である。
【図5】本実施形態の業務構成管理リポジトリ450の詳細を示す図である。
【図6】本実施形態の構成の制約451bの詳細を示す図である。
【図7】本実施形態の論理構成451aと構成の制約451bの具体例を示す図である。
【図8】本実施形態の開始時スクリプト451dと終了時スクリプト451eの詳細を示す図である。
【図9】本実施形態の性能管理テーブル440の詳細を示す図である。
【図10】本実施形態のSLO管理テーブル420の詳細を示す図である。
【図11】本実施形態の業務構成管理処理、性能管理処理及びSLO管理処理の処理手順を示すフローチャートである。
【図12】本実施形態の予約管理テーブル430の詳細を示す図である。
【図13】本実施形態の予約管理メイン処理の処理手順を示すフローチャートである。
【図14】本実施形態のスケジュール分割処理S2000の処理手順を示すフローチャートである。
【図15】本実施形態のスケジュール分割処理S2000の具体例を示す図である。
【図16】本実施形態の組み合わせ判定処理S3000の処理手順を示すフローチャートである。
【図17】本実施形態の候補仮予約処理S4000の処理手順を示すフローチャートである。
【図18】本実施形態の論理サーバ指定数分仮予約処理S5000の処理手順を示すフローチャートである。
【図19】本実施形態の論理サーバ仮予約処理S5300の処理手順を示すフローチャートである。
【図20】本実施形態の直前の予約との関係を判定する処理S5310の処理手順を示すフローチャートである。
【図21】本実施形態の直後の予約との関係を判定する処理S5360の処理手順を示すフローチャートである。
【図22】本実施形態の業務構成定義451のスクリプト451cの例と省略フラグの動きを示す図である。
【図23】本実施形態の予約台帳とフラグテーブルの更新処理S8300の処理手順を示すフローチャートである。
【図24】本実施形態の予約候補からの選択処理S8200の詳細を示す図である。
【図25】本実施形態の予約転用処理S7000の処理手順を示すフローチャートである。
【図26】本実施形態の転用候補業務サービスの取得処理S7100の処理手順を示すフローチャートである。
【図27】本実施形態の予約ID変更処理S7250の処理手順を示すフローチャートである。
【図28】本実施形態の業務サービス転用処理S7300の処理手順を示すフローチャートである。
【図29】本実施形態の仮予約ID変更処理S7750の処理手順を示すフローチャートである。
【図30】本実施形態の予約台帳とフラグテーブルの更新処理S7900の処理手順を示すフローチャートである。
【図31】本実施形態のシステム構築処理の処理手順を示すフローチャートである。
【図32】本実施形態のシステム解除処理の処理手順を示すフローチャートである。
【符号の説明】
100…システム管理クライアント、200…業務管理クライアント、300…負荷分散システム、400…リポジトリ、410…サーバ情報管理テーブル、420…SLO管理テーブル、430…予約管理テーブル、440…性能管理テーブル、450…業務構成管理リポジトリ、500…システム構築手段、600…論理サーバ群、310…サーバ情報管理処理部、320…SLO管理処理部、330…予約管理処理部、340…性能管理処理部、350…業務構成管理処理部、360…システム構築処理部、110…システム管理画面、120…メニュー、121…サーバ情報管理機能呼び出し、122…SLO管理機能呼び出し、123…予約管理機能呼び出し、124…性能管理機能呼び出し、130…システム管理メイン画面、131…サーバ情報管理画面、132…SLO管理画面、133…予約管理画面、134…性能管理画面、210…業務管理画面、220…メニュー、221…業務構成管理機能呼び出し、230…システム管理メイン画面、231…業務構成管理画面、411…サーバ群テーブル、411a…サーバ群ID、411b…用途、411c…付加情報、411d…コスト、412…サーバ用途定義テーブル、412a…用途、412b…説明、413…サーバテーブル、413a…サーバID、413b…利用可否、131a…サーバ群ID、131b…用途、131c…付加情報、131d…コスト、131e…追加ボタン、131f…削除ボタン、131g…用途、131h…説明、131i…追加ボタン、131j…削除ボタン、131k…付加情報追加ボタン、131l…テーブル、131m…テーブル、131n…サーバID、131o…利用可否、131p…追加ボタン、131q…削除ボタン、131r…用途追加ボタン、131s…付加情報削除ボタン、131t…用途削除ボタン、131u…テーブル、451…業務構成定義、451a…論理構成、451b…構成の制約、451c…スケジュール、451d…開始時スクリプト、451e…終了時スクリプト、452…APリポジトリ、451d1…ステップ、451d2…処理対象、451d3…処理内容、451d4…省略判定フラグ、451d5…対応する終了時ステップ、451e1…ステップ、451e2…処理対象、451e3…処理内容、451e4…省略判定フラグ、451e5…対応する開始時ステップ、451e6…終了処理省略、441…計測結果テーブル、441a…組み合わせID、441b…対象、441c…指標、442…構築時間テーブル、442a…対象、442b…ステップ時間、421…SLO、431…予約台帳、432…フラグテーブル、432a…予約ID、432b…開始時フラグ、432c…終了時フラグ、433…ログ。

Claims (18)

  1. 処理の要求の変動に応じて情報処理装置を動的に割り当てて負荷分散を行う負荷分散システムにおける負荷分散方法において、
    業務構成管理処理部が各業務サービスのスケジュールを含む業務構成定義を記憶装置内の業務構成管理リポジトリへ登録するステップと、SLO管理処理部が各業務サービスのサービス・レヴェル目標を前記記憶装置内のSLO管理テーブルへ登録するステップと、性能管理処理部が各情報処理装置の性能を示す情報を前記記憶装置内の性能管理テーブルへ登録するステップと、
    予約管理処理部が指定された業務サービスのスケジュールを前記記憶装置内の業務構成管理リポジトリ中の業務構成定義から読み込むステップと、予約管理処理部が前記指定業務サービスのサービス・レヴェル目標を前記記憶装置内のSLO管理テーブルから取得するステップと、予約管理処理部が前記記憶装置から読み込んだスケジュールを前記記憶装置から取得したサービス・レヴェル目標に従って分割するステップと、予約管理処理部が前記記憶装置内の性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるサービス・レヴェル目標を満たしている情報処理装置を当該スケジュールで前記指定業務サービスを実行する情報処理装置として前記記憶装置へ格納して予約を行うステップとを有し、各業務サービスにおける開始処理及び終了処理について、それらの処理内容について省略可能か否かを判定する判定情報を含んだ業務構成定義を前記記憶装置内の業務構成管理リポジトリへ登録しておき、予約管理処理部が前記指定業務サービスを実行する情報処理装置を予約する際に、予約済みの業務サービスの判定情報と前記指定業務サービスの判定情報とを比較することにより、その指定業務サービスの開始処理及び終了処理の中で、その情報処理装置で予約済みの業務サービスの処理と重複する処理を省略して前記記憶装置へ格納し前記予約を行うことを特徴とする負荷分散方法。
  2. 前記記憶装置から読み込んだスケジュールを分割する際に、サービス・レヴェル目標が一定となっているスパン毎に分割を行うことを特徴とする請求項1に記載された負荷分散方法。
  3. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を代替可能な処理が省略されていない場合に当該特定処理を省略して前記記憶装置へ格納し前記予約を行うことを特徴とする請求項1または請求項のいずれかに記載された負荷分散方法。
  4. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を省略した際に予約済みの業務サービスに影響の無い場合に当該特定処理を省略して前記記憶装置へ格納し前記予約を行うことを特徴とする請求項1乃至請求項のいずれか1項に記載された負荷分散方法。
  5. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を省略しないのであれば予約済みの業務サービスの特定処理を省略できる際に、当該予約済みの業務サービスの特定処理を省略して、前記記憶装置へ格納し前記予約を行うことを特徴とする請求項1乃至請求項のいずれか1項に記載された負荷分散方法。
  6. 前記指定業務サービスの実行を予約可能な情報処理装置が存在していない場合に、他の業務サービスが予約している情報処理装置を当該指定業務サービスへ転用することを前記記憶装置へ格納する請求項1乃至請求項のいずれか1項に記載された負荷分散方法。
  7. 処理の要求の変動に応じて情報処理装置を動的に割り当てて負荷分散を行う負荷分散システムにおいて、
    各業務サービスのスケジュールを含む業務構成定義を業務構成管理リポジトリへ登録する業務構成管理処理部と、各業務サービスのサービス・レヴェル目標をSLO管理テーブルへ登録するSLO管理処理部と、各情報処理装置の性能を示す情報を性能管理テーブルへ登録する性能管理処理部と、
    指定された業務サービスのスケジュールを前記業務構成管理リポジトリ中の業務構成定義から読み込み、前記指定業務サービスのサービス・レヴェル目標を前記SLO管理テーブルから取得し、前記読み込んだスケジュールを前記取得したサービス・レヴェル目標に従って分割し、前記性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるサービス・レヴェル目標を満たしている情報処理装置を当該スケジュールで前記指定業務サービスを実行する情報処理装置として予約し、各業務サービスにおける開始処理及び終了処理について、それらの処理内容について省略可能か否かを判定する判定情報を含んだ業務構成定義を前記記憶装置内の業務構成管理リポジトリへ登録しておき、前記指定業務サービスを実行する情報処理装置を予約する際に、予約済みの業務サービスの判定情報と前記指定業務サービスの判定情報とを比較することにより、その指定業務サービスの開始処理及び終了処理の中で、その情報処理装置で予約済みの業務サービスの処理と重複する処理を省略して前記予約を行う予約管理処理部とを備えることを特徴とする負荷分散システム。
  8. 前記読み込んだスケジュールを分割する際に、サービス・レヴェル目標が一定となっているスパン毎に分割を行うことを特徴とする請求項に記載された負荷分散システム。
  9. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を代替可能な処理が省略されていない場合に当該特定処理を省略して前記予約を行うことを特徴とする請求項7または請求項のいずれかに記載された負荷分散システム。
  10. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を省略した際に予約済みの業務サービスに影響の無い場合に当該特定処理を省略して前記予約を行うことを特徴とする請求項乃至請求項のいずれか1項に記載された負荷分散システム。
  11. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を省略しないのであれば予約済みの業務サービスの特定処理を省略できる際に、当該予約済みの業務サービスの特定処理を省略して、前記予約を行うことを特徴とする請求項乃至請求項1のいずれか1項に記載された負荷分散システム。
  12. 前記指定業務サービスの実行を予約可能な情報処理装置が存在していない場合に、他の業務サービスが予約している情報処理装置を当該指定業務サービスへ転用することを特徴とする請求項乃至請求項1のいずれか1項に記載された負荷分散システム。
  13. 処理の要求の変動に応じて情報処理装置を動的に割り当てて負荷分散を行う負荷分散システムとしてコンピュータを機能させる為のプログラムにおいて、
    各業務サービスのスケジュールを含む業務構成定義を業務構成管理リポジトリへ登録する業務構成管理処理部と、各業務サービスのサービス・レヴェル目標をSLO管理テーブルへ登録するSLO管理処理部と、各情報処理装置の性能を示す情報を性能管理テーブルへ登録する性能管理処理部と、
    指定された業務サービスのスケジュールを前記業務構成管理リポジトリ中の業務構成定義から読み込み、前記指定業務サービスのサービス・レヴェル目標を前記SLO管理テーブルから取得し、前記読み込んだスケジュールを前記取得したサービス・レヴェル目標に従って分割し、前記性能管理テーブル中の性能情報が前記分割されたスケジュールにおけるサービス・レヴェル目標を満たしている情報処理装置を当該スケジュールで前記指定業務サービスを実行する情報処理装置として予約し、各業務サービスにおける開始処理及び終了処理について、それらの処理内容について省略可能か否かを判定する判定情報を含んだ業務構成定義を前記記憶装置内の業務構成管理リポジトリへ登録しておき、前記指定業務サービスを実行する情報処理装置を予約する際に、予約済みの業務サービスの判定情報と前記指定業務サービスの判定情報とを比較することにより、その指定業務サービスの開始処理及び終了処理の中で、その情報処理装置で予約済みの業務サービスの処理と重複する処理を省略して前記予約を行う予約管理処理部としてコンピュータを機能させることを特徴とするプログラム。
  14. 前記読み込んだスケジュールを分割する際に、サービス・レヴェル目標が一定となっているスパン毎に分割を行う負荷分散システムとしてコンピュータを機能させることを特徴とする請求項1に記載されたプログラム。
  15. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を代替可能な処理が省略されていない場合に当該特定処理を省略して前記予約を行う負荷分散システムとしてコンピュータを機能させることを特徴とする請求項13または請求項1のいずれかに記載されたプログラム。
  16. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を省略した際に予約済みの業務サービスに影響の無い場合に当該特定処理を省略して前記予約を行う負荷分散システムとしてコンピュータを機能させることを特徴とする請求項1乃至請求項1のいずれか1項に記載されたプログラム。
  17. 前記指定業務サービスを実行する情報処理装置を予約する際に、その指定業務サービスの開始処理及び終了処理中の特定処理を省略しないのであれば予約済みの業務サービスの特定処理を省略できる際に、当該予約済みの業務サービスの特定処理を省略して、前記予約を行う負荷分散システムとしてコンピュータを機能させることを特徴とする請求項1乃至請求項1のいずれか1項に記載されたプログラム。
  18. 前記指定業務サービスの実行を予約可能な情報処理装置が存在していない場合に、他の業務サービスが予約している情報処理装置を当該指定業務サービスへ転用する負荷分散システムとしてコンピュータを機能させることを特徴とする請求項1乃至請求項17のいずれか1項に記載されたプログラム。
JP2003095659A 2003-03-31 2003-03-31 負荷分散方法及びその実施システム並びにその処理プログラム Expired - Fee Related JP4077352B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003095659A JP4077352B2 (ja) 2003-03-31 2003-03-31 負荷分散方法及びその実施システム並びにその処理プログラム
US10/720,758 US7672863B2 (en) 2003-03-31 2003-11-25 System and method for load balancing based on service level objectives and information on the contents of start and finish processes of business services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003095659A JP4077352B2 (ja) 2003-03-31 2003-03-31 負荷分散方法及びその実施システム並びにその処理プログラム

Publications (2)

Publication Number Publication Date
JP2004302918A JP2004302918A (ja) 2004-10-28
JP4077352B2 true JP4077352B2 (ja) 2008-04-16

Family

ID=32985469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003095659A Expired - Fee Related JP4077352B2 (ja) 2003-03-31 2003-03-31 負荷分散方法及びその実施システム並びにその処理プログラム

Country Status (2)

Country Link
US (1) US7672863B2 (ja)
JP (1) JP4077352B2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451183B2 (en) * 2003-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Assembly and method for balancing processors in a partitioned server
CA2559603A1 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US9778959B2 (en) 2004-03-13 2017-10-03 Iii Holdings 12, Llc System and method of performing a pre-reservation analysis to yield an improved fit of workload with the compute environment
EP1738258A4 (en) 2004-03-13 2009-10-28 Cluster Resources Inc SYSTEM AND METHOD IMPLEMENTING OBJECT TRIGGERS
CA2559593C (en) 2004-03-13 2013-12-31 Cluster Resources, Inc. System and method of co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP3203374B1 (en) 2005-04-07 2021-11-24 III Holdings 12, LLC On-demand access to compute resources
US7908162B2 (en) 2005-10-11 2011-03-15 International Business Machines Corporation Method of delegating activity in service oriented architectures using continuations
JP5016880B2 (ja) * 2006-09-21 2012-09-05 富士通株式会社 優先クラスに応じたメモリ管理方法及び装置
JP2008152508A (ja) * 2006-12-18 2008-07-03 Fujitsu Ltd Webサービス制御プログラム、Webサービス制御装置、Webサービス制御方法、中継装置
JP2008152509A (ja) * 2006-12-18 2008-07-03 Fujitsu Ltd Webサービス制御プログラム、Webサービス制御装置、Webサービス制御方法
JP4396948B2 (ja) * 2006-12-18 2010-01-13 富士通株式会社 Webサービス制御プログラム、Webサービス制御装置、Webサービス制御方法
JP4933284B2 (ja) 2007-01-25 2012-05-16 株式会社日立製作所 ストレージ装置及び負荷分散方法
WO2008126187A1 (ja) * 2007-03-16 2008-10-23 Fujitsu Limited Webサービス制御プログラム、Webサービス制御装置、Webサービス制御方法、中継プログラム
WO2008126190A1 (ja) * 2007-03-16 2008-10-23 Fujitsu Limited Webサービス制御プログラム、Webサービス制御装置、Webサービス制御方法、中継プログラム
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US20090228407A1 (en) * 2008-03-05 2009-09-10 The Boeing Company Distributed cognitive architecture
WO2009144822A1 (ja) * 2008-05-30 2009-12-03 富士通株式会社 装置構成情報管理プログラム、装置構成情報管理装置及び装置構成情報管理方法
WO2010073316A1 (ja) * 2008-12-24 2010-07-01 富士通株式会社 構成管理システム、プロキシシステム、構成管理方法
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US20110167034A1 (en) * 2010-01-05 2011-07-07 Hewlett-Packard Development Company, L.P. System and method for metric based allocation of costs
US20110167033A1 (en) * 2010-01-05 2011-07-07 Strelitz David Allocating resources in a data warehouse
US8726284B2 (en) * 2010-06-10 2014-05-13 Microsoft Corporation Managing requests based on request groups
US8620727B2 (en) 2010-08-18 2013-12-31 Terence V. Pageler Business performance segmentation model
JP5587252B2 (ja) * 2011-06-24 2014-09-10 株式会社大和総研ビジネス・イノベーション 項目入力処理システム
US9451012B1 (en) 2011-08-30 2016-09-20 CSC Holdings, LLC Heterogeneous cloud processing utilizing consumer devices
CN103166979B (zh) * 2011-12-08 2016-01-27 腾讯科技(深圳)有限公司 自适应负载均衡实现方法和接入服务器
US9483811B2 (en) 2014-01-06 2016-11-01 Microsoft Technology Licensing, Llc Division of processing between systems based on external factors
US9608876B2 (en) 2014-01-06 2017-03-28 Microsoft Technology Licensing, Llc Dynamically adjusting brand and platform interface elements
US9501808B2 (en) * 2014-01-06 2016-11-22 Microsoft Technology Licensing, Llc Division of processing between systems based on business constraints
US10334035B2 (en) 2016-03-11 2019-06-25 International Business Machines Corporation Load balancing based on user behavior prediction
JP2019211890A (ja) * 2018-06-01 2019-12-12 日本電信電話株式会社 リソース予約管理装置およびリソース予約管理方法
JP2019211889A (ja) * 2018-06-01 2019-12-12 日本電信電話株式会社 リソース予約管理装置およびリソース予約管理方法
CN112542002A (zh) * 2019-09-23 2021-03-23 北京轻享科技有限公司 一种租车系统控制方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537542A (en) * 1994-04-04 1996-07-16 International Business Machines Corporation Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system
US5603029A (en) * 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available
US6041354A (en) * 1995-09-08 2000-03-21 Lucent Technologies Inc. Dynamic hierarchical network resource scheduling for continuous media
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
WO1998022897A1 (en) * 1996-11-22 1998-05-28 British Telecommunications Public Limited Company Resource allocation
US6393455B1 (en) * 1997-03-28 2002-05-21 International Business Machines Corp. Workload management method to enhance shared resource access in a multisystem environment
US6437804B1 (en) * 1997-10-23 2002-08-20 Aprisma Management Technologies, Inc Method for automatic partitioning of node-weighted, edge-constrained graphs
US6226377B1 (en) * 1998-03-06 2001-05-01 Avaya Technology Corp. Prioritized transaction server allocation
US6446200B1 (en) * 1999-03-25 2002-09-03 Nortel Networks Limited Service management
EP1256210A2 (en) * 2000-02-04 2002-11-13 HRL Laboratories, LLC System and method for pricing-based quality of service
US6606529B1 (en) * 2000-06-09 2003-08-12 Frontier Technologies, Inc. Complex scheduling method and device
CA2327001A1 (en) * 2000-11-27 2002-05-27 Redback Networks Systems Canada Inc. Policy schedule verification method and apparatus
JP2002163241A (ja) 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
US7984147B2 (en) * 2000-12-29 2011-07-19 Hewlett-Packard Development Company, L.P. Apparatus and method for identifying a requested level of service for a transaction
JP4087072B2 (ja) * 2001-01-25 2008-05-14 株式会社日立製作所 ストレージシステム及び仮想プライベートボリューム制御方法
US6877035B2 (en) * 2001-01-29 2005-04-05 International Business Machines Corporation System for optimal resource allocation and planning for hosting computing services
US20030140126A1 (en) * 2001-03-30 2003-07-24 Vitria Technology, Inc. Method of deployment for concurrent execution of multiple versions of an integration model
US6823382B2 (en) * 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
JP3879471B2 (ja) * 2001-10-10 2007-02-14 株式会社日立製作所 計算機資源割当方法
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7093004B2 (en) * 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US7412532B2 (en) * 2002-12-13 2008-08-12 Aol Llc, A Deleware Limited Liability Company Multimedia scheduler
US7243351B2 (en) * 2002-12-17 2007-07-10 International Business Machines Corporation System and method for task scheduling based upon the classification value and probability

Also Published As

Publication number Publication date
US7672863B2 (en) 2010-03-02
US20040193674A1 (en) 2004-09-30
JP2004302918A (ja) 2004-10-28

Similar Documents

Publication Publication Date Title
JP4077352B2 (ja) 負荷分散方法及びその実施システム並びにその処理プログラム
US9075661B2 (en) Placing objects on hosts using hard and soft constraints
CN108829509A (zh) 基于国产cpu和操作系统的分布式容器集群框架资源管理方法
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
JP4597488B2 (ja) プログラム配置方法及びその実施システム並びにその処理プログラム
CN100527090C (zh) 用于动态分配计算机资源的方法
US6799314B2 (en) Work flow management method and work flow management system of controlling a work flow
US7882209B1 (en) Tiered and modular approach to operational support systems
US20090198687A1 (en) Plan solver
US20060045039A1 (en) Program, method, and device for managing system configuration
US20040249937A1 (en) Performance management method, system and program
KR20140111672A (ko) 가상 머신 풀에서의 리소스 가격 책정 기법
US11816613B2 (en) System and method for adaptive and dynamic pricing of self-storage storage units
US20050198641A1 (en) Arbitration in a computing utility system
US20050172303A1 (en) Execution multiplicity control system, and method and program for controlling the same
US20190377596A1 (en) Flexible batch job scheduling in virtualization environments
US20120023063A1 (en) Document tracking in heterogeneous application environments
EP1222539A1 (en) A software component-container framework for dynamic deployment of business logic components in a distributed object environment
JP2015501456A (ja) データベースを修正するためにデータを処理するための方法およびシステム
US8458713B2 (en) Method, system, and apparatus for allocating resources to a software configurable computing environment
WO2013140412A1 (en) A method and system for distributed computing of jobs
CN115061811A (zh) 一种资源调度方法、装置、设备及存储介质
JP2012181673A (ja) リソース割当装置、リソース割当方法、およびプログラム
US20110023018A1 (en) Software platform and method of managing application individuals in the software platform
US20230418826A1 (en) Computer system and search method for environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080131

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110208

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees