JP2022178635A - 情報処理システム、情報処理装置とその制御方法及びプログラム - Google Patents

情報処理システム、情報処理装置とその制御方法及びプログラム Download PDF

Info

Publication number
JP2022178635A
JP2022178635A JP2021085581A JP2021085581A JP2022178635A JP 2022178635 A JP2022178635 A JP 2022178635A JP 2021085581 A JP2021085581 A JP 2021085581A JP 2021085581 A JP2021085581 A JP 2021085581A JP 2022178635 A JP2022178635 A JP 2022178635A
Authority
JP
Japan
Prior art keywords
container
image
container image
information processing
program
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.)
Pending
Application number
JP2021085581A
Other languages
English (en)
Inventor
奈音 笹原
Naoto Sasahara
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2021085581A priority Critical patent/JP2022178635A/ja
Priority to US17/741,738 priority patent/US20220374256A1/en
Publication of JP2022178635A publication Critical patent/JP2022178635A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Figure 2022178635000001
【課題】コンテナのイメージファイルを取得する際、コンテナプログラムの特性及びディスクの特性を考慮せずに保存すると、コンテナプログラムの非機能要件を満たすことができなかったり、ディスクの寿命を縮めるおそれがある。
【解決手段】複数の記憶手段を有する情報処理装置であって、コンテナイメージを取得し、その取得したコンテナイメージに含まれるコンテナで動作するプログラムの特性情報と、複数の記憶手段のそれぞれの特性とに基づいて、コンテナイメージを複数の記憶手段のいずれに記憶するか判定し、コンテナイメージを記憶すると判定された記憶手段に記憶された前記コンテナイメージに基づいてコンテナを起動する。
【選択図】 図4

Description

