JP6666310B2 - 配信データ作成装置、配信データ作成方法及び配信データ作成プログラム - Google Patents

配信データ作成装置、配信データ作成方法及び配信データ作成プログラム Download PDF

Info

Publication number
JP6666310B2
JP6666310B2 JP2017146059A JP2017146059A JP6666310B2 JP 6666310 B2 JP6666310 B2 JP 6666310B2 JP 2017146059 A JP2017146059 A JP 2017146059A JP 2017146059 A JP2017146059 A JP 2017146059A JP 6666310 B2 JP6666310 B2 JP 6666310B2
Authority
JP
Japan
Prior art keywords
container image
updated
update
layer
patch file
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
JP2017146059A
Other languages
English (en)
Other versions
JP2019028635A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017146059A priority Critical patent/JP6666310B2/ja
Publication of JP2019028635A publication Critical patent/JP2019028635A/ja
Application granted granted Critical
Publication of JP6666310B2 publication Critical patent/JP6666310B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、配信データ作成装置、配信データ作成方法及び配信データ作成プログラムに関する。
エッジアーキテクチャにおいてエッジの端末と、複数のレイヤによって構成されるコンテナイメージを管理する配信サーバ(例えばクラウド)とをつなぐネットワーク(NW)は、貧弱であることが多い。このため、NWを有効活用するために、配信効率の良い転送手法が求められている。
そこで、従来、レイヤごとに配信管理を行い、変更があったレイヤのみ転送することで配信負荷を削減する方法が提案されている(例えば、非特許文献1参照)。この方法によれば、コンテナイメージを更新し、別のサーバへと転送する場合に、更新されたレイヤのみを転送することによって、配信時の送信容量を抑えることができる。
また、従来、コンテナイメージ全体を一つのバイナリファイルとして見たときに、更新前のファイルと更新後のファイルとのバイナリの差分のみを転送することで配信負荷を削減する方法が提案されている(例えば、非特許文献2参照)。
About images, containers, and storage drivers,[平成29年7月20日検索],インターネット<URL:https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/#sharing-promotes-smaller-images> 清原 良三,栗原 まり子,三井 聡,古宮 章裕, "組込み SW の特性に基づいたバージョン間差分抽出方式", 情報処理学会研究報告高度交通システム (ITS) 2004.114 (2004-ITS-019) (2004): P9-16.
しかしながら、従来の変更があったレイヤのみ転送する方法では、レイヤの容量が大きい場合、イメージの更新ごとに膨大な通信が発生してしまうという問題がある。また、コンテナイメージの各レイヤは、バイナリファイルとしてまとめられているため、従来の差分のみを転送する方法では、レイヤ内での差分を求めるために、バイナリ差分配信を行う必要があり大きなコストがかかるという問題がある。
本発明は、上記に鑑みてなされたものであって、更新されたコンテナイメージに関するデータ配信時の送信容量を低減する配信データ作成装置、配信データ作成方法及び配信データ作成プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る配信データ作成装置は、複数のレイヤで構成されるコンテナイメージのうち更新されたコンテナイメージについて、更新前のコンテナイメージと比して内容が更新された更新レイヤの探索を行い、該探索した更新レイヤ内の変更部分を探索する更新部分探索部と、更新部分探索部によって探索された更新レイヤ内の変更部分について、更新前のコンテナイメージとのバイナリ差分を計算してバイナリパッチファイルを作成する作成部と、を有することを特徴とする。
本発明によれば、更新されたコンテナイメージに関するデータ配信時の送信容量を低減することができる。
図1は、実施の形態に係る配信システムの構成の一例を示す図である。 図2は、図1に示す配信データ作成サーバの構成の一例を示す図である。 図3は、図2に示すレイヤ対応テーブルのデータ構成の一例を示す図である。 図4は、図2に示すパッチファイル対応テーブルのデータ構成の一例を示す図である。 図5は、図1に示す配信データ作成サーバがコンテナイメージを受信した際の処理手順を示すシーケンス図である。 図6は、図2に示す配信データ作成サーバがコンテナイメージを配信する際の処理手順を示すシーケンス図である。 図7は、プログラムが実行されることにより、配信データ作成サーバが実現されるコンピュータの一例を示す図である。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
[配信システムの概要]
まず、図1を用いて、実施の形態に係る配信システムの構成について説明する。図1は、実施の形態に係る配信システムの構成の一例を示す図である。
図1に示すように、配信システム1は、コンテナイメージ作成サーバ2、配信データ作成サーバ3及び複数のエッジ装置4が、ネットワークNを介して接続する構成を有する。なお、図1に示すエッジ装置4の数は、あくまで一例である。
配信システム1は、エッジコンピューティングにおいて、アプリケーションの基となるコンテナイメージを各エッジ装置4に配信するシステムである。コンテナイメージは、複数のレイヤによって構成される。
コンテナイメージ作成サーバ2は、例えば、データセンタ等に設けられたサーバ装置である。コンテナイメージ作成サーバ2は、技術者による操作を受け付けることによって、各アプリケーションに対応するコンテナイメージを作成、更新する。コンテナイメージ作成サーバ2は、作成、更新されたコンテナイメージと、該コンテナイメージをハッシュ化した値と、コンテナイメージのバージョン情報とを、配信データ作成サーバ3に送信する。
配信データ作成サーバ3は、コンテナイメージの配信のために必要なデータを作成し、該作成したデータを、コンテナイメージの配信先(例えば、エッジ装置4)に送信するサーバ装置である。配信データ作成サーバ3は、例えば、クラウドサーバであってもよい。この配信データ作成サーバ3は、更新されたコンテナイメージと、更新前のコンテナイメージとのバイナリ差分を計算してバイナリパッチファイルを作成する。
この際、配信データ作成サーバ3は、更新されたコンテナイメージについて、更新前のコンテナイメージと比して内容が更新された更新レイヤの探索を行う。そして、配信データ作成サーバ3は、該探索した更新レイヤ内の変更部分を探索する。配信データ作成サーバ3は、探索した更新レイヤ内の変更部分について、更新前のコンテナイメージとのバイナリ差分を計算してバイナリパッチファイルを作成する。なお、配信データ作成サーバ3は、送信対象のコンテナイメージが新たに作成されたものである場合には、コンテナイメージを配信先に送信する。
エッジ装置4は、例えば、アプリケーションを使用するサーバ装置、パーソナルコンピュータ、スマートフォン等の情報端末である。エッジ装置4は、使用するアプリケーションについて、コンテナイメージ作成サーバ2からバージョンアップの情報を受けた場合に、配信データ作成サーバ3に、このアプリケーションのコンテナイメージの送信要求を行う。この際、エッジ装置4は、コンテナイメージの送信要求とともに、要求するコンテナイメージをハッシュ化した値を、配信データ作成サーバ3に送信する。
ネットワークNは、例えば、有線又は無線のLAN(Local Area Network)、WAN(Wide Area Network)及びVPN(Virtual Private Network)等の任意の種類のネットワークである。
[配信データ作成サーバの構成]
次に、配信データ作成サーバ3の構成について説明する。図2は、図1に示す配信データ作成サーバ3の構成の一例を示す図である。配信データ作成サーバ3は、図1に示すように、通信部31、記憶部32及び制御部33を有する。
通信部31は、ネットワークN等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部31は、例えば、NIC(Network Interface Card)等で実現され、LANやインターネットなどの電気通信回線を介した他の装置と制御部33(後述)との間の通信を行う。
例えば、通信部31は、ネットワークNを介して、コンテナイメージ作成サーバ2から、作成、更新されたコンテナイメージと、該コンテナイメージをハッシュ化した値と、コンテナイメージのバージョン情報とを受信する。通信部31は、ネットワークNを介して、エッジ装置4から、コンテナイメージの送信要求と、要求するコンテナイメージをハッシュ化した値と、を受信する。そして、通信部31は、制御部33が作成したバイナリパッチファイル、或いは、コンテナイメージを、配信先のエッジ装置4に送信する。
記憶部32は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、配信データ作成サーバ3を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部32は、コンテナイメージ群321、パッチファイル群322、レイヤ対応テーブル323及びパッチファイル対応テーブル324を記憶する。
コンテナイメージ群321は、コンテナイメージ作成サーバ2が作成した各コンテナイメージである。パッチファイル群322は、更新された各コンテナイメージについて、制御部33(後述)が作成した各バイナリパッチファイルである。
レイヤ対応テーブル323は、各コンテナイメージを構成する各レイヤの特徴をそれぞれ表す値と、各レイヤの識別情報とを対応付けたテーブルデータである。各レイヤの特徴をそれぞれ表す値は、例えば、各レイヤを所定のハッシュ関数を用いてハッシュ化したハッシュ値である。このレイヤ対応テーブル323は、更新部分探索部332(後述)による更新レイヤの探索の際に参照される。なお、各レイヤのハッシュ値は、コンテナイメージ作成サーバ2が計算し、配信データ作成サーバ3にコンテナイメージとともに送信したものである。或いは、各レイヤのハッシュ値は、コンテナイメージ作成サーバ2から受信したコンテナイメージから、配信データ作成サーバ3が計算したものであってもよい。
図3は、図2に示すレイヤ対応テーブル323のデータ構成の一例を示す図である。図3に示すように、レイヤ対応テーブル323は、各コンテナイメージの識別情報、それぞれのコンテナイメージを構成する各レイヤの識別情報及び各レイヤのハッシュ値が登録される。図3の例では、コンテナイメージ「A」については、レイヤ「La1」,「La2」が、コンテナイメージ「A」を構成するレイヤとして登録される。そして、図3の例では、このレイヤ「La1」,「La2」に対応するハッシュ値として、「H(La1)」,「H(La2)」が登録される。なお、コンテナイメージの更新に伴い、内容が更新されたレイヤについては、該更新に応じて、対応するハッシュ値も変更される。
パッチファイル対応テーブル324は、更新された各コンテナイメージの識別情報と、更新された各コンテナイメージをそれぞれハッシュ化したハッシュ値と、更新されたコンテナイメージに対して制御部33(後述)が作成したバイナリパッチファイルの識別情報と、を対応付けたテーブルデータである。このパッチファイル対応テーブル324は、差分管理部331(後述)によるエッジ装置4への更新されたコンテナイメージに関する情報送信の際に参照される。なお、各コンテナイメージのハッシュ値は、コンテナイメージ作成サーバ2が計算し、配信データ作成サーバ3にコンテナイメージとともに送信したものである。或いは、各コンテナイメージは、コンテナイメージ作成サーバ2から受信したコンテナイメージから、配信データ作成サーバ3が計算したものであってもよい。
図4は、図2に示すパッチファイル対応テーブル324のデータ構成の一例を示す図である。図4に示すように、パッチファイル対応テーブル324は、各コンテナイメージの識別情報、更新されたコンテナイメージ対して制御部33(後述)が作成したバイナリパッチファイルの識別情報及び各コンテナイメージのハッシュ値が登録される。図4の例では、コンテナイメージ「A」については、パッチファイル「a」及びハッシュ値「Ha」が登録される。そして、図4の例では、コンテナイメージ「B」については、パッチファイル「b」及びハッシュ値「Hb」が登録される。なお、更新されたコンテナイメージについては、該更新に応じて、対応するハッシュ値も変更される。
制御部33は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部33は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部33は、差分管理部331(管理部)、更新部分探索部332及びバイナリパッチファイル作成部333(作成部)を有する。
差分管理部331は、他の装置との間で送受信するデータ、及び、配信データ作成サーバ3内の各機能部間で入出力するデータを管理する。具体的には、差分管理部331は、コンテナイメージ作成サーバ2から送信されたコンテナイメージとハッシュ値とを記憶部32に記録し、保管する。また、差分管理部331は、更新部分探索部332及びバイナリパッチファイル作成部333に、更新されたコンテナイメージと、更新前の前回のコンテナイメージを送信する。そして、差分管理部331は、バイナリパッチファイル作成部333が作成したバイナリパッチファイルを記憶部32に記録し、保管する。
また、差分管理部331は、コンテナイメージの送信要求を、例えばエッジ装置4から受けた場合、該当するコンテナイメージ或いはコンテナイメージのバイナリパッチファイルを、エッジ装置4に送信する。
この場合、差分管理部331は、コンテナイメージの配信時に、配信先のエッジ装置4が有するコンテナイメージをハッシュ化した値を取得する。そして、差分管理部331は、記憶部32のパッチファイル対応テーブル324が記憶するハッシュ値のうち、取得したハッシュ値に一致するハッシュ値があった場合に、該ハッシュ値に対応するバイナリパッチファイルを、通信部31を介して、配信先のエッジ装置4に配信する。
これに対し、差分管理部331は、取得したハッシュ値に一致するハッシュ値が記憶部32のパッチファイル対応テーブル324が記憶するハッシュ値の中にない場合、配信を要求されたコンテナイメージを、エッジ装置4に配信する。したがって、差分管理部331は、配信先から送信されたハッシュ値と、記憶部32に記憶されたハッシュ値とを比較して、適切なバイナリパッチファイルを配信している。
更新部分探索部332は、更新されたコンテナイメージについて、更新前のコンテナイメージと比して内容が更新された更新レイヤの探索を行い、該探索した更新レイヤ内の変更部分を探索する。
具体的には、更新部分探索部332は、更新されたコンテナイメージの各レイヤについて特徴を表す値、すなわち各レイヤのハッシュ値をそれぞれ取得する。そして、更新部分探索部332は、記憶部32が記憶するレイヤ対応テーブル323を参照し、レイヤ対応テーブル323のハッシュ値のうち、取得したハッシュ値と異なる値に対応するレイヤを更新レイヤとして探索する。そして、更新部分探索部332は、該探索した更新レイヤについて更新前の内容と更新後の内容とを比較して、更新レイヤ内の変更部分を探索する。更新部分探索部332は、探索結果として、探索した更新レイヤと、この更新レイヤ内の変更部分と、をバイナリパッチファイル作成部333に出力する。
バイナリパッチファイル作成部333は、更新部分探索部332によって探索された更新レイヤ内の変更部分について、更新前のコンテナイメージとのバイナリ差分を計算して、更新に必要なバイナリパッチファイルを作成する。
この場合、バイナリパッチファイル作成部333は、更新部分探索部332から出力された更新レイヤの変更部分について、バイナリパッチファイルを作成する。すなわち、バイナリパッチファイル作成部333は、小さく特定された変更部分に対するバイナリパッチファイルを作成するため、更新レイヤ全体に対してバイナリパッチファイルを作成する場合と比して、バイナリパッチファイルのサイズを小さくすることができる。バイナリパッチファイル作成部333は、作成したバイナリパッチファイルを差分管理部331に出力する。
[コンテナイメージ受信時の処理]
次に、配信データ作成サーバ3における処理のうち、コンテナイメージ受信時の処理について説明する。図5は、図1に示す配信データ作成サーバ3がコンテナイメージを受信した際の処理手順を示すシーケンス図である。
図5に示すように、コンテナイメージ作成サーバ2は、コンテナイメージの更新を実行し(ステップS1)、配信データ作成サーバ3の差分管理部331にコンテナイメージのバージョン情報を送信する(ステップS2)。この際、コンテナイメージ作成サーバ2は、更新したコンテナイメージのバージョン情報とともに、更新したコンテナイメージを送信する。そして、コンテナイメージ作成サーバ2は、更新したコンテナイメージとともに、該コンテナイメージのハッシュ値を、差分管理部331に送信してもよい。
差分管理部331は、更新されたコンテナイメージと、該コンテナイメージのハッシュ値とを記憶部32に記録し、保管する(ステップS3)。具体的には、差分管理部331は、記憶部32のうち、コンテナイメージ群321に、更新されたコンテナイメージを含め、パッチファイル対応テーブル324の、更新されたコンテナイメージに対応するハッシュ値欄のハッシュ値を新たなハッシュ値に更新する。なお、このハッシュ値は、更新されたコンテナイメージを基に差分管理部331が計算してもよい。
続いて、差分管理部331は、更新部分探索部332及びバイナリパッチファイル作成部333に、最新の更新されたコンテナイメージ、及び、更新前の前回のコンテナイメージを出力する(ステップS4,S5)。
更新部分探索部332は、更新されたコンテナイメージについて、更新前のコンテナイメージと比して内容が更新された更新レイヤの探索を行い、該探索した更新レイヤ内の変更部分を探索する(ステップS6)。この際、更新部分探索部332は、更新されたコンテナイメージの各レイヤのハッシュ値をそれぞれ取得する。そして、更新部分探索部332は、記憶部32のレイヤ対応テーブル323を参照し、レイヤ対応テーブル323のハッシュ値のうち、取得したハッシュ値と異なる値に対応するレイヤを更新レイヤとして探索する。続いて、更新部分探索部332は、該探索した更新レイヤについて更新前の内容と更新後の内容とを比較して、更新レイヤ内の変更部分を探索する。
更新部分探索部332は、探索結果として更新範囲、すなわち、探索した更新レイヤと、この更新レイヤ内の変更部分と、をバイナリパッチファイル作成部333に出力する(ステップS7)。そして、バイナリパッチファイル作成部333は、更新部分探索部332によって探索された更新レイヤ内の変更部分について、更新前のコンテナイメージとのバイナリ差分を計算して、更新に必要なバイナリパッチファイルの作成を行う(ステップS8)。
そして、バイナリパッチファイル作成部333は、作成したバイナリパッチファイルを差分管理部331に出力する(ステップS9)。差分管理部331は、バイナリパッチファイル作成部333が作成したバイナリパッチファイルを記憶部32に記録し、保管する(ステップS10)。この際、差分管理部331は、パッチファイル対応テーブル324に、バイナリパッチファイルの識別情報を、該バイナリパッチファイルが対応するコンテナイメージに対応させて登録する。これによって、パッチファイル対応テーブル324は、バイナリパッチファイルの識別情報及びハッシュ値が、更新されたコンテナイメージに対応付けて記憶する。
[コンテナイメージ配信時の処理]
次に、配信データ作成サーバ3における処理のうち、コンテナイメージ配信時の処理について説明する。図6は、図2に示す配信データ作成サーバ3がコンテナイメージを配信する際の処理手順を示すシーケンス図である。
図6に示すように、コンテナイメージ作成サーバ2がコンテナイメージの更新通知、及び、該更新したコンテナイメージのハッシュ値を、配信対象のエッジ装置4に送信する(ステップS21)。続いて、エッジ装置4は、配信データ作成サーバ3に、この更新されたコンテナイメージのハッシュ値と、要求するコンテナイメージの識別情報等とを送信し、更新されたコンテナイメージの配信を要求する(ステップS22)。
配信データ作成サーバ3では、差分管理部331が、このエッジ装置4からの配信要求を受けて、パッチファイル対応テーブル324に保管済みのハッシュ値を参照する(ステップS23)。差分管理部331は、エッジ装置4から送信されることで取得したハッシュ値と、参照したパッチファイル対応テーブル324のハッシュ値とを比較する。そして、差分管理部331は、パッチファイル対応テーブル324のハッシュ値のうち、取得したハッシュ値に一致するハッシュ値があるか否かを判定する(ステップS24)。
差分管理部331は、パッチファイル対応テーブル324のハッシュ値のうち、取得したハッシュ値に一致するハッシュ値がないと判定した場合(ステップS24:No)、該当のコンテナイメージをエッジ装置4に配信する(ステップS25)。配信データ作成サーバ3内に配信対象のコンテナイメージに対応するバイナリパッチファイルがないためである。
一方、差分管理部331は、パッチファイル対応テーブル324のハッシュ値のうち、取得したハッシュ値に一致するハッシュ値があると判定した場合(ステップS24:Yes)について説明する。この場合、差分管理部331は、パッチファイル対応テーブル324から、このハッシュ値に対応するバイナリパッチファイルの識別情報を取得する。そして、差分管理部331は、該取得した識別情報を有するバイナリパッチファイルをパッチファイル群322から検索する(ステップS26)。そして、差分管理部331は、検索したバイナリパッチファイルを、更新されたコンテナイメージに該当するバイナリパッチファイルとして、配信先のエッジ装置4に配信する(ステップS27)。
エッジ装置4では、配信データ作成サーバ3から配信されたバイナリパッチファイル及びエッジ装置4自身が保持するコンテナイメージ、或いは、配信されたコンテナイメージを使用し、新たなコンテナイメージを作成することによって(ステップS28)、コンテナイメージの更新或いは作成が完了する。
[実施の形態の効果]
上述したように、本実施の形態に係る配信データ作成サーバ3は、コンテナイメージの更新があった場合、更新されたコンテナイメージの中から、更新レイヤの探索を行い、さらに、更新レイヤ内の変更部分の探索を行う。そして、配信データ作成サーバ3は、探索された前記更新レイヤ内の変更部分について、更新前のコンテナイメージとのバイナリ差分を計算してバイナリパッチファイルを作成する。
このように、配信データ作成サーバ3は、バイナリ差分を求める範囲を小さくすることによって、配信対象であるバイナリパッチファイルのサイズを小さくしている。したがって、配信データ作成サーバ3によれば、更新されたコンテナイメージに関するデータ配信時の送信容量を低減することができる。また、配信データ作成サーバ3は、バイナリ差分を求める範囲を小さくすることによって、パッチファイル作成の時間を短縮することも可能になる。言い換えると、配信データ作成サーバ3は、バイナリパッチファイルのために、従来実行していたバイナリファイルの全探索を実行することがないため、バイナリパッチファイルの作成に要する時間及びリソースを低減することができる。もちろん、配信データ作成サーバ3側、すなわち、クラウド側で、更新前後のコンテナイメージの差分を求めることによってコストを低減することができる。
さらに、配信データ作成サーバ3は、コンテナメージの更新時に、各更新に対するコンテナイメージのハッシュ値と、バイナリバッチファイルとを対応付けて保管する。そして、配信データ作成サーバ3は、イメージ配信時に、配信先から送信されたコンテナイメージのハッシュ値と、各ハッシュ値を比較することによって、該当するパッチファイルを配信先に正確に配信することができる。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図7は、プログラムが実行されることにより、配信データ作成サーバ3実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、配信データ作成サーバ3の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、配信データ作成サーバ3における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
1 配信システム
2 コンテナイメージ作成サーバ
3 配信データ作成サーバ
4 エッジ装置
31 通信部
32 記憶部
33 制御部
321 コンテナイメージ群
322 パッチファイル群
323 レイヤ対応テーブル
324 パッチファイル対応テーブル
331 差分管理部
332 更新部分探索部
333 バイナリパッチファイル作成部

