JP6872117B2 - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP6872117B2
JP6872117B2 JP2017012402A JP2017012402A JP6872117B2 JP 6872117 B2 JP6872117 B2 JP 6872117B2 JP 2017012402 A JP2017012402 A JP 2017012402A JP 2017012402 A JP2017012402 A JP 2017012402A JP 6872117 B2 JP6872117 B2 JP 6872117B2
Authority
JP
Japan
Prior art keywords
processing
service
group
assigned
unit
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.)
Active
Application number
JP2017012402A
Other languages
English (en)
Other versions
JP2018120476A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2017012402A priority Critical patent/JP6872117B2/ja
Priority to US15/798,931 priority patent/US10754695B2/en
Publication of JP2018120476A publication Critical patent/JP2018120476A/ja
Application granted granted Critical
Publication of JP6872117B2 publication Critical patent/JP6872117B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Facsimiles In General (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、情報処理装置及びプログラムに関する。
クラウドコンピューティングのように、サービス提供者が有するプロセッサやメモリ等のリソースを、例えば課金方式等の形式でユーザに使用させる技術が知られている。このようなサービスは、一般的に、処理に用いられるリソース(例えば処理部)を必要に応じて自動的に増減する、いわゆるオートスケーリング機能を備えている。一般的に、処理部の数を増加させる処理を「スケールアウト」と称し、処理部の数を減少させる処理を「スケールイン」と称している。
特許文献1には、複数のサービスプロバイダから、サービスレベルに合致するサービスプロバイダを抽出するシステムが開示されている。
特許文献2には、プライマリクラウドで提供したサービスのレベルに基づきセカンダリクラウドを選択してサービスを提供するシステムが開示されている。
特開2013−89033号公報 特開2011−118451号公報
ところで、リソースを提供するサービスとして、ホスティングサービス(Hosting Service)やクラウドサービス(Cloud Service)が知られている。
ホスティングサービスでは、一般的に、利用可能な処理部の数が定められている。そのため、ホスティングサービスに配置された処理部の数を超える数の処理要求が発生した場合等のように、処理要求に応じた処理を実行するための処理部をホスティングサービスに確保できない場合、サービスが提供されないことになる。
一方、クラウドサービスでは、一般的に、利用可能な処理部の数は定められておらず、リソース(例えば処理部の数等)の利用に応じて課金される。それ故、リソースの利用状況に応じて、利用コストが増大する場合がある。
本発明の目的は、処理部の数が定められた処理グループにて処理を実行できない場合であっても、処理を継続することができるようにすることにある。
請求項1に係る発明は、データの処理要求を受け付ける受付手段と、前記受付手段が処理要求を受け付けた場合、データを処理する処理部を含むグループであって予め定められた上限数よりも少ない数の処理部を含む第1処理グループ、又は、1又は複数の処理部の配置が可能な第2処理グループ、のいずれかに処理を割り当てる制御部と、を有し、各処理部は、複数の処理を並列的に実行可能であり、前記制御部は、前記第1処理グループに含まれる処理部から優先的に起動して処理を割り当て、各処理部の負荷と要求された処理の負荷とに応じて、別の処理を実行中の処理部に当該要求された処理を割り当て、予め定められた第1処理の要求を新たに受け付けた場合、第1処理を既に実行中の処理部に、その新たに受け付けた第1処理を割り当て、前記第1処理よりも負荷が大きい第2処理の要求を新たに受けた場合、処理を実行していない別の処理部に、その新たに受けた第2処理を割り当て、前記第1処理グループに含まれる全処理部が対応可能な負荷を超える処理要求を受け付けた場合、前記第2処理グループに処理部を配置してその処理部に処理を割り当てる、ことを特徴とする情報処理装置である。
請求項に係る発明は、前記第1処理は、ユーザのログイン処理を含む処理であり、前記第2処理は、画像処理を含む処理である、ことを特徴とする請求項に記載の情報処理装置である。
請求項に係る発明は、前記上限数は、各ユーザが要求可能な並列処理の数に基づいて決定される、ことを特徴とする請求項1又は請求項に記載の情報処理装置である。
請求項に係る発明は、前記第1処理グループは、個々のユーザ毎に、少なくとも1つの専用の処理部を含み、各ユーザに少なくとも1つの専用の処理部が予め割り当てられている、ことを特徴とする請求項1から請求項のいずれか一項に記載の情報処理装置である。
請求項に係る発明は、前記第1処理グループは、ユーザの数以上の数の処理部を含む、ことを特徴とする請求項に記載の情報処理装置である。
請求項に係る発明は、前記制御部は、前記第1処理グループ及び前記第2処理グループに割り当て可能な処理部が無い場合、緊急用の処理部に処理を割り当てる、ことを特徴とする請求項1から請求項のいずれか一項に記載の情報処理装置である。
請求項7に係る発明は、データの処理要求を受け付ける受付手段と、前記受付手段が処理要求を受け付けた場合、データを処理する処理部を含むグループであって予め定められた上限数よりも少ない数の処理部を含む第1処理グループ、又は、1又は複数の処理部の配置が可能な第2処理グループ、のいずれかに処理を割り当てる制御部と、を有し、前記制御部は、前記第1処理グループに含まれる処理部から優先的に起動して処理を割り当て、前記第1処理グループに含まれる処理部では処理しきれない処理要求を受け付けた場合、前記第2処理グループに処理部を配置してその処理部に処理を割り当て、前記第1処理グループ及び前記第2処理グループに割り当て可能な処理部が無い場合、緊急用の処理部に処理を割り当てる、ことを特徴とする情報処理装置である。
請求項に係る発明は、前記制御部は、前記第1処理グループ及び前記第2処理グループに割り当て可能な処理部が無い場合において、ユーザのログイン処理の要求を受けた場合、前記緊急用の処理部に前記ログイン処理を割り当てる、ことを特徴とする請求項6又は請求項7に記載の情報処理装置である。
請求項に係る発明は、コンピュータを、データの処理要求を受け付ける受付手段、前記受付手段が処理要求を受け付けた場合、データを処理する処理部を含むグループであって予め設定された上限数よりも少ない数の処理部を含む第1処理グループ、又は、1又は複数の処理部の配置が可能な第2処理グループ、のいずれかに処理を割り当てる制御部、として機能させ、前記制御部は、前記第1処理グループに含まれる処理部から優先的に起動して処理を割り当て、各処理部の負荷と要求された処理の負荷とに応じて、別の処理を実行中の処理部に当該要求された処理を割り当て、予め定められた第1処理の要求を新たに受け付けた場合、第1処理を既に実行中の処理部に、その新たに受け付けた第1処理を割り当て、前記第1処理よりも負荷が大きい第2処理の要求を新たに受けた場合、処理を実行していない別の処理部に、その新たに受けた第2処理を割り当て、前記第1処理グループに含まれる全処理部が対応可能な負荷を超える処理要求を受け付けた場合、前記第2処理グループに処理部を配置してその処理部に処理を割り当てる、ことを特徴とするプログラムである。
請求項10に係る発明は、コンピュータを、データの処理要求を受け付ける受付手段、前記受付手段が処理要求を受け付けた場合、データを処理する処理部を含むグループであって予め定められた上限数よりも少ない数の処理部を含む第1処理グループ、又は、1又は複数の処理部の配置が可能な第2処理グループ、のいずれかに処理を割り当てる制御部、として機能させ、前記制御部は、前記第1処理グループに含まれる処理部から優先的に起動して処理を割り当て、前記第1処理グループに含まれる処理部では処理しきれない処理要求を受け付けた場合、前記第2処理グループに処理部を配置してその処理部に処理を割り当て、前記第1処理グループ及び前記第2処理グループに割り当て可能な処理部が無い場合、緊急用の処理部に処理を割り当てる、ことを特徴とするプログラムである。
請求項1,に係る発明によると、処理部の数が定められた処理グループにて処理を実行できない場合であっても、処理を継続することが可能となる。
請求項1,2に係る発明によると、更に、処理部の数が定められた処理グループに含まれる全処理部が対応可能な負荷を超える処理要求が受け付けられた場合であっても、処理を継続することが可能となる。
請求項に係る発明によると、処理部に割り当てられないユーザが発生することを防止できる。
請求項6,7,10に係る発明によると、緊急用の処理部を用いない場合と比べて、より確実に処理が実行される。
請求項に係る発明によると、緊急用の処理部を用いない場合と比べて、ユーザのログイン処理がより確実に実行される。
本実施形態に係る情報処理システムの一例を示す図である。 初期状態における情報処理システムの一例を示す図である。 起動後の情報処理システムの一例を示す図である。 ユーザ振り分け処理の一例を示すフローチャートである。 受入VM選択処理の一例を示すフローチャートである。 新規VM確保処理の一例を示すフローチャートである。 新規VM確保リトライ処理の一例を示すフローチャートである。
図1を参照して、本発明の実施形態に係る情報処理システムについて説明する。図1には、本実施形態に係る情報処理システムの一例が示されている。
本実施形態に係る情報処理システム10は、処理を実行するというサービスをユーザに提供する。情報処理システム10においては、一例として、複数のユーザ(テナント)がリソースを共有するマルチテナント方式が採用されている。処理は、例えば、印刷に関する処理(例えば印刷ジョブ)である。印刷ジョブ(以下「ジョブ」と称する)は、ユーザが指定した印刷対象の文書データをプリンタで印刷するために行うデータ処理(例えば画像処理)である。情報処理システム10は、例えば、図示しないネットワーク等の通信経路を介して、PC(パーソナルコンピュータ)やモバイル端末等の端末装置12から文書データを受け取り、その文書データを図示しないプリンタで取扱可能なデータ形式の印刷データに変換し、その印刷データを通信経路経由でプリンタに提供して印刷を実行させる。もちろん、情報処理システム10は、印刷ジョブ以外の処理を実行してもよい。
情報処理システム10は、1又は複数のVM(Virtual Machine:仮想マシン)を含む。VMは、ユーザからの指示に対応する処理(例えばジョブ)を実行する。VMは、例えばIaaS(Infrastructure as a Service)プロバイダから提供されるインフラ上に構築されるものであってよい。
VMが実行するジョブ処理は、例えば、文書データを印刷データに変換する処理、変換結果の印刷データをユーザによって指定されたプリンタに送信する処理、文書データを画像に変換して画像から情報を抽出する処理、処理結果を他のサーバ等へ転送する処理、等を含む。
VMは、割り当てられるジョブの処理の他に、ユーザからの要求を処理するユーザインターフェース処理も実行する。ユーザインターフェース処理は、情報処理システム10に対するユーザの接続(ログイン)の可否を判定するログイン処理、ジョブについてのパラメータ(例えば印刷部数等の印刷属性)の設定を受け付ける処理、ジョブの実行開始要求を受け付ける処理、印刷ジョブの状態確認の要求を受け付けてジョブの状態情報をユーザに提供する処理、等を含む。
情報処理システム10は、例えば、1又は複数のVM群と、VM群を管理する1又は複数のVM実行基盤と、を含む。図1に示す例では、情報処理システム10は、VM群14a,・・・,VM群14nと、VM実行基盤16a,・・・,16nと、を含む。各VM群は1又は複数のVMを含む。各VM実行基盤は、対応するVM群に含まれるVMの最大数を管理し、各VMの状態(起動や停止)を示す情報を収集し、それらの情報(VM情報)を保持する。例えば、VM実行基盤16aは、対応するVM群14aに含まれるVMの最大数を管理し、VM群14aに含まれる各VMの状態(起動や停止)を示す情報を収集し、それらの情報を管理する。他のVM実行基盤についても同様である。なお、VM実行基盤16a,・・・,16nも、仮想マシン上に構築されたものであってもよい。
テナント管理部18は、情報処理システム10が提供するサービスを利用するユーザ(テナント)に関する情報(以下「テナント情報」と称する)を管理する機能を備えている。テナント情報は、例えば、各テナントの名称(各ユーザの名称)を示す情報、各テナント(各ユーザ)の多重度を示す情報、等を含む。多重度は、同時実行可能な処理の数、つまり、並列的に実行可能な処理の数である。同時実行可能な処理の数は、例えばサービスの利用契約等に基づいて、テナント毎(ユーザ毎)に定められている。例えば、テナントA(ユーザA)が、情報処理システム10が提供するサービスの利用契約を締結しており、その利用契約によって、テナントAの多重度(同時実行可能な処理の数)が「3」に定められているものとする。この場合、テナントAは、3つの処理が並列的に実行されるように要求することができる。例えば、テナントAから要求された2つのジョブがVMによって実行中の場合において、テナントAから別のジョブ(3つ目のジョブ)の実行要求が与えられた場合、当該別のジョブ(3つ目のジョブ)もVMによって実行される。テナントAから要求された3つのジョブが実行中の場合において、テナントAから別のジョブ(4つ目のジョブ)の実行要求が与えられた場合、当該別のジョブ(4つ目のジョブ)は実行されず、例えば、待機状態となる。この場合、実行中の3つのジョブの中で少なくとも1つのジョブの実行が終了すると、4つ目のジョブが実行される。
ユーザ振り分け部20は、ユーザ(端末装置12)からの処理要求をいずれかのVMに振り分ける(割り当てる)機能を備えている。ユーザ振り分け部20は、各ユーザの多重度を参照して、ユーザからの処理要求をいずれかのVMに振り分ける。
VMがユーザ(端末装置12)から受ける処理要求は、例えば、ログイン要求、ジョブ実行要求、ジョブ状態確認要求、等を含む。
端末装置12からログイン要求を受けると、ユーザ振り分け部20からそのログイン要求を割り当てられたVMが、端末装置12から受け取ったパスワード等のユーザ認証情報を用いてユーザのログインを認めるか否かを判定する。ログインが認められると、ユーザは情報処理システム10に対してログインしている状態となる。ログイン状態のユーザからの要求は、ログインを受け付けたVMが受け取って処理する。すなわち、ユーザは、そのVMにログインしたと捉えることができる。
ログイン状態においては、例えば、ユーザ(端末装置12)からそのVMに印刷データや印刷パラメータの入力が行われる。すると、当該VMは、一意なジョブ識別子を発行し、それら入力された情報をそのジョブ識別子に対応付けて、当該ユーザ(テナント)用の共有ストレージに保存する。共有ストレージは、例えば、VMによってユーザ毎(テナント毎)に構築される。端末装置12からVMにジョブ実行要求が入力されると、そのVMは、そのジョブ識別子をキュー(印刷待ち行列)の末尾に追加する。各VMは、それぞれ次のジョブを受け入れ可能になると、そのキューの先頭のジョブを受け入れる。
ユーザは、キューに入れられたジョブの状態を確認したい場合、ジョブ状態の確認を要求する。これに応じて、端末装置12から情報処理システム10にジョブ状態確認要求が送られる。この要求を受け取った情報処理システム10内のVMは、その要求の対象であるジョブの現在の状態を示す情報を端末装置12に返す。
ユーザが明示的にログアウトを要求した場合、又は、操作をしない状態が予め定められた時間続いてタイムアウトとなった場合、ユーザのログイン状態は解除される。ログイン解除の後、ユーザが情報処理システム10に対して要求を行う場合は、再度ログインを行う必要がある。例えば、ユーザがログインしてジョブを投入し、ジョブ実行要求を行った後、ログインが解除され、その後、そのユーザがそのジョブの状態を知りたい場合、そのユーザは再びログイン要求を行って情報処理システム10にログインした上で、ジョブ確認要求を行うことになる。
VM制御部22は、各VMを制御する機能を備えている。VM制御部22は、例えば、停止状態のVMを起動させたり、起動状態(すなわち稼働状態)のVMを停止させたりする。
なお、テナント管理部18、ユーザ振り分け部20及びVM制御部22も、仮想マシン上に構築されたものであってもよい。
VM実行基盤16a等によって管理されるVM情報には、例えば、VM毎に、そのVMを一意に識別するVM識別子、そのVMの状態、そのVMが同時に受付可能なユーザ数、そのVMに現在ログインしているユーザ数(ログインユーザ数)、現在ログインしているユーザのユーザ識別子のリスト(ログインユーザ)、そのVMが並列的に実行可能な最大ジョブ数、及び、そのVMが現在実行しているジョブのジョブ識別子のリスト(実行中ジョブ)が登録されている。
最大ジョブ数と最大ユーザ数は、各VMの処理能力に応じて予め定められた値である。VMの状態として、起動及び停止という状態の他に、アイドル状態を設けてもよい。起動状態とは、VMが起動済みである状態、すなわち、ジョブやユーザインターフェース処理を実行可能な状態である。停止状態とは、VMが停止している状態である。停止状態のVMがジョブやユーザインターフェース処理(ユーザからの要求の受付等)を実行可能になるには、そのVMを起動させる起動処理が必要であり、この起動処理にはある程度の時間がかかる。アイドル状態とは、起動状態と停止状態の中間の状態であり、いわば停止の準備段階である。この状態ではVMはまだ停止していないが、新たなジョブは受け入れないし、ユーザインターフェース処理も実行しない。これらのことを実行するには、VMは起動状態に復帰する必要がある。ただし、アイドル状態のVMは、まだ停止していないので、起動処理を行わなくても起動状態に復帰し、新たなジョブやユーザインターフェース処理を実行することができるので、起動処理に要する時間が削減される。
VM情報は、ユーザ振り分け部20、VM制御部22及び各VMによって随時更新される。例えば、VM制御部22がVMの状態を遷移させた場合、VM情報内のそのVMの状態が遷移後の値に更新される。ユーザ振り分け部20がユーザからのログイン要求をいずれかのVMに振り分けた場合、VM情報内のそのVMのログインユーザ数に1が加算される。VMがログイン処理を実行してユーザを認証した場合、そのユーザ識別子がログインユーザとしてVM情報に追加される。VMにログイン中のユーザがログアウトした場合、そのVMのログインユーザ数が1つ減算され、そのユーザのユーザ識別子がVM情報から削除される。VMがキューから新たなジョブを取得して実行を開始すると、そのジョブのジョブ識別子が実行中ジョブの欄に追加される。VMがそのジョブの実行を完了すると、実行中ジョブの欄からそのジョブのジョブ識別子が削除される。
以下、図2を参照して、初期状態における情報処理システム10について詳しく説明する。図2には、初期状態における情報処理システム10の構成が示されている。初期状態は、ユーザ(テナント)によって処理要求が与えられておらず、VMにユーザや処理が割り当てられていない状態である。
情報処理システム10は、一例として、第1処理グループとしてのホスティングサービス(Hosting Service)24と、第2処理グループとしてのクラウドサービス(Cloud Service)26と、を含む。
ホスティングサービス24は、複数種類のVMを含む。VMの種類として、各テナント(各ユーザ)の間で共通して使用されるテナント共通VM28、各テナント内にて共通して使用されるテナント内共通VM30等、及び、ジョブやユーザインターフェース処理を実行する処理部としてのサービスVM36等がある。
テナント共通VM28は、例えば、上述したテナント管理部18、ユーザ振り分け部20、及び、VM制御部22として機能する。
テナント内共通VMは、テナント毎(ユーザ毎)に予め用意されてホスティングサービス24に配置されている。つまり、ホスティングサービス24は、テナント数(ユーザ数)分のテナント内共通VMを含む。例えば、ユーザA,B,C(テナントA、B,C)が、情報処理システム10が提供するサービスの利用契約(例えばユーザと運営者との間の契約)を締結して、サービスを利用するものとする。テナント数(ユーザ数)が「3」であるため、3つテナント内共通VM(テナント内共通VM30,32,34)がホスティングサービス24内に配置される。例えば、テナント内共通VM30にテナントA(ユーザA)が予め割り当てられ、テナント内共通VM32にテナントB(ユーザB)が予め割り当てられ、テナント内共通VM34にテナントC(ユーザC)が予め割り当てられている。テナント内共通VMは、例えば、そのテナント内共通VMに割り当てられたテナント(ユーザ)用のストレージとして使用され、そのユーザが要求したジョブ等の情報を記憶する。例えば、テナント内共通VM30には、ユーザAが要求したジョブ等の情報が記憶される。
なお、テナント共通VM28とテナント内共通VM30,32,34は、初期状態において予め起動している。
ホスティングサービス24は、予め定められた上限数(最大数)よりも少ない数のサービスVMを含む。上限数は、例えば、各テナントの同時実行可能な(並列的に実行可能な)処理の数(多重度)の総数である。上述したように、同時実行可能な処理の数は、例えばサービスの利用契約等に基づいて、テナント毎(ユーザ毎)に予め定められている。例えば、テナントA,B,C(ユーザA,B,C)が、情報処理システム10が提供するサービスの利用契約を締結して、サービスを利用するものとする。この場合において、各テナントの同時実行可能な処理の数は、利用契約に基づいてユーザ毎に定められる。例えば、テナントA(ユーザA)の多重度(同時実行可能な処理の数)が「3」に定められ、テナントB(ユーザB)の多重度が「2」に定められ、テナントC(ユーザC)の多重度が「4」に定められたとする。この場合、上限数(テナントA,B,Cの同時実行可能な処理の数の総数)は「9」であり、ホスティングサービス24には、「9」よりも少ない数のサービスVMが配置される。図1に示す例では、4個のサービスVM(サービスVM36,38,40,42)がホスティングサービス24に配置されている。初期状態においては、各サービスVMは、各テナント(各ユーザ)に割り当てられていない。
クラウドサービス26は、1又は複数の処理部としてのサービスVMの配置が可能なグループである。初期状態においては、クラウドサービス26にサービスVMは配置されていない。クラウドサービス26には、少なくとも、ホスティングサービス24に含まれるサービスVMとともに、上記の上限数の処理を実行できる数のサービスVMの配置が可能なグループである。具体的には、クラウドサービス26は、上記の上限数とホスティングサービス24に含まれるサービスVMの数との差分に相当する数以上のサービスVMの配置が可能なグループである。例えば、上限数が9であり、ホスティングサービス24に4個のサービスVMが予め配置されている場合、クラウドサービス26は、5個以上のサービスVMが配置可能なグループであればよい。
ユーザ振り分け部20は、ユーザ(端末装置12)から処理要求(例えばジョブやユーザインターフェース処理)を受け付けた場合、ホスティングサービス24に含まれるサービスVMを優先的に起動してそのサービスVMに処理を割り当て、ホスティングサービス24に含まれるサービスVMでは処理しきれない処理要求を受け付けた場合、クラウドサービス26にサービスVMを配置してそのサービスVMに処理を割り当てる。例えば、ユーザ振り分け部20は、ホスティングサービス24に含まれるサービスVMの総数を超える数の処理要求を受け付けた場合、クラウドサービス26にサービスVMを配置してそのサービスVMに処理を割り当てる。別の例として、ユーザ振り分け部20は、ホスティングサービス24に含まれる全サービスVM(サービスVM36,38,40,42)が対応可能な負荷を超える処理要求を受け付けた場合、クラウドサービス26にサービスVMを配置してそのサービスVMに処理を割り当ててもよい。
以下、図3を参照して、サービスVMのスケールアウトとスケールインの制御について詳しく説明する。図3には、起動後の情報処理システム10の構成が示されている。
VM制御部22は、各テナント(各ユーザ)からのサービスVMの起動要求に応じて、ホスティングサービス24に含まれるサービスVMを優先的に起動させる(スケールアウト)。VM制御部22は、ホスティングサービス24に含まれるサービスVMの総数を超える数の起動要求を受け付けた場合、クラウドサービス26にサービスVMを配置してそのサービスVMを起動させる(スケールアウト)。また、ユーザ振り分け部20は、ホスティングサービス24に含まれるサービスVMに優先的にユーザを振り分け、ホスティングサービス24に含まれるサービスVMに優先的に処理(例えばジョブ処理やユーザインターフェース処理)を割り当てる。ユーザ振り分け部20は、ホスティングサービス24に含まれるサービスVMの総数を超える数の処理要求を受け付けた場合、クラウドサービス26内のサービスVMに処理を割り当てる。VM制御部22は、ユーザがログアウトしたサービスVMや、割り当てられた処理の実行が完了したサービスVMを停止させる(スケールイン)。
以下、スケールアウトの具体例について説明する。例えば、起動要求A1,B1,C1,A2,B2,C2の順で、サービスVMの起動要求が各テナント(各ユーザ)から情報処理システム10に与えられたものとする。起動要求A1,A2は、テナントA(ユーザA)から与えられた起動要求であり、起動要求B1,B2は、テナントB(ユーザB)から与えられた起動要求であり、起動要求C1,C2は、テナントC(ユーザC)から与えられた起動要求である。
VM制御部22は、起動要求A1に応じてホスティングサービス24内のサービスVM(例えばサービスVM36)を起動させ(スケールアウトし)、起動要求B1に応じてホスティングサービス24内のサービスVM(例えばサービスVM38)を起動させ(スケールアウトし)、起動要求C1に応じてホスティングサービス24内のサービスVM(例えばサービスVM40)を起動させ(スケールアウトし)、起動要求A2に応じてホスティングサービス24内のサービスVM(サービスVM42)を起動させる(スケールアウトする)。この段階で、ホスティングサービス24に含まれる全サービスVMが起動しているため、VM制御部22は、起動要求B2に応じてクラウドサービス26内にサービスVM44を新たに配置してサービスVM44を起動させ(スケールアウトし)、起動要求C2に応じてクラウドサービス26内にサービスVM46を新たに配置してサービスVM46を起動させる(スケールアウトする)。
また、ユーザ振り分け部20は、起動要求A2に対応するサービスVM42よりも優先して、起動要求A1に対応するサービスVM36にユーザA(テナントA)を振り分けて、ユーザAが要求する処理(例えばジョブやユーザインターフェース処理)をサービスVM36に優先的に割り当てる。同様に、ユーザ振り分け部20は、起動要求B2に対応するサービスVM44よりも優先して、起動要求B1に対応するサービスVM38にユーザB(テナントB)を振り分けて、ユーザBが要求する処理(例えばジョブやユーザインターフェース処理の要求)をサービスVM38に割り当てる。同様に、ユーザ振り分け部20は、起動要求C2に対応するサービスVM46よりも優先して、起動要求C1に対応するサービスVM40にユーザC(テナントC)を振り分けて、ユーザCが要求する処理(例えばジョブやユーザインターフェース処理)をサービスVM40に割り当てる。
VM制御部22は、ユーザがログアウトしたサービスVMや、割り当てられた処理の実行が完了したサービスVMを停止させる(スケールイン)。例えば、サービスVM44において、当該サービスVM44に割り当てられた処理(例えばジョブやユーザインターフェース処理)の実行が完了した場合、VM制御部22は、サービスVM44を停止させる(スケールイン)。
以上のように、本実施形態に係る情報処理システム10によると、ホスティングサービス24に含まれるサービスVMの数を超える数の処理要求が受け付けられた場合、クラウドサービス26に含まれるサービスVMが利用される。それ故、ホスティングサービス24に配置されたサービスVMによって処理を実行できない場合であっても、クラウドサービス26を利用して処理が継続される。
ホスティングサービス24に含まれるサービスVMでは処理しきれない処理要求が発生した場合に、つまり必要に応じて、クラウドサービス26が利用されるので、クラウドサービス26の利用に応じて課金される場合であっても、クラウドサービス26のみを利用する場合と比べて、課金が制限され、サービスの利用コストが削減される。また、ホスティングサービス24に含まれるサービスVMが優先的にスケールアウトするため、スケールインはクラウドサービス26に含まれるサービスVMから行われ易くなり、この観点からしても、サービスの利用コストが削減される。
上記の上限数(同時実行可能な処理の数の総数)のサービスVMをホスティングサービス24に配置して、ホスティングサービス24のみを利用することが考えられる。例えば、上記の例で示したように、テナントAの多重度が「3」であり、テナントBの多重度が「2」であり、テナントCの多重度が「4」である場合、必要となるサービスVMは「9」となる。つまり、上限数は「9」となる。この場合、9個のサービスVMがホスティングサービス24に配置される。また、テナント共通VM28と各テナント用のテナント内共通VM(テナント内共通VM30,32,34)が、ホスティングサービス24に配置される。従って、合計で13個のVMが必要となる。しかし、すべてのサービスVM(上記の例では9個のサービスVM)が並列的に処理を実行するとは限らない。例えば、図3に示すように、6個の処理要求が発生した場合、9個のサービスVMの中の6個のサービスVMのみが処理を実行することになり、残り3個のサービスVMは、停止状態になる、又は、起動しているが処理を実行しないことになる。それ故、ホスティングサービス24に含まれるサービスVMの稼働率が低下する。本実施形態では、上限数(同時実行可能な処理の数の総数)よりも少ない数のサービスVMがホスティングサービス24に配置されるので、上限数のサービスVMをホスティングサービス24に配置する場合と比べて、ホスティングサービス24に配置されたサービスVMの稼働率が高くなる。
また、発生する処理要求の数を予め想定し、その数に対応するためのサービスVMをホスティングサービス24に予め配置し、ホスティングサービス24のみを利用することも考えられる。しかし、想定した数を超える数の処理要求が発生する場合もあり、その場合には、超過した処理要求に応じた処理が実行されないことになる。本実施形態では、超過した処理要求に応じた処理はクラウドサービス26を利用して実行されるので、このような問題の発生が防止される。
以下、変形例について説明する。
(変形例1)
ユーザ振り分け部20は、ホスティングサービス24に含まれる全サービスVM(サービスVM36,38,40,42)が対応可能な負荷を超える処理要求を受け付けた場合、クラウドサービス26にサービスVMを配置してそのサービスVMに処理を割り当ててもよい。例えば、各サービスVMは複数の処理を並列的に実行可能であるとする。ユーザ振り分け部20は、各サービスVMの負荷(例えばCPUの使用率)と要求された処理の負荷とに応じて、別の処理を実行中のサービスVMに当該要求された処理を割り当て、ホスティングサービス24に含まれる全サービスVM(サービスVM36,38,40,42)が対応可能な負荷を超える処理要求を受け付けた場合、クラウドサービス26にサービスVM(例えばサービスVM44,46)を配置してそのサービスVMに処理を割り当てる。例えば、ユーザ振り分け部20は、第1処理としての軽い処理(例えばユーザインターフェース処理)を新たに受け付けた場合、軽い処理を既に実行中のサービスVMに、その新たに受け付けた軽い処理を割り当てる。一方、ユーザ振り分け部20は、軽い処理よりも負荷が大きい第2処理としての重い処理(例えばジョブ処理)を新たに受け付けた場合、処理を実行していない別のサービスVMに、その新たに受け付けた重い処理を割り当てる。この場合において、ユーザ振り分け部20は、ホスティングサービス24に含まれる全サービスVM(サービスVM36,38,40,42)が対応可能な負荷を超える処理要求を受け付けた場合、クラウドサービス26にサービスVMを配置してそのサービスVMに処理を割り当てる。この場合においても、上述した実施形態と同様に、ホスティングサービス24に配置されたサービスVMによって処理を実行できない場合であっても、クラウドサービス26を利用して処理が継続される。
(変形例2)
ホスティングサービス24は、情報処理システム10が提供するサービスを利用するテナントの数(ユーザの数)以上のサービスVMを含んでもよい。上記の例では、テナントA、B,C(ユーザA,B,C)がサービスを利用しているため、テナント数は「3」である。この場合、ホスティングサービス24には、3個以上のサービスVMが配置される。また、ホスティングサービス24は、個々のテナント毎(個々のユーザ毎)に、少なくとも1つの専用のサービスVMを含み、各テナントに少なくとも1つのサービスVMが予め割り当てられていてもよい。例えば、サービスVM36がテナントA専用のサービスVMであり、サービスVM38がテナントB専用のサービスVMであり、サービスVM40がテナントC専用のサービスVMであるとする。この場合、サービスVM36にテナントAが予め割り当てられ、サービスVM38にテナントBが予め割り当てられ、サービスVM40にテナントCが予め割り当てられる。ユーザ振り分け部20は、テナントAからの処理要求をサービスVM36に割り当て、テナントBからの処理要求をサービスVM38に割り当て、テナントCからの処理要求をサービスVM40に割り当てる。各テナントには少なくとも1つのサービスVMが割り当てられるので、ホスティングサービス24内のサービスVMに割り当てられないテナントの発生が防止される。
(変形例3)
情報処理システム10は緊急用のサービスVMを含んでもよい。例えば、ホスティングサービス24とクラウドサービス26に、割り当て可能なサービスVMが存在しない場合、ユーザ振り分け部20は、緊急用のサービスVMに処理を割り当ててもよい。割り当て可能なサービスVMは、例えば、起動しているサービスVMであって、別の処理を実行していないVMである。例えば、すべてのサービスVMが処理を実行している場合、割り当て可能なサービスVMが存在しないことになる。緊急用のサービスVMは、通常動作においては使用されないサービスVMである。緊急用のサービスVMは、例えばホスティングサービス24内に予め用意されたサービスVMであってもよいし、オーバーコミット可能なVM実行基盤が管理するVM群に含まれるサービスVMであってもよいし、コンテナ技術を用いてVM内に起動されてもよい。緊急用のサービスVMは、例えば、特定の処理(例えばユーザインターフェース処理)を実行するための専用のサービスVMであってもよい。この場合、ユーザ振り分け部20は、割り当て可能なサービスVMが存在しない場合において、ログイン処理の要求を受け付けた場合、緊急用のサービスVMにユーザインターフェース処理を割り当てる。これにより、緊急用のサービスVMを用いない場合と比べて、ログイン処理要求に対して、何らかのレスポンス(例えばログイン成功又は不成功)がより迅速に返される。なお、ユーザ振り分け部20は、ジョブ処理の要求を受け付けた場合、緊急用のサービスVMにジョブを割り当てない。この場合であっても、ジョブはキューの末尾に追加され、順番に従って実行されることになる。
以下、図4を参照して、ユーザ振り分け部20によるユーザ振り分け処理について詳しく説明する。図4には、ユーザ振り分け処理に関するフローチャートが示されている。
まず、ユーザは端末装置12を用いて情報処理システム10に接続し(S01)、ユーザ振り分け部20は、そのユーザのテナントを決定する(S02)。例えば、ユーザがテナントAに属する場合、そのユーザのテナントはテナントAである。
次に、ユーザ振り分け部20は、ユーザのテナント内(例えばテナントA内)に受け入れ可能なサービスVMが存在するか調査する(S03)。つまり、ユーザ振り分け部20は、テナントAに既に割り当てられているサービスVMであって、起動が完了しているが処理を実行していないサービスVMが存在するか調査する。そのようなサービスVMが存在する場合(S04,Yes)、VM制御部22は、受入VM選択処理を実行する(S05)。そのようなサービスVMが存在しない場合(S04,No)、VM制御部22は、新規VM確保処理を実行する(S06)。
ステップS05,S06の処理によってサービスVMが確保されると、ユーザ振り分け部20は、そのサービスVMにユーザを振り分ける(S07)。例えば、ユーザ振り分け部20は、ジョブやユーザインターフェース処理をそのサービスVMに割り当てる。なお、ユーザ振り分け部20は、テナントAの多重度を参照し、テナントAからの要求数が多重度を超えている場合、ユーザをサービスVMに振り分けない。
以下、図5を参照して、上記の受入VM選択処理(図4中のS05の処理)について詳しく説明する。図5には、受入VM処理に関するフローチャートが示されている。
VM制御部22は、図1に示されているVM実行基盤16a,・・・,16nの中から1つのVM実行基盤(i)を選択する(S10)。VM制御部22は、基盤番号の小さい順にVM実行基盤を選択してもよいし、処理速度の速い順にVM実行基盤を選択してもよいし、利用単価の安い順にVM実行基盤を選択してもよい。この場合においても、VM制御部22は、クラウドサービス26内のVMよりもホスティングサービス24内のVMを優先的に選択する。
次に、VM制御部22は、VM実行基盤(i)が管理するVM群の中に受け入れ可能なサービスVMが存在するか調査する(S11)。例えば、起動しているが処理を実行していないサービスVMが、受け入れ可能なサービスVMに該当し、割り込み処理等によって別の処理を実行しているサービスVMが、受け入れ不可能なサービスVMに該当する。
VM実行基盤(i)が管理するVM群の中に受け入れ可能なサービスVMが存在する場合(S12,Yes)、VM制御部22は、そのサービスVMを確保する(S13)。この場合、ユーザ振り分け部20は、そのサービスVMにユーザを振り分ける(図4中のS07)。
VM実行基盤(i)が管理するVM群の中に受け入れ可能なサービスVMが存在しない場合であって(S12,No)、他のVM実行基盤の選択が可能な場合(S14,Yes)、つまり、未調査のVM実行基盤が存在する場合、処理はステップS10に移行する。この場合、VM制御部22は、次のVM実行基盤を選択し(S10)、そのVM実行基盤が管理するVM群の中に受け入れ可能なサービスVMが存在するか調査する(S11)。受け入れ可能なサービスVMが存在する場合(S12,Yes)、そのサービスVMが確保される。
VM実行基盤(i)が管理するVM群の中に受け入れ可能なサービスVMが存在しない場合であって(S12,No)、他のVM実行基盤の選択が不可能な場合(S14,No)、つまり、未調査のVM実行基盤が存在しない場合、VM制御部22は、緊急用のサービスVMを確保する(S15)。この場合、ユーザ振り分け部20は、緊急用のサービスVMにユーザを振り分ける(図4中のS07)。なお、ユーザ振り分け部20は、要求されている処理の内容を確認し、その処理がログイン処理の場合、緊急用のサービスVMにユーザを振り分けてログイン処理を割り当て、その処理がジョブ処理の場合、緊急用のサービスVMにユーザを振り分けずジョブ処理を割り当てなくてもよい。
以下、図6を参照して、上記の新規VM確保処理(図4中のS06の処理)について詳しく説明する。図6には、新規VM確保処理に関するフローチャートが示されている。
VM制御部22は、図1に示されているVM実行基盤16a,・・・,16nの中から1つのVM実行基盤(i)を選択する(S20)。VM制御部22は、基盤番号の小さい順にVM実行基盤を選択してもよいし、処理速度の速い順にVM実行基盤を選択してもよいし、利用単価の安い順にVM実行基盤を選択してもよい。この場合においても、VM制御部22は、クラウドサービス26内のVMよりもホスティングサービス24内のVMを優先的に選択する。
次に、VM制御部22は、VM実行基盤(i)が管理するVM群の中で新規のサービスVMを確保できるか調査する(S21)。例えば、処理を実行していないサービスVMが、新規に確保可能なサービスVMに該当し、割り込み処理等によって別の処理を実行しているサービスVMが、新規に確保不可能なサービスVMに該当する。
VM実行基盤(i)が管理するVM群の中で新規のサービスVMを確保できる場合(S22,Yes)、VM制御部22は、そのサービスVMを確保する(S23)。この場合、ユーザ振り分け部20は、そのサービスVMにユーザを振り分ける(図4中のS07)。
VM実行基盤(i)が管理するVM群の中で新規のサービスVMを確保できない場合であって(S22,No)、他のVM実行基盤の選択が可能な場合(S24,Yes)、つまり、未調査のVM実行基盤が存在する場合、処理はステップS20に移行する。この場合、VM制御部22は、次のVM実行基盤を選択し(S20)、そのVM実行基盤が管理するVM群の中で新規のサービスVMを確保できるか調査する(S21)。新規のサービスVMを確保できる場合(S22,Yes)、そのサービスVMが確保される。
VM実行基盤(i)が管理するVM群の中で新規のサービスVMを確保できない場合であって(S22,No)、他のVM実行基盤の選択が不可能な場合(S24,No)、つまり、未調査のVM実行基盤が存在しない場合、VM制御部22は、新規VM確保リトライ処理を実行する(S25)。
以下、図7を参照して、上記の新規VM確保リトライ処理(図6中のS25の処理)について詳しく説明する。図7には、新規VM確保リトライ処理に関するフローチャートが示されている。
VM制御部22は、図1に示されているVM実行基盤16a,・・・,16nの中から1つのVM実行基盤(i)を選択する(S30)。リトライ処理においては、VM制御部22は、基盤番号の小さい順から予め定められた数(例えば5個)のVM実行基盤を選択してもよいし、処理速度の速い順に予め定められた数(例えば5個)のVM実行基盤を選択してもよいし、オーバーコミット可能なVM実行基盤を選択してもよい。この場合においても、VM制御部22は、クラウドサービス26内のVMよりもホスティングサービス24内のVMを優先的に選択する。
次に、VM制御部22は、VM実行基盤(i)が管理するVM群の中で新規のサービスVMを確保できるか調査する(S31)。例えば、処理を実行していないサービスVMが、新規に確保可能なサービスVMに該当し、割り込み処理等によって別の処理を実行しているサービスVMが、新規に確保不可能なサービスVMに該当する。
VM実行基盤(i)が管理するVM群の中で新規のサービスVMを確保できる場合(S32,Yes)、VM制御部22は、そのサービスVMを確保する(S33)。この場合、ユーザ振り分け部20は、そのサービスVMにユーザを振り分ける(図4中のS07)。なお、図6に示されている新規VM確保処理にて新規のサービスVMを確保できなかった場合であっても、リトライ処理中に、サービスVMにて処理の実行が完了する場合がある。この場合、そのサービスVMが新規のサービスVMとして確保される。
VM実行基盤(i)が管理するVM群の中で新規のサービスVMを確保できない場合であって(S32,No)、他のVM実行基盤の選択が可能な場合(S34,Yes)、つまり、未調査のVM実行基盤が存在する場合、処理はステップS30に移行する。この場合、VM制御部22は、次のVM実行基盤を選択し(S30)、そのVM実行基盤が管理するVM群の中で新規のサービスVMを確保できるか調査する(S31)。新規のサービスVMを確保できる場合(S32,Yes)、そのサービスVMが確保される。
VM実行基盤(i)が管理するVM群の中で新規のサービスVMを確保できない場合であって(S32,No)、他のVM実行基盤の選択が不可能な場合(S34,No)、つまり、未調査のVM実行基盤が存在しない場合、VM制御部22は、緊急用のサービスVMを確保する(S35)。この場合、ユーザ振り分け部20は、緊急用のサービスVMにユーザを振り分ける(図4中のS07)。なお、ユーザ振り分け部20は、要求されている処理の内容を確認し、その処理がログイン処理の場合、緊急用のサービスVMにユーザを振り分けてログイン処理を割り当て、その処理がジョブ処理の場合、緊急用のサービスVMにユーザを振り分けずジョブ処理を割り当てなくてもよい。
上記の実施形態及び変形例では、情報処理システム10が印刷ジョブの実行サービスをユーザに提供する例について説明したが、情報処理システム10は、スキャンによって得られた画像に対するデータ処理や画像の転送処理等の他のジョブを実行してもよい。この場合、端末装置12は、スキャナ、ファクシミリ装置、複合機(プリンタ、スキャナ、コピー機、ファクシミリ装置等の機能を併せ持つ装置)等であってもよい。
上記の情報処理システム10は、一例としてハードウェアとソフトウェアとの協働により実現される。具体的には、情報処理システム10は、図示しないCPU等の1又は複数のプロセッサを備えている。当該1又は複数のプロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、情報処理システム10の各部の機能が実現される。上記プログラムは、CDやDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。別の例として、情報処理システム10の各部は、例えばプロセッサや電子回路やASIC(Application Specific Integrated Circuit)等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。更に別の例として、情報処理システム10の各部は、DSP(Digital Signal Processor)やFPGA(Field Programmable Gate Array)等によって実現されてもよい。
10 情報処理システム、12 端末装置、14a,14n VM群、16a,16n VM実行基盤、18 テナント管理部、20 ユーザ振り分け部、22 VM制御部。

Claims (10)

  1. データの処理要求を受け付ける受付手段と、
    前記受付手段が処理要求を受け付けた場合、データを処理する処理部を含むグループであって予め定められた上限数よりも少ない数の処理部を含む第1処理グループ、又は、1又は複数の処理部の配置が可能な第2処理グループ、のいずれかに処理を割り当てる制御部と、
    を有し、
    各処理部は、複数の処理を並列的に実行可能であり、
    前記制御部は、前記第1処理グループに含まれる処理部から優先的に起動して処理を割り当て、各処理部の負荷と要求された処理の負荷とに応じて、別の処理を実行中の処理部に当該要求された処理を割り当て、予め定められた第1処理の要求を新たに受け付けた場合、第1処理を既に実行中の処理部に、その新たに受け付けた第1処理を割り当て、前記第1処理よりも負荷が大きい第2処理の要求を新たに受けた場合、処理を実行していない別の処理部に、その新たに受けた第2処理を割り当て、前記第1処理グループに含まれる全処理部が対応可能な負荷を超える処理要求を受け付けた場合、前記第2処理グループに処理部を配置してその処理部に処理を割り当てる、
    ことを特徴とする情報処理装置。
  2. 前記第1処理は、ユーザのログイン処理を含む処理であり、
    前記第2処理は、画像処理を含む処理である、
    ことを特徴とする請求項に記載の情報処理装置。
  3. 前記上限数は、各ユーザが要求可能な並列処理の数に基づいて決定される、
    ことを特徴とする請求項1又は請求項に記載の情報処理装置。
  4. 前記第1処理グループは、個々のユーザ毎に、少なくとも1つの専用の処理部を含み、各ユーザに少なくとも1つの専用の処理部が予め割り当てられている、
    ことを特徴とする請求項1から請求項のいずれか一項に記載の情報処理装置。
  5. 前記第1処理グループは、ユーザの数以上の数の処理部を含む、
    ことを特徴とする請求項に記載の情報処理装置。
  6. 前記制御部は、前記第1処理グループ及び前記第2処理グループに割り当て可能な処理部が無い場合、緊急用の処理部に処理を割り当てる、
    ことを特徴とする請求項1から請求項のいずれか一項に記載の情報処理装置。
  7. データの処理要求を受け付ける受付手段と、
    前記受付手段が処理要求を受け付けた場合、データを処理する処理部を含むグループであって予め定められた上限数よりも少ない数の処理部を含む第1処理グループ、又は、1又は複数の処理部の配置が可能な第2処理グループ、のいずれかに処理を割り当てる制御部と、
    を有し、
    前記制御部は、前記第1処理グループに含まれる処理部から優先的に起動して処理を割り当て、前記第1処理グループに含まれる処理部では処理しきれない処理要求を受け付けた場合、前記第2処理グループに処理部を配置してその処理部に処理を割り当て、前記第1処理グループ及び前記第2処理グループに割り当て可能な処理部が無い場合、緊急用の処理部に処理を割り当てる、
    ことを特徴とする情報処理装置。
  8. 前記制御部は、前記第1処理グループ及び前記第2処理グループに割り当て可能な処理部が無い場合において、ユーザのログイン処理の要求を受けた場合、前記緊急用の処理部に前記ログイン処理を割り当てる、
    ことを特徴とする請求項6又は請求項7に記載の情報処理装置。
  9. コンピュータを、
    データの処理要求を受け付ける受付手段、
    前記受付手段が処理要求を受け付けた場合、データを処理する処理部を含むグループであって予め設定された上限数よりも少ない数の処理部を含む第1処理グループ、又は、1又は複数の処理部の配置が可能な第2処理グループ、のいずれかに処理を割り当てる制御部、
    として機能させ、
    前記制御部は、前記第1処理グループに含まれる処理部から優先的に起動して処理を割り当て、各処理部の負荷と要求された処理の負荷とに応じて、別の処理を実行中の処理部に当該要求された処理を割り当て、予め定められた第1処理の要求を新たに受け付けた場合、第1処理を既に実行中の処理部に、その新たに受け付けた第1処理を割り当て、前記第1処理よりも負荷が大きい第2処理の要求を新たに受けた場合、処理を実行していない別の処理部に、その新たに受けた第2処理を割り当て、前記第1処理グループに含まれる全処理部が対応可能な負荷を超える処理要求を受け付けた場合、前記第2処理グループに処理部を配置してその処理部に処理を割り当てる、
    ことを特徴とするプログラム。
  10. コンピュータを、
    データの処理要求を受け付ける受付手段、
    前記受付手段が処理要求を受け付けた場合、データを処理する処理部を含むグループであって予め定められた上限数よりも少ない数の処理部を含む第1処理グループ、又は、1又は複数の処理部の配置が可能な第2処理グループ、のいずれかに処理を割り当てる制御部、
    として機能させ、
    前記制御部は、前記第1処理グループに含まれる処理部から優先的に起動して処理を割り当て、前記第1処理グループに含まれる処理部では処理しきれない処理要求を受け付けた場合、前記第2処理グループに処理部を配置してその処理部に処理を割り当て、前記第1処理グループ及び前記第2処理グループに割り当て可能な処理部が無い場合、緊急用の処理部に処理を割り当てる、
    ことを特徴とするプログラム。
JP2017012402A 2017-01-26 2017-01-26 情報処理装置及びプログラム Active JP6872117B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017012402A JP6872117B2 (ja) 2017-01-26 2017-01-26 情報処理装置及びプログラム
US15/798,931 US10754695B2 (en) 2017-01-26 2017-10-31 Information processing apparatus and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017012402A JP6872117B2 (ja) 2017-01-26 2017-01-26 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2018120476A JP2018120476A (ja) 2018-08-02
JP6872117B2 true JP6872117B2 (ja) 2021-05-19

Family

ID=62906193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017012402A Active JP6872117B2 (ja) 2017-01-26 2017-01-26 情報処理装置及びプログラム

Country Status (2)

Country Link
US (1) US10754695B2 (ja)
JP (1) JP6872117B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3816291A4 (en) 2018-06-26 2022-03-16 Kyowa Kirin Co., Ltd. CHONDROITIN SULFATE PROTEOGLYCAN-5 BINDING ANTIBODIES
US11960913B2 (en) * 2021-03-16 2024-04-16 Nerdio, Inc. Systems and methods of auto-scaling a virtual desktop environment
WO2024025235A1 (ko) * 2022-07-29 2024-02-01 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080201455A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
JP4939594B2 (ja) 2009-11-30 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション プライマリクラウドが提供したサービスレベルの実績値又は更新されたプリファレンス情報に基づいて、サービスレベルアグリーメントを動的に決定してサービスを提供することができるクラウドシステムを構成する装置、方法及びコンピュータプログラム
US8874744B2 (en) * 2010-02-03 2014-10-28 Vmware, Inc. System and method for automatically optimizing capacity between server clusters
US8533337B2 (en) * 2010-05-06 2013-09-10 Citrix Systems, Inc. Continuous upgrading of computers in a load balanced environment
JP5815512B2 (ja) * 2010-05-14 2015-11-17 株式会社日立製作所 リソース管理方法、計算機システムおよびプログラム
JP5936224B2 (ja) 2011-10-18 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation サービス・プロバイダを動的に選択する方法、コンピュータ・システム、コンピュータおよびプログラム
WO2014091580A1 (ja) * 2012-12-12 2014-06-19 株式会社東芝 クラウドシステム管理装置、クラウドシステム、再配置方法、及びプログラム
US20140196038A1 (en) * 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US9471349B1 (en) * 2013-09-06 2016-10-18 Amazon Technologies, Inc. Computing resource provisioning failure mitigation
JP6237318B2 (ja) * 2014-02-19 2017-11-29 富士通株式会社 管理装置、業務負荷分散管理方法および業務負荷分散管理プログラム
JP6097235B2 (ja) * 2014-02-19 2017-03-15 西日本電信電話株式会社 負荷分散システム、負荷分散装置及び負荷分散方法
US9699251B2 (en) * 2014-05-13 2017-07-04 Nutanix, Inc. Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management
US10382628B2 (en) * 2014-06-03 2019-08-13 Avaya Inc. System and method for routing work requests to a resource group of an enterprise
US9852050B2 (en) * 2014-12-30 2017-12-26 Vmware, Inc. Selecting computing resources
US10193821B1 (en) * 2015-03-19 2019-01-29 Amazon Technologies, Inc. Analyzing resource placement fragmentation for capacity planning
US9843486B2 (en) * 2015-04-16 2017-12-12 Telefonaktiebolaget Lm Ericsson (Publ) System and method for SLA violation mitigation via multi-level thresholds
US9928108B1 (en) * 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10002026B1 (en) * 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10554751B2 (en) * 2016-01-27 2020-02-04 Oracle International Corporation Initial resource provisioning in cloud systems

Also Published As

Publication number Publication date
US20180210759A1 (en) 2018-07-26
US10754695B2 (en) 2020-08-25
JP2018120476A (ja) 2018-08-02

Similar Documents

Publication Publication Date Title
JP6897136B2 (ja) 情報処理装置及びプログラム
US8908220B2 (en) Information processing system, print system, and method and computer-readable storage medium for controlling information processing system
US20200314168A1 (en) Distributed code execution involving a serverless computing infrastructure
US20120011515A1 (en) Resource Consumption Template Processing Model
JP6872117B2 (ja) 情報処理装置及びプログラム
CN105227804A (zh) 图像形成装置及图像形成装置的控制方法
JP2017068480A (ja) ジョブ管理方法、ジョブ管理装置及びプログラム
EP2725480B1 (en) Image forming apparatus and controlling method thereof
US9483219B2 (en) Information processing system, information processor, non-transitory computer readable medium, and information processing method
JP6511025B2 (ja) リソース割当装置、リソース割当方法およびリソース割当プログラム
JPWO2006057040A1 (ja) コンピュータ・システム及び情報処理方法
EP2843548B1 (en) Method, system, and program for scheduling jobs in a computing system
JP6492865B2 (ja) 情報処理装置、プログラム及び情報処理方法
US9250841B2 (en) Print server, control method of print server, and storage medium
US20160011881A1 (en) Information processing device, information processing method, and storage medium
US11755263B2 (en) Information processing apparatus, control method, and storage medium
JP2005309868A (ja) 処理割当管理装置、処理割当管理装置の制御方法、及びプログラム
JP5218548B2 (ja) ジョブ割当装置、ジョブ割当装置の制御プログラム及び制御方法
JP6477081B2 (ja) プログラム、情報処理装置及び情報処理方法
US11481171B2 (en) Image forming system, server, control method for image forming system, control method for server, and storage medium
US20240118847A1 (en) Information processing apparatus, control method thereof, and medium and printing system thereof
US11200088B2 (en) Information processing system, information processing method, and information processing apparatus
US11656810B2 (en) Printing system, printing apparatus, control methods therefor, and storage medium
JP6123320B2 (ja) ライセンス管理装置及びその管理方法、ライセンス管理システム、並びにコンピュータ・プログラム
US20070220147A1 (en) Method for Provisioning a Server in a Computer Arrangement

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6872117

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150