JP6926768B2 - 情報処理装置および情報処理システム - Google Patents

情報処理装置および情報処理システム Download PDF

Info

Publication number
JP6926768B2
JP6926768B2 JP2017140642A JP2017140642A JP6926768B2 JP 6926768 B2 JP6926768 B2 JP 6926768B2 JP 2017140642 A JP2017140642 A JP 2017140642A JP 2017140642 A JP2017140642 A JP 2017140642A JP 6926768 B2 JP6926768 B2 JP 6926768B2
Authority
JP
Japan
Prior art keywords
resource
unit
job
resources
amount
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
JP2017140642A
Other languages
English (en)
Other versions
JP2019021167A (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 JP2017140642A priority Critical patent/JP6926768B2/ja
Priority to US15/950,529 priority patent/US20190026152A1/en
Publication of JP2019021167A publication Critical patent/JP2019021167A/ja
Application granted granted Critical
Publication of JP6926768B2 publication Critical patent/JP6926768B2/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1439Metric aspects time-based
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/68Payment of value-added services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/83Notification aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/83Notification aspects
    • H04M15/85Notification aspects characterised by the type of condition triggering a notification
    • H04M15/852Low balance or limit reached
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/83Notification aspects
    • H04M15/85Notification aspects characterised by the type of condition triggering a notification
    • H04M15/853Calculate maximum communication time or volume
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置および情報処理システムに関する。
オートスケールに係る発明として、例えば、特許文献1に開示された情報処理装置がある。この情報処理装置は、仮想マシンを停止させるスケールインを行う場合、起動処理中の仮想マシンがある場合には、停止させる仮想マシンとして、起動処理中の仮想マシンを選択する。また、起動処理中の仮想マシンがない場合には、停止させる仮想マシンとして、稼働中の仮想マシンのうち、稼働を開始した時間が遅い仮想マシンを選択する。
特開2015−194958号公報
処理を実行するマシンの数を処理の量に応じて変更しながら処理を行わせる際、起動しているマシンを停止させると、実行中の処理が中断する可能性がある。
本発明は、上述した背景の下になされたものであり、処理中のジョブを中断せずに稼働するリソースを減らすことを目的とする。
請求項1に係る情報処理装置は、単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部であって、特定する時点から前記使用料金の課金がされる時点までの期間が最も短いリソースを特定する特定部と、前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第1指示部と、前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第2指示部とを備える。
請求項2に係る情報処理装置は、単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部と、前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第1指示部と、前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第2指示部とを備え、前記第1指示部が指示した時点より後の時点において、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が少なくなると、前記特定部が特定したリソースへジョブの取得を指示する
本発明の請求項3に係る情報処理装置においては、前記特定部は、複数のリソースを特定する場合、特定する時点から前記使用料金の課金がされる時点までの期間が短いリソースから順に特定する。
本発明の請求項4に係る情報処理装置においては、前記第2指示部は、処理中のジョブがないことを示す情報として、稼働停止の指示を示す情報を前記特定部が特定したリソースから取得した場合、当該リソースの稼働停止を指示する。
本願の請求項5に係る情報処理装置においては、前記リソースは、前記第1指示部からの指示を取得した後、処理中のジョブの処理を終了した場合、稼働停止の指示を示す情報を前記第2指示部へ供給する。
本発明の請求項6に係る情報処理システムは、単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部であって、特定する時点から前記使用料金の課金がされる時点までの期間が最も短いリソースを特定する特定部と、前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第1指示部と、前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第2指示部とを有する情報処理装置と、前記第1指示部からの指示に応じてジョブの取得を禁止し、処理中のジョブがない場合、処理中のジョブがないことを示す情報を前記情報処理装置へ供給するリソースと、前記特定部が特定したリソースの稼働を前記第2指示部からの指示に応じて停止させる制御装置と備える。
本発明の請求項7に係る情報処理システムは、単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部と、前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第1指示部と、前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第2指示部とを備え、前記第1指示部が指示した時点より後の時点において、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が少なくなると、前記特定部が特定したリソースへジョブの取得を指示する情報処理装置と、前記第1指示部からの指示に応じてジョブの取得を禁止し、処理中のジョブがない場合、処理中のジョブがないことを示す情報を前記情報処理装置へ供給するリソースと、前記特定部が特定したリソースの稼働を前記第2指示部からの指示に応じて停止させる制御装置と備える。
本発明の請求項1に係る情報処理装置によれば、処理中のジョブを中断せずに稼働するリソースを減らすことができ、請求項1に係る構成を有していない場合と比較して、剰余となったリソースを早く停止することができる。
本発明の請求項2に係る情報処理装置によれば、処理中のジョブを中断せずに稼働するリソースを減らすことができ、新たなリソースを稼働させることなくジョブを処理することができる。
本発明の請求項3に係る情報処理装置によれば、請求項3に係る構成を有していない場合と比較して、剰余となった複数のリソースを早く停止することができる。
本発明の請求項4に係る情報処理装置によれば、請求項4に係る構成を有していない場合と比較して、早くリソースを稼働停止させることができる。
本発明の請求項5に係る情報処理装置によれば、請求項5に係る構成を有していない場合と比較して、早くリソースを稼働停止させることができる。
本発明の請求項6に係る情報処理システムによれば、処理中のジョブを中断せずに稼働するリソースを減らすことができ、請求項6に係る構成を有していない場合と比較して、剰余となったリソースを早く停止することができる。
本発明の請求項7に係る情報処理システムによれば、処理中のジョブを中断せずに稼働するリソースを減らすことができ、新たなリソースを稼働させることなくジョブを処理することができる。
本発明の一実施形態の全体構成を示した図。 管理装置10のハードウェア構成を示したブロック図。 監視装置20のハードウェア構成を示したブロック図。 制御装置40のハードウェア構成を示したブロック図。 管理装置10、監視装置20および制御装置40の機能ブロック図。 管理装置10が行う処理の流れを示したフローチャート。 管理装置10が記憶するテーブルの一例を示した図。 削除の対象となるリソース30を特定する動作を説明するための図。 リソース30が行う処理の流れを示したフローチャート。 変形例を説明するための図。
[実施形態]
(全体構成)
図1は、本発明の一実施形態の全体構成を示した図である。情報処理システム1は、情報処理を行うリソース30を情報処理システム1のユーザに提供するシステムである。本実施形態に係るリソース30は、物理的なコンピュータ装置により実現される仮想マシンである。通信回線2は、データ通信が行われる通信回線であり、データ通信を行う複数のコンピュータ装置が接続される。
端末装置90は、リソース30を利用するユーザが使用するコンピュータ装置であり、通信回線2に接続されている。端末装置90は、例えばパーソナルコンピュータである。ユーザは、端末装置90を操作し、情報処理システム1が提供するリソース30に情報処理を行わせる。なお、図1においては、図面が煩雑になるのを防ぐため、一つの端末装置90のみを示す。端末装置90は、パーソナルコンピュータに限定されるものではなく、例えば、タブレット端末、スマートフォンまたはラップトップ型のパーソナルコンピュータであってもよい。ロードバランサ80は、通信回線2とジョブキュー50に接続されている。ロードバランサ80は、所謂、負荷分散装置であり、端末装置90から送られた情報処理の要求を取得し、取得した要求をジョブキュー50に供給する。以下の説明においては、説明の便宜上、リソース30が行う情報処理をジョブと称し、ジョブの実行に必要となる情報をジョブ情報と称する。なお、端末装置90はロードバランサ80を介さずに、要求をジョブキュー50に供給してもよい。
情報処理システム1は、クラウドシステム5、管理装置10、および監視装置20を含む。クラウドシステム5は、端末装置90のユーザへリソース30による情報処理を提供するシステムであり、ジョブキュー50、制御装置40および複数のリソース30を有する。なお、本発明においては、管理装置10および監視装置20をクラウドシステム5に配置してもよい。
ジョブキュー50は、情報を記憶する記憶装置を有しており、ロードバランサ80から送られたジョブ情報を格納する。本発明に係る制御装置の一例である制御装置40は、ジョブ情報やリソース30に係る情報を監視装置20へ提供し、管理装置10からの指示に応じてリソース30のスケールインまたはスケールアウトを行う。
本発明に係るリソースの一例である複数のリソース30は、供給されるジョブ情報を処理する装置であり、ジョブキュー50からジョブ情報を取得する。本実施形態においては、複数のリソース30の各々は、制御装置40によりスケールインまたはスケールアウトされる仮想マシンである。リソース30は、例えば、画像処理のジョブや文書を翻訳するジョブを処理する。リソース30が処理するジョブは、前述のジョブに限定されるものではなく、他のジョブであってもよい。クラウドシステム5においては、リソース30について、単位時間当たりの使用料金が予め定められている。本実施形態では、複数のリソース30の各々について、一律の単位時間で一律の使用料金が定められており、リソース30を使用した時間に応じてユーザに対する課金が行われる。
監視装置20は、制御装置40、管理装置10、リソース30およびジョブキュー50に接続されている。監視装置20は、リソース30にアクセスし、リソース30の稼働状態、リソース30の稼働時間、リソース30にかかる負荷、リソース30が実行しているジョブなどを監視するコンピュータ装置である。なお監視装置20は、ジョブキュー50にアクセスし、ジョブキュー50に格納されているジョブの量も監視する。監視装置20は、リソース30のスケールインおよびスケールアウトを行うのに必要となる情報を管理装置10へ提供する。本発明に係る情報処理装置の一例である管理装置10は、監視装置20と制御装置40に接続されている。管理装置10は、リソース30の数を制御する装置である。管理装置10は、監視装置20から提供される情報を使用し、リソース30のスケールインやスケールアウトを行う。
(管理装置10の構成)
図2は、管理装置10のハードウェア構成の一例を示したブロック図である。通信部105は、制御装置40および監視装置20と通信を行うための通信インターフェースである。記憶部102は、制御部101が実行するプログラムや監視装置20から供給される情報を永続的に記憶する記憶装置(例えばハードディスク装置)を有している。制御部101は、CPUおよびRAMを有しており、記憶部102に記憶されているプログラムを実行し、記憶部102や通信部105を制御する。また、記憶部102に記憶されているプログラムを実行中の制御部101は、監視装置20から提供される情報の取得や、リソース30のスケールインやスケールアウトの処理を行う。
(監視装置20の構成)
図3は、監視装置20のハードウェア構成の一例を示したブロック図である。通信部205は、ジョブキュー50、リソース30、制御装置40および管理装置10と通信を行うための通信インターフェースである。記憶部202は、制御部201が実行するプログラムや制御装置40から取得した情報を永続的に記憶する記憶装置(例えばハードディスク装置)を有している。制御部201は、CPUおよびRAMを有しており、記憶部202に記憶されているプログラムを実行し、記憶部202や通信部205を制御する。また、記憶部202に記憶されているプログラムを実行中の制御部201は、制御装置40、ジョブキュー50、リソース30から送られる情報の取得や、管理装置10への情報の提供を行う。
(制御装置40の構成)
図4は、制御装置40のハードウェア構成の一例を示したブロック図である。通信部405は、リソース30、ジョブキュー50、管理装置10および監視装置20と通信を行うための通信インターフェースである。記憶部402は、制御部401が実行するプログラムを永続的に記憶する記憶装置(例えばハードディスク装置)を有している。制御部401は、CPUおよびRAMを有しており、記憶部402に記憶されているプログラムを実行し、記憶部402や通信部405を制御する。また、記憶部402に記憶されているプログラムを実行中の制御部401は、リソース30のスケールアウトやスケールインを行う。
(管理装置10および監視装置20の機能構成)
図5は、制御部101がプログラムを実行することにより実現する機能、制御部201がプログラムを実行することにより実現する機能、および制御部401がプログラムを実行することにより実現する機能の構成を示したブロック図である。
制御部401においては、リソース制御部4001およびジョブ情報供給部4002が実現する。リソース制御部4001は、リソース30のスケールアウトとスケールインを行う。ジョブ情報供給部4002は、ジョブキュー50から供給されたジョブ情報をリソース30へ供給する。リソース30は、稼働中のリソース30の数、各リソース30の稼働期間、リソース30におけるジョブの処理状況などの情報を予め定められた周期で監視装置20へ供給する。
制御部201においては、第2取得部2001と第2供給部2002が実現する。第2取得部2001は、リソースから供給される情報を取得する。また、第2取得部2001は、ジョブキュー50に格納されているジョブの量を表す情報を取得する。第2供給部2002は、第2取得部2001が取得した情報を含む第1情報を管理装置10へ供給する。
制御部101においては、第1取得部1001、特定部1002、第1指示部1003および第2指示部1004が実現する。第1取得部1001は、第2供給部2002から供給される第1情報を取得する。特定部1002は、第1情報に含まれるジョブの量に対して予め定められた基準に比べて、稼働中のリソースの量が多い場合、稼働停止の対象となるリソースを特定する。第1指示部1003は、特定部1002が特定したリソースに対し、新たなジョブの取得の禁止を指示するメッセージを送信する。第2指示部1004は、特定部1002が特定したリソース30において処理中のジョブがないことを示すメッセージを取得した場合、特定部1002が特定したリソース30の稼働停止を指示するメッセージを送信する。
(実施形態の動作例)
次に本実施形態の動作の一例を説明する。まず、ジョブの実行を指示する操作をユーザが端末装置90において行うと、ジョブの実行に必要となる情報であるジョブ情報が端末装置90からロードバランサ80へ送られる。ロードバランサ80は、端末装置90から送られたジョブ情報をジョブキュー50へ供給する。
監視装置20(第2取得部2001)は、ジョブキュー50に格納されているジョブの量を取得する。また、監視装置20(第2取得部2001)は、稼働中のリソース30の数、各リソース30の稼働期間、リソース30におけるジョブの処理状況を含む情報を予め定められた周期で取得する。監視装置20(第2供給部2002)は、取得したリソース30とジョブキュー50から取得した情報を含む第1情報を管理装置10へ供給する。
図6は、管理装置10が行う処理の流れを示したフローチャートである。管理装置10(第1取得部1001)は、監視装置20から供給される第1情報を取得する(ステップSA1)。次に管理装置10(特定部1002)は、余剰となるリソース30があるか否かを取得した第1情報を用いて判断する(ステップSA2)。具体的には、例えば、管理装置10は、ジョブの量とリソースの数を対応付けたテーブルを記憶している。図7は、ジョブの量とリソースの数を対応付けたテーブルの一例を示した図である。テーブルにおいては、ジョブの量に対して適切なリソースの数が対応付けられている。テーブルに格納されているリソースの数は、本発明に係る予め定められた基準の一例である。例えば、管理装置10は、第1情報に含まれているジョブの量がb以上c未満の範囲内である場合、当該量のジョブを処理するのに適切なリソースの数として、「b以上c未満」の範囲に対応付けられている3をテーブルから取得する。次に管理装置10は、テーブルから取得した数と、第1情報に含まれている稼働中のリソースの数とを比較する。管理装置10は、第1情報に含まれている稼働中のリソース30の数がテーブルから取得した数以下である場合、余剰となるリソース30がないと判断し(ステップSA2でNO)、処理の流れをステップSA1へ戻す。また、管理装置10は、第1情報に含まれている稼働中のリソース30の数がテーブルから取得した数より多い場合、余剰となるリソース30があると判断する(ステップSA2でYES)。
管理装置10(特定部1002)は、ステップSA2でYESと判断すると、削除の対象(稼働停止の対象)となるリソース30を特定する(ステップSA3)。図8は、削除の対象となるリソース30を特定する動作を説明するための図である。図8においては、横軸は時間を表し、矩形はリソースA〜リソースDについて、第1情報から抽出した各々の稼働期間を表している。リソースA〜リソースDは、リソース30の一例である。また、図8においては、tは、ステップSA3の処理が行われるタイミングを表し、t1は、リソースAに対して次の課金が発生するタイミングを表し、t2は、リソースBに対して次の課金が発生するタイミングを表し、t3は、リソースCに対して次の課金が発生するタイミングを表し、t4は、リソースDに対して次の課金が発生するタイミングを表す。
管理装置10は、課金のタイミングがステップSA3の処理が行われるタイミングに近いリソース30から、削除対象となるリソース30を選択していく。管理装置10は、例えばtの時点で剰余となるリソースの数が1である場合、課金タイミングがtの時点に最も近いのは、課金のタイミングがt1であるリソースAである。この場合、管理装置10は、削除するリソース30としてリソースAを特定する。また、管理装置10は、例えば、tの時点で剰余となるリソースの数が2である場合、課金タイミングがtの時点に最も近いのは、課金タイミングがt1であるリソースAであり、次に課金タイミングがtの時点に近いのは、課金タイミングがt2であるリソースBである。この場合、管理装置10は、削除するリソース30としてリソースAおよびリソースBを特定する。
なお、次の課金のタイミングが処理中のジョブの完了予定時間よりも先となるリソース30については、削除対象から外し、他のリソース30を選択してもよい。
管理装置10(第1指示部1003)は、削除するリソース30を選択すると、選択したリソース30に対してジョブの取得の禁止を指示する禁止メッセージを送信する(ステップSA4)。管理装置10が送信した禁止メッセージは、管理装置10がステップSA3で選択したリソース30が取得する。
図9は、禁止メッセージを取得したリソース30が行う処理の流れを示したフローチャートである。禁止メッセージを取得したリソース30は、まず、ジョブキュー50からの新たなジョブの取得を禁止する(ステップSB1)。次にリソース30は、処理中のジョブが存在するか判断する(ステップSB2)。リソース30は、処理中のジョブが存在する場合(ステップSB2でYES)、処理中のジョブが終了するのを待つ。また、リソース30は、処理中のジョブが存在しない場合(ステップSB2でNO)、管理装置10へ自身の削除を要求する削除要求メッセージを送信する(ステップSB3)。この削除要求メッセージは、リソース30において処理中のジョブがないことを表すメッセージの一例である。
管理装置10(第2指示部1004)は、リソース30から送信された削除要求メッセージを受信する(ステップSA5)。管理装置10は、削除要求メッセージを受信すると、ステップSA3で特定したリソース30の削除を指示する削除指示メッセージを送信する(ステップSA6)。削除指示メッセージは、リソース30の稼働停止を指示するメッセージの一例である。管理装置10が送信した削除指示メッセージは、制御装置40が取得する。制御装置40は、削除指示メッセージで指定されたリソース30を削除する。
なお、管理装置10が送信する禁止メッセージにジョブの取得を禁止させるリソース30を表す情報を含めてもよい。この禁止メッセージを制御装置40が取得し、制御装置40は、禁止メッセージに含まれる情報が表すリソース30へのジョブの供給を禁止してもよい。また、制御装置40は、リソース30を監視し、ジョブの供給を禁止したリソース30について、処理中のジョブが存在しない場合、ジョブの供給が禁止されたリソース30の削除を要求する削除要求メッセージを管理装置10へ送信してもよい。管理装置10は、削除要求メッセージで削除を要求されるリソース30の削除を制御装置40へ指示し、指示された制御装置40がリソース30の削除を行ってもよい。
本実施形態によれば、ジョブを処理中のリソース30は、ジョブの処理中に削除されることがない。また、本実施形態によれば、処理予定のジョブの量に対してリソース30が余剰となっている場合、ジョブの処理が終了したリソース30が削除され、リソース30の数が少なくなる。
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態および以下の変形例は、各々を組み合わせてもよい。
上述した実施形態においては、リソース30は、仮想マシンとなっているが、例えば物理的なコンピュータ装置であるサーバ装置またはストレージをリソース30としてもよい。リソース30が物理的なコンピュータ装置の場合、仮想マシンの削除に替えてコンピュータ装置の稼働を停止させる構成となる。
また、本発明においては、仮想マシン上で動作するアプリケーションもリソース30としてもよい。図10を用いて本変形例の具体例を説明する。図10は、仮想マシンであるリソースA上で6つのアプリケーションAP1〜AP6が稼働し、仮想マシンであるリソースB上で一つのアプリケーションAP7が稼働している状態を示している。アプリケーションAP1〜AP7は、リソース30の一例である。管理装置10は、ジョブキュー50に格納されているジョブの量と、リソースA上で稼働しているアプリケーションの数およびリソースB上で稼働しているアプリケーションの数を含む第1情報を取得する。管理装置10は、第1情報に含まれているジョブの量を処理するのに適切なリソースの数をテーブルから取得し、テーブルから取得した数と稼働しているアプリケーションの数を比較し、余剰となるアプリケーションがあるか否か判断する。管理装置10は、余剰となるアプリケーションがある場合、複数の仮想マシンにおいて稼働しているアプリケーションの数が少ない仮想マシンを特定し、特定した仮想マシン上で稼働しているアプリケーションを削除の対象となるリソース30として選択する。例えば、図10に示した例の場合、管理装置10は、リソースBのほうが稼働しているアプリケーションが少ないため、アプリケーションAP7を削除の対象となるリソース30として選択する。
管理装置10は、削除の対象となるリソース30を選択すると、選択したリソース30に対してジョブの取得の禁止を指示する禁止メッセージを送信する。アプリケーションAP7は、禁止メッセージを取得すると、新たなジョブの取得を禁止し、処理中のジョブがあるか判断する。アプリケーションAP7は、処理中のジョブが無い場合、削除要求メッセージを管理装置10へ送信する。管理装置10は、アプリケーションAP7から送信された削除要求メッセージを受信する。管理装置10は、削除要求メッセージを受信すると、削除の対象となるアプリケーションAP7の削除を指示する削除指示メッセージを送信する。管理装置10が送信した削除指示メッセージは、リソースBが取得する。リソースBは、削除指示メッセージで指定されたアプリケーションAP7を削除する。
なお、リソースB上のアプリケーションAP7が削除されると、リソースBにおいては稼働しているアプリケーションが存在しなくなる。管理装置10は、稼働しているアプリケーションが存在しない仮想マシンがある場合、当該仮想マシンの削除を指示する削除指示メッセージを送信する。管理装置10が送信した削除指示メッセージは、制御装置40が取得する。制御装置40は、削除指示メッセージで指定されたリソースBを削除する。
上述した実施形態においては、管理装置10は、取得した第1情報を解析し、複数のリソース30においてジョブを処理していないリソース30がある場合は、当該リソース30の削除を指示する削除指示メッセージを送信してもよい。
上述した実施形態においては、監視装置20は、第1情報を管理装置10へ供給しているが、管理装置10が監視装置20の機能を備え、監視装置20を介さずに管理装置10が第1情報を取得する構成であってもよい。
上述した実施形態においては、管理装置10は、ステップSA4で禁止メッセージを送信した後、予め定められた時間内に削除要求メッセージを受信しなかった場合、削除要求メッセージを受信しなくとも削除指示メッセージを送信するようにしてもよい。
上述した実施形態においては、管理装置10は、禁止メッセージを送信した後、第1情報に含まれているジョブの量に対応付けられているリソースの数をテーブルから取得し、第1情報に含まれている稼働中のリソース30の数がテーブルから取得した数より少ない場合、ジョブの取得を指示するメッセージを、禁止メッセージを取得したリソース30へ送信してもよい。このメッセージは、禁止メッセージを取得していたリソース30が取得する。このメッセージを取得したリソース30は、ジョブの取得を再開し、取得したジョブの処理を行う。
上述した実施形態においては、制御装置40がリソース30のスケールインおよびスケールアウトを行っているが、管理装置10がリソース30のスケールインおよびスケールアウトを行う構成であってもよい。
1…情報処理システム、2…通信回線、5…クラウドシステム、10…管理装置、20…監視装置、30…リソース、50…ジョブキュー、40…制御装置、80…ロードバランサ、90…端末装置、101…制御部、102…記憶部、105…通信部、201…制御部、202…記憶部、205…通信部、401…制御部、402…記憶部、405…通信部、1001…第1取得部、1002…特定部、1003…第1指示部、1004…第2指示部、2001…第2取得部、2002…第2供給部、4001…リソース制御部、4002…ジョブ情報供給部。

Claims (7)

  1. 単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、
    取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部であって、特定する時点から前記使用料金の課金がされる時点までの期間が最も短いリソースを特定する特定部と、
    前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第1指示部と、
    前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第2指示部と
    を備える情報処理装置。
  2. 単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、
    取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部と、
    前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第1指示部と、
    前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第2指示部とを備え、
    前記第1指示部が指示した時点より後の時点において、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が少なくなると、前記特定部が特定したリソースへジョブの取得を指示する情報処理装置。
  3. 前記特定部は、複数のリソースを特定する場合、特定する時点から前記使用料金の課金がされる時点までの期間が短いリソースから順に特定する
    請求項1に記載の情報処理装置。
  4. 前記第2指示部は、処理中のジョブがないことを示す情報として、稼働停止の指示を示す情報を前記特定部が特定したリソースから取得した場合、当該リソースの稼働停止を指示する
    請求項1から請求項3のいずれか一項に記載の情報処理装置。
  5. 前記リソースは、前記第1指示部からの指示を取得した後、処理中のジョブの処理を終了した場合、稼働停止の指示を示す情報を前記第2指示部へ供給する
    請求項4に記載の情報処理装置。
  6. 位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、
    取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部であって、特定する時点から前記使用料金の課金がされる時点までの期間が最も短いリソースを特定する特定部と、
    前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第1指示部と、
    前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第2指示部と
    を有する情報処理装置と、
    前記第1指示部からの指示に応じてジョブの取得を禁止し、処理中のジョブがない場合、処理中のジョブがないことを示す情報を前記情報処理装置へ供給するリソースと、
    前記特定部が特定したリソースの稼働を前記第2指示部からの指示に応じて停止させる制御装置と
    備える情報処理システム。
  7. 単位時間の使用料金が定められている複数のリソースのうち稼働中のリソースの量と、前記複数のリソースを用いて実行される予定のジョブの量を取得する取得部と、
    取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が多い場合、稼働停止の対象となるリソースを特定する特定部と、
    前記特定部が特定したリソースに対し、新たなジョブの取得の禁止を指示する第1指示部と、
    前記特定部が特定したリソースにおいて処理中のジョブがないことを示す情報を取得した場合、前記特定部が特定したリソースの稼働停止を指示する第2指示部とを備え、
    前記第1指示部が指示した時点より後の時点において、取得された前記ジョブの量に対して予め定められた基準に比べて、取得された前記リソースの量が少なくなると、前記特定部が特定したリソースへジョブの取得を指示する情報処理装置と、
    前記第1指示部からの指示に応じてジョブの取得を禁止し、処理中のジョブがない場合、処理中のジョブがないことを示す情報を前記情報処理装置へ供給するリソースと、
    前記特定部が特定したリソースの稼働を前記第2指示部からの指示に応じて停止させる制御装置と
    備える情報処理システム。
JP2017140642A 2017-07-20 2017-07-20 情報処理装置および情報処理システム Active JP6926768B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017140642A JP6926768B2 (ja) 2017-07-20 2017-07-20 情報処理装置および情報処理システム
US15/950,529 US20190026152A1 (en) 2017-07-20 2018-04-11 Information processing apparatus and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017140642A JP6926768B2 (ja) 2017-07-20 2017-07-20 情報処理装置および情報処理システム

Publications (2)

Publication Number Publication Date
JP2019021167A JP2019021167A (ja) 2019-02-07
JP6926768B2 true JP6926768B2 (ja) 2021-08-25

Family

ID=65018684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017140642A Active JP6926768B2 (ja) 2017-07-20 2017-07-20 情報処理装置および情報処理システム

Country Status (2)

Country Link
US (1) US20190026152A1 (ja)
JP (1) JP6926768B2 (ja)

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9414951D0 (en) * 1994-07-25 1994-09-14 British Telecomm Computer system having client-server architecture
US7334228B2 (en) * 2001-07-27 2008-02-19 International Business Machines Corporation Runtime-resource management
US8094804B2 (en) * 2003-09-26 2012-01-10 Avaya Inc. Method and apparatus for assessing the status of work waiting for service
JP4066932B2 (ja) * 2003-11-10 2008-03-26 株式会社日立製作所 予測に基づいた計算機リソース配分方法
JP4060322B2 (ja) * 2005-03-28 2008-03-12 三菱電機株式会社 アプリケーション管理装置およびそのソフトウェアを格納した記憶媒体
JP4732217B2 (ja) * 2006-03-31 2011-07-27 キヤノン株式会社 情報処理装置、管理装置及びそれらの制御方法、プログラム
US9405348B2 (en) * 2008-04-21 2016-08-02 Adaptive Computing Enterprises, Inc System and method for managing energy consumption in a compute environment
US20100042723A1 (en) * 2008-08-12 2010-02-18 Srikanth Sundarrajan Method and system for managing load in a network
JP2010211526A (ja) * 2009-03-10 2010-09-24 Fujitsu Ltd プログラム、コンピュータ及び制御方法
JP5396339B2 (ja) * 2009-10-28 2014-01-22 株式会社日立製作所 リソース制御方法及びリソース制御システム
WO2013078269A1 (en) * 2011-11-22 2013-05-30 Solano Labs, Inc. System of distributed software quality improvement
JP2013186745A (ja) * 2012-03-08 2013-09-19 Fuji Xerox Co Ltd 処理システム及びプログラム
US9531607B1 (en) * 2012-06-20 2016-12-27 Amazon Technologies, Inc. Resource manager
WO2014188642A1 (ja) * 2013-05-22 2014-11-27 日本電気株式会社 スケジュールシステム、スケジュール方法、及び、記録媒体
EP3089031A4 (en) * 2013-12-27 2017-01-04 NTT Docomo, Inc. Management system, virtual communication-function management node, and management method
JP6277827B2 (ja) * 2014-03-31 2018-02-14 富士通株式会社 情報処理装置、スケール管理方法およびプログラム
JP2015219753A (ja) * 2014-05-19 2015-12-07 株式会社日立製作所 情報処理システム及び情報処理方法
JP6423645B2 (ja) * 2014-08-08 2018-11-14 キヤノン株式会社 画像形成装置およびリソース管理方法およびプログラム
US9600337B2 (en) * 2014-09-30 2017-03-21 Nimble Storage, Inc. Congestion avoidance in network storage device using dynamic weights
US9830624B2 (en) * 2014-10-28 2017-11-28 Bau Llc Systems and methods for resource utilization management
US20180295421A1 (en) * 2015-04-30 2018-10-11 Lg Electronics Inc. Digital device and digital device control method
US20180129529A1 (en) * 2016-11-04 2018-05-10 International Business Machines Corporation Resource-dependent automated job suspension/resumption

Also Published As

Publication number Publication date
JP2019021167A (ja) 2019-02-07
US20190026152A1 (en) 2019-01-24

Similar Documents

Publication Publication Date Title
US8717602B2 (en) Cloud computing system, document processing method, and storage medium in which a number of processing units is adjusted based on processing status
US20190065234A1 (en) Network function virtualization management and orchestration apparatus, method, and program
JP6904064B2 (ja) タスク配備プログラム、タスク配備方法、およびタスク配備装置
JP2015144020A5 (ja)
JP2011521564A (ja) マルチベアラ無線データ端末におけるデータ転送のために動的ベアラ選択を行うためのシステム及び方法
JP6372262B2 (ja) 印刷装置、およびプログラム
KR20130085713A (ko) 서버, 연산 처리 방법 및 연산 처리 시스템
JP6926768B2 (ja) 情報処理装置および情報処理システム
JP3953449B2 (ja) タスク管理プログラムおよびタスク制御装置
JP2017162059A (ja) 情報処理装置、制御方法、プログラム
EP2843548A1 (en) Method, system, and program for scheduling jobs in a computing system
JP2018097837A (ja) サービスシステム、その制御方法、およびそのプログラム
CN109189581B (zh) 一种作业调度方法和装置
JP5997659B2 (ja) 分散処理システムおよび分散処理方法
JP7052396B2 (ja) 資料採取サーバ、資料採取システム、資料採取方法および資料採取プログラム
JP2015184909A (ja) 画像処理システム、データ管理方法及びプログラム
JP2014032619A (ja) 情報処理装置、情報処理方法及びプログラム
JP6874594B2 (ja) 電源管理装置,ノード電源管理方法およびノード電源管理プログラム
JP2016178536A (ja) 画像処理装置、プログラム及び制御方法
JP2017037469A (ja) 情報処理システム、優先処理方法、情報処理装置及びプログラム
US20230010895A1 (en) Information processing apparatus, information processing method, and computer-readable recording medium storing information processing program
JP5056346B2 (ja) 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム
JP2014139845A (ja) データ処理システム、そのコンピュータプログラムおよびデータ処理方法
JP2014215765A (ja) 制御装置
JP6957117B2 (ja) 情報処理方法、情報処理システム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210623

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210719

R150 Certificate of patent or registration of utility model

Ref document number: 6926768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150