Claims (4)

  1. 複数のレイヤで構成されるコンテナイメージのうち更新されたコンテナイメージについて、更新前のコンテナイメージと比して内容が更新された更新レイヤの探索を行い、該探索した更新レイヤ内の変更部分を探索する更新部分探索部と、
    前記更新部分探索部によって探索された前記更新レイヤ内の変更部分について、更新前のコンテナイメージとのバイナリ差分を計算してバイナリパッチファイルを作成する作成部と、
    各コンテナイメージをそれぞれハッシュ化したハッシュ値と、各コンテナイメージに対応するバイナリパッチファイルと、を対応付けて記憶する記憶部と、
    コンテナイメージの配信時に、配信先が有するコンテナイメージをハッシュ化した値を取得し、前記記憶部が記憶するハッシュ値のうち、取得したハッシュ値に一致するハッシュ値があった場合に、該ハッシュ値に対応するバイナリパッチファイルを配信先に送信する管理部と、
    を有することを特徴とする配信データ作成装置。
  2. 前記記憶部は、各コンテナイメージを構成する各レイヤの特徴をそれぞれ表す値と、各レイヤの識別情報とを対応付けて記憶し、
    前記更新部分探索部は、前記更新されたコンテナイメージの各レイヤについて特徴を表す値をそれぞれ取得し、前記記憶部が記憶する前記特徴を表す値のうち、取得した前記特徴を表す値と異なる値に対応するレイヤを前記更新レイヤとして探索することを特徴とする請求項に記載の配信データ作成装置。
  3. 配信データ作成装置が実行する配信データ作成方法であって、
    前記配信データ作成装置は、各コンテナイメージをそれぞれハッシュ化したハッシュ値と、各コンテナイメージに対応するバイナリパッチファイルと、を対応付けて記憶する記憶部を有し、
    複数のレイヤで構成されるコンテナイメージのうち更新されたコンテナイメージについて、更新前のコンテナイメージと比して内容が更新された更新レイヤの探索を行い、該探索した更新レイヤ内の変更部分を探索する工程と、
    前記探索する工程において探索された前記更新レイヤ内の変更部分について、更新前のコンテナイメージとのバイナリ差分を計算してバイナリパッチファイルを作成する工程と、
    コンテナイメージの配信時に、配信先が有するコンテナイメージをハッシュ化した値を取得し、前記記憶部が記憶するハッシュ値のうち、取得したハッシュ値に一致するハッシュ値があった場合に、該ハッシュ値に対応するバイナリパッチファイルを配信先に送信する工程と、
    を含んだことを特徴とする配信データ作成方法。
  4. 複数のレイヤで構成されるコンテナイメージのうち更新されたコンテナイメージについて、更新前のコンテナイメージと比して内容が更新された更新レイヤの探索を行い、該探索した更新レイヤ内の変更部分を探索するステップと、
    前記探索するステップにおいて探索された前記更新レイヤ内の変更部分について、更新前のコンテナイメージとのバイナリ差分を計算してバイナリパッチファイルを作成するステップと、
    コンテナイメージの配信時に、配信先が有するコンテナイメージをハッシュ化した値を取得し、各コンテナイメージに対応するバイナリパッチファイルに対して予め対応付けられた各コンテナイメージをそれぞれハッシュ化したハッシュ値のうち、取得したハッシュ値に一致するハッシュ値があった場合に、該ハッシュ値に対応するバイナリパッチファイルを配信先に送信するステップと、
    をコンピュータに実行させるための配信データ作成プログラム。
