JP2019028690A - Layer optimization device, layer optimization method, and layer optimization program - Google Patents

Layer optimization device, layer optimization method, and layer optimization program Download PDF

Info

Publication number
JP2019028690A
JP2019028690A JP2017146980A JP2017146980A JP2019028690A JP 2019028690 A JP2019028690 A JP 2019028690A JP 2017146980 A JP2017146980 A JP 2017146980A JP 2017146980 A JP2017146980 A JP 2017146980A JP 2019028690 A JP2019028690 A JP 2019028690A
Authority
JP
Japan
Prior art keywords
category
layer
classified
unit
processing
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.)
Granted
Application number
JP2017146980A
Other languages
Japanese (ja)
Other versions
JP6676590B2 (en
Inventor
悠司 大嶋
Yuji Oshima
悠司 大嶋
圭 大村
Kei Omura
圭 大村
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 JP2017146980A priority Critical patent/JP6676590B2/en
Publication of JP2019028690A publication Critical patent/JP2019028690A/en
Application granted granted Critical
Publication of JP6676590B2 publication Critical patent/JP6676590B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

To conduct the optimization of an image definition file for slimming a container image.SOLUTION: A layer optimization device 10 classifies each processing included in an image definition file which defines a container image that is the base of an application, into each predetermined category. Then, the layer optimization device 10 integrates each processing so that the processing classified in the same category can sit in the same layer. Then, the layer optimization device 10 places the categories which the processing is classified into, in a manner that the categories with higher update frequency sit in the upper-level layers.SELECTED DRAWING: Figure 2

Description

本発明は、レイヤ最適化装置、レイヤ最適化方法およびレイヤ最適化プログラムに関する。   The present invention relates to a layer optimization device, a layer optimization method, and a layer optimization program.

従来、エッジコンピューティングにおけるエッジ端末上で動作するアプリケーションの元となるコンテナイメージが知られている。クラウドなどで管理するコンテナイメージを様々なエッジサーバに配信する。このようなコンテナイメージは、あるOS(Operating System)に対してアプリケーション実行に必要なミドルウェアやライブラリ、アプリケーションの実行ファイルなどをインストールして、イメージ化したものである。   Conventionally, a container image that is a source of an application that operates on an edge terminal in edge computing is known. Distribute container images managed in the cloud to various edge servers. Such a container image is an image obtained by installing middleware and libraries necessary for application execution, an application execution file, and the like on a certain OS (Operating System).

コンテナイメージの定義手段として、レイヤにわけて構成させる方法がある。レイヤはイメージ定義ファイルで定義したイメージを作成するための手順ごとに一つのレイヤとなり、これらを積み重ねていくことで、一つのコンテナイメージとする方法がある(例えば、非特許文献1参照)。また、例えば、イメージの転送を行う場合にレイヤごとの転送が可能であり、エッジサーバに転送済のイメージに変更が生じた際に、差分があるレイヤのみ転送する方法がある。一方、イメージのレイヤ情報を統合して一つの大きなレイヤとして管理する方法も存在する(例えば、非特許文献2参照)。   As a means for defining a container image, there is a method in which the container image is divided into layers. A layer becomes one layer for every procedure for creating an image defined in an image definition file, and there is a method of stacking these layers to form one container image (see, for example, Non-Patent Document 1). Further, for example, when transferring an image, there is a method in which transfer for each layer is possible, and when an image transferred to an edge server is changed, only a layer having a difference is transferred. On the other hand, there is a method of integrating image layer information and managing it as one large layer (see, for example, Non-Patent Document 2).

“Dockerfile reference”、[online]、Docker、[平成29年7月18日検索]、インターネット<https://docs.docker.com/engine/reference/builder/>“Dockerfile reference”, [online], Docker, [searched July 18, 2017], Internet <https://docs.docker.com/engine/reference/builder/> “Squash an image’s layers(-squash) Experimental Only”、[online]、Docker、[平成29年7月18日検索]、インターネット<https://docs.docker.com/engine/reference/commandline/build/#squash-an-images-layers-squash-experimental-only>“Squash an image's layers (-squash) Experimental Only”, [online], Docker, [Search July 18, 2017], Internet <https://docs.docker.com/engine/reference/commandline/build/ # squash-an-images-layers-squash-experimental-only>

しかしながら、従来の技術では、コンテナイメージを軽量化することができないという課題があった。例えば、従来の技術では、コンテナイメージを複数のレイヤに分割することでイメージの作成や配信の効率化を行うが、レイヤには上位と下位の関係が存在し下位レイヤは上位レイヤに依存しないため上位レイヤでの処理を下位レイヤは意識しない。そのため上位レイヤで削除されるファイルが下位レイヤに残った状態となることがある。   However, the conventional technique has a problem that the container image cannot be reduced in weight. For example, in the conventional technology, the container image is divided into multiple layers to create and distribute images more efficiently. However, there is a relationship between upper and lower layers, and lower layers do not depend on higher layers. The lower layer is not aware of the processing in the upper layer. For this reason, a file to be deleted in the upper layer may remain in the lower layer.

具体例を挙げて説明すると、例えば、レイヤごとに操作が独立であるため、あるレイヤ1でファイルAをイメージ内に保存し、その上位レイヤ2で保存したファイルAを削除したとしても、レイヤ1にはファイルAの情報が残り、最終的な実行時にはファイルAは削除されているにも関わらずイメージサイズにはファイルAの容量が加算される。   For example, since the operation is independent for each layer, even if the file A is saved in the image in a certain layer 1 and the file A saved in the upper layer 2 is deleted, the layer 1 The information of file A remains, and the file A capacity is added to the image size even though the file A is deleted at the time of final execution.

なお、レイヤを不必要に増加させた場合イメージサイズが増加し、レイヤを過剰に統合する場合、更新時に本来必要の無いミドルウェアの転送などが必要となってしまう。1つのレイヤに統合すべき処理、分割すべき処理の判断はこれまで開発者の経験やスキルに依存していた。   Note that when the number of layers is increased unnecessarily, the image size increases, and when the layers are excessively integrated, middleware transfer that is not necessary at the time of update becomes necessary. The determination of the process to be integrated and divided into one layer has been dependent on the experience and skills of the developer.

上述した課題を解決し、目的を達成するために、本発明のレイヤ最適化装置は、アプリケーションの元となるコンテナイメージを定義するイメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する分類部と、前記分類部によって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する統合部と、前記分類部によって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する配置部とを有することを特徴とする。   In order to solve the above-described problems and achieve the object, the layer optimization apparatus of the present invention performs each process included in an image definition file that defines a container image that is a source of an application for each preset category. The update unit has a high update frequency, the integration unit that integrates the processes so that the processes classified into the same category by the classification unit are in the same layer, and the category in which the processes are classified by the classification unit It has the arrangement | positioning part arrange | positioned so that it may become a higher layer as a category.

また、本発明のレイヤ最適化方法は、レイヤ最適化装置によって実行されるレイヤ最適化方法であって、アプリケーションの元となるコンテナイメージを定義するイメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する分類工程と、前記分類工程によって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する統合工程と、前記分類工程によって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する配置工程とを含んだことを特徴とする。   The layer optimization method of the present invention is a layer optimization method executed by a layer optimization device, and sets each process included in an image definition file that defines a container image that is a source of an application in advance. A classification process for classifying each category, an integration process for integrating the processes so that the processes classified into the same category by the classification process are in the same layer, and a category in which the processes are classified by the classification process, And a placement step of placing a category having a higher update frequency so as to be a higher layer.

また、本発明のレイヤ最適化プログラムは、アプリケーションの元となるコンテナイメージを定義するイメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する分類ステップと、前記分類ステップによって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する統合ステップと、前記分類ステップによって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する配置ステップとをコンピュータに実行させる。   Further, the layer optimization program of the present invention is the same in the classification step that classifies each process included in the image definition file that defines the container image that is the source of the application for each preset category. An integration step for integrating the processes so that the processes classified into categories are in the same layer, and an arrangement in which the categories classified by the classification step are arranged so that the higher the update frequency, the higher the layer. Causing the computer to execute the steps.

本発明によれば、イメージ定義ファイルの最適化を行い、コンテナイメージを軽量化することができるという効果を奏する。   According to the present invention, it is possible to optimize the image definition file and reduce the weight of the container image.

図1は、第一の実施の形態に係る配信システムの構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a configuration of a distribution system according to the first embodiment. 図2は、第一の実施の形態に係るレイヤ最適化装置の構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of the layer optimization apparatus according to the first embodiment. 図3は、カテゴリ情報記憶部に記憶される情報の一例を示す図である。FIG. 3 is a diagram illustrating an example of information stored in the category information storage unit. 図4は、レイヤ最適化処理の一例を説明する図である。FIG. 4 is a diagram illustrating an example of the layer optimization process. 図5は、タグを設定した場合におけるレイヤ最適化処理の一例を説明する図である。FIG. 5 is a diagram for explaining an example of the layer optimization process when a tag is set. 図6は、第一の実施の形態に係るレイヤ最適化装置による処理を説明するフローチャートである。FIG. 6 is a flowchart for explaining processing by the layer optimization apparatus according to the first embodiment. 図7は、レイヤ最適化プログラムを実行するコンピュータを示す図である。FIG. 7 is a diagram illustrating a computer that executes a layer optimization program.

以下に、本願に係るレイヤ最適化装置、レイヤ最適化方法およびレイヤ最適化プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係るレイヤ最適化装置、レイヤ最適化方法およびレイヤ最適化プログラムが限定されるものではない。   Hereinafter, embodiments of a layer optimization device, a layer optimization method, and a layer optimization program according to the present application will be described in detail with reference to the drawings. It should be noted that the layer optimization device, the layer optimization method, and the layer optimization program according to the present application are not limited by this embodiment.

[第一の実施の形態]
以下の実施の形態では、第一の実施の形態に係る配信システムの構成、レイヤ最適化装置の構成、レイヤ最適化装置における処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
[First embodiment]
In the following embodiments, the configuration of the distribution system according to the first embodiment, the configuration of the layer optimization device, the processing flow in the layer optimization device will be described in order, and finally the effect of the first embodiment Will be explained.

[配信システムの構成]
まず、図1を用いて、第一の実施の形態に係る配信システムについて説明する。図1は、第一の実施の形態に係る配信システムの構成の一例を示す図である。第一の実施の形態に係る配信システムは、レイヤ最適化装置10、配信サーバ20および複数のエッジ端末30A、30Bを有し、各装置は通信網40を介して接続されている。なお、複数のエッジ端末30A、30Bについて、特に区別なく説明する場合には、エッジ端末30と記載する。また、図1に示す各装置の数は、あくまで一例であり、これに限られるものではない。
[Configuration of distribution system]
First, the distribution system according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a configuration of a distribution system according to the first embodiment. The distribution system according to the first embodiment includes a layer optimization device 10, a distribution server 20, and a plurality of edge terminals 30 </ b> A and 30 </ b> B, and each device is connected via a communication network 40. Note that the edge terminals 30 </ b> A and 30 </ b> B are referred to as edge terminals 30 when they are described without distinction. Moreover, the number of each apparatus shown in FIG. 1 is an example to the last, and is not restricted to this.

レイヤ最適化装置10は、イメージ定義ファイルの入力を受け付けると、イメージ更新時の転送容量の削減とイメージ全体のイメージサイズの削減のため、主に更新頻度にもとづきイメージ定義ファイルにおける処理をカテゴリ分けし、更新頻度の高いカテゴリほど上位のレイヤに配置する。また、レイヤ最適化装置10は、同一のカテゴリにある処理はレイヤを分割することなく、同一レイヤに統合する。   Upon receiving the input of the image definition file, the layer optimization apparatus 10 categorizes the processing in the image definition file mainly based on the update frequency in order to reduce the transfer capacity when updating the image and the image size of the entire image. A category having a higher update frequency is arranged in a higher layer. Further, the layer optimization apparatus 10 integrates processes in the same category into the same layer without dividing the layer.

配信サーバ20は、エッジコンピューティングにおけるエッジ端末30上で動作するアプリケーションの元となるコンテナイメージをエッジ端末30に配信する。コンテナイメージとは、アプリケーション実行環境を内包するイメージファイルであり、例えば、アプリケーション開発者により、イメージ定義ファイルを用いて作成される。また、コンテナイメージは、複数のレイヤから構成される。各レイヤは、イメージ定義ファイルで定義される。   The distribution server 20 distributes to the edge terminal 30 a container image that is a source of an application that runs on the edge terminal 30 in edge computing. A container image is an image file that includes an application execution environment, and is created by an application developer using an image definition file, for example. The container image is composed of a plurality of layers. Each layer is defined by an image definition file.

エッジ端末30A、30Bは、例えば、エッジコンピューティングアーキテクチャにおいてエッジサーバとして用いられる装置であり、アプリケーションを動作させる装置である。エッジ端末30A、30Bは、配信サーバ20から配信されたコンテナイメージを受信し、受信したコンテナイメージを基にアプリケーションを動作させる。なお、エッジアーキテクチャにおいてエッジ端末30A、30Bは、データセンタ内と比較しリソース(ディスクやネットワーク帯域)が貧弱であることが多い。そのため、ディスクを有効活用するためにはコンテナイメージを小さくする必要があり、ネットワークを有効活用するためには配信効率の良いコンテナイメージフォーマットを保つ必要がある。   The edge terminals 30A and 30B are, for example, devices used as edge servers in the edge computing architecture, and are devices that operate applications. The edge terminals 30A and 30B receive the container image distributed from the distribution server 20, and operate the application based on the received container image. In the edge architecture, the edge terminals 30A and 30B often have poor resources (disk and network bandwidth) compared to the data center. Therefore, it is necessary to reduce the container image in order to effectively use the disk, and it is necessary to maintain a container image format with good distribution efficiency in order to effectively use the network.

第一の実施の形態に係るレイヤ最適化装置10では、イメージ定義ファイルの最適化を行うことで、イメージサイズの削減と、イメージ更新時の別サーバへの転送容量の削減との両立を自動で行うことを可能にした。このため、これまでアプリ開発者のコンテナイメージ構成に関する深い知識に基づいて行われていた最適化を自動で行うことができる。   The layer optimization apparatus 10 according to the first embodiment automatically optimizes the image definition file to automatically reduce both the image size and the transfer capacity to another server when updating the image. Made it possible to do. For this reason, the optimization that has been performed based on the deep knowledge of the container image configuration of the application developer can be automatically performed.

[レイヤ最適化装置の構成]
次に、図2を用いて、図1に示したレイヤ最適化装置10の構成を説明する。図2は、第一の実施の形態に係るレイヤ最適化装置の構成例を示すブロック図である。図2に示すように、このレイヤ最適化装置10は、通信処理部11、入力部12、出力部13、制御部14および記憶部15を有する。以下にレイヤ最適化装置10が有する各部の処理を説明する。なお、レイヤ最適化装置10の各機能の一部または全てを、配信サーバ20が保持してもよい。
[Configuration of layer optimization device]
Next, the configuration of the layer optimization apparatus 10 shown in FIG. 1 will be described with reference to FIG. FIG. 2 is a block diagram illustrating a configuration example of the layer optimization apparatus according to the first embodiment. As illustrated in FIG. 2, the layer optimization apparatus 10 includes a communication processing unit 11, an input unit 12, an output unit 13, a control unit 14, and a storage unit 15. Hereinafter, processing of each unit included in the layer optimization apparatus 10 will be described. The distribution server 20 may hold some or all of the functions of the layer optimization device 10.

通信処理部11は、接続される装置との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部11は、最適化されたイメージ定義ファイルに基づいて作成されたコンテナイメージを配信サーバ20に送信する。   The communication processing unit 11 controls communication related to various types of information exchanged with a connected device. For example, the communication processing unit 11 transmits a container image created based on the optimized image definition file to the distribution server 20.

入力部12は、キーボードやマウスなどの入力デバイスであり、ユーザから各種情報の入力操作を受け付ける。出力部13は、ディスプレイなどの出力デバイスであり、各種情報を出力する。   The input unit 12 is an input device such as a keyboard or a mouse, and accepts various information input operations from the user. The output unit 13 is an output device such as a display, and outputs various information.

また、記憶部15は、制御部14による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、カテゴリ情報記憶部15aを有する。例えば、記憶部15は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。   The storage unit 15 stores data and programs necessary for various processes performed by the control unit 14, and has a category information storage unit 15a particularly closely related to the present invention. For example, the storage unit 15 is a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk.

カテゴリ情報記憶部15aは、後述する分類部14bによって分類されるカテゴリに関する情報を記憶する。ここで、図3を用いて、カテゴリ情報記憶部15aに記憶される情報について説明する。図3は、カテゴリ情報記憶部に記憶される情報の一例を示す図である。図3に例示するように、カテゴリ情報記憶部15aは、カテゴリを識別する情報である「カテゴリ」と、タグの設定の有無を示す「タグ」と、各カテゴリに分類された処理を識別する情報である「処理」と、各カテゴリに付与された「点数」とを対応付けて記憶する。   The category information storage unit 15a stores information related to categories classified by the classification unit 14b described later. Here, the information stored in the category information storage unit 15a will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of information stored in the category information storage unit. As illustrated in FIG. 3, the category information storage unit 15 a includes “category” that is information for identifying a category, “tag” that indicates whether a tag is set, and information that identifies processing classified into each category. And the “points” assigned to each category are stored in association with each other.

図3に例示するように、カテゴリ情報記憶部15aは、カテゴリ「カテゴリa」、タグ「無」、処理「処理A、処理B」および点数「10」を対応付けて記憶する。これは、「カテゴリa」に分類され、タグが設定されていない処理が「処理A」と「処理B」であり、点数「10」が付与されたことを意味する。   As illustrated in FIG. 3, the category information storage unit 15 a stores a category “category a”, a tag “none”, a process “process A, process B”, and a score “10” in association with each other. This means that the processing classified into “category a” and having no tag set is “processing A” and “processing B”, and the score “10” is given.

制御部14は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、受付部14a、分類部14b、統合部14cおよび配置部14dを有する。ここで、制御部14は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。   The control unit 14 has an internal memory for storing a program that defines various processing procedures and the necessary data, and performs various processes by using these programs. Particularly, as closely related to the present invention, It has the reception part 14a, the classification | category part 14b, the integration part 14c, and the arrangement | positioning part 14d. Here, the control unit 14 is an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

受付部14aは、イメージ定義ファイルの入力を受け付ける。また、受付部14aは、イメージ定義ファイルの入力とともに、該イメージ定義ファイルに含まれる処理に対するタグの設定を受け付けてもよい。なお、受付部14aは、タグの設定を受け付ける場合には、該タグに対応する点数も受け付ける。なお、以下の例では、タグに付与された点数が「1」である場合を例にして説明する。   The accepting unit 14a accepts input of an image definition file. The accepting unit 14a may accept the setting of a tag for processing included in the image definition file together with the input of the image definition file. In addition, when accepting a tag setting, the accepting unit 14a also accepts a score corresponding to the tag. In the following example, a case where the number of points assigned to a tag is “1” will be described as an example.

分類部14bは、アプリケーションの元となるコンテナイメージを定義するイメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する。例えば、分類部14bは、事前に設定されたカテゴリとして、「ディストリビューション定義」に関するカテゴリa、「ミドルウェアパッケージ取得」に関するカテゴリb、「アプリケーションビルド」に関するカテゴリc、および「環境変数等設定」に関するカテゴリdのうち、いずれかに各処理を分類する。なお、上記4つのカテゴリに分類するための条件については、どのように設定してもよく、ここでは詳しい説明を省略する。   The classification unit 14b classifies each process included in the image definition file that defines the container image that is the source of the application, for each preset category. For example, the classification unit 14b includes, as preset categories, a category a regarding “distribution definition”, a category b regarding “middleware package acquisition”, a category c regarding “application build”, and a category regarding “environment variable setting”. Each process is classified into one of d. Note that the conditions for classification into the above four categories may be set in any way, and detailed description thereof is omitted here.

また、分類部14bは、タグが設定されている場合には、各処理を、事前に設定されたカテゴリごとに分類し、さらに、タグの設定の有無に応じて分類する。つまり、イメージ定義ファイルの各処理にタグを付与することで、上記4つのカテゴリ以外のカテゴリに分類することができ、イメージ定義ファイルの最適化に反映することが可能である。なお、分類部14bは、各処理が分類されたカテゴリおよびタグの有無をカテゴリ情報記憶部15aに格納する。   In addition, when a tag is set, the classification unit 14b classifies each process for each category set in advance, and further classifies according to presence / absence of tag setting. That is, by assigning a tag to each process of the image definition file, it is possible to classify into a category other than the above four categories, and it is possible to reflect the optimization in the image definition file. The classification unit 14b stores the category into which each process is classified and the presence / absence of a tag in the category information storage unit 15a.

また、分類部14bは、各処理が分類されたカテゴリに対して、事前に設定されたカテゴリに応じた点数を付与し、タグが設定された処理が分類されたカテゴリに対しては、タグに応じた点数をさらに付与する。そして、分類部14bは、付与した点数をカテゴリ情報記憶部15aに格納する。   Further, the classification unit 14b assigns a score corresponding to a category set in advance to the category in which each process is classified, and adds a score to the category in which the process for which the tag is set is classified. The corresponding score is further given. Then, the classification unit 14b stores the assigned score in the category information storage unit 15a.

例えば、カテゴリaには、点数「10」、カテゴリbには、点数「8」、カテゴリcには、点数「4」、カテゴリdには、点数「1」が設定されているものとする。この場合には、分類部14bは、カテゴリaに対して、点数「10」を付与し、カテゴリbに対して、点数「8」を付与し、カテゴリcに対して、点数「4」を付与し、カテゴリdに対して、点数「1」を付与する。なお、点数が高く設定されているカテゴリほど更新頻度が低いことを意味している。つまり、カテゴリaが最も更新頻度が低い処理に関するカテゴリであり、カテゴリdが最も更新頻度が高い処理に関するカテゴリである。   For example, it is assumed that score “10” is set for category a, score “8” is set for category b, score “4” is set for category c, and score “1” is set for category d. In this case, the classification unit 14b assigns a score “10” to the category “a”, assigns a score “8” to the category “b”, and assigns a score “4” to the category “c”. Then, the score “1” is assigned to the category d. In addition, it means that the update frequency is low for a category set with a high score. That is, category a is a category related to the process with the lowest update frequency, and category d is a category related to the process with the highest update frequency.

また、例えば、分類部14bは、タグが付与された処理をカテゴリbに分類した場合には、点数「8」を付与するとともに、タグに対応する点数「1」をさらに加算し、カテゴリb(タグ設定有)に対して合計の点数「9」を付与する。   Further, for example, when the process to which the tag is assigned is classified into the category b, the classification unit 14b assigns a score “8”, and further adds a score “1” corresponding to the tag, so that the category b ( A total score of “9” is given to “with tag setting”.

統合部14cは、分類部14bによって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する。例えば、統合部14cは、分類部14bによって付与された点数が同一の処理が同一レイヤとなるように各処理を統合する。   The integration unit 14c integrates the processes so that the processes classified into the same category by the classification unit 14b are in the same layer. For example, the integration unit 14c integrates each process so that processes with the same number of points assigned by the classification unit 14b are in the same layer.

配置部14dは、分類部14bによって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する。例えば、配置部14dは、分類部14bによって付与された点数が高いカテゴリほど上位のレイヤとなるように配置する。   The placement unit 14d places the categories whose processing has been classified by the classification unit 14b so that the category with the higher update frequency becomes a higher layer. For example, the arranging unit 14d arranges the category having a higher score assigned by the classifying unit 14b so that it is a higher layer.

ここで、図4を用いて、レイヤ最適化処理の一例を説明する。図4は、レイヤ最適化処理の一例を説明する図である。図4に示すように、イメージ定義ファイルには、処理A〜処理Fが含まれているものとする。そして、分類部14bは、処理Aおよび処理Bをカテゴリaに分類し、処理Cおよび処理Eをカテゴリbに分類し、処理Dをカテゴリcに分類し、処理Fをカテゴリdに分類する。   Here, an example of the layer optimization process will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of the layer optimization process. As shown in FIG. 4, the image definition file includes processing A to processing F. Then, the classification unit 14b classifies the processes A and B into the category a, classifies the processes C and E into the category b, classifies the process D into the category c, and classifies the process F into the category d.

そして、統合部14cは、分類部14bによって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する。例えば、図4の例では、統合部14cは、カテゴリaに分類された処理Aおよび処理Bがレイヤ1となるように統合し、カテゴリbに分類された処理Cおよび処理Eがレイヤ2となるように各処理を統合する。   Then, the integration unit 14c integrates the processes so that the processes classified into the same category by the classification unit 14b are in the same layer. For example, in the example of FIG. 4, the integration unit 14c integrates the processing A and the processing B classified into the category a so as to be layer 1, and the processing C and the processing E classified into the category b become layer 2. So that each process is integrated.

そして、配置部14dは、分類部14bによって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する。つまり、図4の例では、配置部14dは、例えば、更新頻度が最も高いカテゴリdに対応するレイヤ4が最上位のレイヤとなるように配置し、その次に、レイヤ3、レイヤ2の順に配置し、更新頻度が最も低いカテゴリaに対応するレイヤ1が最下位のレイヤとなるように配置する。   Then, the arranging unit 14d arranges the categories whose processing is classified by the classifying unit 14b so that the category having a higher update frequency becomes a higher layer. That is, in the example of FIG. 4, the placement unit 14d places, for example, the layer 4 corresponding to the category d having the highest update frequency so that it becomes the highest layer, and then, in the order of layer 3 and layer 2 Arrangement is made so that layer 1 corresponding to category a having the lowest update frequency is the lowest layer.

また、図5を用いて、タグを設定した場合におけるレイヤ最適化処理の一例を説明する。図5は、タグを設定した場合におけるレイヤ最適化処理の一例を説明する図である。図5に示すように、イメージ定義ファイルには、処理A〜処理Fが含まれており、処理Cにはタグが設定されているものとする。そして、分類部14bは、処理Aおよび処理Bをカテゴリaに分類し、処理Cをカテゴリb(タグ設定有)に分類し、処理Eをカテゴリb(タグ設定無)に分類し、処理Dをカテゴリcに分類し、処理Fをカテゴリdに分類する。   An example of layer optimization processing when a tag is set will be described with reference to FIG. FIG. 5 is a diagram for explaining an example of the layer optimization process when a tag is set. As shown in FIG. 5, it is assumed that the image definition file includes process A to process F, and a tag is set for process C. Then, the classification unit 14b classifies the process A and the process B into the category a, classifies the process C into the category b (with tag setting), classifies the process E into the category b (without tag setting), and processes the process D. Classify into category c and process F into category d.

そして、統合部14cは、分類部14bによって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する。例えば、図5の例では、統合部14cは、カテゴリaに分類された処理Aおよび処理Bがレイヤ1となるように各処理を統合する。   Then, the integration unit 14c integrates the processes so that the processes classified into the same category by the classification unit 14b are in the same layer. For example, in the example of FIG. 5, the integration unit 14 c integrates each process so that the process A and the process B classified into the category a become the layer 1.

そして、配置部14dは、分類部14bによって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する。つまり、図5の例では、配置部14dは、例えば、更新頻度が最も高いカテゴリdに対応するレイヤ5が最上位のレイヤとなるように配置し、その次に、レイヤ4、レイヤ3、レイヤ2の順に配置し、更新頻度が最も低いカテゴリaに対応するレイヤ1が最下位のレイヤとなるように配置する。   Then, the arranging unit 14d arranges the categories whose processing is classified by the classifying unit 14b so that the category having a higher update frequency becomes a higher layer. That is, in the example of FIG. 5, the placement unit 14d places, for example, the layer 5 corresponding to the category d having the highest update frequency so as to be the highest layer, and then, the layer 4, the layer 3, the layer The layer 1 is arranged in the order of 2, and the layer 1 corresponding to the category a having the lowest update frequency is arranged to be the lowest layer.

このように、レイヤ最適化装置10は、予め設定したカテゴリに各処理を分類し、同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合することで、レイヤが不必要に増加することを防ぎ、イメージサイズの削減を実現することが可能である。また、レイヤ最適化装置10は、更新頻度が高いカテゴリほど上位のレイヤとなるように配置するので、上位レイヤのイメージ更新時に上位のレイヤのイメージのみ転送すればよく、別サーバへの転送容量を削減することができる。   In this manner, the layer optimization apparatus 10 unnecessarily increases the number of layers by classifying the processes into preset categories and integrating the processes so that the processes classified in the same category become the same layer. It is possible to reduce the image size. In addition, since the layer optimization apparatus 10 is arranged so that the category with the higher update frequency becomes the higher layer, it is only necessary to transfer the image of the upper layer when updating the image of the upper layer, and the transfer capacity to another server is increased. Can be reduced.

[レイヤ最適化装置の処理の流れ]
次に、図6を用いて、第一の実施の形態に係るレイヤ最適化装置10の処理の流れを説明する。図6は、第一の実施の形態に係るレイヤ最適化装置による処理を説明するフローチャートである。
[Processing flow of layer optimization device]
Next, a processing flow of the layer optimization apparatus 10 according to the first embodiment will be described with reference to FIG. FIG. 6 is a flowchart for explaining processing by the layer optimization apparatus according to the first embodiment.

図6に示すように、レイヤ最適化装置10の受付部14aがユーザからのイメージ定義ファイルの入力を受け付けると(ステップS101肯定)、分類部14bは、イメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する(ステップS102)。なお、受付部14aは、イメージ定義ファイルの入力とともに、該イメージ定義ファイルに含まれる処理に対するタグの設定を受け付けてもよい。また、分類部14bは、タグが設定されている場合には、各処理を、事前に設定されたカテゴリごとに分類し、さらに、タグの設定の有無に応じて分類する。   As illustrated in FIG. 6, when the receiving unit 14a of the layer optimization device 10 receives an input of an image definition file from the user (Yes in step S101), the classification unit 14b performs each process included in the image definition file in advance. Are classified for each category set (step S102). The receiving unit 14a may receive a tag setting for processing included in the image definition file together with the input of the image definition file. In addition, when a tag is set, the classification unit 14b classifies each process for each category set in advance, and further classifies according to presence / absence of tag setting.

そして、分類部14bは、カテゴリごとに点数を計算する(ステップS103)。例えば、分類部14bは、カテゴリに対して、カテゴリに応じた点数を付与し、タグが設定された処理が分類されたカテゴリに対しては、タグに応じた点数をさらに付与する。   And the classification | category part 14b calculates a score for every category (step S103). For example, the classification unit 14b assigns a score corresponding to the category to the category, and further assigns a score corresponding to the tag to the category in which the process in which the tag is set is classified.

そして、統合部14cは、分類部14bによって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する(ステップS104)。そして、配置部14dは、点数が高いカテゴリほど下位のレイヤとなるように配置する(ステップS105)。   Then, the integration unit 14c integrates the processes so that the processes classified into the same category by the classification unit 14b are in the same layer (Step S104). Then, the arranging unit 14d arranges the category having a higher score so that the lower layer becomes a lower layer (step S105).

[第一の実施の形態の効果]
このように、第一の実施の形態に係るレイヤ最適化装置10は、アプリケーションの元となるコンテナイメージを定義するイメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する。そして、レイヤ最適化装置10は、同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する。そして、レイヤ最適化装置10は、処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する。このため、イメージ定義ファイルの最適化を行い、コンテナイメージを軽量化することが可能である。
[Effect of the first embodiment]
As described above, the layer optimization apparatus 10 according to the first embodiment classifies each process included in the image definition file that defines the container image that is the source of the application, for each preset category. And the layer optimization apparatus 10 integrates each process so that the process classified into the same category may become the same layer. And the layer optimization apparatus 10 arrange | positions the category by which the process was classified so that a category with higher update frequency may become a higher layer. For this reason, it is possible to optimize the image definition file and reduce the weight of the container image.

つまり、レイヤ最適化装置10は、予め設定したカテゴリに各処理を分類し、同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合することで、レイヤが不必要に増加することを防ぎ、イメージサイズの削減を実現することが可能である。また、レイヤ最適化装置10は、更新頻度が高いカテゴリほど上位のレイヤとなるように配置するので、上位レイヤのイメージ更新時に上位のレイヤのイメージのみ転送すればよく、別サーバへの転送容量を削減することができる。   That is, the layer optimization apparatus 10 unnecessarily increases the layers by classifying the processes into preset categories and integrating the processes so that the processes classified in the same category become the same layer. It is possible to reduce the image size. In addition, since the layer optimization apparatus 10 is arranged so that the category with the higher update frequency becomes the higher layer, it is only necessary to transfer the image of the upper layer when updating the image of the upper layer, and the transfer capacity to another server is increased. Can be reduced.

このように、レイヤ最適化装置10では、イメージ定義ファイルの最適化を行うことで、イメージサイズの削減と、イメージ更新時の別サーバへの転送容量の削減との両立を自動で行うことを可能にした。このため、これまでアプリ開発者のコンテナイメージ構成に関する深い知識に基づいて行われていた最適化を自動で行うことができる。   As described above, the layer optimization device 10 can automatically reduce both the image size and the transfer capacity to another server when updating the image by optimizing the image definition file. I made it. For this reason, the optimization that has been performed based on the deep knowledge of the container image configuration of the application developer can be automatically performed.

[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. Furthermore, all or a part of each processing function performed in each device may be realized by a CPU and a program that is analyzed and executed by the CPU, or may be realized as hardware by wired logic.

また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   In addition, among the processes described in the present embodiment, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed All or a part of the above can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

[プログラム]
図7は、レイヤ最適化プログラムを実行するコンピュータを示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[program]
FIG. 7 is a diagram illustrating a computer that executes a layer optimization program. The computer 1000 includes a memory 1010 and a CPU 1020, for example. The computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090. The disk drive interface 1040 is connected to the disk drive 1100. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1051 and a keyboard 1052, for example. The video adapter 1060 is connected to the display 1061, for example.

ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、レイヤ最適化装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。   The hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the layer optimization apparatus 10 is implemented as a program module 1093 in which a code executable by a computer is described. The program module 1093 is stored in the hard disk drive 1090, for example. For example, a program module 1093 for executing processing similar to the functional configuration in the apparatus is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced by an SSD (Solid State Drive).

また、上述した実施の形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。   Data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 and executes them as necessary.

なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク、WANを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   The program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network or a WAN. Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.

10 レイヤ最適化装置
11 通信処理部
12 入力部
13 出力部
14 制御部
14a 受付部
14b 分類部
14c 統合部
14d 配置部
15 記憶部
15a カテゴリ情報記憶部
20 配信サーバ
30A、30B エッジ端末
DESCRIPTION OF SYMBOLS 10 Layer optimization apparatus 11 Communication processing part 12 Input part 13 Output part 14 Control part 14a Reception part 14b Classification | category part 14c Integration part 14d Arrangement | positioning part 15 Storage part 15a Category information storage part 20 Distribution server 30A, 30B Edge terminal

Claims (5)

アプリケーションの元となるコンテナイメージを定義するイメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する分類部と、
前記分類部によって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する統合部と、
前記分類部によって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する配置部と
を有することを特徴とするレイヤ最適化装置。
A classification unit that classifies each process included in the image definition file that defines the container image that is the source of the application, for each preset category;
An integration unit that integrates each process so that the processes classified into the same category by the classification unit are in the same layer;
A layer optimizing device, comprising: an arrangement unit that arranges a category in which processing is classified by the classification unit so that a category having a higher update frequency becomes a higher layer.
前記イメージ定義ファイルの入力を受け付けるとともに、該イメージ定義ファイルに含まれる処理に対するタグの設定を受け付ける受付部と、
前記分類部は、前記各処理を、事前に設定されたカテゴリごとに分類し、さらに、前記タグの設定の有無に応じて分類することを特徴とする請求項1に記載のレイヤ最適化装置。
A receiving unit that receives an input of the image definition file and receives a tag setting for a process included in the image definition file;
The layer optimization apparatus according to claim 1, wherein the classification unit classifies the processes for each category set in advance, and further classifies the processes according to whether the tag is set.
前記分類部は、前記各処理が分類されたカテゴリに対して、事前に設定されたカテゴリに応じた点数を付与し、前記タグが設定された処理が分類されたカテゴリに対しては、前記タグに応じた点数をさらに付与し、
前記配置部は、前記分類部によって付与された点数が高いカテゴリほど上位のレイヤとなるように配置することを特徴とする請求項2に記載のレイヤ最適化装置。
The classification unit assigns a score according to a category set in advance to the category in which each process is classified, and the category in which the process in which the tag is set is classified According to the score,
The layer optimizing apparatus according to claim 2, wherein the arranging unit arranges so that a category having a higher score assigned by the classifying unit becomes a higher layer.
レイヤ最適化装置によって実行されるレイヤ最適化方法であって、
アプリケーションの元となるコンテナイメージを定義するイメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する分類工程と、
前記分類工程によって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する統合工程と、
前記分類工程によって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する配置工程と
を含んだことを特徴とするレイヤ最適化方法。
A layer optimization method executed by a layer optimization device, comprising:
A classification process that classifies each process included in the image definition file that defines the container image that is the source of the application into categories set in advance,
An integration step of integrating each processing so that the processing classified into the same category by the classification step becomes the same layer;
A layer optimizing method comprising: arranging a category in which processing is classified by the classification step so that a category having a higher update frequency becomes a higher layer.
アプリケーションの元となるコンテナイメージを定義するイメージ定義ファイルに含まれる各処理を、事前に設定されたカテゴリごとに分類する分類ステップと、
前記分類ステップによって同一カテゴリに分類された処理が同一レイヤとなるように各処理を統合する統合ステップと、
前記分類ステップによって処理が分類されたカテゴリを、更新頻度が高いカテゴリほど上位のレイヤとなるように配置する配置ステップと
をコンピュータに実行させるためのレイヤ最適化プログラム。
A classification step that classifies each process included in the image definition file that defines the container image that is the source of the application, according to a preset category,
An integration step of integrating the processes so that the processes classified into the same category by the classification step are in the same layer;
A layer optimization program for causing a computer to execute a placement step of placing a category in which processing is classified in the classification step so that a category having a higher update frequency becomes a higher layer.
JP2017146980A 2017-07-28 2017-07-28 Layer optimization device, layer optimization method, and layer optimization program Active JP6676590B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017146980A JP6676590B2 (en) 2017-07-28 2017-07-28 Layer optimization device, layer optimization method, and layer optimization program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017146980A JP6676590B2 (en) 2017-07-28 2017-07-28 Layer optimization device, layer optimization method, and layer optimization program

Publications (2)

Publication Number Publication Date
JP2019028690A true JP2019028690A (en) 2019-02-21
JP6676590B2 JP6676590B2 (en) 2020-04-08

Family

ID=65478653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017146980A Active JP6676590B2 (en) 2017-07-28 2017-07-28 Layer optimization device, layer optimization method, and layer optimization program

Country Status (1)

Country Link
JP (1) JP6676590B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011138247A (en) * 2009-12-28 2011-07-14 Hitachi Ltd Program influence range verification method and device
US20170177860A1 (en) * 2015-12-18 2017-06-22 Amazon Technologies, Inc. Software container registry container image deployment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011138247A (en) * 2009-12-28 2011-07-14 Hitachi Ltd Program influence range verification method and device
US20170177860A1 (en) * 2015-12-18 2017-06-22 Amazon Technologies, Inc. Software container registry container image deployment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
内田 誠悟: "Docker実戦投入 設計の原則、本番環境の構築、運用ノウハウ 第3章 ビルド環境の構築とDocke", WEB+DB PRESS PLUS クラウド開発徹底攻略, vol. 初版, JPN6019037564, 25 May 2015 (2015-05-25), JP, pages 99 - 105, ISSN: 0004125273 *

Also Published As

Publication number Publication date
JP6676590B2 (en) 2020-04-08

Similar Documents

Publication Publication Date Title
US11290534B2 (en) System and method for scheduling computer tasks
US10853334B2 (en) Technologies for providing service isolation, scalability, and proactive tenant migration in multi-tenant ecosystems
US9965331B2 (en) System and method for runtime grouping of processing elements in streaming applications
CN109416684B (en) Ingest manager of analysis platform
KR102156439B1 (en) Cloud-edge system and method for processing data thereof
CN110249312B (en) Method and system for converting data integration jobs from a source framework to a target framework
WO2023160033A1 (en) Virtual network card resource configuration method and apparatus, computer device, and medium
US11914648B2 (en) Graph refactorization method and graph refactorization apparatus
JP6581155B2 (en) Unnecessary file detection device, unnecessary file detection method and unnecessary file detection program
US20200142955A1 (en) Intelligent reporting platform
US20220036206A1 (en) Containerized distributed rules engine
JP2017204161A (en) Clustering device, clustering method, and clustering program
KR102076626B1 (en) a virtual machine replacement method in cloud computing system
JP6676590B2 (en) Layer optimization device, layer optimization method, and layer optimization program
US11281443B1 (en) Organizing deployment packages for software applications and services
US20210365247A1 (en) System and method for generating a factory layout for optimizing media content production
US20170286181A1 (en) Deployment and execution of sensing and computational tasks in a network of computing devices
CN112148461A (en) Application scheduling method and device
US20230334007A1 (en) Data flow control device, data flow control method, and data flow control program
US20230325169A1 (en) Rebasing image layers utilising a repository-based strategy
US20230418681A1 (en) Intelligent layer derived deployment of containers
CN108206745B (en) Business operation method and device and cloud computing system
CN117290049A (en) Dynamic container layer switching
CN116438605A (en) Distributed medical software platform
CN117544626A (en) POD deployment method and device

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200312

R150 Certificate of patent or registration of utility model

Ref document number: 6676590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150