本発明は、情報処理システム、情報処理装置とその制御方法及びプログラムに関するものである。
近年、コンテナと呼ばれる仮想化技術の一種が注目を集めている。コンテナを利用することで、アプリケーションの実行環境及び依存するライブラリ群を独立させることができる。またコンテナ型仮想化は従来の仮想化と異なり、Hyperviserを介したゲストOSを使用しないため、従来の仮想マシンよりも高速に起動でき、かつ容量も小さくなるという特徴がある。これにより、アプリケーションの移植性が高くなり、スケーラビリティの向上、及びバージョンアップが容易に行えるといったメリットを享受することができる。
特に、Docker(登録商標)と呼ばれるコンテナを管理、実行するためのOSS(Open Source Software)が登場したことにより、コンテナ技術の普及が進み、様々なサービスがDockerコンテナとして構築されるようになってきている。このDockerコンテナは、namespaceと呼ばれるソフトウェアの分離技術と、Linux(登録商標)OSが持つcgroupsというリソース管理技術を利用して生成されている。Dockerは、イメージファイルからコンテナのインスタンスを生成する。イメージファイルから生成されるコンテナは、Dockerが動作する環境上であれば同じ動作をするため、イメージファイルを転送するだけでコンテナアプリケーションを極めて容易に移植できるという特徴がある。
コンテナをオーケストレーション(orchestration)するためのツールとして、コンテナ化されたワークロードやサービスを管理するための、ポータブルで拡張性のあるオープンソースのプラットフォームであるKubernetesが広く使われている。このKubernetesは、サービスへのアクセス状況に応じて動作コンテナの増減を行う機能や、コンテナを動作させるホストマシンのリソースの使用量に応じてコンテナを動作させるホストマシンを自動的に切り替える機能を持っている。
特許文献1には、コンテナ技術を利用するための技術が記載されている。
国際公開第2018/003020号 特許第6547306号公報
コンテナの元となるイメージファイルは、コンテナ内で動作するプログラムが必要なライブラリやファイルシステム等を含むため、通常のプログラムファイルよりもサイズが大きくなる傾向がある。そのため、イメージファイルは大容量のストレージに保存することが基本となる。しかしながら、ストレージの特性によっては、コンテナプログラムの非機能要件を満たすことができなかったり、ストレージの寿命を縮める等のおそれがある。
特許文献2には、メモリ上のデータを不揮発性記憶装置に保存する時に、一般情報か、機密情報かを仕分けて保存する方法が記載されている。しかしこの技術では、コンテナプログラムの非機能要件に適合するディスクを適切に選択することはできない。
本発明の目的は、上記従来技術の課題の少なくとも一つを解決することにある。
本発明の目的は、コンテナ内で動作するプログラムの特性と、コンテナイメージを記憶する記憶部の特性とを考慮して、コンテナイメージの最適な保存場所を決定してコンテナイメージを記憶する技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
コンテナイメージを取得する取得手段と、
複数の記憶手段と、
前記コンテナイメージに含まれるコンテナで動作するプログラムの特性情報と、前記複数の記憶手段のそれぞれの特性とに基づいて、前記コンテナイメージを前記複数の記憶手段のいずれに記憶するか判定する判定手段と、
前記判定手段により前記コンテナイメージを記憶すると判定された記憶手段に記憶された前記コンテナイメージに基づいてコンテナを起動する起動手段と、を有することを特徴とする。
本発明によれば、コンテナ内で動作するプログラムの特性と、コンテナイメージを記憶する記憶部の特性とを考慮して、コンテナイメージの最適な保存場所を決定することができる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態に係るシステムの構成を説明する図。 実施形態に係るコンテナ実行端末の一例である画像形成装置のハードウェア構成を説明するブロック図。 実施形態に係る画像形成装置でコンテナを実行するためのソフトウェア構成を説明するブロック図。 実施形態に係る画像形成装置におけるコンテナイメージの保存先を決定する処理を説明するフローチャート。 実施形態に係るコンテナレジストリの構成を説明するブロック図。 実施形態に係るマニフェストファイルの具体例を示す図。 本発明の実施形態2に係るシステムの構成を説明する図。 実施形態2に係る制御サーバが複数の装置に対応するノードにコンテナイメージを保存し、そのノードによりコンテナを起動させるときの処理を説明するフローチャート。 本発明の実施形態3に係るデジタルカメラのハードウェア構成を説明するブロック図。 実施形態3に係るデジタルカメラにおけるコンテナイメージの保存処理を説明するフローチャート。 実施形態に係るコンテナイメージの一例を示す図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。尚、以下の実施形態では、本発明に係る情報処理装置の一例を画像形成装置を例に説明する。
[実施形態1]
図1は、本発明の実施形態に係る情報処理システムの構成を説明する図である。この情報処理システムは、コンテナを実施する際の基本的なシステムの構成を示しており、図1を参照して、コンテナを実行する際の構成の大枠を説明する。
端末101は、プログラムをコンテナとして開発するための端末である。開発者は、この端末101で作成したコンテナイメージを、コンテナレジストリ102へ登録する。ここで、コンテナレジストリ102は一般的なサーバであり、コンテナイメージを管理するためのイメージ管理部103を有する。
コンテナ実行端末104は、コンテナ制御部106が通信部105を介してコンテナレジストリ102と通信を行い、コンテナレジストリ102のイメージ管理部103に保存されているコンテナイメージを取得してイメージ保存部107へ保存する。コンテナ制御部106は、イメージ保存部107に保存されたコンテナイメージを基にコンテナを生成し、コンテナのプログラム動作を開始する。尚、コンテナイメージの一例を図11に示す。
図11は、実施形態に係るコンテナイメージの一例を示す図である。
コンテナイメージ1101は、複数のイメージレイヤ1102が積み重なって1つのファイルを構成している。イメージレイヤ1102は、プログラム実行時の引数や設定情報などのメタ情報1103、ライブラリやコマンド類などのファイル群1104、及びディレクトリ構成情報1105等を含んでいる。
図2は、実施形態に係るコンテナ実行端末の一例である画像形成装置201のハードウェア構成を説明するブロック図である。
メインCPUである中央演算処理装置(以下CPU)202は、画像形成装置201を稼働させるためのソフトウェアを実行して画像形成装置201の動作を制御する。eMMC(embedded MultiMediaCard)103は、画像形成装置201のソフトウェア及び、サブCPU223が実行するソフトウェアなどを記憶している。eMMC103は更に、画像形成装置201が動作するために必要なデータベース、一時保存ファイル等を格納している。RAM205は、画像形成装置201のソフトウェアの展開エリア、またCPU201による動作時のワークエリアを提供する。またプログラム動作時の変数や各ユニットからDMA(Direct Memory Access)で転送されるデータ等を格納するのに使用される。一般的にeMMCは、書き換え寿命が存在し、またSSDと比較すると読み書き速度が遅い等のデメリットがあるが、低価格、低消費電力などの利点もある。
ネットワークコントローラ206は、ネットワークインタフェース(I/F)207を介してネットワーク上の他の機器と通信を行う。USBホストコントローラ208は、USBホストI/F209を介したUSBデバイスとの通信を制御する。図2では、USBホストI/F209は1つのみ記載しているが、実際には複数存在する。USBデバイスコントローラ210は、USBデバイスI/F211を介してUSBホストと通信を行う。画像形成装置201がUSBデバイスとして機能する時は、USBホストからの印刷データや、スキャンしたデータをUSBホストへ送信するためにUSBが使用される。
表示制御部212は、例えば画像形成装置201の動作状況をユーザが確認できるように表示部213に表示するよう表示制御を行う。入力部215は、ユーザからの指示を受け付け、その指示は入力部コントローラ214を介してCPU201に伝えられる。入力部215は、具体的にはキーボードやポインティングデバイス、テンキー、カーソルキー、タッチパネルや、操作部キーボード等を含む。入力部215がタッチパネルを含む場合は、物理的には表示部213の表面に装着された態様になる。リアルタイムクロック(以下、RTC)216は、時計機能、アラーム機能、タイマ機能等を有している。
スキャナ218は、システムバス203とスキャナI/F217を介して接続されている。またプリンタ220が、システムバス203とプリンタI/F219を介して接続されている。HDD(ハードデスクドライブ)222が、システムバス203とSATAI/F221を介してシステムバス203に接続される。HDD121にはサイズの大きいファイルやアプリケーションの一時データ等が保存される。またシステムバス203にはサブCPU223が接続されている。このサブCPU223は主として、スキャナ218やプリンタ220等を制御する。システムバス203は、CPU202が上述の各ユニットにアクセスするため及び、他のユニット同士がアクセスするための通路として機能している。
図3は、実施形態に係る画像形成装置201でコンテナを実行するためのソフトウェア構成を説明するブロック図である。この図3を参照して実施形態に係る基本的なソフトウェア動作について説明する。またコンテナ実行部303は、前述したようにDockerを利用した場合を例にして説明を行う。
画像形成装置201で動作するオペレーティングシステム301は、RAM205に展開されたプログラムの命令をCPU202が実行することによって動作する。オペレーティングシステム301は、アプリケーション304、コンテナ管理部302、コンテナ実行部303が動作するためにCPU202、RAM205、HDD222のリソースの割り当てを行う。コンテナ実行部303は、オペレーティングシステム301が提供するリソース管理の機能を利用し、コンテナアプリケーション305が動作するためのリソースの割り当てを管理する。今後特に断りのない限り、これらのソフトウェアはCPU202によって実行されるものとする。
コンテナアプリケーション305、アプリケーション304及びコンテナ管理部302は、ネットワークコントローラ206を介して外部のネットワークと通信を行うことができる。コンテナアプリケーション305は、HDD222又はeMMC204にイメージファイルの形式で保存されており、コンテナ実行部303が行う起動処理によってコンテナとして動作を開始し、停止処理が実行されると動作を終了する。コンテナ管理部302は、アプリケーション304からコンテナの起動依頼を受け付けると、コンテナ実行部303へコンテナの起動を指示する。またコンテナ管理部302は、アプリケーション304からコンテナアプリケーション305の停止依頼を受けるか、コンテナアプリケーション305にエラーが発生した場合に、コンテナ実行部303へコンテナの停止を指示する。
図4は、実施形態に係る画像形成装置201におけるコンテナイメージの保存先を決定する処理を説明するフローチャートである。
図5は、実施形態に係るコンテナレジストリ102の構成を説明するブロック図、図6は、実施形態に係るマニフェストファイルの具体例を示す図である。
図4の処理を説明する。アプリケーション304がコンテナ管理部302にコンテナイメージの取得依頼を発行するとS401でコンテナ管理部302は、ネットワークコントローラ206を介してコンテナレジストリ102と通信を行い、コンテナイメージ502(図5)の取得を開始する。図5に示すように、コンテナレジストリ102のイメージ管理部103では、マニフェストファイル501とコンテナイメージ502が対となって管理されている。図5では一対しか記載していないが、実際にはマニフェストファイルとコンテナイメージは複数存在していても良い。このマニフェストファイル501には、図6に示すように、イメージ構成情報601と、コンテナ内で動作するプログラム特性情報602が記載されている。これらの情報は、コンテナイメージ502を開発者が使用する端末101で作成する際に付与しておく。
コンテナイメージ502の取得が開始されるとまずS402で、マニフェストファイル501に記載されているプログラム特性情報602を取得する。このプログラム特性情報602には、一例として、コンテナのイメージサイズ、コンテナで動作するプログラムが要求するディスクアクセス速度、ディスク書き込み頻度、ディスク読み込み頻度などの少なくともいずれかの情報が含まれる。図6の例では、コンテナのイメージサイズは「60」、アクセス速度は「125」、書き込み頻度は「20」、読み込み頻度は「200」に設定されている。
次にS403に進みCPU202は、取得したプログラム特性情報602から、要求されるディスクアクセス速度が閾値以上か否かを判定する。ここで閾値以上でないと判定した場合はS406に進みCPU202は、コンテナイメージ502をHDD222へ保存して、この処理を終了する。一方、S403で、要求されるディスクアクセス速度が閾値上であると判定した場合はS404に進み、イメージサイズが閾値以下であるか否か判定する。ここでCPU202は、イメージサイズが閾値以下でないと判定するとS406に進み、コンテナイメージ502をHDD222へ保存して、この処理を終了する。
またS404でCPU202は、イメージサイズが閾値以下であると判定した場合はS405に進み、ディスク書き込み頻度が閾値以下であるか否か判定する。ここでディスク書き込み頻度が閾値以下であると判定するとS407に進み、コンテナイメージ502をeMMC204へ保存して、この処理を終了する。一方、405でディスク書き込み頻度が閾値以下でないと判定するとS406に進んで、コンテナイメージ502をHDD222へ保存して、この処理を終了する。
尚、実施形態では、サーバ上にあるコンテナレジストリ102からコンテナイメージ502を取得するように記載しているが、USBメモリのような記憶媒体をコンテナレジストリとして構築しておき、USBホストI/F209を介してUSBメモリからコンテナイメージ502を取得するようにしても良い。
以上説明した様に実施形態によれば、コンテナイメージの取得時にマニフェストファイルに記述してあるプログラム特性情報が記憶装置に適合しているか否かを判定する。これにより、コンテナイメージの保存先となる記憶装置が複数ある場合に、コンテナイメージを保存する最適な記憶装置を決定することができる。これにより、コンテナで動作するプログラムが必要とする記憶装置の性能を適切に享受することできる。
具体的には、例えば、HDDに保存した場合は、サイズの大きいコンテナイメージを利用することができたり、コンテナで動作するプログラムの書き込み処理によるディスク寿命の摩耗を減らしたりすることができる。一方、例えばeMMCに保存した場合は、アクセス速度の速さを活かして高速にコンテナを起動でき、高速にプログラムを動作できるようになる。
[実施形態2]
上述の実施形態1では、コンテナイメージ502を保存するディスクが画像形成装置201の内部に複数存在していたが、ディスクは複数の装置に分散しておかれていても良い。
図7は、本発明の実施形態2に係る情報処理システムの構成を説明する図である。この情報処理システムは、クラウドサービスを提供するサーバ群の基本構成を示している。尚、図7において、前述の実施形態1と共通する部分は同じ参照番号を付して、その説明を省略する。
図8は、実施形態2に係る制御サーバが複数の装置に対応するノードにコンテナイメージを保存し、そのノードによりコンテナを起動させるときの処理を説明するフローチャートである。尚、実施形態2に係る画像形成装置のハードウェア構成などは前述の実施形態1と同じであるため、その説明を省略する。
制御サーバ701は、外部の装置と通信を行うための通信部702、外部からコンテナの起動やコンテナへのアクセス等の指示を受ける命令受付部703、コンテナ群の動作制御やロードバランシングなどの機能を持つコンテナ制御部704を有している。制御サーバ701は、ノード705、ノード709を接続して管理している。ここでは2つのノードが示されているが、複数のノードがあっても良い。ノード705とノード709はそれぞれ通信部706,710、コンテナ実行部707,711、イメージ保存部708,712を有している。
次に図8のフローチャートを参照して説明する。
S801で制御サーバ701の命令受付部703がコンテナの起動命令を受け付けるとS802に進み、コンテナ制御部704は、通信部702を介してコンテナレジストリ102と通信を行い、コンテナイメージ502の取得を開始する。こうしてコンテナイメージ502の取得処理を開始するとまずS803で、イメージ管理部103に保存されているマニフェストファイル501からプログラムの特性情報602を取得する。次にS804に進み、先頭のノードと通信を行い、その先頭のノードのイメージ保存部のディスク特性を取得する。そしてS805に進みCPU202は、そのイメージ保存部のディスク特性がコンテナイメージのプログラム特性と合致しているか否か判定する。
ここでディスク特性がコンテナイメージのプログラム特性に合致していると判定するとS808に進み、そのノードにコンテナイメージ502を保存してS810に進む。
一方、S805で、ディスク特性がプログラム特性に合致していないと判定した場合はS806に進む。S806でCPU202は、全てのノードを探索したかどうか判定し、全てのノードを探索していないときはS807に進み、次のノードのイメージ保存部のディスク特性を取得してS805に進む。そして、再度、そのディスク特性がプログラム特性に合致しているか判定する。
S805で全てのノードを探索しても、ディスク特性とプログラム特性とが合致するノードがなければS809に進み、コンテナイメージ502を、イメージ保存部のディスクに空きのあるノードへ保存する。こうしてS809で、いずれかのノードにコンテナイメージ502を保存するとS810に進んで、そのノードのコンテナ実行部にコンテナの起動を指示して、この処理を終了する。
以上説明した様に実施形態2によれば、各ノードの持つディスク特性を取得し、起動するコンテナイメージのプログラム特性と合致するかを判定する。このようにして、複数のノードを使用してコンテナを実行するクラウドサービスのサーバ構成であっても、コンテナイメージの保存場所と実行場所を適切に決定することができる。
[実施形態3]
図9は、本発明の実施形態3に係るデジタルカメラのハードウェア構成を説明するブロック図である。
CPU901は、eMMC908に記憶されたプログラムをRAM907に展開し、その展開したプログラムを実行して、このデジタルカメラを制御する。RAM907は、CPU901のワークエリアを提供して各種データを記憶する。CPU901は、システムバス911を介して、システムバス911に接続されている各部を制御する。コンテナの実行もCPU901によって行われ、コンテナ実行方法の詳細は、前述の実施形態1と同様である。
ネットワークI/F909は、外部の機器と通信を行うために使用される。操作部902は、ユーザがカメラを操作するための部分で、ユーザからの操作を受け付けると撮像素子部906が被写体を撮影する。画像処理部903は、撮像素子部906が撮影して得られた画像データや動画データの処理を行う。音声処理部904は、動画撮影時に音声を記録する。表示部905は、ユーザにUI(ユーザインタフェース)を提供する。メモリカード部910は、画像データの保存等に使用され、例えばSDカードのようなフラッシュメモリで、ユーザが自由に着脱可能である。
図10は、実施形態3に係るデジタルカメラにおけるコンテナイメージの保存処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU901がRAM907に展開したプログラムを実行することにより達成される。
まずS1001でCPU901は、コンテナを実行する際、ネットワークI/F909を介してコンテナレジストリ102からコンテナイメージ502の取得を開始する。そしてS1002に進みCPU901は、マニフェストファイル501からプログラム特性情報602を取得する。次にS1003に進みCPU901は、メモリカード部910のディスク特性を取得する。ここでメモリカード部910のディスク特性は、空き容量とアクセス速度の少なくともいずれかを含んでいる。S1004でCPU901は、プログラム特性情報602とメモリカード部910のディスク特性とが合致しているか判定し、これらが合致していればS1005に進んで、メモリカード部910にコンテナイメージ502を保存して1007に進む。
一方、合致していなければS1006に進みCPU901は、eMMC908にコンテナイメージ502を保存してS1007に進む。S1007でCPU901は、その保存したコンテナイメージに基づいてコンテナを起動して、この処理を終了する。尚、実施形態3は、メモリカード部にSDカードを例に挙げて説明を行ったが、例えばUSBメモリのような記憶媒体でも良い。
以上説明した様に実施形態3によれば、デジタルカメラのような小型のIoTデバイスにおいても、コンテナプログラムの非機能要件を考慮してコンテナイメージの最適な保存場所を決定することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
102…コンテナレジストリ、103…イメージ管理部、104…コンテナ実行端末、106…コンテナ制御部、107…コンテナイメージ保存部、202…サブCPU、204…eMMC、205…RAM、222…HDD