JP2017146059A 2017-07-28 2017-07-28 配信データ作成装置、配信データ作成方法及び配信データ作成プログラム Active JP6666310B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017146059A JP6666310B2 (ja) 2017-07-28 2017-07-28 配信データ作成装置、配信データ作成方法及び配信データ作成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017146059A JP6666310B2 (ja) 2017-07-28 2017-07-28 配信データ作成装置、配信データ作成方法及び配信データ作成プログラム

Publications (2)

Publication Number Publication Date
JP2019028635A JP2019028635A (ja) 2019-02-21
JP6666310B2 true JP6666310B2 (ja) 2020-03-13

Family

ID=65478464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017146059A Active JP6666310B2 (ja) 2017-07-28 2017-07-28 配信データ作成装置、配信データ作成方法及び配信データ作成プログラム

Country Status (1)

Country Link
JP (1) JP6666310B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042366B2 (en) 2019-05-14 2021-06-22 International Business Machines Corporation Managing software programs
WO2020240614A1 (ja) * 2019-05-24 2020-12-03 日本電信電話株式会社 配信システム、配信方法、配信サーバ、処理サーバ、配信プログラムおよび処理プログラム
KR102252050B1 (ko) * 2019-07-02 2021-05-13 건국대학교 산학협력단 가상 머신 인프라스트럭처 구축 방법 및 이를 이용하는 장치
KR102470671B1 (ko) * 2022-04-13 2022-11-25 엔컴주식회사 블록체인 기반 스마트조명 에너지 절감에 따른 보상 플랫폼 서비스 제공 시스템
KR102470668B1 (ko) * 2022-04-13 2022-11-25 엔컴주식회사 컨테이너 기반 스마트조명 클라우드 플랫폼 서비스 제공 시스템 및 방법

