JP7240348B2 - 計算機システム及びアプリケーションデータの配置制御方法 - Google Patents

計算機システム及びアプリケーションデータの配置制御方法 Download PDF

Info

Publication number
JP7240348B2
JP7240348B2 JP2020039108A JP2020039108A JP7240348B2 JP 7240348 B2 JP7240348 B2 JP 7240348B2 JP 2020039108 A JP2020039108 A JP 2020039108A JP 2020039108 A JP2020039108 A JP 2020039108A JP 7240348 B2 JP7240348 B2 JP 7240348B2
Authority
JP
Japan
Prior art keywords
storage device
application
computer system
data
selection 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
JP2020039108A
Other languages
English (en)
Other versions
JP2021140582A (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 JP2020039108A priority Critical patent/JP7240348B2/ja
Priority to US17/017,955 priority patent/US11204782B2/en
Publication of JP2021140582A publication Critical patent/JP2021140582A/ja
Application granted granted Critical
Publication of JP7240348B2 publication Critical patent/JP7240348B2/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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、計算機システムの構成の変更に伴うアプリケーションデータの配置技術に関する。
IoT(Internet of Things)の活用方法として、クラウドサービスから工場等の現場に配置された機器に至るまで様々な部位でデータ処理を行う分散コンピューティングの形態がある。また、マイクロサービスの進展に伴ってデータ処理を行うアプリケーションは機能毎に細分化されているため、ハードウェア及びOS(Operating System)の種別を問わずアプリケーションを様々なデバイス上で稼働させることができる。細分化されたアプリケーションを稼働させるためには、アプリケーションを実行させるデバイスに、アプリケーションのイメージファイル及び設定ファイル等のデータをダウンロードする必要がある。
本明細書では、イメージファイル及び設定ファイル等、アプリケーションを稼働させる必要なデータを「アプリケーションデータ」と記載する。
産業分野向けIoTを例にした場合、ロボットによるログ収集、PLC(Programmable Logic Controller)による制御、カメラ画像の映像解析による作業内容分析等、多様なアプリケーションが想定される。それぞれのアプリケーションは対象とするデバイスによって動作内容及び学習モデルが異なる。
また、現場のデバイスの配置及び動作内容の変更に伴ってデータ処理を変更する必要が生じる。多品種少量生産が主流となる製造業では、デバイスの構成の変化に伴って、デバイスの稼働及び停止、並びにアプリケーションの変更が頻繁に発生することが想定される。
前述のようなシステムの構成変更に伴ってアプリケーションを変更する必要性が生じた場合、アプリケーションデータを用意する必要がある。アプリケーションデータを適切なストレージ装置に配置し、かつ、適切なタイミングでデバイスにアプリケーションデータをダウンロードしなければ、アプリケーションの稼働までに長時間要し、また、アプリケーションデータのダウンロードにより通信帯域を圧迫する。さらに、利用可能なストレージ装置が存在しない場合、アプリケーションを稼働できない。したがって、システムの動的な変化に追従して、適切なストレージ装置へアプリケーションデータを配置する方法を策定することが重要となる。
データを格納するストレージ装置を決定するための技術として特許文献1に記載の技術が知られている。特許文献1には、「サーバ装置は、データファイルの保管先候補とする複数のオンラインストレージのそれぞれについて、保管されたデータファイルを読み出す際の下り通信料金とデータサイズに基づく保管料に関する情報を記録するデータ記録部21と、データファイルを入力するファイル入力部23と、データファイルに対する予想利用頻度を入力する利用頻度入力部20bと、データファイルの保管先候補とする複数のオンラインストレージ毎に、予想利用頻度が高い場合には下りの通信料金が安いほど有利になり、データファイルのサイズが大きい場合には保管料が安いほど有利となるような条件に基づいて比較値を計算する計算処理部22cとを有する。」ことが記載されている。
特開2011-197939号公報
特許文献1では、費用の観点からオンラインストレージが選択されており、アプリケーションの起動時間、通信帯域、及びアプリケーションの確実な稼働等を考慮していない。したがって、前述したような問題点を解決できない。また、特許文献1では、容量が事実上無制限であるオンラインストレージの利用を想定しているが、IoTを活用する現場ではストレージ容量に制限がある状況も想定される。そのため、特許文献1の技術を適用することができない場合がある。
本発明の目的は、動的な構成変更を伴うシステムにおいて、アプリケーションデータ(イメージファイル及び設定ファイル)の格納に適したストレージ装置を選択する技術を提供することである。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、アプリケーションにしたがって所定の処理を実行する複数のデバイスと、前記アプリケーションを稼働させるためのアプリケーションデータを格納可能な複数のストレージ装置と、少なくとも一つの計算機を含む制御システムと、を備える計算機システムであって、前記制御システムは、前記計算機システムの構成の変更スケジュールを管理するための構成変更スケジュール情報を管理する記憶部と、前記計算機システムの構成の変更に伴って設定する必要があるターゲットアプリケーションの前記アプリケーションデータの配置に適した前記ストレージ装置を選択する選択部と、を有し、前記選択部は、前記構成変更スケジュール情報に基づいて、現在から前記計算機システムの構成の変更時に稼働している前記ストレージ装置を特定し、前記特定されたストレージ装置の中から前記ターゲットアプリケーションのアプリケーションデータを格納する前記ストレージ装置を選択し、前記計算機システムの構成が変更される前に、前記選択されたストレージ装置に前記ターゲットアプリケーションのアプリケーションデータを配置する。
本発明によれば、動的な構成変更を伴うシステムにおいて、アプリケーションデータの格納に適したストレージ装置を選択できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の計算機システムの構成の一例を示す図である。 実施例1の現場システムの構成の一例を示す図である。 実施例1の制御装置の構成の一例を示す図である。 実施例1のユーザ入力部によって提示されるインタフェースの一例を示す図である。 実施例1のユーザ出力部がトポロジ図を提示するためのインタフェースの一例を示す図である。 実施例1のユーザ出力部がトポロジ図を提示するためのインタフェースの一例を示す図である。 実施例1の構成変更スケジュール情報のデータ構造の一例を示す図である。 実施例1の構成変更スケジュール情報のデータ構造の一例を示す図である。 実施例1の構成変更スケジュール情報のデータ構造の一例を示す図である。 実施例1のアプリケーション情報のデータ構造の一例を示す図である。 実施例1のストレージ稼働情報のデータ構造の一例を示す図である。 実施例1の通信環境情報のデータ構造の一例を示す図である。 実施例1の制御装置が実行する処理を説明するフローチャートである。 実施例1の制御装置が実行するストレージ装置選択処理の一例を説明するフローチャートである。 実施例1の制御装置が実行するストレージ装置選択処理の一例を説明するフローチャートである。 実施例1の制御装置が実行するストレージ装置選択処理の一例を説明するフローチャートである。 実施例1の制御装置によって生成された稼働スケジュール情報の一例を示す図である。 実施例1の制御装置によって算出されたアプリケーションデータの予測使用回数の算出結果の一例を示す図である。 実施例1の制御装置によって算出されたスコアの算出結果の一例を示す図である。 実施例1の制御装置によって更新されたストレージ稼働情報の一例を示す図である。 実施例1の制御装置によって更新されたストレージ稼働情報の一例を示す図である。
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
図1は、実施例1の計算機システムの構成の一例を示す図である。
計算機システムは、制御装置100、クラウドシステム101及び工場等の現場システムから構成される。
クラウドシステム101は、少なくとも一つのサーバ102及び少なくとも一つのストレージ装置103を含む。クラウドシステム101は、ネットワーク110を介して、他のクラウドシステム101及び現場システムと接続する。図1に示すクラウドシステム101及び現場システムの数及び接続関係は一例であってこれに限定されない。
ネットワーク110は、例えば、WAN(Wide Area Network)である。なお、本発明は、ネットワーク110の種別に限定されない。また、ネットワーク110の接続方式は有線及び無線のいずれでもよい。
現場システムは、エッジサーバ104、ストレージ装置103、PLC105、及び機器106から構成される。機器106は、例えば、ロボット、検査機、及びカメラ等である。エッジサーバ104、ストレージ装置103、PLC105、及び機器106は、内部ネットワーク111を介して互いに接続される。図1に示す現場システムを構成するエッジサーバ104、ストレージ装置103、PLC105、及び機器106の数及び接続関係は一例であってこれに限定されない。
内部ネットワーク111は、例えば、LAN(Local Area Network)である。なお、本発明は、内部ネットワーク111の種別に限定されない。また、内部ネットワーク111の接続方式は有線及び無線のいずれでもよい。
クラウドシステム101及び現場システムではアプリケーションが稼働する。複数の種別のアプリケーションを稼働させる必要なデータ(アプリケーションデータ)はストレージ装置103に格納され、サーバ102、エッジサーバ104、PLC105、及び機器106の各々にダウンロードされ、実行される。本実施例では、アプリケーションデータは、イメージファイル及び設定ファイルであるものとする。
以下の説明では、アプリケーションを稼働させることが可能なサーバ102、エッジサーバ104、PLC105、及び機器106を区別しない場合、「デバイス」と記載する。
デバイスは、図示しない演算装置、メモリ、及び通信装置を有する。なお、デバイスは、他のハードウェアを有してもよい。
制御装置100は、アプリケーションデータの配置を制御し、また、計算機システムの構成の変更スケジュールにしたがって計算機システムの構成を変更する。制御装置100の詳細な構成については図3を用いて説明する。本実施例では、現場システムの構成の変更を想定している。以下の説明では、計算機システムの構成の変更スケジュールを単に変更スケジュールと記載する。
なお、図1の各構成の記号、A、B、A1、B1、st1等は各構成の識別情報を示す。特定の構成を示す場合、構成の名称及び符号の後に、構成の識別情報を付すものとする。例えば、識別情報が「st1」のストレージ装置103をストレージ装置103(st1)と記載する。
図2は、実施例1の現場システムの構成の一例を示す図である。
現場システムは、少なくとも一つの機能クラスタ200を構成する。機能クラスタ200は、特定の作業を実現するデバイスのグループである。機能クラスタ200の一例としては、工場IoTにおける一つのラインに属するデバイスのグループが挙げられる。機能クラスタ200は、ネットワーク110を介して他の機能クラスタ200と接続する。なお、ネットワーク110は内部ネットワーク111でもよい。
デバイスの入替え及び処理内容等の変更に伴って、機能クラスタ200の構成は変更される。例えば、デバイスの入替え及び処理内容等の変更に伴って、デバイスの数が増減する。また、デバイスが所属する機能クラスタ200が変更する。
図3は、実施例1の制御装置100の構成の一例を示す図である。
制御装置100は、プロセッサ301、メモリ302、ネットワークインタフェース303、入力装置304、及び出力装置305を有する。各ハードウェアはバスを介して互いに接続される。
プロセッサ301は、メモリ302に格納されるプログラムを実行する。プロセッサ301がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ301が機能部を実現するプログラムを実行していることを示す。
メモリ302は、プロセッサ301が実行するプログラム及びプログラムが使用する情報を格納する。また、メモリ302は、プログラムが使用するワークエリアを含む。メモリ302に格納されるプログラム及び情報については後述する。
ネットワークインタフェース303は、外部装置とネットワークを介して通信するためのインタフェースである。
入力装置304は、情報及びコマンド等を入力するための装置である。入力装置304は、例えば、キーボード、マウス、及びタッチパネル等である。
出力装置305は、情報及び処理結果等を出力するための装置である。出力装置305は、例えば、ディスプレイ等である。
ここで、メモリ302に格納されるプログラム及び情報について説明する。メモリ302は、ユーザ入力部311、デバイス監視部312、ストレージ監視部313、記憶部314、アプリケーション制御部315、デバイス制御部316、ストレージ装置選択部317、データ配置実行部318、及びユーザ出力部319を実現するプログラムを格納する。また、メモリ302は、記憶部314によって管理される情報として、構成変更スケジュール情報331、アプリケーション情報332、ストレージ稼働情報333、及び通信環境情報334を格納する。
なお、図3の矢印は、データ及びコマンド等の入出力の流れを示す。
構成変更スケジュール情報331は、計算機システムの構成の変更スケジュールを管理するための情報である。ここで、計算機システムの構成の変更は、デバイスの追加、削除、及び入替え、機能クラスタ200のデバイスの構成の変更、並びに、アプリケーションの追加、削除、及び更新を含む概念である。構成変更スケジュール情報331のデータ構造の詳細は図6A、図6B、及び図6Cを用いて説明する。
アプリケーション情報332は、アプリケーションデータを管理するための情報である。アプリケーション情報332のデータ構造の詳細は図7を用いて説明する。
ストレージ稼働情報333は、ストレージ装置103に格納されるアプリケーションデータ及び容量等、ストレージ装置103の稼働状態を管理するための情報である。ストレージ稼働情報333のデータ構造の詳細は図8を用いて説明する。
通信環境情報334は、ストレージ装置103間の通信環境を管理するための情報である。通信環境情報334のデータ構造の詳細は図9を用いて説明する。
記憶部314は、構成変更スケジュール情報331、アプリケーション情報332、ストレージ稼働情報333、及び通信環境情報334を管理する。
ユーザ入力部311は、各種情報を入力するための入力インタフェースを提供する。ユーザ入力部311は、イメージファイル入力部321、設定ファイル入力部322、作業内容入力部323、及びフロー実行設定入力部324を含む。
イメージファイル入力部321は、イメージファイルを入力するためのインタフェースを提供する。設定ファイル入力部322は、設定ファイルを入力するためのインタフェースを提供する。作業内容入力部323は、現場システムにおいて実行される作業内容を入力するためのインタフェースを提供する。より具体的には、作業内容入力部323は、デバイスの稼働時刻、稼働させるアプリケーション、及び機能クラスタ200の構成等、特定の作業を実現する機能クラスタ200の定義情報を入力するためのインタフェースを提供する。作業内容に合わせて、計算機システムの構成が動的に変更される。フロー実行設定入力部324は、制御装置100が実行する処理フローを規定するパラメータを入力するためのインタフェースを提供する。
デバイス監視部312は、デバイス制御部316を介してデバイスの稼働状態を監視する。デバイス監視部312は、ユーザ入力部311を介して入力された作業内容及びデバイスの稼働状態に基づいて変更スケジュールを生成し、構成変更スケジュール情報331に変更スケジュールを登録する。また、デバイス監視部312は、ユーザ入力部311を介して入力された作業内容に基づいて、各アプリケーションのアプリケーションデータに関する情報を抽出し、アプリケーション情報332に登録する。
ストレージ監視部313は、ストレージ装置103の稼働状態を監視し、監視結果に基づいてストレージ稼働情報333を更新する。また、ストレージ監視部313は、ストレージ装置103間の通信品質を計測し、計測結果に基づいて通信環境情報334を更新する。
アプリケーション制御部315は、構成変更スケジュール情報331に基づいて、アプリケーションを稼働又は終了させるデバイス、及びアプリケーションの起動時刻又は終了時刻を特定し、特定された情報をデバイス制御部316に出力する。
デバイス制御部316は、アプリケーション制御部315から入力された情報に基づいて、デバイスの稼働及び停止、並びに、アプリケーションの稼働及び終了を制御する。
ストレージ装置選択部317は、アプリケーションデータを配置するストレージ装置103を選択する。ストレージ装置選択部317は、選択されたストレージ装置103の情報を含む選択結果をデータ配置実行部318に出力する。
データ配置実行部318は、ストレージ装置選択部317から入力された選択結果に基づいて、アプリケーションデータを選択されたストレージ装置103に配置する。
ユーザ出力部319は、各種情報を出力するためのインタフェースを提供する。ユーザ出力部319は、トポロジ図表示部341及び管理情報表示部342を含む。
トポロジ図表示部341は、デバイス間の接続等を示すトポロジ図を表示する。管理情報表示部342は、記憶部314が管理する各種情報を表示する。
なお、制御装置100が有する機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。例えば、デバイス監視部312及びストレージ監視部313を一つの監視部としてもよいし、デバイス制御部316及びアプリケーション制御部315を一つの制御部としてもよい。また、データ配置実行部318にストレージ装置選択部317を含めてもよい。
なお、制御装置100は仮想的な計算機を用いて実現してもよい。また、複数の計算機を含むシステムを用いて制御装置100が有する機能を実現してもよい。
図4は、実施例1のユーザ入力部311によって提示されるインタフェースの一例を示す図である。
ユーザ入力部311は、出力装置305に入力画面400を提示する。入力画面400は、イメージファイル欄401、設定ファイル欄402、作業内容欄403、及びフロー実行設定欄404を含む。
イメージファイル欄401は、イメージファイル入力部321によって提示され、イメージファイルを設定するための欄である。イメージファイル欄401は、入力欄411及びアップロードボタン412を含む。入力欄411は、イメージファイルを入力する欄である。アップロードボタン412は、イメージファイルのアップロードを指示するボタンである。
ユーザがアップロードボタン412を操作した場合、入力欄411に入力されたイメージファイルが計算機システムにアップロードされる。なお、アップロードされたイメージファイルの初期の配置場所は、制御装置100が任意に決定してもよいし、予め設定してもよい。
設定ファイル欄402は、設定ファイル入力部322によって提示され、設定ファイルを設定するための欄である。設定ファイル欄402は、入力欄421及びアップロードボタン422を含む。入力欄421は、設定ファイルを入力する欄である。アップロードボタン422は、設定ファイルのアップロードを指示するボタンである。
ユーザがアップロードボタン422を操作した場合、入力欄421に入力された設定ファイルが計算機システムにアップロードされる。なお、アップロードされた設定ファイルの初期の配置場所は、制御装置100が任意に決定してもよいし、予め設定してもよい。
作業内容欄403は、作業内容入力部323によって提示され、作業内容を設定するための欄である。作業内容欄403は、入力欄431及びアップロードボタン432を含む。入力欄431は、作業内容を示すデータを入力する欄である。アップロードボタン432は、作業内容を示すデータのアップロードを指示するボタンである。
ユーザがアップロードボタン432を操作した場合、入力欄431に入力された作業内容を示すデータが制御装置100にアップロードされる。
なお、作業内容を示すデータには、稼働させるデバイスの識別情報及び起動時刻、停止させるデバイスの識別情報及び停止時刻、稼働させるアプリケーションの識別情報、終了するアプリケーションの識別情報、並びに、デバイスが所属する機能クラスタ200の識別情報等が含まれる。
フロー実行設定欄404は、フロー実行設定入力部324によって提示され、処理フローを規定する各種パラメータを設定するための欄である。フロー実行設定欄404は、入力欄441、442、443及び適用ボタン444を含む。
入力欄441は、制御装置100の処理フローの実行周期を入力する欄である。入力欄442は、ストレージ装置選択処理の開始契機を規定する値(ストレージ選択時間)を入力する欄である。すなわち、入力欄442に入力される値は、アプリケーションの起動時刻からどの程度前にストレージ装置選択処理を開始するかを規定するためのパラメータである。入力欄443は、ストレージ装置選択処理の対象となる変更スケジュールの期間を規定する値(評価期間)を入力する欄である。すなわち、入力欄443に入力される値は、現時刻からどれだけ先の変更スケジュールを考慮するかを規定するためのパラメータである。適用ボタン444は、入力欄441、442、443に入力された値の設定を指示するボタンである。
ユーザが適用ボタン444を操作した場合、入力欄441、442、443に入力された値が制御装置100にアップロードされる。
以下の説明では、現時刻及び入力欄443の値によって指定される時間範囲を「ターゲット時間範囲」と記載する。
図5A及び図5Bは、実施例1のユーザ出力部319がトポロジ図を提示するためのインタフェースの一例を示す図である。
ユーザ出力部319のトポロジ図表示部341は、出力装置305に表示画面500を提示する。表示画面500は、時間表示欄501及びトポロジ図表示欄502を含む。
時間表示欄501は、計算機システムの構成がトポロジ図表示欄502に表示されるトポロジ図に対応する構成である時間を表示する欄である。
トポロジ図表示欄502は、計算機システムの構成を示すトポロジ図を表示する欄である。トポロジ図表示欄502の太枠の時刻は、機能クラスタ200の構成が変更された時刻を表す。
なお、トポロジ図表示欄502には、デバイス上で稼働するアプリケーション、及びストレージ装置103に格納されるアプリケーションデータの一覧等が表示されてもよい。
なお、トポロジ図表示欄502には、特定のユーザの現場システムの構成を示すトポロジ図のみを表示してもよいし、計算機システム全体の構成を示すトポロジ図を表示してもよい。また、トポロジ図表示欄502には、計算機システムの構成が変更された部分の構成のみを示すトポロジ図を表示してもよい。
図6A、図6B、及び図6Cは、実施例1の構成変更スケジュール情報331のデータ構造の一例を示す図である。
構成変更スケジュール情報331は、時刻601、デバイス602、アプリケーション603、所属機能クラスタ604、及び利用ストレージ装置605を含むエントリを格納する。
時刻601は、計算機システムの構成が変更される時刻を格納するフィールドである。
デバイス602は、変更対象のデバイスの識別情報を格納するフィールドである。
アプリケーション603は、稼働させるアプリケーションの識別情報を格納するフィールドである。なお、デバイスを停止させる場合、アプリケーション603にはアプリケーションの識別情報の代わりに「停止」が格納される。
所属機能クラスタ604は、デバイスが所属する機能クラスタ200の識別情報を格納するフィールドである。なお、デバイスを停止させる場合、所属機能クラスタ604は空欄となる。
利用ストレージ装置605は、機能クラスタ200が使用するストレージ装置103の識別情報を格納するフィールドである。本明細書では、利用ストレージ装置605に設定されたストレージ装置103を「利用ストレージ装置103」と記載する。
通常、利用ストレージ装置605には、機能クラスタ200に含まれるストレージ装置103であって、代表となるストレージ装置103の識別情報が設定される。ただし、ユーザが作業内容にて任意のストレージ装置103を利用ストレージ装置103として指定してもよい。
本明細書では、構成変更スケジュール情報331の一つのエントリを「スケジュールデータ」と記載する。
図7は、実施例1のアプリケーション情報332のデータ構造の一例を示す図である。
アプリケーション情報332は、アプリケーション701、使用ファイル702、及び参照ストレージ装置703を含むエントリを格納する。
アプリケーション701は、アプリケーションの識別情報を格納するフィールドである。
使用ファイル702は、アプリケーションのアプリケーションデータ(イメージファイル及び設定ファイル)の識別情報を格納するフィールドである。使用ファイル702は、アプリケーションデータの数だけ行を含む。
参照ストレージ装置703は、使用ファイル702に対応するアプリケーションデータをダウンロード時に参照されるストレージ装置103の識別情報を格納するフィールドである。参照ストレージ装置703は、アプリケーションデータの数だけ行を含む。
図8は、実施例1のストレージ稼働情報333のデータ構造の一例を示す図である。
ストレージ稼働情報333は、ストレージ装置801、格納ファイル802、及び空き容量803を含むエントリを格納する。
ストレージ装置801は、ストレージ装置103の識別情報を格納するフィールドである。
格納ファイル802は、ストレージ装置103に格納されるアプリケーションデータの識別情報を格納するフィールドである。
空き容量803は、ストレージ装置103の空き容量を格納するフィールドである。
図9は、実施例1の通信環境情報334のデータ構造の一例を示す図である。
通信環境情報334は、マトリクス型のデータである。行及び列には、ストレージ装置103の識別情報が設定される。セルには、行及び列の組合せに対応するストレージ装置103間の通信環境の評価値が格納される。例えば、i行j列のセルには、iに対応するストレージ装置103からjに対応するストレージ装置103の方向の通信評価値が格納される。なお、対角成分には評価値が設定されていない。
利用可能な通信帯域、データ転送時間、物理的な距離、ホップ数、及び通信料金の少なくともいずれかを「通信環境」の評価値として用いることができる。利用可能な通信帯域が広い場合、データ転送時間が短い場合、物理的な距離が短い場合、ホップ数が小さい場合、又は通信料金が低い場合、通信環境が良好であることを示す。
本実施例では、計算機システムの構成の頻繁な変更に伴う高速なアプリケーションの稼働を実現するために、データ転送時間を通信環境の評価値として用いるものとする。また、本実施例では、i行j列のセル及びj行i列のセルには同じ値が格納されるものとする。ストレージ装置103(st2)及びストレージ装置103(st3)は、同一ネットワーク内に存在するため、当該ストレージ装置103間のデータ転送時間は短い。一方、ストレージ装置103(st2)及びストレージ装置103(st6)は、異なるネットワークに存在するため、当該ストレージ装置103間のデータ転送時間は長い。
図10は、実施例1の制御装置100が実行する処理を説明するフローチャートである。
制御装置100は、入力画面400を介して設定された処理フローの実行周期にしたがって、以下で説明する処理を周期的に実行する。
制御装置100のデバイス監視部312及びストレージ監視部313は、デバイス及びストレージ装置103を監視し、監視結果に基づいて、構成変更スケジュール情報331、アプリケーション情報332、ストレージ稼働情報333、及び通信環境情報334を更新する(ステップS101)。
例えば、ストレージ監視部313は、ストレージ装置103間で計測用のデータを転送させ、データの転送速度を計測する。ストレージ監視部313は、計測結果に基づいて通信環境情報334を更新する。なお、通信環境情報334には、正規化された評価値が設定されるものとする。
次に、制御装置100は、ストレージ装置選択処理の実行契機を検知したか否かを判定する(ステップS102)。
具体的には、ストレージ装置選択部317は、現時刻にストレージ選択時間を加算して、判定時刻を算出する。ストレージ装置選択部317は、構成変更スケジュール情報331を参照して、時刻601に、判定時刻より前の時刻が格納されるスケジュールデータを検索する。前述の条件を満たすスケジュールデータが存在する場合、ストレージ装置選択部317は、ストレージ装置選択処理の実行契機を検知したと判定する。
なお、既にストレージ装置選択処理の処理対象となったスケジュールデータは、前述の検索処理から除外されるようにしてもよい。
ストレージ装置選択処理の実行契機を検知していない場合、制御装置100はステップS104に進む。
ストレージ装置選択処理の実行契機を検知した場合、制御装置100はストレージ装置選択処理を実行する(ステップS103)。ストレージ装置選択処理が終了した後、制御装置100はステップS104に進む。ストレージ装置選択処理の詳細は図11A、図11B、及び図11Cを用いて説明する。
ステップS104では、制御装置100は、計算機システムの構成変更処理の実行契機を検知したか否かを判定する(ステップS104)。
具体的には、アプリケーション制御部315は、構成変更スケジュール情報331を参照して、時刻601に、現時刻より前の時刻が格納されるスケジュールデータを検索する。前述の条件を満たすスケジュールデータが存在する場合、アプリケーション制御部315は、計算機システムの構成変更処理の実行契機を検知したと判定する。
計算機システムの構成変更処理の実行契機を検知していない場合、制御装置100はステップS106に進む。
計算機システムの構成変更処理の実行契機を検知した場合、制御装置100は計算機システムの構成変更処理を実行する(ステップS105)。計算機システムの構成変更処理が終了した後、制御装置100はステップS106に進む。
計算機システムの構成変更処理では、デバイス制御部316が、アプリケーション制御部315によって検索されたスケジュールデータにしたがって、デバイスの起動及び停止、並びに、アプリケーションの起動及び終了を制御する。アプリケーションを稼働させる場合、デバイス制御部316は、参照ストレージ装置703に対応するストレージ装置103からアプリケーションデータをデバイスにダウンロードするように制御する。計算機システムの構成が変更された後、使用されたスケジュールデータは構成変更スケジュール情報331から削除される。
なお、計算機システムの構成変更処理は公知の技術であるため、詳細な説明は省略する。
ステップS106では、制御装置100は、処理結果を出力し(ステップS106)、その後、一連の処理を終了する。
具体的には、ユーザ出力部319が、トポロジ図及び更新された各種情報を提示する。なお、ストレージ選択処理及び計算機システムの構成変更処理が実行されていない場合、ステップS106の処理は省略してもよい。
図11A、図11B、及び図11Cは、実施例1の制御装置100が実行するストレージ装置選択処理の一例を説明するフローチャートである。
ストレージ装置選択部317は、ステップS102において検索されたスケジュールデータに基づいて、稼働させるアプリケーションのアプリケーションデータを特定する(ステップS201)。具体的には、以下のような処理が実行される。
(S201-1)ストレージ装置選択部317は、検索されたスケジュールデータを一つ選択し、スケジュールデータのアプリケーション603から値を取得する。
(S201-2)ストレージ装置選択部317は、選択したスケジュールデータのアプリケーション603の値が「停止」であるか否かを判定する。選択したスケジュールデータのアプリケーション603の値が「停止」である場合、ストレージ装置選択部317は(S201-5)に進む。
(S201-3)選択したスケジュールデータのアプリケーション603の値が「停止」ではない場合、ストレージ装置選択部317は、アプリケーション情報332を参照して、アプリケーション701に、スケジュールデータから取得したアプリケーションの識別情報が設定されるエントリを検索する。
(S201-4)ストレージ装置選択部317は、検索されたエントリの使用ファイル702及び参照ストレージ装置703から、アプリケーションデータ及びストレージ装置103の組を取得する。ストレージ装置選択部317は、取得した組を評価リストに登録する。その後、ストレージ装置選択部317は(S201-5)に進む。
(S201-5)ストレージ装置選択部317は、検索された全てのスケジュールデータについて処理が完了したか否かを判定する。検索された全てのスケジュールデータについて処理が完了していない場合、ストレージ装置選択部317は(S201-1)に戻り、同様の処理を実行する。検索された全てのスケジュールデータについて処理が完了した場合、ストレージ装置選択部317はステップS201の処理を終了する。
なお、検索されたスケジュールデータが複数の機能クラスタ200の構成変更に関するスケジュールデータである場合、機能クラスタ200単位で(S201-1)から(S201-5)までの処理が実行される。すなわち、機能クラスタ200毎に評価リストが生成される。この場合、各機能クラスタ200についてステップS202からステップS214までの処理が実行される。ここでは、説明の簡単のために、一つの機能クラスタ200の評価リストが生成されたものとする。
以上がステップS201の処理の説明である。
次に、ストレージ装置選択部317は、配置を変更する必要があるアプリケーションデータが存在するか否かを判定する(ステップS202)。具体的には、以下のような処理が実行される。
(S202-1)ストレージ装置選択部317は、評価リストから一つの組を選択する。
(S202-2)ストレージ装置選択部317は、検索されたスケジュールデータの利用ストレージ装置605に基づいて、選択された組のアプリケーションデータに対応するアプリケーションを稼働させるデバイスが所属する機能クラスタ200の利用ストレージ装置103を特定する。
(S202-3)ストレージ装置選択部317は、選択された組のストレージ装置103と、利用ストレージ装置103とが一致するか否かを判定する。選択された組のストレージ装置103と、利用ストレージ装置103とが一致する場合、ストレージ装置選択部317は(S202-5)に進む。
(S202-4)選択された組のストレージ装置103と、利用ストレージ装置103とが一致しない場合、ストレージ装置選択部317は、移動リストに選択された組を登録する。その後、ストレージ装置選択部317は(S202-5)に進む。
(S202-5)ストレージ装置選択部317は、評価リストの全ての組について処理が完了したか否かを判定する。評価リストの全ての組について処理が完了していない場合、ストレージ装置選択部317は(S202-1)に戻り、同様の処理を実行する。
(S202-6)評価リストの全ての組について処理が完了した場合、ストレージ装置選択部317は移動リストが空であるか否かを判定する。移動リストが空である場合、ストレージ装置選択部317は、配置を変更する必要があるアプリケーションデータが存在しないと判定する。移動リストが空ではない場合、ストレージ装置選択部317は、配置を変更する必要があるアプリケーションデータが存在すると判定する。
以上がステップS202の処理の説明である。
配置を変更する必要があるアプリケーションデータが存在しない場合、ストレージ装置選択部317はストレージ装置選択処理を終了する。
配置を変更する必要があるアプリケーションデータが存在する場合、ストレージ装置選択部317は、移動リストのループ処理を開始する(ステップS203)。このとき、ストレージ装置選択部317は、移動リストから一つの組を選択する。
次に、ストレージ装置選択部317は、候補ストレージ装置103を特定する(ステップS204)。具体的には、以下のような処理が実行される。
(S204-1)ストレージ装置選択部317は、ストレージ装置103の稼働状態の監視結果及び検索されたスケジュールデータに基づいて、利用ストレージ装置103の稼働スケジュール情報を生成する。
なお、稼働スケジュール情報に含めるストレージ装置103は、ホップ数等に基づいて絞り込みを行ってもよい。
(S204-2)ストレージ装置選択部317は、稼働スケジュール情報を参照して、現在稼働し、かつ、計算機システムの構成変更処理の開始時刻において稼働している利用ストレージ装置103を候補ストレージ装置103として特定する。ストレージ装置選択部317は、特定された利用ストレージ装置103の識別情報をストレージ装置リストに登録する。
以上がステップS204の処理の説明である。
次に、ストレージ装置選択部317は、候補ストレージ装置103が存在するか否かを判定する(ステップS205)。
具体的には、ストレージ装置選択部317は、ストレージ装置リストが空であるか否かを判定する。ストレージ装置リストが空である場合、ストレージ装置選択部317は、候補ストレージ装置103が存在しないと判定する。
候補ストレージ装置103が存在しない場合、ストレージ装置選択部317はステップS211に進む。
候補ストレージ装置103が存在する場合、ストレージ装置選択部317は、アプリケーションデータをダウンロードするデバイスが所属する機能クラスタ200の利用ストレージ装置103を特定し、利用ストレージ装置103毎に、選択された組のアプリケーションデータの予測使用回数を算出する(ステップS206)。具体的には、以下のような処理が実行される。
(S206-1)ストレージ装置選択部317は、検索されたスケジュールデータ及びターゲット時間範囲に基づいて、ターゲット時間範囲において選択された組のアプリケーションデータをダウンロードするデバイスが所属する機能クラスタ200の利用ストレージ装置103を特定する。
(S206-2)ストレージ装置選択部317は、利用ストレージ装置103を一つ選択する。
(S206-3)ストレージ装置選択部317は、利用ストレージ装置103を含む機能クラスタ200において、ターゲット時間範囲に、選択された組のアプリケーションデータに対応するアプリケーションを稼働させるデバイスの数を、選択された組のアプリケーションデータの予測使用回数として算出する。
(S206-4)ストレージ装置選択部317は、特定された全ての利用ストレージ装置103について処理が完了したか否かを判定する。特定された全ての利用ストレージ装置103について処理が完了していない場合、ストレージ装置選択部317は(S206-2)に戻り、同様の処理を実行する。特定された全ての利用ストレージ装置103について処理が完了した場合、ストレージ装置選択部317はステップS206の処理を終了する。
以上がステップS206の処理の説明である。
次に、ストレージ装置選択部317は、候補ストレージ装置103毎に、候補ストレージ装置103へのアプリケーションデータの配置の適格性を評価するためのスコアを算出する(ステップS207)。
例えば、ストレージ装置選択部317は、式(1)に基づいて、候補ストレージ装置103のスコアを算出する。
Figure 0007240348000001
ここで、添字iは、スコアの算出対象となる候補ストレージ装置103の識別情報である。添字jは、ステップS206において特定された利用ストレージ装置103の識別情報である。r_iは、添字iに対応する候補ストレージ装置103のスコアである。n_jは、添字jに対応する利用ストレージ装置103におけるアプリケーションデータの予測使用回数を表す。x_jiは、添字jに対応する利用ストレージ装置103から添字iに対応する候補ストレージ装置103の方向の通信環境の評価値を表す。
上記数式では、ステップS206において特定された利用ストレージ装置103に1からNまでの識別情報が付与されているものとする。Nは任意の自然数である。
データ転送速度のみに着目したスコアの場合、データ転送速度が短いストレージ装置103が優先的に選択されることになる。しかし、データ転送速度は短いが、あまり使用されないストレージ装置103に格納するのは効率的でない可能性がある。そこで、本実施例では、ストレージ装置103のターゲット時間範囲におけるアプリケーションデータの予測使用回数を加味したスコアを用いている。
なお、前述したスコアの算出方法は一例であってこれに限定されない。
次に、ストレージ装置選択部317は、スコアに基づいて、選択された組のアプリケーションデータの配置先となるストレージ装置103を選択する(ステップS208)。
例えば、ストレージ装置選択部317は、スコアが最も小さい候補ストレージ装置103を選択する。
次に、ストレージ装置選択部317は、選択されたストレージ装置103に、選択された組のアプリケーションデータを配置できるか否かを判定する(ステップS209)。
具体的には、選択されたストレージ装置103の空き容量が選択された組のアプリケーションデータのデータ量より大きい否かが判定される。選択されたストレージ装置103の空き容量は、ストレージ稼働情報333から取得できる。また、アプリケーションデータのデータ量は、当該アプリケーションデータを格納するストレージ装置103に問い合わせることによって取得できる。
選択されたストレージ装置103に、選択された組のアプリケーションデータを配置できる場合、ストレージ装置選択部317は、データ配置実行部318に、選択されたストレージ装置103への選択された組のアプリケーションデータの配置を指示する(ステップS210)。その後、ストレージ装置選択部317はステップS211に進む。
このとき、ストレージ装置選択部317は、処理結果に基づいて、アプリケーション情報332の参照ストレージ装置703を更新し、また、ストレージ稼働情報333のストレージ装置801の格納ファイル802及び空き容量803を更新する。
選択されたストレージ装置103に、選択された組のアプリケーションデータを配置できない場合、ストレージ装置選択部317は、選択されたストレージ装置103に削除可能なアプリケーションデータが存在するか否かを判定する(ステップS212)。
具体的には、ストレージ装置選択部317は、ストレージ稼働情報333及び検索されたスケジュールデータに基づいて、選択されたストレージ装置103に格納されるアプリケーションデータの中から、ターゲット時間範囲において稼働しないアプリケーションを特定する。ストレージ装置選択部317は、特定されたアプリケーションのアプリケーションデータを、削除可能なアプリケーションデータとして特定する。
選択されたストレージ装置103に削除可能なアプリケーションデータが存在する場合、ストレージ装置選択部317は、データ配置実行部318に選択されたストレージ装置103から当該アプリケーションデータの削除を指示する(ステップS213)。その後、ストレージ装置選択部317は、ステップS209に戻り、同様の処理を実行する。
このとき、ストレージ装置選択部317は、処理結果に基づいて、アプリケーション情報332の参照ストレージ装置703を更新し、また、ストレージ稼働情報333のストレージ装置801の格納ファイル802及び空き容量803を更新する。
選択されたストレージ装置103に削除可能なアプリケーションデータが存在しない場合、ストレージ装置選択部317は、ストレージ装置リストから選択されたストレージ装置103を削除する(ステップS214)。その後、ストレージ装置選択部317は、ステップS205に戻り、同様の処理を実行する。
ステップS211では、ストレージ装置選択部317は、移動リストの全ての組について処理が完了したか否かを判定する(ステップS211)。
移動リストの全ての組について処理が完了していない場合、ストレージ装置選択部317は、ステップS203に戻り、同様の処理を実行する。
移動リストの全ての組について処理が完了した場合、ストレージ装置選択部317はストレージ装置選択処理を終了する。
次に、具体的なストレージ装置選択処理の流れを説明する。ここでは、以下のような前提を想定する。
(前提1)計算機システムは、図1に示すような構成であるものとする。
(前提2)ユーザは、ユーザ入力部311を介して、ストレージ装置103(st1)に各アプリケーションのアプリケーションデータを格納しているものする。アプリケーションデータは、ストレージ装置選択処理によって適切なストレージ装置103に配置される。ユーザは、ユーザ入力部311を介して、処理フローの実行周期を「1分」、ストレージ選択時間を「15分」、評価期間を「180分」に設定しているものとする。
(前提3)構成変更スケジュール情報331には、図6A、図6B、及び図6Cに示すようなスケジュールデータが格納されているものとする。アプリケーション情報332には、図7に示すようなエントリが格納されているものとする。ストレージ稼働情報333には、図8に示すようなエントリが格納されているものとする。通信環境情報334には、図9に示すような値が設定されているものとする。
処理フローの実行周期は「1分」であるため、制御装置100は、1分間隔で、図10に示す処理を実行する。構成変更スケジュール情報331に格納されるスケジュールデータの中で最も早いスケジュール時刻は「12:00」であり、また、ストレージ選択時間は「15分」であるため、現在の時刻が「11:45」の場合、ストレージ選択処理が実行される。このとき、時刻601が「12:00」であるスケジュールデータが取得される。また、ターゲット時間範囲は「11:45」から「14:45」である。
以下では、機能クラスタ200(A)のスケジュールデータを一例として説明する。
ステップS201では、ストレージ装置選択部317は、機能クラスタ200(A)で稼働させるアプリケーションが「機能1」、「機能2」、「機能3」であることを特定する。また、ストレージ装置選択部317は、「機能1」のアプリケーションデータが「設定ファイルa」、「設定ファイルb」、及び「イメージファイルA」であること、「機能2」のアプリケーションデータが「設定ファイルc」及び「イメージファイルB」であること、「機能3」のアプリケーションデータが「設定ファイルa」、「設定ファイルd」、及び「イメージファイルC」であることを特定する。ストレージ装置選択部317は、アプリケーションデータと、アプリケーションデータを格納するストレージ装置103とから構成される組を評価リストに登録する。
ステップS202では、ストレージ装置選択部317は、機能クラスタ200(A)の利用ストレージ装置103(st2)に格納されていないアプリケーションデータが存在するか否かを判定する。この場合、ストレージ装置選択部317は、「設定ファイルd」及び「イメージファイルC」が利用ストレージ装置103(st2)に格納されていないと判定する。このとき、ストレージ装置選択部317は、移動リストに「設定ファイルd」及び「イメージファイルC」の各々の組を登録する。
ループ処理では、ストレージ装置選択部317は、「設定ファイルd」及び「イメージファイルC」の各々について処理が実行される。
まず、「設定ファイルd」のループ処理について説明する。
ステップS204では、ストレージ装置選択部317は、図12に示すような稼働スケジュール情報を生成する。横軸は時刻を示し、縦軸はストレージ装置103を示す。斜線部分は停止状態を示す。
ストレージ装置選択部317は、「11:45」及び「12:00」に稼働しているストレージ装置103を候補ストレージ装置103として特定する。ここでは、ストレージ装置103(st1)、ストレージ装置103(st2)、ストレージ装置103(st4)、ストレージ装置103(st5)が候補ストレージ装置103として特定され、ストレージ装置リストに登録される。
ステップS205では、判定結果がYESとなるため、ストレージ装置選択部317はステップS206に進む。
ステップS206では、ストレージ装置選択部317は、ストレージ装置103(st2)及びストレージ装置103(st4)を特定し、各ストレージ装置103におけるアプリケーションデータの予測使用回数を算出する。ここでは、図13に示すような結果が出力されるものとする。
ステップS207では、ストレージ装置選択部317は、式(1)に基づいて、ストレージ装置103(st1)、ストレージ装置103(st2)、ストレージ装置103(st4)、ストレージ装置103(st5)のスコアを算出する。なお、アプリケーションデータの予測使用回数が算出されていない場合、n_jは「0」とする。ここでは、図14に示すような結果が出力される。
ステップS208では、ストレージ装置選択部317は、スコアが最小であるストレージ装置103を選択する。図14に示すスコアの場合、ストレージ装置103(st2)が選択される。
ステップS209では、ストレージ装置選択部317は、ストレージ装置103(st2)の空き容量が設定ファイルdのデータ量より大きいか否かを判定する。ここでは、設定ファイルdのデータ量が20KBとする。この場合、ストレージ装置103(st2)の空き容量は1.17GBであるため、判定結果はYESとなる。
ステップS210では、ストレージ装置選択部317は、データ配置実行部318に、ストレージ装置103(st2)への設定ファイルdの配置を指示する。この結果、ストレージ稼働情報333は図15Aのように更新される。
次に、「イメージファイルC」のループ処理について説明する。
ステップS204からステップS208の処理は前述した処理と同一であるため説明を省略する。
ステップS209では、ストレージ装置選択部317は、ストレージ装置103(st2)の空き容量がイメージファイルCのデータ量より大きいか否かを判定する。ここでは、イメージファイルCのデータ量が1.35GBとする。この場合、ストレージ装置103(st2)の空き容量は1.17GBであるため、判定結果はNOとなる。
ステップS212では、ストレージ装置選択部317は、ストレージ装置103(st2)に格納されるアプリケーションデータの中から、ターゲット時間範囲において稼働しないアプリケーションのアプリケーションデータを特定する。ここでは、イメージファイルEが削除可能なアプリケーションデータとして特定されたものとする。
ステップS213では、ストレージ装置選択部317は、データ配置実行部318に、ストレージ装置103(st2)からイメージファイルEの削除を指示する。この結果、ストレージ稼働情報333は図15Bのように更新される。
イメージファイルEが削除された後、ステップS209の判定結果はYESとなるため、ストレージ装置選択部317は、データ配置実行部318に、ストレージ装置103(st2)へのイメージファイルCの配置を指示する。
以上のようなストレージ装置選択処理が実行された後、時刻が「12:00」になった場合、計算機システムの構成が変更される。
実施例1によれば、制御装置100は、計算機システムの構成の変更前に、当該変更時にデバイスがアクセス可能であって、かつ、通信品質のよいストレージ装置103にアプリケーションデータを配置できる。これによって、計算機システムの構成の変更された場合に、確実かつ高速にアプリケーションを稼働できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
100 制御装置
101 クラウドシステム
102 サーバ
103 ストレージ装置
104 エッジサーバ
105 PLC
106 機器
110 ネットワーク
111 内部ネットワーク
200 機能クラスタ
301 プロセッサ
302 メモリ
303 ネットワークインタフェース
304 入力装置
305 出力装置
311 ユーザ入力部
312 デバイス監視部
313 ストレージ監視部
314 記憶部
315 アプリケーション制御部
316 デバイス制御部
317 ストレージ装置選択部
318 データ配置実行部
319 ユーザ出力部
321 イメージファイル入力部
322 設定ファイル入力部
323 作業内容入力部
324 フロー実行設定入力部
331 構成変更スケジュール情報
332 アプリケーション情報
333 ストレージ稼働情報
334 通信環境情報
341 トポロジ図表示部
342 管理情報表示部
400 入力画面
500 表示画面

Claims (12)

  1. アプリケーションにしたがって所定の処理を実行する複数のデバイスと、前記アプリケーションを稼働させるためのアプリケーションデータを格納可能な複数のストレージ装置と、少なくとも一つの計算機を含む制御システムと、を備える計算機システムであって、
    前記制御システムは、
    前記計算機システムの構成の変更スケジュールを管理するための構成変更スケジュール情報を管理する記憶部と、
    前記計算機システムの構成の変更に伴って設定する必要があるターゲットアプリケーションの前記アプリケーションデータの配置に適した前記ストレージ装置を選択する選択部と、
    を有し、
    前記選択部は、
    前記構成変更スケジュール情報に基づいて、現在から前記計算機システムの構成の変更時に稼働している前記ストレージ装置を特定し、
    前記特定されたストレージ装置の中から前記ターゲットアプリケーションのアプリケーションデータを格納する前記ストレージ装置を選択し、
    前記計算機システムの構成が変更される前に、前記選択されたストレージ装置に前記ターゲットアプリケーションのアプリケーションデータを配置することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記選択部は、
    前記特定されたストレージ装置の各々について、前記特定されたストレージ装置への前記ターゲットアプリケーションのアプリケーションデータの配置の適格性を評価するためのスコアを算出し、
    前記スコアに基づいて、前記ターゲットアプリケーションのアプリケーションデータを格納する前記ストレージ装置を選択することを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記選択部は、前記ターゲットアプリケーションが稼働する前記デバイスがアクセス可能な前記ストレージ装置と、前記特定されたストレージ装置との間の通信環境の評価値、及び、前記ターゲットアプリケーションが稼働する前記デバイスがアクセス可能な前記ストレージ装置に前記ターゲットアプリケーションのアプリケーションデータを配置した場合の予測使用回数に基づいて、前記スコアを算出することを特徴とする計算機システム。
  4. 請求項2に記載の計算機システムであって、
    前記構成変更スケジュール情報は、前記計算機システムの構成の変更時刻と、前記計算機システムの構成の変更内容を対応付けたスケジュールデータを格納し、
    前記構成変更スケジュール情報には、前記アプリケーションを稼働させる前記デバイス及び当該デバイスがアクセスする前記ストレージ装置を、前記計算機システムの構成の変更内容として含む前記スケジュールデータが少なくとも一つ含まれ、
    前記選択部は、
    現時刻から所定時間経過した後の時刻までのターゲット時間範囲に含まれる前記スケジュールデータを取得し、
    前記取得されたスケジュールデータに基づいて、前記ターゲットアプリケーションを特定することを特徴とする計算機システム。
  5. 請求項4に記載の計算機システムであって、
    前記記憶部は、前記アプリケーションの前記アプリケーションデータを格納する前記ストレージ装置を管理するためのアプリケーション情報を管理し、
    前記選択部は、前記取得されたスケジュールデータ及び前記アプリケーション情報に基づいて、前記ターゲットアプリケーションのアプリケーションデータの配置を変更する必要があるか否かを判定することを特徴とする計算機システム。
  6. 請求項4に記載の計算機システムであって、
    前記制御システムは、前記選択部の実行周期及び前記ターゲット時間範囲を設定するためのインタフェースを提供する入力部を有することを特徴とする計算機システム。
  7. 計算機システム上でアプリケーションを稼働させるためのアプリケーションデータの配置制御方法であって、
    前記計算機システムは、前記アプリケーションにしたがって所定の処理を実行する複数のデバイスと、前記アプリケーションデータを格納可能な複数のストレージ装置と、少なくとも一つの計算機を含む制御システムと、を含み、
    前記制御システムは、
    前記計算機システムの構成の変更スケジュールを管理するための構成変更スケジュール情報を管理する記憶部と、
    前記計算機システムの構成の変更に伴って設定する必要があるターゲットアプリケーションの前記アプリケーションデータの配置に適した前記ストレージ装置を選択する選択部と、を有し、
    前記アプリケーションデータの配置制御方法は、
    前記選択部が、前記構成変更スケジュール情報に基づいて、現在から前記計算機システムの構成の変更時に稼働している前記ストレージ装置を特定する第1のステップと、
    前記選択部が、前記特定されたストレージ装置の中から前記ターゲットアプリケーションのアプリケーションデータを格納する前記ストレージ装置を選択する第2のステップと、
    前記選択部が、前記計算機システムの構成が変更される前に、前記選択されたストレージ装置に前記ターゲットアプリケーションのアプリケーションデータを配置する第3のステップと、を含むことを特徴とするアプリケーションデータの配置制御方法。
  8. 請求項7に記載のアプリケーションデータの配置制御方法であって、
    前記第3のステップは、
    前記選択部が、前記特定されたストレージ装置の各々について、前記特定されたストレージ装置への前記ターゲットアプリケーションのアプリケーションデータの配置の適格性を評価するためのスコアを算出する第4のステップと、
    前記選択部が、前記スコアに基づいて、前記ターゲットアプリケーションのアプリケーションデータを格納する前記ストレージ装置を選択する第5のステップと、を含むことを特徴とするアプリケーションデータの配置制御方法。
  9. 請求項8に記載のアプリケーションデータの配置制御方法であって、
    前記第4のステップは、前記選択部が、前記ターゲットアプリケーションが稼働する前記デバイスがアクセス可能な前記ストレージ装置と、前記特定されたストレージ装置との間の通信環境の評価値、及び、前記ターゲットアプリケーションが稼働する前記デバイスがアクセス可能な前記ストレージ装置に前記ターゲットアプリケーションのアプリケーションデータを配置した場合の予測使用回数に基づいて、前記スコアを算出するステップを含むことを特徴とするアプリケーションデータの配置制御方法。
  10. 請求項8に記載のアプリケーションデータの配置制御方法であって、
    前記構成変更スケジュール情報は、前記計算機システムの構成の変更時刻と、前記計算機システムの構成の変更内容を対応付けたスケジュールデータを格納し、
    前記構成変更スケジュール情報には、前記アプリケーションを稼働させる前記デバイス及び当該デバイスがアクセスする前記ストレージ装置を、前記計算機システムの構成の変更内容として含む前記スケジュールデータが少なくとも一つ含まれ、
    前記第1のステップは、
    前記選択部が、現時刻から所定時間経過した後の時刻までのターゲット時間範囲に含まれる前記スケジュールデータを取得するステップと、
    前記選択部が、前記取得されたスケジュールデータに基づいて、前記ターゲットアプリケーションを特定するステップと、を含むことを特徴とするアプリケーションデータの配置制御方法。
  11. 請求項10に記載のアプリケーションデータの配置制御方法であって、
    前記記憶部は、前記アプリケーションの前記アプリケーションデータを格納する前記ストレージ装置を管理するためのアプリケーション情報を管理し、
    前記第1のステップは、前記選択部が、前記取得されたスケジュールデータ及び前記アプリケーション情報に基づいて、前記ターゲットアプリケーションのアプリケーションデータの配置を変更する必要があるか否かを判定するステップを含むことを特徴とするアプリケーションデータの配置制御方法。
  12. 請求項10に記載のアプリケーションデータの配置制御方法であって、
    前記少なくとも一つの計算機は、前記選択部の実行周期及び前記ターゲット時間範囲を設定するためのインタフェースを提供する入力部を有することを特徴とするアプリケーションデータの配置制御方法。
JP2020039108A 2020-03-06 2020-03-06 計算機システム及びアプリケーションデータの配置制御方法 Active JP7240348B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020039108A JP7240348B2 (ja) 2020-03-06 2020-03-06 計算機システム及びアプリケーションデータの配置制御方法
US17/017,955 US11204782B2 (en) 2020-03-06 2020-09-11 Computer system and method for controlling arrangement of application data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020039108A JP7240348B2 (ja) 2020-03-06 2020-03-06 計算機システム及びアプリケーションデータの配置制御方法

Publications (2)

Publication Number Publication Date
JP2021140582A JP2021140582A (ja) 2021-09-16
JP7240348B2 true JP7240348B2 (ja) 2023-03-15

Family

ID=77556555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020039108A Active JP7240348B2 (ja) 2020-03-06 2020-03-06 計算機システム及びアプリケーションデータの配置制御方法

Country Status (2)

Country Link
US (1) US11204782B2 (ja)
JP (1) JP7240348B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140006574A1 (en) 2012-06-29 2014-01-02 Kai Fischer Network Device and Method for Operating a Network Device for an Automation Network
JP6203113B2 (ja) 2009-06-30 2017-09-27 株式会社三洋物産 遊技機
WO2018179103A1 (ja) 2017-03-28 2018-10-04 株式会社日立製作所 データ処理システムおよびその制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2751773B2 (ja) * 1992-12-28 1998-05-18 大日本スクリーン製造株式会社 画像処理システムの管理装置
JP4414451B2 (ja) * 2007-08-03 2010-02-10 富士通株式会社 ストレージ制御プログラム、ストレージ制御装置、ストレージ制御方法
US8321253B2 (en) * 2009-06-09 2012-11-27 Accenture Global Services Limited Technician control system
JP5286312B2 (ja) 2010-03-18 2013-09-11 東芝テック株式会社 サーバ装置及びサーバアプリケーションプログラム
JP2012088901A (ja) * 2010-10-19 2012-05-10 Fujitsu Ltd ソフトウェア管理装置、ソフトウェア管理方法およびソフトウェア管理プログラム
WO2013171794A1 (en) * 2012-05-17 2013-11-21 Hitachi, Ltd. Method of data migration and information storage system
JP6152770B2 (ja) * 2013-10-07 2017-06-28 富士通株式会社 管理プログラム、管理方法、および情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6203113B2 (ja) 2009-06-30 2017-09-27 株式会社三洋物産 遊技機
US20140006574A1 (en) 2012-06-29 2014-01-02 Kai Fischer Network Device and Method for Operating a Network Device for an Automation Network
WO2018179103A1 (ja) 2017-03-28 2018-10-04 株式会社日立製作所 データ処理システムおよびその制御方法

Also Published As

Publication number Publication date
US20210279077A1 (en) 2021-09-09
JP2021140582A (ja) 2021-09-16
US11204782B2 (en) 2021-12-21

Similar Documents

Publication Publication Date Title
US8396917B2 (en) Storage management system, storage hierarchy management method, and management server capable of rearranging storage units at appropriate time
EP3550426B1 (en) Improving an efficiency of computing resource consumption via improved application portfolio deployment
JP7129465B2 (ja) コグニティブ階層型ストレージ管理システムを訓練する際のユーザ満足度の最適化
US8494996B2 (en) Creation and revision of network object graph topology for a network performance management system
US8739169B2 (en) Method for monitoring operating experiences of images to improve workload optimization in cloud computing environments
US20170161038A1 (en) Code placement using a dynamic call graph
US8589932B2 (en) Data processing workload control
JP6447329B2 (ja) 並列計算制御装置、並列計算システムおよびマイグレーション時間推定プログラム
US20090113323A1 (en) Data center operation optimization
US8301315B2 (en) Scheduling cool air jobs in a data center
CN102999132A (zh) 管理计算系统的存储模块间的热分布的方法和系统
CN103399781A (zh) 云服务器及其虚拟机管理方法
CN103914398A (zh) 用以管理具有实体地址空间的存储器使用率的方法及装置
US10712731B2 (en) Control device, control method, and non-transitory computer-readable recording medium
CN110471748A (zh) 服务器集群的任务处理方法、装置及设备
US20200134479A1 (en) Fine-grained forecast data management
JP2021064049A (ja) 計算機システム及び数理モデルの生成支援方法
JP7240348B2 (ja) 計算機システム及びアプリケーションデータの配置制御方法
JP2016116106A (ja) 広域管理装置
JP6209862B2 (ja) プログラム、ジョブ監視支援方法、情報処理装置およびシステム
JP6963465B2 (ja) 計算機システム及びデータ処理の制御方法
JP7229888B2 (ja) リソースの利用効率の最適化を支援するシステム及び方法
US20170160704A1 (en) Management system for managing information system
JP5390424B2 (ja) プラント監視装置
JP5543653B2 (ja) 管理計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230303

R150 Certificate of patent or registration of utility model

Ref document number: 7240348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150