(57)【要約】  計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行するという構成を採る場合に、人手を介さずに自動的に、各パーティションが負荷に合わせた適切な量のリソースを確実に使用できるようにする新たなリソース割当技術の提供を目的とする。  リソースの使用状況があらかじめ把握可能となる場合が多いことを考慮して、各パーティションに対して、この期間あるいは時刻についての時間的範囲にはこの量のリソースを割り当てるということについて記述するスケジュール情報を記憶する記憶手段を用意して、この記憶手段から、現在の時刻の属する時間的範囲に対応付けて記憶されているリソース量を取得し、各パーティションがその取得したリソース量のリソースを使用してデータ処理を実行するように制御する。
2007072544.tif 000002
【特許請求の範囲】
【請求項１】
情報処理を実行する処理部と、
計時手段と、
時刻に応じて、処理機能に対して割り当てられるべきリソース量を示す情報を記憶する記憶手段と、
前記計時手段による計時結果に応じて、前記記憶手段を参照して当該時刻に割り当てられるべきリソース量を判別し、判別された量のリソースを対応する処理機能に割り当てる制御手段と、
を備えたことを特徴とする、情報処理装置。
【請求項２】
それぞれ異なる処理機能を実行する複数の処理部と、
前記処理部の各々に対して割り当てられるべきリソース量を、時刻に対応付けて記憶する記憶手段と、
前記記憶手段を参照して、現在時刻にある処理部に対して割り当てられるべき量のリソースを割り当てる制御手段と、
を備えたことを特徴とする、情報処理装置。
【請求項３】
前記情報処理装置において、前記記憶手段は、各々の処理部に対して割り当てられるべきリソース量を時間帯ごとに記憶することを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、少なくとも前記複数の処理部を有する第一の装置と、前記第一の装置に接続される一乃至複数の端末装置とを備えることを特徴とする、請求項２に記載の情報処理装置。
【請求項５】
情報処理を行う処理部に対する処理に要するリーソスの割り当て方法において、
前記処理部に対して割り当てられるべきリソース量を示したスケジュール情報を参照し、
前記スケジュール情報に基づいて、現在時刻に前記処理部に対して割り当てられるべきリソース量を判別し、
判別された量のリソースを前記処理部に割り当てることを特徴とする、リソース割り当て方法。
【請求項６】
計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行する計算機であって、
各パーティションに対して、この期間あるいは時刻についての時間的範囲にはこの量のリソースを割り当てるということについて記述するスケジュール情報を記憶する記憶手段と、
前記記憶手段から、現在の時刻の属する前記時間的範囲に対応付けて記憶されているリソース量を取得する取得手段と、
各パーティションが前記取得手段の取得したリソース量のリソースを使用してデータ処理を実行するように制御する制御手段と、
を備えたことを特徴とする、計算機。
【請求項７】
前記制御手段は、前記取得手段の取得したリソース量よりも少ないリソース量を使用しているパーティションについては、その差分量に相当するリソースを新たに割り当てるように制御し、前記取得手段の取得したリソース量よりも多いリソース量を使用しているパーティションについては、その差分量に相当するリソースの割り当てを解除するように制御することを特徴とする、請求項６に記載の計算機。
【請求項８】
前記制御手段は、前記割り当てを解除する場合に、その解除対象のリソースが使用されている場合には、その使用が終えてから、そのリソースの割り当てを解除するように制御することを特徴とする、請求項７に記載の計算機。
【請求項９】
現在の時刻の属する前記時間的範囲が前回判断したものから変わったのか否かを判断する判断手段を備え、
前記取得手段は、前記判断手段が時間的範囲の変更を判断する場合に、前記記憶手段からリソース量を取得することを特徴とする、請求項６ないし８のいずれか１項に記載の計算機。
【請求項１０】
計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行する計算機で実行されるリソース割り当て方法であって、
各パーティションに対して、この期間あるいは時刻についての時間的範囲にはこの量のリソースを割り当てるということについて記述するスケジュール情報を記憶する記憶手段から、現在の時刻の属する時間的範囲に対応付けて記憶されているリソース量を取得する過程と、
各パーティションが前記取得したリソース量のリソースを使用してデータ処理を実行するように制御する過程と、
を備えたことを特徴とする、リソース割り当て方法。
【請求項１１】
計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行する計算機に実装されるリソース割り当てプログラムであって、
各パーティションに対して、この期間あるいは時刻についての時間的範囲にはこの量のリソースを割り当てるということについて記述するスケジュール情報を記憶する記憶手段から、現在の時刻の属する時間的範囲に対応付けて記憶されているリソース量を取得する処理と、
各パーティションが前記取得したリソース量のリソースを使用してデータ処理を実行するように制御する処理とをコンピュータに実行させるためのリソース割り当てプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理を実行する情報処理装置と、計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行する計算機と、その情報処理装置や計算機で実行されるリソース割り当て方法と、そのリソース割り当て方法の実現に用いられるリソース割り当てプログラムとに関する。
【背景技術】
【０００２】
１つのサーバ装置上に複数のＯＳ（オペレーティングシステム）を稼働できるサーバ装置が用いられている。【０００３】
このようなサーバ装置では複数のＣＰＵが搭載されており、例えば、ＯＳ１が１０台のＣＰＵを使用してメールサーバとしての処理を行い、ＯＳ２が５台のＣＰＵを使用して業務用サーバとしての処理を行い、ＯＳ３が３台のＣＰＵを使用してバッチ用サーバとしての処理を行うというように、サーバ装置内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたＣＰＵなどのリソースを使用してデータ処理を実行するようにしている。【０００４】
従来、このようなサーバ装置では、管理者が常にサーバ装置のリソースの使用状況を監視するようにして、その使用状況に応じて、人手によりリソースの分配を変更するようにしていた。【０００５】
また、ある量のリソースをどの業務にも割り当てずにプールしておき、緊急時に、そのプールしたリソースを、それを必要としている業務に割り当てるという方法も用いられているが、この場合にも、リソースを人手により割り当てるようにしている。【０００６】
しかしながら、ネットビジネスのような業務では、急激に負荷が増大するというようなことが起こる。このような場合に、人手によりリソースの分配を変更するようにしていると、その分配の変更を実行する管理者に対して多大な負荷を強いるという問題がある。【０００７】
そこで、最近、リソースとしてＣＰＵを用いる場合の例で説明するならば、ＣＰＵの使用率をモニタリングして、そのモニタリングしたＣＰＵの使用率がある閾値を超えた場合に、新たなＣＰＵを組み込むコマンドを発行することで、ＣＰＵの使用率が大きくなる場合に、新たなＣＰＵを自動的に組み込むようにするという技術が用いられるようになってきた（例えば、特許文献１参照）。【０００８】
なお、本発明の背景技術として、下記の特許文献２には、サービス受付用コンピュータと複数のサーバとを備えるサーバシステムにおいて、各サーバの提供するサービスを時間帯に応じて変更することで、サービス品質の低下を防止できるようにするという発明が記載されている。【０００９】
また、本発明の背景技術として、下記の特許文献３には、複数のノードをネットワークで接続してクラスタと呼ばれるノード群を構成しておき、処理内容を分割して各ノードに割り当てて分散処理するというクラスタリングサービスを実現する方法として、複数の物理サーバのそれぞれに、ホスティングサービス用仮想サーバとクラスタリングサービス用仮想サーバとを設けて、各クラスタリングサービス用仮想サーバをネットワークを介して接続してクラスタを構成して、ＣＰＵ時間スケジューリング機能を用いて、ＣＰＵの余剰時間のみをクラスタリングサービス用仮想サーバに割り当てることで、ホスティングサービスのパフォーマンスを低下させることなく、クラスタリングサービスを実現できるようにするという発明が記載されている。【００１０】
また、本発明の背景技術として、下記の特許文献４には、複数の端末から投入された複数のトランザクション処理メッセージについて、稼働統計情報をもとに、それぞれの実行に要するＣＰＵ使用時間の予測値を算出して、その算出した予測値と複数のサーバの現在のＣＰＵ使用率とに基づいて、それらのトランザクション処理メッセージを複数のサーバに振り分けることで、各サーバのＣＰＵ利用効率の平準化を実現するという発明が記載されている。【００１１】
また、本発明の背景技術として、下記の特許文献５には、資源管理サーバが仮想計算機の資源の使用状態を収集して、それに基づいて資源の使用状態を予測し、また、過去の仮想計算機の実行履歴により、各々の仮想計算機の資源の使用状態についての相関関係を算出して、その予測値とその相関係数とに基づいて、各々の仮想計算機の資源割当量を算出することで、資源の割り当ての最適化を実現できるようにするという発明が記載されている。
【特許文献１】特開２００３−１５０５７１号公報
【特許文献２】特開２００２−１５００００号公報
【特許文献３】特開２００２−３１８８６２号公報
【特許文献４】特開２００３−２９６２８９号公報
【特許文献５】特開２００４−１９９５６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、管理者がリソースの使用状況を監視するようにして、その使用状況に応じて、人手によりＣＰＵなどのリソースの分配を変更するという従来技術に従っていると、リソースの使用状況を常に管理者が監視する必要があるという問題があるとともに、リソースの分配も人手により行わなければならないという問題がある。【００１３】
ユーザによるサーバ装置の利用については特定の期間や特定の時間帯に増加したり減少したりすることが多く、そのような場合にはリソースの使用状況があらかじめ把握可能となるが、そのような場合にもリソースの分配を人手により行うということは極めて非効率的である。【００１４】
また、ＣＰＵの使用率をモニタリングして、そのモニタリングしたＣＰＵの使用率がある閾値を超えた場合に新たなＣＰＵを自動的に組み込むようにするという従来技術に従っていると、ある業務の負荷が高くなった場合にその業務にリソースが割り当てられることになるので、それ以外の業務の負荷が高くなってもそれらの業務に対してリソースを割り当てることができなくなることが起こるという問題がある。【００１５】
本発明はかかる事情に鑑みてなされたものであって、情報処理装置の処理機能に対して、処理機能が負荷に合わせた適切な量のリソースを確実に使用できるようにする新たなリソース割り当て技術の提供を目的とする。【００１６】
さらに、計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行するという構成を採る場合に、リソースの使用状況があらかじめ把握可能となる場合が多いことを考慮して、リソース量の割り当てをあらかじめスケジューリングすることで、そのような場合に、人手を介さずに自動的に、各パーティションが負荷に合わせた適切な量のリソースを確実に使用できるようにする新たなリソース割り当て技術の提供を目的とする。
【課題を解決するための手段】
【００１７】
〔１〕本発明の情報処理装置の構成
〔１−１〕第１の構成
上記の目的を達成するために、本発明の情報処理装置は、（１）情報処理を実行する処理部と、（２）計時手段と、（３）時刻に応じて、処理機能に対して割り当てられるべきリソース量を示す情報を記憶する記憶手段と、（４）計時手段による計時結果に応じて、記憶手段を参照して当該時刻に割り当てられるべきリソース量を判別し、判別された量のリソースを対応する処理機能に割り当てる制御手段とを備えるように構成する。【００１８】
〔１−２〕第２の構成
また、上記の目的を達成するために、本発明の情報処理装置は、（１）それぞれ異なる処理機能を実行する複数の処理部と、（２）処理部の各々に対して割り当てられるべきリソース量を、時刻に対応付けて記憶する記憶手段と、（３）記憶手段を参照して、現在時刻にある処理部に対して割り当てられるべき量のリソースを割り当てる制御手段とを備えるように構成する。【００１９】
この構成をとるときにあって、記憶手段は、各々の処理部に対して割り当てられるべきリソース量を時間帯ごとに記憶することがある。【００２０】
また、本発明の情報処理装置は、少なくとも複数の処理部を有する第一の装置と、第一の装置に接続される一乃至複数の端末装置とを備えるもので構成されることがある。【００２１】
〔２〕本発明のリソース割り当て方法の構成
上記の目的を達成するために、本発明のリソース割り当て方法では、情報処理を行う処理部に対する処理に要するリーソスの割り当てを行うために、（１）処理部に対して割り当てられるべきリソース量を示したスケジュール情報を参照し、（２）スケジュール情報に基づいて、現在時刻に処理部に対して割り当てられるべきリソース量を判別し、（３）判別された量のリソースを処理部に割り当てるように処理する。【００２２】
本発明のリソース割り当て方法が前記の構成を採る本発明の情報処理装置で動作することで、本発明の情報処理装置の備える１つ又は複数の処理機能が負荷に合わせた適切な量のリソースを確実に使用できるようになる。【００２３】
〔３〕本発明の計算機の構成
上記の目的を達成するために、本発明を具備する計算機は、計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行するという構成を採るときに、（１）各パーティションに対して、この期間あるいは時刻についての時間的範囲にはこの量のリソースを割り当てるということについて記述するスケジュール情報を記憶する記憶手段と、（２）記憶手段から、現在の時刻の属する時間的範囲に対応付けて記憶されているリソース量を取得する取得手段と、（３）各パーティションが取得手段の取得したリソース量のリソースを使用してデータ処理を実行するように制御する制御手段とを備えるという構成を採る。【００２４】
この構成を採るときにあって、現在の時刻の属する時間的範囲が前回判断したものから変わったのか否かを判断する判断手段を備えることがあり、この判断手段を備える場合には、取得手段は、この判断手段が時間的範囲の変更を判断する場合に、記憶手段からリソース量を取得することになる。【００２５】
ここで、記憶手段を除いた以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。【００２６】
このように構成される本発明を具備する計算機では、記憶手段から、現在の時刻の属する時間的範囲に対応付けて記憶されているリソース量を取得すると、各パーティションがその取得したリソース量のリソースを使用してデータ処理を実行するように制御する。【００２７】
すなわち、記憶手段から取得したリソース量よりも少ないリソース量を使用しているパーティションについては、その差分量に相当するリソースを新たに割り当てるように制御し、一方、記憶手段から取得したリソース量よりも多いリソース量を使用しているパーティションについては、その差分量に相当するリソースの割り当てを解除するように制御する。【００２８】
ここで、この割り当てを解除する場合に、その解除の対象となるリソースが使用されている場合には、その使用が終えてから、そのリソースの割り当てを解除するように制御することになる。【００２９】
このようにして、本発明を具備する計算機は、計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行するという構成を採る場合に、リソースの使用状況があらかじめ把握可能となる場合が多いことを考慮して、リソース量の割り当てをあらかじめスケジューリングして、そのスケジューリングに従って各パーティションに対してリソースを割り当てるように制御することから、人手を介さずに自動的に、各パーティションが負荷に合わせた適切な量のリソースを確実に使用できるようになることを実現できることになる。
【発明の効果】
【００３０】
本発明によれば、情報処理装置の備える１つ又は複数の処理機能が負荷に合わせた適切な量のリソースを確実に使用できるようになる。【００３１】
これから、本発明によれば、１つ又は複数の処理機能を使って情報を処理する情報処理装置において、その情報処理を効率的に実行できるようになる。【００３２】
また、本発明によれば、計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行するという構成を採る場合に、人手を介さずに自動的に、各パーティションが負荷に合わせた適切な量のリソースを確実に使用できるようになる。【００３３】
これから、本発明によれば、計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行するという構成を採る場合に、それらのデータ処理を効率的に実行できるようになる。
【図面の簡単な説明】
【００３４】
【図１】本発明のサーバ装置の一実施形態例である。
【図２】スケジュール情報テーブルの管理するスケジュール情報の一例である。
【図３】スケジュール情報テーブルの管理するスケジュール情報の説明図である。
【図４】スケジュール情報作成部の実行する処理フローの一例である。
【図５】スケジュール情報作成部の実行する処理フローの一例である。
【図６】設定反映部の実行する処理フローの一例である。
【図７】設定反映部の実行する処理フローの一例である。
【図８】スケジュール情報作成画面の説明図である。
【図９】ＯＳ選択画面の説明図である。
【図１０】ＣＰＵ数設定画面の説明図である。
【図１１】ＣＰＵ数設定終了画面の説明図である。
【図１２】設定反映部の実行する処理フローの他の一例である。
【図１３】設定反映部の実行する処理フローの他の一例である。
【図１４】本発明のサーバ装置の他の実施形態例である。
【図１５】設定反映部の実行する処理フローの他の一例である。
【図１６】設定反映部の実行する処理フローの他の一例である。
【符号の説明】
【００３５】
１      サーバ装置
２      サーバ管理装置
３      ネットワーク
４      ネットワーク
５      ユーザ端末
１０    パーティション
１１    システムボード
１２    サービスプロセッサ
２０    スケジュール情報作成部
２１    スケジュール情報送信部
１００  オペレーティングシステム
１０１  アプリケーションプログラム
１０２  設定反映部
１０３  時間帯定義情報記憶部
１０４  前回時間帯情報記憶部
１２０  スケジュール情報テーブル
１２１  スケジュール情報登録部
【発明を実施するための最良の形態】
【００３６】
以下、実施の形態に従って本発明を詳細に説明する。【００３７】
図１に、本発明のサーバ装置１の一実施形態例を図示する。【００３８】
この図に示すように、本実施形態のサーバ装置１は、自装置の管理を行うサーバ管理装置２とネットワーク３を介して接続されており、ネットワーク４を介して接続されるユーザ端末５に対して、例えば、メールサーバとしての機能・業務用サーバとしての機能・バッチ用サーバとしての機能というように、複数のサーバ機能を提供する処理を行う。【００３９】
本実施形態のサーバ装置１は、これらのサーバ機能の提供を実現するために、各サーバ機能を実現するために備えるオペレーティングシステム１００-i（ｉ＝１〜３）及びアプリケーションプログラム１０１-i（ｉ＝１〜３）に従って、装置内が複数のパーティション１０-i（ｉ＝１〜３）に分割されたものであり、各パーティション１０-iは、各々に割り当てられたＣＰＵをハードウェア資源として使用して、自パーティション１０-iに展開されるオペレーティングシステム１００-i（ｉ＝１〜３）とアプリケーションプログラム１０１-i（ｉ＝１〜３）とに従って所定のサーバ機能を実行することになる。【００４０】
ここで、図中に示す１１-i（ｉ＝１〜４）は本実施形態のサーバ装置１が備えるシステムボードであり、各オペレーティングシステム１００-iに割り当てられるＣＰＵ（図中の丸印で示すもの）及びメモリを実装する。また、１２は本実施形態のサーバ装置１が備えるサービスプロセッサであり、サーバ管理装置２と連携して、本実施形態のサーバ装置１の管理を行う。【００４１】
このように構成されるときにあって、本実施形態のサーバ装置１で本実施形態を実現するために、サービスプロセッサ１２は、各オペレーティングシステム１００-iに割り当てられるＣＰＵの数についてのスケジュール情報を管理するスケジュール情報テーブル１２０と、サーバ管理装置２から送信されてくるスケジュール情報を受信してスケジュール情報テーブル１２０に登録するスケジュール情報登録部１２１とを備える。一方、各パーティション１０-iは、スケジュール情報テーブル１２０の管理するスケジュール情報に従って、自パーティション１０-iで使用するＣＰＵの数を設定する設定反映部１０２-i（ｉ＝１〜３）を備える。【００４２】
そして、サーバ管理装置２は、本実施形態のサーバ装置１の管理を実行するために、スケジュール情報テーブル１２０に登録するスケジュール情報を作成するスケジュール情報作成部２０と、スケジュール情報作成部２０が作成したスケジュール情報をサービスプロセッサ１２に送信して、スケジュール情報をスケジュール情報テーブル１２０に登録するスケジュール情報送信部２１とを備える。【００４３】
図２に、スケジュール情報テーブル１２０が管理するスケジュール情報の一例を図示する。【００４４】
図２に示すように、スケジュール情報テーブル１２０は、設定された各時間帯に対応付けて、その時間帯において、各オペレーティングシステム１００-iに割り当てられるＣＰＵの数と、各オペレーティングシステム１００-iには割り当てられないでプールされることになるＣＰＵの数とを管理する情報を記憶する。【００４５】
図２に示すスケジュール情報の例では、本実施形態のサーバ装置１がメールサーバ（ＯＳ１）と業務用サーバ（ＯＳ２）とバッチ用サーバ（ＯＳ３）という３つのパーティションで構成されている。また、サーバ装置１全体で２４個のＣＰＵを持つ場合に、
メールサーバ（ＯＳ１）    ＡＭ９時〜ＡＭ１０時  ：  高負荷    １０ＣＰＵ
ＰＭ１２時〜ＰＭ３時  ：  高負荷      ８ＣＰＵ
それ以外              ：  低負荷      ５ＣＰＵ
業務用サーバ（ＯＳ２）    ＡＭ１０時〜ＰＭ５時  ：  高負荷    １０ＣＰＵ
それ以外              ：  低負荷      ６ＣＰＵ
バッチ用サーバ（ＯＳ３）  ＡＭ１時〜ＡＭ３時    ：  高負荷    １０ＣＰＵ
それ以外              ：  低負荷      ２ＣＰＵ
というＣＰＵの割り当てを行うことを想定している。【００４６】
すなわち、ある機能について高負荷が予想される時間帯については、その機能に対してＣＰＵを多く割り当てることで、その高負荷となる機能に対応しているオペレーティングシステム１００-iの負荷を低減するようにＣＰＵ数をスケジューリングする。一方、ある機能について低負荷が予想される時間帯については、その機能に対するＣＰＵの割当数を少なくすることで、他の高負荷のオペレーティングシステム１００-iに対してより多くのＣＰＵを割り当てることが可能になるようにＣＰＵ数をスケジューリングするのである。【００４７】
ここで、ある時間帯にオペレーティングシステム１００-iが高負荷であるのか低負荷であるのかということは、その時間帯におけるＣＰＵの使用率などを使って判断することが可能である。【００４８】
また、図２に示すスケジュール情報の例では、１時間を単位として時間帯が設定されているが、例えば４０分というように、任意の時間を単位として時間帯を設定することも可能である。また、図２に示すスケジュール情報の例では、３つのオペレーティングシステム１００-iに共通となる時間帯が設定されることが想定されているが、各機能／オペレーティングシステム１００-i毎に別々の時間帯・別々の時間の区切りを設定することも可能である。【００４９】
図３は、図２に示されたスケジュールを、時刻を横軸に、割り当てられるＣＰＵ数を縦軸に示した図面である。各時間帯に割り当てられる、あるいは割り当てられるべきＣＰＵ数は、図３のような形式で表示することで容易に認識できるようになる。【００５０】
このように、スケジュール情報テーブル１２０は、各オペレーティングシステム１００-iに対して、どの時間帯にはどの位の数のＣＰＵを割り当てるということについて記述するスケジュール情報を管理するのである。【００５１】
図４及び図５に、サーバ管理装置２が備えるスケジュール情報作成部２０が実行する処理フローの一例を図示し、図６及び図７に、サーバ装置１が備える設定反映部１０２-iが実行する処理フローの一例を図示する。【００５２】
次に、これらの処理フローに従って、図１に図示される本実施形態のサーバ装置１の実行する処理について詳細に説明する。【００５３】
最初に、図４及び図５の処理フローに従って、サーバ管理装置２が備えるスケジュール情報作成部２０が実行する処理について説明する。【００５４】
サーバ管理装置２が備えるスケジュール情報作成部２０は、サーバ管理装置２を操作する管理者からスケジュール情報テーブル１２０に登録されるスケジュール情報の作成要求があると、先ずステップ１０で、スケジュール情報テーブル１２０から現在管理されているスケジュール情報を読み込む。読み込まれたスケジュール情報は、必要に応じて図１で図示省略されたディスプレイに、グラフ表示などの形態で表示される。【００５５】
図８は、ディスプレイ上に表示されるスケジュール情報作成画面の例を示す図面である。すなわち、スケジュール情報作成部２０は、ディスプレイに図８に示すようなスケジュール情報作成画面を表示して、そこに、スケジュール情報テーブル１２０から読み込んだスケジュール情報をグラフ形式の表示形態でもって表示するのである。図８のスケジュール情報作成画面に表示されるグラフは、スケジュール情報作成画面を用いて作成されたスケジュール情報を、時刻とＣＰＵ数とを対応付けて表示するものであり、図２に図示されたグラフと同等のものである。【００５６】
ここで、図８に示すスケジュール情報作成画面は、オペレーティングシステム１００-iの選択要求の際に操作されるＯＳ選択ボタンと、オペレーティングシステム１００-iに割り当てるＣＰＵ数の設定要求の際に操作されるＣＰＵ数設定ボタンとを有している。【００５７】
また、図８に示すスケジュール情報作成画面では、オペレーティングシステム１００-iに割り当てられないＣＰＵの数（プールされているＣＰＵの数）についてグラフ表示しない例を示しているが、このＣＰＵ数についてもグラフ表示をすることは可能である。【００５８】
続いて、ステップ１１で、スケジュール情報作成画面に表示されたＯＳ選択ボタンが操作されたのか否かを検出する。ＯＳ選択ボタンが操作されたと判別された場合にはオペレーティングシステム１００-iの選択要求が発行されるため、スケジュール情報作成部２０はオペレーティングシステム１００-iの選択要求が発行されるのを待つ。オペレーティングシステム１００-iの選択要求が発行されると、ステップ１２に進んで、オペレーティングシステム１００-iの選択に用いるＯＳ選択画面を表示して、それに対する入力を受け付けることで処理対象のオペレーティングシステム１００-iを選択する。【００５９】
すなわち、図９に示すように、オペレーティングシステム１００-iの選択に用いるＯＳ選択画面を表示して、それに対する入力を受け付けることで処理対象のオペレーティングシステム１００-iを選択するのである。ＯＳ選択画面では、選択対象となるＯＳが一覧表示されるので、オペレータは選択すべきＯＳを画面上で指示し、選択ボタンを操作する。【００６０】
続いて、ＯＳが選択された後、ステップ１３で、スケジュール情報作成画面に表示されたＣＰＵ数設定ボタンが操作されたのか否かを検出する。ＣＰＵ数設定ボタンが操作された場合には、ＣＰＵ数設定要求が発行される。スケジュール情報作成部２０は処理対象のオペレーティングシステム１００-iに対するＣＰＵ数の設定要求が発行されるのを待って、ＣＰＵ数の設定要求が発行されると、ステップ１４に進んで、ＣＰＵ数の設定に用いるＣＰＵ数設定画面を表示する。そして、ＣＰＵ数設定画面からの入力を受け付けることで、処理対象のオペレーティングシステム１００-iについての時間帯とＣＰＵ数との対応関係を入力する。スケジュール情報作成部２０は、入力した対応関係の設定要求がある場合には、その設定要求に応答してスケジュール情報テーブル１２０から読み込んだスケジュール情報を更新する。【００６１】
図１０は、ＣＰＵ数設定画面の表示例を示す図面である。すなわち、図１０に示すように、スケジュール情報作成部２０は、処理対象のオペレーティングシステム１００-iに対するＣＰＵ数の設定に用いるＣＰＵ数設定画面を表示して、それに対する入力を受け付ける。ＣＰＵ数設定画面には時間帯を設定するための入力欄と、設定されるべきＣＰＵ数が入力される入力欄を有する。オペレータは、処理対象のオペレーティングシステム１００-iについての時間帯とＣＰＵ数との対応関係をこれらの入力欄から入力して、ＣＰＵ数設定画面に表示される設定ボタンを操作する。スケジュール情報作成部２０は、設定ボタンの操作をオペレータが入力した対応関係の設定要求とみなし、その設定要求に応答してスケジュール情報テーブル１２０から読み込んだスケジュール情報を、入力された情報に更新するのである。【００６２】
続いて、ステップ１５で、スケジュール情報作成部２０はＣＰＵ数設定画面に表示される終了ボタンが操作されたか否か、つまりＣＰＵ数設定の終了要求が発行されたのか否かを判断する。終了ボタンが操作されない場合、すなわち、ＣＰＵ数設定画面の持つ設定ボタンが操作された場合には、ステップ１４に処理を戻し、スケジュール情報の更新を続行していく。【００６３】
一方、スケジュール情報作成部２０は、ステップ１５で、ＣＰＵ数設定画面の持つ終了ボタンが操作され、ＣＰＵ数設定の終了要求が発行されたことを検出すると、ステップ１６に進んで、処理継続要求の受け付け、あるいは処理終了要求の受け付けに用いるＣＰＵ数設定終了画面を表示し、それに対する入力を受け付けることで処理継続の要求があるのか、処理終了の要求があるのかを判断する。【００６４】
図１１は、画面に表示されるＣＰＵ数設定終了画面の例を示す図面である。図１１に示すように、処理継続要求を受け付けるのか処理終了要求を受け付けるのかに用いるＣＰＵ数設定終了画面が表示され、それに対する入力を受け付けることで処理継続の要求があるのか、処理終了の要求があるのかをスケジュール情報作成部２０は判断するのである。【００６５】
このステップ１６の判断処理に従って、処理継続の要求が発行されたと判断したときには、スケジュール情報作成部２０はステップ１１に戻っていくことで、スケジュール情報の更新を続行していく。【００６６】
一方、ステップ１６の判断処理に従って、処理終了の要求が発行されたと判断したときには、スケジュール情報作成部２０はステップ１７に進んで、スケジュール情報作成画面にグラフ表示するために用いられるスケジュール情報をステップ１４の処理で更新したものに変更し、新たに作成されたスケジュール情報をグラフ表示する処理を行う。【００６７】
続いて、ステップ１８で、スケジュール情報作成部２０は各時間帯毎に各オペレーティングシステム１００-iに割り当てたＣＰＵ数の総和を求めて、それがシステムボード１１に実装されるＣＰＵ数の総和よりも小さいか否かを判断する。スケジュール情報作成部２０は、この判断によりプールするＣＰＵを持たない時間帯があるのかを調べる。【００６８】
続いて、ステップ１９で、スケジュール情報作成部２０は、ステップ１８の処理に従って、プールするＣＰＵを持たない時間帯があることが検出されたか否かを判断する。プールするＣＰＵを持たない時間帯があると判断したときには、ステップ２０に進んで、スケジュール情報作成画面にグラフ表示したスケジュール情報について、プールするＣＰＵがない時間帯を明示表示してから、ステップ１１に戻る。これにより、スケジュール情報を作成する管理者に対して、プールするＣＰＵを持たない時間帯がなくなるようにＣＰＵ数を再設定することを指示する。【００６９】
一方、ステップ１９で、ステップ１８の処理に従って、プールするＣＰＵを持たない時間帯がないと判断したときには、ステップ２１に進んで、スケジュール情報作成部２０はスケジュール情報送信部２１に対して、新たに作成したスケジュール情報の送信を指示して、処理を終了する。【００７０】
この送信指示を受けて、スケジュール情報送信部２１は、送信指示のあるスケジュール情報をサービスプロセッサ１２に送信する。このスケジュール情報の送信を受けて、サービスプロセッサ１２が備えるスケジュール情報登録部１２１は、スケジュール情報送信部２１から送信されてくるスケジュール情報を受信してスケジュール情報テーブル１２０に登録する。【００７１】
このようにして、スケジュール情報テーブル１２０には、図２に示すようなスケジュール情報が登録されることになるのである。【００７２】
次に、図６及び図７の処理フローに従って、サーバ装置１が備える設定反映部１０２-iが実行する処理について説明する。【００７３】
設定反映部１０２-iは、例えば５分周期に設定される制御周期に到達することで起動されると、先ずステップ３０で、図示しない時計を参照することで現在時刻を取得し、続くステップ３１で、スケジュール情報テーブル１２０からスケジュール情報を読み込む。【００７４】
続いて、ステップ３２で、読み込んだスケジュール情報に従って、現在時刻の属する時間帯に割り当てられている自オペレーティングシステム１００-i（自分の属するパーティション１０-iに展開されているオペレーティングシステム１００-i）の設定ＣＰＵ数を取り出し、続くステップ３３で、自オペレーティングシステム１００-iが現在使用しているＣＰＵ数を取得する。【００７５】
続いて、ステップ３４で、取り出した設定ＣＰＵ数と取得した使用ＣＰＵ数とを比較し、続くステップ３５で、その比較結果に基づいて、設定ＣＰＵ数と使用ＣＰＵ数とが同じ値であるか否か、言い換えれば設定ＣＰＵ数の方が使用ＣＰＵ数よりも大きいのか、あるいは設定ＣＰＵ数の方が使用ＣＰＵ数よりも小さいのかを判断する。【００７６】
このステップ３５の判断処理に従って、設定ＣＰＵ数と使用ＣＰＵ数とが同じ値であるという比較結果が得られたときには、設定反映部１０２-iは何も処理を行わずに、処理を終了する。【００７７】
一方、ステップ３５の判断処理に従って、設定ＣＰＵ数の方が使用ＣＰＵ数よりも大きいという比較結果が得られたときには、設定反映部１０２-iはステップ３６に進んで、ＣＰＵ組み込みコマンド（オペレーティングシステム１００-iに装備されているコマンドである）を発行することで、プールしてあるＣＰＵの中から、設定ＣＰＵ数と使用ＣＰＵ数との差分に相当する数のＣＰＵを自オペレーティングシステム１００-iに組み込んで（割り当てて）、処理を終了する。【００７８】
一方、ステップ３５の判断処理に従って、設定ＣＰＵ数の方が使用ＣＰＵ数よりも小さいときには、設定反映部１０２-iはステップ３７に進んで、自オペレーティングシステム１００-iに割り当てられているＣＰＵ上でジョブが実行されているのか否かを判断する。【００７９】
このステップ３７の判断処理に従って、ＣＰＵ上でジョブが実行されていないと判断したときには、使用ＣＰＵ数と設定ＣＰＵ数との差分に相当する数のＣＰＵを切り離すことが可能であるので、ステップ４１に進んで、ＣＰＵ切り離しコマンド（オペレーティングシステム１００-iに装備されているコマンドである）を発行することで、自オペレーティングシステム１００-iから使用ＣＰＵ数と設定ＣＰＵ数との差分に相当する数のＣＰＵを切り離し、それをプールに蓄積して、処理を終了する。【００８０】
一方、ステップ３７の判断処理に従って、ＣＰＵ上でジョブが実行されていると判断したときには、設定反映部１０２-iはステップ３８に進んで、ジョブの実行を終了したＣＰＵがあるか否かを判断する。【００８１】
このステップ３８の判断処理に従って、ジョブの実行を終了したＣＰＵがあるときは、設定反映部１０２-iはステップ３９に進んで、使用ＣＰＵ数と設定ＣＰＵ数との差分に相当する数のＣＰＵを切り離すまで、ＣＰＵ切り離しコマンドを発行することにより、自オペレーティングシステム１００-iからジョブを実行していないＣＰＵを切り離して、それをプールに蓄積する。【００８２】
そして、ステップ４０で、使用ＣＰＵ数と設定ＣＰＵ数との差分に相当する数のＣＰＵを切り離したか否かを判断して、まだその数分切り離していないときには、ステップ３８に戻って、ジョブの実行を終了するＣＰＵが発生するのを待つ。一方、使用ＣＰＵ数と設定ＣＰＵ数との差分に相当する数のＣＰＵを切り離したときには、設定反映部１０２-iは処理を終了する。【００８３】
このようにして、本実施形態では、サーバ装置１内で複数のオペレーティングシステム１００-iが稼働することで複数のサーバ機能を提供する場合に、それぞれのオペレーティングシステム１００-iの使用するＣＰＵの数の割り当てをあらかじめスケジューリングしておいて、そのスケジューリングに従って各オペレーティングシステム１００-iに対してＣＰＵを割り当てるように制御するのである。【００８４】
各オペレーティングシステム１００-iの負荷の時間的な変動については、あらかじめ把握可能であることが多いので、この本実施形態の構成に従って、人手を介さずに自動的に、各オペレーティングシステム１００-iが負荷に合わせた適切な数のＣＰＵを使用できることになる。【００８５】
図１２及び図１３に、設定反映部１０２-iが実行する処理フローの他の一例を図示する。ここで、図６及び図７の処理フローと同じ処理を実行するステップについては、同じステップ番号で記述してある。【００８６】
図６及び図７の処理フローを実行する場合、設定反映部１０２-iは、ステップ３０で現在時刻を取得すると、直ちに、ステップ３１に進んで、スケジュール情報テーブル１２０からスケジュール情報を読み込むようにしている。【００８７】
これに対して、図１２及び図１３の処理フローを実行する場合、設定反映部１０２-iは、ステップ３０で現在時刻を取得すると、続くステップ１００で、前回の制御周期に処理した時間帯から時間帯が変更になったのか否かを判断して、時間帯が変更になった場合にのみステップ３１に進んで、スケジュール情報テーブル１２０からスケジュール情報を読み込むようにする。【００８８】
例えば、１時間毎に時間帯を設定するという規約を設ける場合には、現在時刻を見るだけで、前回の制御周期に処理した時間帯から時間帯が変更になったのか否かを判断することが可能である。【００８９】
この場合、時間帯が変更になっていなければ設定ＣＰＵ数に変更はないので、ステップ３１以降の処理に進む必要はない。【００９０】
そこで、図１２及び図１３の処理フローを実行する場合、設定反映部１０２-iは、ステップ３０で現在時刻を取得すると、続くステップ１００で、前回の制御周期に処理した時間帯から時間帯が変更になったのか否かを判断して、時間帯が変更になっていないと判断したときには、ステップ３１以降の処理に進むことなく、直ちに処理を終了するように処理するのである。【００９１】
この図１２及び図１３の処理フローを実行することで、設定反映部１０２-iは、無駄な処理を実行しなくても済むようになる。【００９２】
一方、１時間毎に時間帯を設定するというような規約を設けるのではなくて、スケジュール情報を作成する管理者に対して自由に時間帯を設定することを許可する場合には、現在時刻を見ただけでは、前回の制御周期に処理した時間帯から時間帯が変更になったのか否かを判断することができない。【００９３】
このような場合には、図１４に示すように、各パーティション１０-iは、スケジュール情報テーブル１２０の管理するスケジュール情報で定義される時間帯についての情報をコピーして記憶する時間帯定義情報記憶部１０３-i（ｉ＝１〜３）と、前回の制御周期に処理した時間帯についての情報を記憶する前回時間帯情報記憶部１０４-i（ｉ＝１〜３）とを備えるようにする。【００９４】
そして、サーバ装置１の備える設定反映部１０２-iは、図１５及び図１６の処理フローを実行するようにする。ここで、図６及び図７の処理フローと同じ処理を実行するステップについては、同じステップ番号で記述してある。【００９５】
すなわち、スケジュール情報を作成する管理者に対して自由に時間帯を設定することを許可する場合には、設定反映部１０２-iは、図１５及び図１６の処理フローに示すように、ステップ３０で現在時刻を取得すると、それに続けて、ステップ２００で、前回時間帯情報記憶部１０４-iから、前回の制御周期に処理した時間帯の情報を取得する。それに続けて、ステップ２０１で、時間帯定義情報記憶部１０３-iを参照することで、現在時刻の属する時間帯を特定する。【００９６】
続いて、ステップ２０２で、ステップ２００で取得した時間帯の情報とステップ２０１で特定した時間帯の情報とに基づいて、前回の制御周期に処理した時間帯から時間帯が変更になったのか否かを判断して、時間帯が変更になった場合にのみステップ３１に進んで、スケジュール情報テーブル１２０からスケジュール情報を読み込むようにする。【００９７】
そして、処理を終了する前に、ステップ２０３で、前回時間帯情報記憶部１０４-iに対して、今回の制御周期に処理した時間帯の情報（ステップ２０１で特定した時間帯の情報）を記録してから、処理を終了する。【００９８】
このようにして、スケジュール情報を作成する管理者に対して自由に時間帯を設定することを許可する場合には、設定反映部１０２-iは、図１５及び図１６の処理フローを実行することで、前回の制御周期に処理した時間帯から時間帯が変更になったのか否かを判断して、時間帯が変更になっていない場合には、ステップ３１以降の処理に進むことなく、直ちに処理を終了するように処理するのである。【００９９】
この図１５及び図１６の処理フローを実行することで、設定反映部１０２-iは、無駄な処理を実行しなくても済むようになる。【０１００】
図示実施形態に従って説明したが、本発明はこれに限定されるものではない。例えば、本発明は１つ又は複数の処理機能を使って情報を処理するという構成を採る情報処理装置を適用対象として、その処理機能へのリソースの割り当てを上述したような形態でスケジューリングすることで実現する場合にも、そのまま適用できるものである。【０１０１】
また、上記説明した実施形態では、サーバ装置への適用を具体例にして説明したが、本発明はサーバ装置にのみその適用が可能となるものではなくて、一般的な計算機に対してもそのまま適用できるものである。【０１０２】
また、上記説明した実施形態では、サーバ装置とサーバ管理装置とに機能を分離した形態について説明したが、これら装置で実行された機能・処理は本質的には分離している必要はなく、上記説明した処理のすべてが単一の装置で完結していてもよい。その一方、複数の装置間で各機能を分離するとしても、その分配は上記実施形態とは異なる形態にすることも適宜可能である。
【産業上の利用可能性】
【０１０３】
本発明は、１つ又は複数の処理機能を使って情報を処理するという構成を採る情報処理装置に適用できるものであり、その処理機能が負荷に合わせた適切な量のリソースを確実に使用できるようにすることを実現する。【０１０４】
本発明は、計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行するという構成を採る計算機に適用できるものであり、人手を介さずに自動的に、各パーティションが負荷に合わせた適切な量のリソースを確実に使用できるようにすることを実現する。
【図１】
2007072544.tif 000003
【図２】
2007072544.tif 000004
【図３】
2007072544.tif 000005
【図４】
2007072544.tif 000006
【図５】
2007072544.tif 000007
【図６】
2007072544.tif 000008
【図７】
2007072544.tif 000009
【図８】
2007072544.tif 000010
【図９】
2007072544.tif 000011
【図１０】
2007072544.tif 000012
【図１１】
2007072544.tif 000013
【図１２】
2007072544.tif 000014
【図１３】
2007072544.tif 000015
【図１４】
2007072544.tif 000016
【図１５】
2007072544.tif 000017
【図１６】
2007072544.tif 000018
【手続補正書】
【提出日】平成20年6月18日(2008.6.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報処理を実行する処理部と、
計時手段と、
時刻に応じて、処理機能に対して割り当てられるべきリソース量を示す情報を記憶する記憶手段と、
前記計時手段による計時結果に応じて、前記記憶手段を参照して当該時刻に割り当てられるべきリソース量を判別し、判別された量のリソースを対応する処理機能に割り当てる制御手段と、
を備えたことを特徴とする、情報処理装置。
【請求項２】
それぞれ異なる処理機能を実行する複数の処理部と、
前記処理部の各々に対して割り当てられるべきリソース量を、時刻に対応付けて記憶する記憶手段と、
前記記憶手段を参照して、現在時刻にある処理部に対して割り当てられるべき量のリソースを割り当てる制御手段と、
を備えたことを特徴とする、情報処理装置。
【請求項３】
前記情報処理装置において、前記記憶手段は、各々の処理部に対して割り当てられるべきリソース量を時間帯ごとに記憶することを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、少なくとも前記複数の処理部を有する第一の装置と、前記第一の装置に接続される一乃至複数の端末装置とを備えることを特徴とする、請求項２に記載の情報処理装置。
【請求項５】
情報処理を行う処理部に対する処理に要するリソースの割り当て方法において、
前記処理部に対して割り当てられるべきリソース量を示したスケジュール情報を参照し、
前記スケジュール情報に基づいて、現在時刻に前記処理部に対して割り当てられるべきリソース量を判別し、
判別された量のリソースを前記処理部に割り当てることを特徴とする、リソース割り当て方法。
【請求項６】
計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行する計算機であって、
各パーティションに対して、この期間あるいは時刻についての時間的範囲にはこの量のリソースを割り当てるということについて記述するスケジュール情報を記憶する記憶手段と、
前記記憶手段から、現在の時刻の属する前記時間的範囲に対応付けて記憶されているリソース量を取得する取得手段と、
各パーティションが前記取得手段の取得したリソース量のリソースを使用してデータ処理を実行するように制御する制御手段と、
を備えたことを特徴とする、計算機。
【請求項７】
前記制御手段は、前記取得手段の取得したリソース量よりも少ないリソース量を使用しているパーティションについては、その差分量に相当するリソースを新たに割り当てるように制御し、前記取得手段の取得したリソース量よりも多いリソース量を使用しているパーティションについては、その差分量に相当するリソースの割り当てを解除するように制御することを特徴とする、請求項６に記載の計算機。
【請求項８】
前記制御手段は、前記割り当てを解除する場合に、その解除対象のリソースが使用されている場合には、その使用が終えてから、そのリソースの割り当てを解除するように制御することを特徴とする、請求項７に記載の計算機。
【請求項９】
計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行する計算機で実行されるリソース割り当て方法であって、
各パーティションに対して、この期間あるいは時刻についての時間的範囲にはこの量のリソースを割り当てるということについて記述するスケジュール情報を記憶する記憶手段から、現在の時刻の属する時間的範囲に対応付けて記憶されているリソース量を取得する過程と、
各パーティションが前記取得したリソース量のリソースを使用してデータ処理を実行するように制御する過程と、
を備えたことを特徴とする、リソース割り当て方法。
【請求項１０】
計算機内を複数のパーティションに分割して、それぞれのパーティションが割り当てられたリソースを使用してデータ処理を実行する計算機に実装されるリソース割り当てプログラムであって、
各パーティションに対して、この期間あるいは時刻についての時間的範囲にはこの量のリソースを割り当てるということについて記述するスケジュール情報を記憶する記憶手段から、現在の時刻の属する時間的範囲に対応付けて記憶されているリソース量を取得する処理と、
各パーティションが前記取得したリソース量のリソースを使用してデータ処理を実行するように制御する処理とをコンピュータに実行させるためのリソース割り当てプログラム。
【国際調査報告】
2007072544.tif 000019
2007072544.tif 000020