Also Published As

Publication number Publication date
JP2019028635A (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
JP6666310B2 (ja) 配信データ作成装置、配信データ作成方法及び配信データ作成プログラム
JP6373939B2 (ja) 動的なデータ差分生成および配送
US9672053B2 (en) Service request processing
US20150039645A1 (en) High-Performance Distributed Data Storage System with Implicit Content Routing and Data Deduplication
EP2936307B1 (en) Method and cloud management node for enabling a virtual machine
US10467015B2 (en) Method for out of band device configuration deployment and system therefor
EP3289513B1 (en) Protecting user identifiable information in the transfer of telemetry data
US10133745B2 (en) Active repartitioning in a distributed database
US11238046B2 (en) Information management device, information management method, and information management program
US8903948B2 (en) Data processing system, information terminal, data processing method, and non-transitory computer-readable storage medium storing data processing program
JP7247628B2 (ja) 作成装置、作成システム、作成方法および作成プログラム
WO2017032262A1 (zh) 一种数据迁移方法及设备
US20150227549A1 (en) Device and method for managing files
US20160150010A1 (en) Information processing apparatus, data save method, and information processing system
US9626213B2 (en) System and method for file injection in virtual machine configuration
JP2016028320A (ja) 情報処理方法、プログラム、および情報処理装置
WO2013145004A1 (ja) 情報処理装置、情報処理方法および情報処理システム
JP6581155B2 (ja) 不要ファイル検出装置、不要ファイル検出方法および不要ファイル検出プログラム
US20150234648A1 (en) Firmware management system, method, and recording medium storing program
US20150100545A1 (en) Distributed database system and a non-transitory computer readable medium
US11233739B2 (en) Load balancing system and method
CN114637969A (zh) 目标对象的鉴权方法及装置
US20120150795A1 (en) Server apparatus and method of aquiring contents
CN113741952A (zh) 一种软件包管理方法、装置、设备及介质
US20190188183A1 (en) Handling weakening of hash functions by using epochs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200220

R150 Certificate of patent or registration of utility model

Ref document number: 6666310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150