JP7015960B1 - 情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents

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

Info

Publication number
JP7015960B1
JP7015960B1 JP2021168135A JP2021168135A JP7015960B1 JP 7015960 B1 JP7015960 B1 JP 7015960B1 JP 2021168135 A JP2021168135 A JP 2021168135A JP 2021168135 A JP2021168135 A JP 2021168135A JP 7015960 B1 JP7015960 B1 JP 7015960B1
Authority
JP
Japan
Prior art keywords
archive file
file
phase
information processing
block
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
JP2021168135A
Other languages
English (en)
Other versions
JP2023058241A (ja
Inventor
譲 安藤
敬志 田中
英之 丹
義人 渡辺
Original Assignee
株式会社アルファシステムズ
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 株式会社アルファシステムズ filed Critical 株式会社アルファシステムズ
Priority to JP2021168135A priority Critical patent/JP7015960B1/ja
Application granted granted Critical
Publication of JP7015960B1 publication Critical patent/JP7015960B1/ja
Publication of JP2023058241A publication Critical patent/JP2023058241A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】メモリの容量が潤沢でない場合でも予め定めた一連の処理の実行を可能にすることができる。【解決手段】情報処理装置は、予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、前記フェーズ処理に必要な複数のブロックファイルが連続した記憶領域に記憶されたアーカイブファイルを読み込む読み込み部と、読み込んだアーカイブファイルを実行する実行部と、実行したアーカイブファイルを解放する解放部と、前記アーカイブファイルの読み込み、前記アーカイブファイルの実行、及び前記アーカイブファイルの解放が前記フェーズ処理の数だけ繰り返されるように制御する制御部と、を備える。【選択図】図7

Description

本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
従来、オペレーティングシステム(OS)のディスクイメージ(OSイメージ)を複数のブロックファイルに分割して管理し、OSイメージの世代毎に必要なブロックファイルのみをクライアントに配信する配信システムが提案されている。この配信システムでは、クライアントはサーバからOSイメージをダウンロードしてストレージに保存し、起動時にOSイメージのブロックファイルを順次読み込む。
上記配信システムでは、1つのOSイメージを起動させるために多くのブロックファイルを読み込む必要があり、この読み込みに時間がかかることでOSイメージの起動時間が遅くなってしまう問題があった。
そこで、参照するブロックファイルのアクセス履歴をもとに、クライアントの起動を高速化する機構を搭載したイメージ配信システムを提供することにより、クライアントのプログラムの実行にかかる時間を高速化する技術が提案されている(例えば特許文献1参照)。
特許第6077759号公報
しかしながら、上記特許文献1記載の技術は、メモリの容量が潤沢であることが前提である。具体的には、予め定めた一連の処理、例えばオペレーティングシステムの起動からユーザーが利用可能となる状態までの一連の処理の実行に必要なブロックファイルを全て読み込める容量のメモリが必要となり、メモリの容量が潤沢ではないクライアントで一連の処理を行うのが困難である、という問題があった。
本発明は、メモリの容量が潤沢でない場合でも予め定めた一連の処理の実行を可能にすることができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
第1態様に係る情報処理装置は、予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、前記フェーズ処理に必要な複数のブロックファイルが連続した記憶領域に記憶されたアーカイブファイルを読み込む読み込み部と、読み込んだアーカイブファイルを実行する実行部と、実行したアーカイブファイルを解放する解放部と、前記アーカイブファイルの読み込み、前記アーカイブファイルの実行、及び前記アーカイブファイルの解放が前記フェーズ処理の数だけ繰り返されるように制御する制御部と、を備える。
第1態様に係る情報処理装置において、前記予め定めた一連の処理は、オペレーティングシステムの起動からユーザーが利用可能となる状態までの処理である。
第1態様に係る情報処理装置において、前記複数のフェーズは、前記オペレーティングシステムの起動プログラムを起動してから前記オペレーティングシステムのカーネルを起動するまでの第1フェーズ、前記カーネルを起動してからログイン画面を表示するまでの第2フェーズ、及び前記ログイン画面の表示からデスクトップ画面の表示までの第3フェーズを含む。
第1態様に係る情報処理装置において、前記読み込み部は、前記アーカイブファイルを読み込むメモリの容量が、前記アーカイブファイルの容量未満である場合は、前記アーカイブファイルのうち一部のブロックファイルを前記メモリに読み込み、前記解放部は、利用済みのブロックファイルを前記メモリから解放し、さらに前記読み込み部は、解放された領域に残りのブロックファイルを読み込む。
第1態様に係る情報処理装置において、前記制御部は、前記アーカイブファイルが存在しない場合は、前記アーカイブファイルを構成する複数のブロックファイルを読み込むと共に、前記ブロックファイルの読み込み順序を記録したアクセスログを作成し、作成したアクセスログに基づいて前記アーカイブファイルを作成する。
第1態様に係る情報処理装置において、前記制御部は、異なる複数のアーカイブファイルが存在する場合、前記複数のアーカイブファイルにおいて共通のブロックファイルから構成される共通アーカイブファイルを作成する。
第2態様に係る情報処理方法は、コンピュータが、予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、前記フェーズ処理に必要な複数のブロックファイルが連続した記憶領域に記憶されたアーカイブファイルを読み込み、読み込んだアーカイブファイルを実行し、実行したアーカイブファイルを解放し、前記アーカイブファイルの読み込み、前記アーカイブファイルの実行、及び前記アーカイブファイルの解放が前記フェーズ処理の数だけ繰り返されるように制御する処理を実行する。
第3態様に係る情報処理プログラムは、コンピュータに、予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、前記フェーズ処理に必要な複数のブロックファイルが連続した記憶領域に記憶されたアーカイブファイルを読み込み、読み込んだアーカイブファイルを実行し、実行したアーカイブファイルを解放し、前記アーカイブファイルの読み込み、前記アーカイブファイルの実行、及び前記アーカイブファイルの解放が前記フェーズ処理の数だけ繰り返されるように制御する処理を実行させる。
本発明によれば、メモリの容量が潤沢でない場合でも予め定めた一連の処理の実行を可能にすることができる、という効果を有する。
情報処理システムの構成図である。 サーバ装置の構成図である。 サーバ装置の記憶部の構成図である。 クライアント装置の構成図である。 クライアント装置の記憶部の構成図である。 クライアント装置の記憶部の構成図である。 クライアント装置の機能ブロック図である。 複数のフェーズ処理について説明するための図である。 クライアント装置で実行される情報処理のフローチャートである。 アーカイブファイルについて説明するための図である。 アーカイブファイルが読み込まれたRAMの状態について説明するための図である。 共通アーカイブファイルの作成について説明するための図である。
以下、図面を参照して、本発明を実施するための形態を詳細に説明する。
図1は、本実施形態に係るイメージ配信システム10の構成図である。図1に示すように、イメージ配信システム10は、サーバ装置20と複数のクライアント装置30とがネットワーク40を介して接続された構成である。なお、クライアント装置30は、本発明の情報処理装置の一例である。
サーバ装置20は、複数のクライアント装置30において同一の利用環境で各種処理を実行するためのイメージファイル(ディスクイメージ)をネットワーク40を介して複数のクライアント装置30に配信する。ここで、イメージファイルには、オペレーティングシステム(OS)を起動及び実行するためのOS用プログラム、OS用プログラムの実行に必要な各種ファイル、OS上で動作する各種アプリケーション(AP)を実行するためのAP用プログラム、及びAP用プログラムの実行に必要な各種ファイル等を含む。
複数のクライアント装置30は、サーバ装置20から配信されたイメージファイルに基づいて起動することにより、各クライアント装置30においてオペレーティングシステム及びアプリケーションプログラムを個別にインストールすることなく、同一の環境でオペレーティングシステム及び各種アプリケーションプログラムの実行が可能となる。
このようなイメージ配信システム10は、例えば大学等の教育機関において授業を配信するシステム、会社等において遠隔会議を行う会議システム等のように、同一目的及び同一環境で同一のアプリケーションプログラムを実行するシステムに適用される。
図2は、サーバ装置20のハードウェア構成を示すブロック図である。図2に示すように、サーバ装置20は、コントローラ21を備える。コントローラ21は、CPU(Central Processing Unit)21A、ROM(Read Only Memory)21B、RAM(Random Access Memory)21C、及び入出力インターフェース(I/O)21Dを備える。そして、CPU21A、ROM21B、RAM21C、及びI/O21Dがシステムバス21Eを介して各々接続されている。システムバス21Eは、コントロールバス、アドレスバス、及びデータバスを含む。なお、RAM21Cは、本発明のメモリの一例である。
また、I/O21Dには、操作部22、表示部23、通信部24、及び記憶部25が接続されている。
操作部22は、例えばマウス及びキーボードを含んで構成される。
表示部23は、例えば液晶ディスプレイ等で構成される。
通信部24は、外部装置とデータ通信を行うためのインターフェースである。
記憶部25は、ハードディスク等の不揮発性の外部記憶装置で構成される。図3に示すように、記憶部25は、管理プログラムKP、ブロックファイル群BG、及びインデックスファイル群IF等を記憶する。
管理プログラムKPは、クライアント装置30に配信するイメージファイルを管理するプログラムである。
ブロックファイル群BGは、クライアント装置30に配信するイメージファイルを予め定めた分割単位で分割したブロックファイル群である。
例えば図3に示すように、イメージファイルAは、先頭から予め定めた分割単位の一例として64kb(キロバイト)毎にn個(nは1以上)のブロックファイルA1~Anに分割されて保存される。なお、分割単位は64kbに限られるものではない。また、図3では、説明を簡単にするためにブロックファイルA1~Anが連続した領域に格納されているかのように表記しているが、実際はランダムに記憶されている。
また、図3に示すように、分割した順序1~nとブロックファイルを識別する符号A1~Anとの対応関係がインデックスファイルIAとして保存される。インデックスファイルIAを参照し、分割した順序に従ってブロックファイルA1~Anを結合することで分割前のイメージファイルAを生成することができる。
ここで、例えばイメージファイルAがアップデートされて、イメージファイルAと同系列であるが一部が異なるイメージファイルBが生成されたとする。そして、イメージファイルBをブロックファイルに分割する場合、一部のブロックファイルはイメージファイルAのブロックファイルと重複する。この場合、イメージファイルAのブロックファイルと重複するブロックファイルについては保存しないようにする。
例えば、イメージファイルBを分割したブロックファイルB1、B2、B3、・・・Bnのうち、ブロックファイルB2のみがイメージファイルAのブロックファイルA2と異なり、ブロックファイルB1、B3、・・・・Bnは、イメージファイルAのブロックファイルA1、A3、・・・Anと同一であるとする。この場合、図3に示すように、イメージファイルBに関しては、差分ブロックファイルとしてのブロックファイルB2のみを保存しておけばよいため、ブロックファイルB1、B3、・・・・Bnは保存しない。これにより、同じ内容のブロックファイルが重複して保存されてしまうのを回避することができる。
イメージファイルBがアップデートされて、イメージファイルA、Bと同系列であるが一部が異なるイメージファイルCが生成された場合も同様である。すなわち、例えばイメージファイルCを分割したブロックファイルC1、C2、C3、・・・Cnのうち、ブロックファイルC2のみがイメージファイルBのブロックファイルB2と異なる場合は、図3に示すように、イメージファイルCに関しては、差分ブロックファイルとしてのブロックファイルC2のみを保存しておけばよい。
サーバ装置20がクライアント装置30にイメージファイルAを配信する際には、イメージファイルAに対応するインデックスファイルIAをクライアント装置30に配信する。クライアント装置30は、配信されたインデックスファイルIAに基づいて、イメージファイルAの生成に必要なブロックファイルA1、A2、A3、・・・Anの全てを取得するまでサーバ装置20にブロックファイルを要求して取得する。これにより、イメージファイルAがクライアント装置30に配信されたこととなる。
また、前述したように、イメージファイルAが、ブロックファイルB2のみが異なるイメージファイルBにバージョンアップした場合、クライアント装置30は、バージョンアップ前の取得済みのブロックファイルA1、A3、・・・Anについては新たに取得する必要はないため、差分ブロックファイルとしてのブロックファイルB2のみをサーバ装置20に要求して取得する。
この場合、クライアント装置30に記憶されているブロックファイルA2は、バージョンアップしたことにより不要である。このため、クライアント装置30は、ブロックファイルA2を削除すると共に、古いバージョンのインデックスファイルIAも削除する。
CPU21Aは、記憶部25に記憶された管理プログラムKPをRAM21Cに読み込んで実行することにより、イメージファイルをクライアント装置30に配信する等の各種管理処理を実行する。
図4は、クライアント装置30のハードウェア構成を示すブロック図である。クライアント装置30の基本構成は、サーバ装置20と同様であるため、同一部分については詳細な説明を省略する。
図4に示すように、クライアント装置30は、サーバ装置20と同様に、コントローラ31を備える。コントローラ31は、CPU31A、ROM31B、RAM31C、及び入出力インターフェース(I/O)31Dを備える。そして、CPU31A、ROM31B、RAM31C、及びI/O31Dがシステムバス31Eを介して各々接続されている。
また、I/O31Dには、サーバ装置20と同様に、操作部32、表示部33、通信部34、及び記憶部35が接続されている。操作部32、表示部33、及び通信部34はサーバ装置20と同様である。
図5に示すように、記憶部35は、情報処理プログラムJP、ブロックファイル群BGイメージファイルA、インデックスファイルIA、アーカイブファイルAF、及びアクセスログAL等を記憶する。
なお、図5は、イメージファイルA及びインデックスファイルIAがサーバ装置20から既に配信された状態を示している。前述したように、例えばイメージファイルAがイメージファイルBにバージョンアップすると、クライアント装置30は、図6に示すように、インデックスファイルIBを取得して差分ブロックファイルとしてのブロックファイルB2を取得して記憶すると共に、インデックスファイルIAを削除する。イメージファイルBがイメージファイルCにバージョンアップした場合も同様である。
アーカイブファイルAFは、オペレーティングシステム又はアプリケーションの予め定めた処理毎に必要な複数のブロックファイルBFを時系列に並べたファイルである。
アクセスログALは、オペレーティングシステム又はアプリケーションの予め定めた処理を実行する際にブロックファイルBFの読み込み順序を記録したデータである。
図7は、クライアント装置30のCPU31Aの機能構成を示すブロック図である。図7に示すように、CPU31Aは、機能的には、読み込み部36、実行部37、解放部38、及び制御部39を備える。
読み込み部36は、予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、フェーズ処理に必要な複数のブロックファイルが時系列に並んだアーカイブファイルを読み込む。
予め定めた一連の処理は、例えばオペレーティングシステムの起動からユーザーが利用可能となる状態までの処理である。予め定めた一連の処理は、複数のフェーズに分割される。具体的には、複数のフェーズは、オペレーティングシステムの起動プログラムを起動してからオペレーティングシステムのカーネルを起動するまでの第1フェーズ、カーネルを起動してからログイン画面を表示するまでの第2フェーズ、及びログイン画面の表示からデスクトップ画面の表示までの第3フェーズを含む。
クライアント装置30の電源がオンされてからの動作は、例えば図8に示すような流れとなる。図8に示すように、クライアント装置30の電源がONされると、ファームウェアが起動される。次に、オペレーティングシステムの起動プログラムが起動され、オペレーティングシステムのカーネルが起動され、ログイン画面が表示され、デスクトップ画面が表示される。なお、電源ONからファームウェアの起動までは、クライアント装置30本体側の処理であり、ソフトウェアによる処理ではない。従って、OSの起動プログラムの起動以降の処理がイメージファイルによって実現されるソフトウェアの処理である。
ここで、例えば前述した特許文献1記載の技術では、クライアント装置30が、サーバ装置20から配信されたイメージファイルに基づいてオペレーティングシステムの起動からユーザーが利用可能となる状態までの一連の処理である第1フェーズから第3フェーズまでの処理を実行する場合、一連の処理の実行に必要なブロックファイルBFが連続した記憶領域に記憶されたアーカイブファイルAFを作成しておくことにより、一連の処理の実行時間を短縮することができる。
しかしながら、RAM31Cの容量が一連の処理に必要なアーカイブファイルのデータサイズ未満の場合は、アーカイブファイル全体を読み込むことができず、処理効率が低下してしまう。
そこで、本実施形態では、読み込み部36は、一連の処理を複数のフェーズに分割した複数のフェーズ処理毎にアーカイブファイルAFを読み込む。すなわち、本実施形態では第1フェーズから第3フェーズまでのフェーズ処理毎にアーカイブファイルAFを読み込む。これにより、RAM31Cの容量が潤沢でない場合でも一連の処理の実行が可能となる。
実行部37は、読み込み部36が読み込んだアーカイブファイルAFを実行する。すなわち、読み込み部36が読み込んだアーカイブファイルAFに対応するフェーズ処理を実行する。
解放部38は、実行したアーカイブファイルAFを解放する。すなわち、アーカイブファイルAFが記憶されていた領域を使用可能にする。
制御部39は、読み込み部36によるアーカイブファイルAFの読み込み、実行部37によるアーカイブファイルAFの実行、及び解放部38によるアーカイブファイルAFの解放がフェーズ処理の数だけ繰り返されるように制御する。すなわち、本実施形態では、第1フェーズ~第3フェーズの各フェーズについて、アーカイブファイルAFの読み込み、実行、及び解放が行われるように制御する。
また、読み込み部36は、アーカイブファイルを読み込むRAM31Cの容量が、アーカイブファイルAFの容量未満である場合は、アーカイブファイルAFのうち一部のブロックファイルBFをRAM31Cに読み込み、解放部38は、利用済みのブロックファイルBFをRAM31Cから解放し、さらに読み込み部36は、解放された領域に残りのブロックファイルBFを読み込む。すなわち、アーカイブファイルAFを読み込むRAM31Cの容量が、アーカイブファイルAFの容量未満である場合は、RAM31Cを所謂リングバッファとして用いる。
また、制御部39は、アーカイブファイルAFが存在しない場合は、アーカイブファイルAFを構成する複数のブロックファイルを読み込むと共に、ブロックファイルの読み込み順序を記録したアクセスログALを作成し、作成したアクセスログALに基づいてアーカイブファイルAFを作成する。すなわち、アーカイブファイルAFを初めて作成する場合には、アーカイブファイルAFを作成する過程におけるブロックファイルBFの読み込み順序を記録したアクセスログALを作成する。作成したアクセスログALをサーバ装置20にアップロードし、サーバ装置20から他のクライアント装置30にアクセスログALを配信することにより、他のクライアント装置30において容易にアーカイブファイルAFを作成することができる。
なお、他のクライアント装置30がアーカイブファイルAFを作成するのではなく、サーバ装置20がアーカイブファイルAFを作成して他のクライアント装置30に配信するようにしてもよい。また、クライアント装置30の各々がアクセスログALを個別に作成し、クライアント装置30毎に、作成したアクセスログALに基づいてアーカイブファイルAFを作成してもよい。
また、制御部39は、異なる複数のアーカイブファイルAF、例えばバージョンの異なるアーカイブファイルAFが存在する場合、複数のアーカイブファイルAFにおいて共通のブロックファイルBFから構成される共通アーカイブファイルAFCを作成する。これにより、アーカイブファイルAFを効率良く記憶できる。
次に、クライアント装置30のCPU31Aで実行される情報処理について図9に示すフローチャートを参照して説明する。なお、クライアント装置30には、サーバ装置20から配信されたイメージファイルAが記憶部35に記憶されているものとする。図9の情報処理は、図8に示すようにクライアント装置30の電源がONされてファームウェアが起動し、ファームウェアの起動が終了すると実行される。
ステップS100では、CPU31Aが、実行すべき処理のアーカイブファイルAFが記憶部35に記憶されているか否かを判定する。例えば実行すべき処理が第1フェーズのオペレーティングシステムの起動プログラムの起動処理である場合は、この起動処理を実行するためのアーカイブファイルAFが記憶部35に記憶されているか否かを判定する。そして、ステップS100の判定が肯定された場合はステップS102へ移行し、ステップS100の判定が否定された場合はステップS104へ移行する。
ステップS102では、CPU31Aが、アーカイブファイルAFが記憶部35に記憶されている場合は、記憶部35からアーカイブファイルAFをRAM31Cに読み込む。
一方、ステップS104では、CPU31Aが、実行すべき処理に必要なブロックファイルBFをRAM31Cに読み込む。例えば実行すべき処理が第1フェーズのオペレーティングシステムの起動プログラムの起動処理である場合は、当該起動処理の実行に必要なブロックファイルBFを記憶部35から読み出す。起動処理の実行に必要なブロックファイルBF及び読み込み順序は、インデックスファイルIAを参照することにより特定できる。
ステップS106では、CPU31Aが、ステップS104で読み込んだブロックファイルBFと、読み込み順序と、を対応付けたアクセスログALを作成し、記憶部35に記憶する。
ステップS108では、CPU31Aが、実行すべき処理に必要な全てのブロックファイルBFをRAM31Cに読み込んだか否かを判定する。そして、ステップS108の判定が肯定された場合はステップS110へ移行する。一方、ステップS108の判定が否定された場合はステップS104へ移行して、実行すべき処理に必要な全てのブロックファイルBFをRAM31Cに読み込むまでステップS104~S108の処理を繰り返す。
ステップS112では、CPU31Aが、ステップS102でRAM31Cに読み込んだアーカイブファイルAF又はステップS104でRAM31Cに読み込んだブロックファイルBFから成るアーカイブファイルAFに基づいて処理を実行する。
ステップS114では、CPU31Aが、ステップS102でRAM31Cに読み込んだアーカイブファイルAF又はステップS104でRAM31Cに読み込んだブロックファイルBFが記憶された記憶領域を解放する。
ステップS116では、CPU31Aが、全てのフェーズ処理が終了したか否かを判定する。そして、ステップS116の判定が肯定された場合はステップS117へ移行する。一方、ステップS116の判定が否定された場合はステップS100へ戻って、次のフェーズ処理について上記と同様の処理を行う。これにより、図8に示す第1フェーズ~第3フェーズまでの処理が順次実行される。
ステップS117では、CPU31Aが、アーカイブファイルAFが記憶部35に記憶されているか否かを判定する。そして、ステップS117の判定が否定された場合はステップS118へ移行し、ステップS117の判定が肯定された場合は本ルーチンを終了する。
ステップS118では、ステップS106で作成したアクセスログALに基づいて、アーカイブファイルAFを作成する。すなわち、繰り返しステップS104でブロックファイルBFを読み込んだ順序で複数のブロックファイルBFを記憶部35の連続した記憶領域に記憶する。なお、アーカイブファイルAFは、ステップS106で作成されたアクセスログAL毎に作成される。これにより、次回以降に本ルーチンを実行した場合は、ステップS100の判定が肯定され、ステップS102で記憶部35に記憶されたアーカイブファイルAFを読み込めば良い。これにより、処理を実行するまでの時間が短縮される。また、第1フェーズ~第3フェーズの処理が終了してからアーカイブファイルAFを作成するので、各フェーズの処理中にアーカイブファイルAFを作成する場合と比較して、クライアント装置30の起動が遅くなるのを回避することができる。
ここで、第1フェーズ~第3フェーズまでの処理が行われた場合のRAM31Cの状態について説明する。ここでは、説明を簡単にするために、図10に示すように、第1フェーズ処理のアーカイブファイルAF1は4個のブロックファイルBFで構成され、第2フェーズ処理のアーカイブファイルAF2は6個のブロックファイルBFで構成され、第3フェーズ処理のアーカイブファイルAF3は10個のブロックファイルBFで構成されているものとする。また、図11(A)に示すように、RAM31Cは、14個のブロックファイルBFを記憶する領域が設けられているものとする。この場合、第1フェーズ処理が実行される場合には、図11(B)に示すように4個のブロックファイルBFからなるアーカイブファイルAF1がRAM31Cに読み込まれる。そして、第1フェーズ処理が終了すると、図11(C)に示すように、アーカイブファイルAF1が記憶されていた領域が解放され、第2フェーズ処理のアーカイブファイルAF2がRAM31Cに読み込まれる。そして、第2フェーズ処理が終了すると、図11(D)に示すように、アーカイブファイルAF2が記憶されていた領域が解放され、第3フェーズ処理のアーカイブファイルAF3がRAM31Cに読み込まれる。なお、アーカイブファイルAF3を構成する10個のブロックファイルBFのうち6個のブロックファイルBFは、第1フェーズ処理及び第2フェーズ処理の終了後に解放された記憶領域に読み込まれる。
ここで、第1フェーズから第3フェーズまでの全てのフェーズに必要なブロックファイルBFの数は合計20個であり、一度に全てのフェーズの処理に必要なブロックファイルBFをRAM31Cに読み込もうとしてもRAM31Cの容量はブロックファイルBF14個分であるため、一度に読み込めない。これに対して、本実施形態では、RAM31Cをリングバッファとして使用するので、少ない容量でもRAM31Cを効率良く使用できる。
また、例えばオペレーティングシステム又はアプリケーションがバージョンアップすることにより、イメージファイルがバージョンアップする場合がある。この場合、第1世代であるイメージファイルと第2世代のイメージファイルとの差分である差分ブロックファイルがサーバ装置20から配信される。この場合、世代毎にアーカイブファイルAFを作成するとアーカイブファイルAFの容量が増大していく。
そこで、世代間で共通のアーカイブファイルAFCを作成するようにしてもよい。例えば、第1世代のイメージファイルと、第2世代のイメージファイルと、の双方において共通のブロックファイルBFについては共通アーカイブファイルAFCとして作成する。これにより、アーカイブファイルAFが増大していくのを抑制することができる。
また、バージョンアップしていない場合でも、オペレーティングシステムが同一でアプリケーションが異なる場合、異なるアプリケーションでも共通部分がある場合等のように、共通部分があるにも関わらず、別個にアーカイブファイルAFを作成するとアーカイブファイルAFが増大していくこととなる。このような場合も、共通アーカイブファイルAFCを作成することによりアーカイブファイルAFの容量の増大を抑制できる。
以下、共通アーカイブファイルAFCを作成する場合の具体例について説明する。例えば図12(A)に示すように、アプリケーションAで使用されるアーカイブファイルAFAを構成する複数のブロックファイルBFと、図12(B)に示すように、アプリケーションAと異なるアプリケーションBで使用されるアーカイブファイルAFBを構成する複数のブロックファイルBFと、のうち、一部が共通し、一部が異なるものとする。なお、図12では、便宜的にブロックファイルBFを表す符号として数字又はアルファベットを表記した。
図12(A)に示すように、アーカイブファイルAFAは、「1」~「9」、「A」~「J」の合計19個のブロックファイルBFで構成されている。また、アーカイブファイルAFBは、「1」、「3」~「9」、「A」~「L」の合計20個のブロックファイルBFで構成されている。従って、アーカイブファイルAFBがアーカイブファイルAFAと異なるのは、アーカイブファイルAFAに存在する「2」のブロックファイルBFが存在しないことと、アーカイブファイルAFAに存在しない「K」、「L」のブロックファイルBFが存在することである。
すなわち、アーカイブファイルAFA、AFBの共通のブロックファイルBFは、「1」、「3」~「9」、「A」~「J」の合計18個のブロックファイルBFである。
従って、図12(C)に示すように、「1」、「3」~「9」、「A」~「J」の合計18個のブロックファイルBFから成る共通アーカイブファイルAFCを作成しておく。これにより、共通アーカイブファイルAFCに「2」のブロックファイルBFを追加することによりアーカイブファイルAFAを作成することができる。また、共通アーカイブファイルAFCに「K」、「L」のブロックファイルBFを追加することによりアーカイブファイルAFBを作成することができる。
以上説明したように、本実施形態では、予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、フェーズ処理に必要な複数のブロックファイルが連続した記憶領域に記憶されたアーカイブファイルを読み込んで実行し、解放する処理をフェーズ処理の数だけ繰り返す。また、アーカイブファイルAFを読み込むRAM31をリングバッファとして用いる。さらに、異なるアプリケーションで共通のブロックファイルで構成された共通アーカイブファイルを作成して利用する。これにより、RAM31Cの容量が潤沢でない場合でも予め定めた一連の処理の実行を迅速に実行することが可能となる。
以上、実施の形態を説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施の形態に多様な変更又は改良を加えることができ、該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。
なお、本実施形態では、情報処理プログラムJPが記憶部35にインストールされている形態を説明したが、これに限定されるものではない。本実施形態に係る情報処理プログラムJPを、コンピュータ読取可能な記憶媒体に記録した形態で提供してもよい。例えば、本実施形態に係る情報処理プログラムJPを、CD(Compact Disc)-ROM及びDVD(Digital Versatile Disc)-ROM等の光ディスクに記録した形態、若しくはUSB(Universal Serial Bus)メモリ及びメモリカード等の半導体メモリに記録した形態で提供してもよい。また、本実施形態に係る情報処理プログラムJPを、通信部34に接続された通信回線を介して外部装置から取得するようにしてもよい。
10 イメージ配信システム
20 サーバ装置
30 クライアント装置
36 読み込み部
37 実行部
38 解放部
39 制御部
40 ネットワーク
AF アーカイブファイル
AFC 共通アーカイブファイル
AL アクセスログ
BF ブロックファイル
IA インデックスファイル
JP 情報処理プログラム
KP 管理プログラム
A イメージファイル

Claims (8)

  1. 予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、前記フェーズ処理に必要な複数のブロックファイルが連続した記憶領域に記憶されたアーカイブファイルをメモリに読み込む読み込み部と、
    読み込んだアーカイブファイルを実行する実行部と、
    実行したアーカイブファイルを前記メモリから解放する解放部と、
    前記アーカイブファイルの読み込み、前記アーカイブファイルの実行、及び前記アーカイブファイルの解放が前記フェーズ処理の数だけ繰り返されるように制御する制御部と、
    を備えた情報処理装置。
  2. 前記予め定めた一連の処理は、オペレーティングシステムの起動からユーザーが利用可能となる状態までの処理である
    請求項1記載の情報処理装置。
  3. 前記複数のフェーズは、前記オペレーティングシステムの起動プログラムを起動してから前記オペレーティングシステムのカーネルを起動するまでの第1フェーズ、前記カーネルを起動してからログイン画面を表示するまでの第2フェーズ、及び前記ログイン画面の表示からデスクトップ画面の表示までの第3フェーズを含む
    請求項2記載の情報処理装置。
  4. 前記読み込み部は、前記アーカイブファイルを読み込む前記メモリの容量が、前記アーカイブファイルの容量未満である場合は、前記アーカイブファイルのうち一部のブロックファイルを前記メモリに読み込み、
    前記解放部は、利用済みのブロックファイルを前記メモリから解放し、
    さらに前記読み込み部は、解放された領域に残りのブロックファイルを読み込む
    請求項1~3の何れか1項に記載の情報処理装置。
  5. 前記制御部は、前記アーカイブファイルが存在しない場合は、前記アーカイブファイルを構成する複数のブロックファイルを読み込むと共に、前記ブロックファイルの読み込み順序を記録したアクセスログを作成し、作成したアクセスログに基づいて前記アーカイブファイルを作成する
    請求項1~4の何れか1項に記載の情報処理装置。
  6. 前記制御部は、異なる複数のアーカイブファイルが存在する場合、前記複数のアーカイブファイルにおいて共通のブロックファイルから構成される共通アーカイブファイルを作成する
    請求項5記載の情報処理装置。
  7. コンピュータが、
    予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、前記フェーズ処理に必要な複数のブロックファイルが連続した記憶領域に記憶されたアーカイブファイルをメモリに読み込み、
    読み込んだアーカイブファイルを実行し、
    実行したアーカイブファイルを前記メモリから解放し、
    前記アーカイブファイルの読み込み、前記アーカイブファイルの実行、及び前記アーカイブファイルの解放が前記フェーズ処理の数だけ繰り返されるように制御する
    処理を実行する情報処理方法。
  8. コンピュータに、
    予め定めた一連の処理を複数のフェーズに分割した複数のフェーズ処理毎に、前記フェーズ処理に必要な複数のブロックファイルが連続した記憶領域に記憶されたアーカイブファイルをメモリに読み込み、
    読み込んだアーカイブファイルを実行し、
    実行したアーカイブファイルを前記メモリから解放し、
    前記アーカイブファイルの読み込み、前記アーカイブファイルの実行、及び前記アーカイブファイルの解放が前記フェーズ処理の数だけ繰り返されるように制御する
    処理を実行させる情報処理プログラム。
JP2021168135A 2021-10-13 2021-10-13 情報処理装置、情報処理方法、及び情報処理プログラム Active JP7015960B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021168135A JP7015960B1 (ja) 2021-10-13 2021-10-13 情報処理装置、情報処理方法、及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021168135A JP7015960B1 (ja) 2021-10-13 2021-10-13 情報処理装置、情報処理方法、及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP7015960B1 true JP7015960B1 (ja) 2022-02-03
JP2023058241A JP2023058241A (ja) 2023-04-25

Family

ID=80808979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021168135A Active JP7015960B1 (ja) 2021-10-13 2021-10-13 情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP7015960B1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02270035A (ja) * 1989-03-20 1990-11-05 Fujitsu Ltd Ms―dos上での複数のメモリ常駐化プロセスの起動方式
JPH04149638A (ja) * 1990-10-09 1992-05-22 Nec Corp プログラム分割ロード方式
JP2013242663A (ja) * 2012-05-18 2013-12-05 Alpha Systems:Kk 多台数同一環境配信システム及び多台数同一環境配信システムにおける情報処理時間短縮方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02270035A (ja) * 1989-03-20 1990-11-05 Fujitsu Ltd Ms―dos上での複数のメモリ常駐化プロセスの起動方式
JPH04149638A (ja) * 1990-10-09 1992-05-22 Nec Corp プログラム分割ロード方式
JP2013242663A (ja) * 2012-05-18 2013-12-05 Alpha Systems:Kk 多台数同一環境配信システム及び多台数同一環境配信システムにおける情報処理時間短縮方法

Also Published As

Publication number Publication date
JP2023058241A (ja) 2023-04-25

Similar Documents

Publication Publication Date Title
US8112392B1 (en) Methods and systems for creating snapshots of virtualized applications
JP6506412B2 (ja) アプリケーションロード方法及び装置
KR101643022B1 (ko) 카탈로그-기반 소프트웨어 컴포넌트 관리
US8433890B2 (en) Preparing and preserving a system configuration during a hot upgrade
US20070011674A1 (en) Computer system and method for selectively installing one operating system among a plurality of operating systems
TWI505087B (zh) 系統重設
EP2840495A1 (en) Container-based processing method, device and system
US8176482B1 (en) Methods and systems for inserting software applications into images
US10592354B2 (en) Configurable recovery states
KR101615646B1 (ko) 컴퓨터시스템, 그 제어방법과, 그 컴퓨터프로그램이 저장된 기록매체
CN110908734A (zh) 基于插件化的应用组合方法、装置、终端设备及存储介质
KR20120037381A (ko) 소프트웨어 컴포넌트 상태에 대한 접근 제어
US20190370052A1 (en) Fast instantiation of virtual machines in distributed computing systems
JP7015960B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US10127029B1 (en) Operating system installation using logical volumes
CN110941516B (zh) 操作系统还原方法、装置、设备及存储介质
JPWO2017017836A1 (ja) 運用自動化装置及び方法並びに記憶媒体
US9201699B2 (en) Decommissioning virtual appliances
US10564894B2 (en) Free space pass-through
JP6099365B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、アプリケーションの実行方法、および、記憶媒体
JP6294475B2 (ja) プログラムをダウンロードする方法
JP5443231B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2022182457A1 (en) Operating system partitioning of different users for single-user applications
Edge et al. Mass deployment
Halsey Windows 11 File and Folder Structure in Depth

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211014

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220124

R150 Certificate of patent or registration of utility model

Ref document number: 7015960

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150