Claims (12)

  1. コンテナイメージを取得する取得手段と、
    複数の記憶手段と、
    前記コンテナイメージに含まれるコンテナで動作するプログラムの特性情報と、前記複数の記憶手段のそれぞれの特性とに基づいて、前記コンテナイメージを前記複数の記憶手段のいずれに記憶するか判定する判定手段と、
    前記判定手段により前記コンテナイメージを記憶すると判定された記憶手段に記憶された前記コンテナイメージに基づいてコンテナを起動する起動手段と、
    を有することを特徴とする情報処理装置。
  2. 前記プログラムの特性情報は、前記コンテナイメージに含まれるマニフェストファイルに記述されていることを特徴とする請求項1に記載の情報処理装置。
  3. 前記プログラムの特性情報は、イメージサイズ、アクセス速度、書き込み頻度、及び読み込み頻度の少なくともいずれかを含むことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記判定手段は、前記プログラムの特性情報と前記特性とが合致している記憶手段に、前記コンテナイメージを記憶すると判定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記特性は、前記記憶手段の空き容量とアクセス速度の少なくといずれかを含むことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 情報処理装置と、前記情報処理装置に接続された複数のサーバとを有する情報処理システムであって、
    前記情報処理装置は、
    コンテナイメージを取得する取得手段と、
    前記複数のサーバの記憶装置の特性を取得する取得手段と、
    前記取得手段により取得された前記複数のサーバの記憶装置の特性と、前記コンテナイメージに含まれるコンテナで動作するプログラムの特性情報に基づいて、前記コンテナイメージを前記複数のサーバのいずれに記憶するか判定する判定手段と、
    前記判定手段により記憶すると判定されたサーバに前記コンテナイメージを記憶させる手段と、
    前記コンテナイメージを記憶させたサーバにコンテナの起動を指示する起動手段と、
    を有することを特徴とする情報処理システム。
  7. 前記プログラムの特性情報は、前記コンテナイメージに含まれるマニフェストファイルに記述されていることを特徴とする請求項6に記載の情報処理システム。
  8. 前記プログラムの特性情報は、イメージサイズ、アクセス速度、書き込み頻度、及び読み込み頻度の少なくともいずれかを含むことを特徴とする請求項6又は7に記載の情報処理システム。
  9. 前記判定手段は、前記プログラムの特性情報と前記特性とが合致している記憶装置を有するサーバに前記コンテナイメージを記憶すると判定することを特徴とする請求項6乃至8のいずれか1項に記載の情報処理システム。
  10. 前記特性は、前記記憶装置の空き容量とアクセス速度の少なくといずれかを含むことを特徴とする請求項6乃至9のいずれか1項に記載の情報処理システム。
  11. 複数の記憶手段を有し、コンテナ技術を利用して処理を行う情報処理装置を制御する制御方法であって、
    コンテナイメージを取得する取得工程と、
    前記コンテナイメージに含まれるコンテナで動作するプログラムの特性情報と、前記複数の記憶手段のそれぞれの特性に基づいて、前記コンテナイメージを前記複数の記憶手段のいずれに記憶するか判定する判定工程と、
    前記判定工程で前記コンテナイメージを記憶すると判定された記憶手段に記憶された前記コンテナイメージに基づいてコンテナを起動する起動工程と、
    を有することを特徴とする制御方法。
  12. コンピュータに、請求項11に記載の制御方法の各工程のすべてを実行させるためのプログラム。
JP2021085581A 2021-05-20 2021-05-20 情報処理システム、情報処理装置とその制御方法及びプログラム Pending JP2022178635A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021085581A JP2022178635A (ja) 2021-05-20 2021-05-20 情報処理システム、情報処理装置とその制御方法及びプログラム
US17/741,738 US20220374256A1 (en) 2021-05-20 2022-05-11 Information processing system, information processing apparatus, method of controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021085581A JP2022178635A (ja) 2021-05-20 2021-05-20 情報処理システム、情報処理装置とその制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2022178635A true JP2022178635A (ja) 2022-12-02

Family

ID=84103665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021085581A Pending JP2022178635A (ja) 2021-05-20 2021-05-20 情報処理システム、情報処理装置とその制御方法及びプログラム

Country Status (2)

Country Link
US (1) US20220374256A1 (ja)
JP (1) JP2022178635A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023102641A (ja) * 2022-01-12 2023-07-25 株式会社日立製作所 計算機システム及びスケールアップ管理方法

Also Published As

Publication number Publication date
US20220374256A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
US9996396B2 (en) Cross architecture virtual machine migration
EP3686739B1 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
JP6438144B2 (ja) リソース構成システム、リソース構成方法及びリソース構成プログラム
US20170322824A1 (en) Cloning Computing Device Containers
JP5496254B2 (ja) マシンから仮想マシンへの変換
US20190235904A1 (en) Cloning services in virtualized computing systems
US8775696B2 (en) Storage area network access for virtual machines
US20090150463A1 (en) Method of migration between virtual machine and physical machine and machine system thereof
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
TW200817920A (en) Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP2016167143A (ja) 情報処理システムおよび情報処理システムの制御方法
KR102043276B1 (ko) 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
JP6421470B2 (ja) 仮想マシンマイグレーションプログラム、仮想マシンマイグレーションシステムおよび仮想マシンマイグレーション方法
US10990373B2 (en) Service managers and firmware version selections in distributed computing systems
EP3992805B1 (en) Live migration method for virtual machine and communication device
JP2022178635A (ja) 情報処理システム、情報処理装置とその制御方法及びプログラム
JP5492731B2 (ja) 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
US11635970B2 (en) Integrated network boot operating system installation leveraging hyperconverged storage
JP2018181305A (ja) プールされた物理リソースのローカルディスク消去メカニズム
WO2017056208A1 (ja) リクエスト実行順序制御方式
US10747567B2 (en) Cluster check services for computing clusters
US11327852B1 (en) Live migration/high availability system
US20230026015A1 (en) Migration of virtual computing storage resources using smart network interface controller acceleration