DE102020004756A1 - Informationsverarbeitungsvorrichtung und programm - Google Patents

Informationsverarbeitungsvorrichtung und programm Download PDF

Info

Publication number
DE102020004756A1
DE102020004756A1 DE102020004756.4A DE102020004756A DE102020004756A1 DE 102020004756 A1 DE102020004756 A1 DE 102020004756A1 DE 102020004756 A DE102020004756 A DE 102020004756A DE 102020004756 A1 DE102020004756 A1 DE 102020004756A1
Authority
DE
Germany
Prior art keywords
container
identification information
new
unit
image
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
DE102020004756.4A
Other languages
English (en)
Inventor
Hiroki Hokazono
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102020004756A1 publication Critical patent/DE102020004756A1/de
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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/45562Creating, deleting, cloning 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45591Monitoring or debugging support
    • 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

Abstract

Es werden eine Informationsverarbeitungsvorrichtung und ein Programm bereitgestellt, die zum leichten Beheben einer Redundanz durch Ermitteln der Redundanz von Identifikationsinformationen geeignet sind. Eine Informationsverarbeitungsvorrichtung zur Erstellung einer Anwendung, die mehrere Container nutzt, in denen ein Software-Modul virtualisiert ist, umfasst: eine Container-Dateien-Erstellungseinheit, die aus dem Software-Modul eine Container-Datei erstellt; eine Identifikationsinformations-Bestimmungseinheit, die einem Container-Image und einem Container, die anhand der Container-Datei zu erstellen sind, zugeordnete Identifikationsinformationen, die neu sind, als neue Identifikationsinformationen bestimmt; eine Identifikationsinformations-Vergleichseinheit, die die neuen Identifikationsinformationen mit vorhandenen Identifikationsinformationen vergleicht, die Identifikationsinformationen eines anderen Container-Image und Containers sind, die erstellt wurden; und eine Redundanzeliminierungseinheit, die entsprechend den Vergleichsergebnissen eine Redundanz der vorhandenen Identifikationsinformationen und der neuen Identifikationsinformationen eliminiert.

Description

  • HINTERGRUND DER ERFINDUNG
  • Bereich der Erfindung
  • Die vorliegende Erfindung betrifft eine Informationsverarbeitungsvorrichtung und ein Programm.
  • Verwandte Technik
  • Zur praktischen Nutzung von Systemen erfolgte herkömmlicherweise die Anwendung eines Systems für jeden physischen Server. Bei einer derartigen praktischen Nutzung bleiben Rechenkapazitäten einer CPU ungenutzt, und es treten Fälle ein, in denen es nicht möglich ist, die Ressourcen eines physischen Servers effektiv einzusetzen.
  • Gegenwärtig sind Virtualisierungstechnologien bekannt, die Ressourcen durch die Einrichtung mehrerer virtueller Server auf einem physischen Server effektiv einsetzen. Mittels der Virtualisierungstechnologie werden die Ressourcen des einen physischen Servers beispielsweise aufgeteilt, und auf jeder der aufgeteilten Ressourcen wird ein System ausgeführt. Als Beispiel der Virtualisierungstechnologie wurde eine virtuelle Container-Technologie vorgeschlagen, bei der die Ausführungsumgebung von anderen Prozessen isoliert und der Betrieb einer Anwendung in einem isolierten Prozess veranlasst wird. Als derartige Container-Virtualisierungstechnologie wurde beispielsweise ein System vorgeschlagen, das zum Ausführen einer Lastenaufteilung mehrere Container ausführt (siehe Patentschrift 1).
  • Patentschrift 1: internationale PCT-Veröffentlichung Nr. WO2018/003031
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß Patentschrift 1 wird die Anzahl der Operationen mehrerer Container, die jeweils identische Verarbeitungs-Container sind, erhöht oder verringert. Genauer wird gemäß Patentschrift 1 anhand des Auslastungsstatus (der Leistungsnutzungszeiten) anderer Dienste bestimmt, ob ein Container deaktiviert werden soll. Aus diesem Grund können gemäß Patentschrift 1 Identifikationsinformationen zur Identifikation jedes der mehreren Container die gleichen Informationen sein.
  • Andererseits können beim Ausführen einer Anwendung, die aus mehreren Containern mit unterschiedlichen Aufgaben aufgebaut ist, sämtliche der mehreren Container untereinander kommunizieren. Wenn sämtliche der mehreren Container untereinander kommunizieren, muss jeder der mehreren Container über eindeutige Identifikationsinformationen verfügen, um die Identifikation des Containers, der der Adressat der Kommunikation ist, durch andere Container zu ermöglichen. Daher wäre es, wenn möglich, ideal, eine Redundanz von Identifikationsinformationen zu ermitteln und die Redundanz leicht zu beheben.
  • Ein erster Aspekt der vorliegenden Offenbarung betrifft eine Informationsverarbeitungsvorrichtung zur Erstellung einer Anwendung, die mehrere Container nutzt, in denen ein Software-Modul virtualisiert ist, wobei die Informationsverarbeitungsvorrichtung umfasst: eine Container-Dateien-Erstellungseinheit, die aus dem Software-Modul eine Container-Datei erstellt; eine Identifikationsinformations-Bestimmungseinheit, die einem Container-Image und einem Container, die aus der Container-Datei zu erstellen sind, zugeordnete Identifikationsinformationen, die neu sind, als neue Identifikationsinformationen bestimmt; eine Identifikationsinformations-Vergleichseinheit, die die neuen Identifikationsinformationen mit vorhandenen Identifikationsinformationen vergleicht, die Identifikationsinformationen eines anderen Container-Image und Containers sind, die erstellt wurden; und eine Redundanzeliminierungseinheit, die entsprechend Vergleichsergebnissen eine Redundanz der vorhandenen Identifikationsinformationen und der neuen Identifikationsinformationen eliminiert.
  • Darüber hinaus betrifft ein zweiter Aspekt der vorliegenden Offenbarung ein Programm zum Veranlassen eines Computers, als Informationsverarbeitungsvorrichtung zu arbeiten, die eine Anwendung erstellt, die durch einen Container ausgedrückt wird, in dem ein Software-Modul virtualisiert ist, wobei das Programm den Computer veranlasst, zu fungieren als: Container-Dateien-Erstellungseinheit, die aus dem Software-Modul eine Container-Datei erstellt; Identifikationsinformations-Bestimmungseinheit, die in Bezug auf ein Container-Image und einen Container, die aus der erstellten Container-Datei abgerufen wurden, Identifikationsinformationen, die neu sind, als neue Identifikationsinformationen bestimmt; Identifikationsinformations-Vergleichseinheit, die die neuen Identifikationsinformationen mit vorhandenen Identifikationsinformationen vergleicht, die Identifikationsinformationen eines anderen Container-Image und Containers sind, die erstellt wurden; und Redundanzeliminierungseinheit, die entsprechend Vergleichsergebnissen eine Redundanz der vorhandenen Identifikationsinformationen und der neuen Identifikationsinformationen eliminiert.
  • Gemäß der vorliegenden Offenbarung ist es möglich, eine Informationsverarbeitungsvorrichtung und ein Programm bereitzustellen, die eine Redundanz von Identifikationsinformationen ermitteln und die Redundanz leicht beheben können.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Informationsverarbeitungsvorrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt; 2 ist eine Konzeptzeichnung, die die Konfiguration von in einer Software-Speichereinheit der Informationsverarbeitungsvorrichtung gemäß der ersten Ausführungsform gespeicherter Software zeigt; 3 ist ein schematisches Diagramm, das den Ablauf der Erstellung von Containern aus einem Software-Modul durch eine Container-Erstellungseinheit der Informationsverarbeitungsvorrichtung gemäß der ersten Ausführungsform zeigt; 4 ist ein Ablaufdiagramm, das den Ablauf des Betriebs der Informationsverarbeitungsvorrichtung gemäß der ersten Ausführungsform zeigt; und 5 ist ein Blockdiagramm, das eine Informationsverarbeitungsvorrichtung gemäß einer zweiten Ausführungsform der vorliegenden Offenbarung zeigt.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Nachstehend werden unter Bezugnahme auf die 1 bis 5 eine Informationsverarbeitungsvorrichtung 1 und ein Programm gemäß jeder Ausführungsform der vorliegenden Offenbarung erläutert. Zunächst wird vor der Erläuterung der Informationsverarbeitungsvorrichtung 1 und des Programms gemäß jeder Ausführungsform die von der Informationsverarbeitungsvorrichtung 1 und dem Programm eingesetzte Container-Virtualisierungstechnologie erläutert.
  • Die Container-Virtualisierungstechnologie ist eine Technologie, die durch Veranlassen des Betriebs mehrerer Container, in denen ein Software-Modul virtualisiert ist, mehrere virtuelle Umgebungen auf einer physischen Vorrichtung (beispielsweise einem physischen Server) konstruiert. Durch die Container-Virtualisierungstechnologie werden beispielsweise Ressourcen einer physischen Vorrichtung aufgeteilt, und in jeder der aufgeteilten Ressourcen arbeitet ein Container. Genauer ist es mittels der Container-Virtualisierungstechnologie möglich, in dem Prozess eines Host-Betriebssystems der physischen Vorrichtung mehrere Container auszuführen. Der Container wird beispielsweise anhand einer durch Containerisierung des Software-Moduls erstellten Container-Datei erstellt. Genauer wird der Container durch Instanziieren eines durch die Visualisierung einer Container-Datei erhaltenen Container-Image erstellt.
  • Hier wird ein Beispiel der Erstellung einer Anwendung, die mehrere Container nutzt, mittels der Container-Virtualisierungstechnologie erläutert. Als Anwendung wird beispielsweise eine Anwendung erstellt, die den Austausch (die Kommunikation) von Daten unter Containern durchführt. In diesem Fall wird der Container am anderen Ende, der den Austausch von Daten durchführt, von anderen Containern unter Verwendung von Identifikationsinformationen identifiziert.
  • Unabhängig erstellten Containern können jedoch Identifikationsinformationen zugeordnet sein, die sich mit denen anderer Container überschneiden. Daher ermitteln die Informationsverarbeitungsvorrichtung 1 und das Programm gemäß jeder Ausführungsform redundante Identifikationsinformationen und eliminieren die Redundanz. Es ist darauf hinzuweisen, dass bei jeder der folgenden Ausführungsformen die Identifikationsinformationen mittels eines Container-Image-Namens (beispielsweise der Kategorie) und eines Container-Namens (beispielsweise der Instanz) erklärt werden.
  • (Erste Ausführungsform)
  • Als nächstes werden unter Bezugnahme auf 1 bis 4 die Informationsverarbeitungsvorrichtung 1 und das Programm gemäß einer ersten Ausführungsform der vorliegenden Offenbarung erläutert. Die Informationsverarbeitungsvorrichtung 1 gemäß der vorliegenden Ausführungsform ist beispielsweise ein Terminal für einen Anwendungsentwickler oder eine Kombination aus einem Netzwerk-Server (einem Cloud-Server) und einem Terminal für einen Entwickler. Bei der vorliegenden Ausführungsform erstellt die Informationsverarbeitungsvorrichtung 1 eine Anwendung, die mehrere Container nutzt, in denen ein Software-Modul virtualisiert ist. Wie in 1 gezeigt, umfasst die Informationsverarbeitungsvorrichtung 1: eine Software-Speichereinheit 11, eine Programmerstellungseinheit 12, eine Container-Dateien-Erstellungseinheit 13, eine Identifikationsinformations-Bestimmungseinheit 14, eine Identifikationsinformations-Vergleichseinheit 15, Redundanzeliminierungseinheit 16, eine Container-Erstellungseinheit 17 und eine Container-Speichereinheit 18.
  • Die Software-Speichereinheit 11 ist beispielsweise eine Festplatte oder ein sekundäres Speichermedium wie eine SSD. In der Software-Speichereinheit 11 sind, wie in 2 gezeigt, mehrere Software-Module gespeichert, in die mehrere Programme gepackt sind.
  • Die Programmerstellungseinheit 12 wird beispielsweise durch den Betrieb einer CPU realisiert. Die Programmerstellungseinheit 12 erstellt ein Programm, das ein Software-Modul bildet. Die Programmerstellungseinheit 12 erstellt ein Programm entsprechend der Eingabe in eine (nicht gezeigte) Eingabeeinheit wie beispielsweise eine Tastatur. Darüber hinaus ist die Programmerstellungseinheit 12 darauf ausgelegt, in der Software-Speichereinheit 11 gespeicherte Programme editierbar zu machen. Die Programmerstellungseinheit 12 speichert ein erstelltes oder editiertes Programm in der Software-Speichereinheit 11.
  • Die Container-Dateien-Erstellungseinheit 13 wird beispielsweise durch den Betrieb einer CPU realisiert. Die Container-Dateien-Erstellungseinheit 13 erstellt eine Container-Datei aus einem Software-Modul. Die Container-Dateien-Erstellungseinheit 13 erstellt bei der später beschriebenen Visualisierung beispielsweise eine Container-Datei aus einem Software-Modul, die Befehle, etc. enthält. Bei der vorliegenden Ausführungsform erstellt die Container-Dateien-Erstellungseinheit 13 durch Erstellen sequentieller Container-Dateien aus den in der Software-Speichereinheit 11 gespeicherten Software-Modulen beispielsweise eine Container-Datei, die einen neuen Container enthält, in dem „neuer Container zur Anwendung hinzugefügt“ oder „bereits erstellter Container“ korrigiert werden. Die Container-Dateien-Erstellungseinheit 13 erstellt beispielsweise aus einem Software-Modul, dem der Name „A“ zugeordnet ist, eine Container-Datei, der der Name „A“ zugeordnet wird, wie in 3 gezeigt.
  • Die Identifikationsinformations-Bestimmungseinheit 14 wird beispielsweise durch den Betrieb einer CPU realisiert. Die Identifikationsinformations-Bestimmungseinheit 14 bestimmt die einem Container-Image und einem Container, die aus einer Container-Datei zu erstellen sind, zugeordneten Identifikationsinformationen, die neu sind, als neue Identifikationsinformationen. Die Identifikationsinformations-Bestimmungseinheit 14 bestimmt entsprechend der später beschriebenen Visualisierung als Namen eines aus einer Container-Datei mit dem Namen „A“ erhaltenen Container-Image beispielsweise „A“. Darüber hinaus bestimmt die Identifikationsinformations-Bestimmungseinheit 14 als Namen eines durch die später beschriebene Instanzierung erhaltenen Containers beispielsweise „Al“.
  • Die Identifikationsinformations-Vergleichseinheit 15 wird beispielsweise durch den Betrieb einer CPU realisiert. Die Identifikationsinformations-Vergleichseinheit 15 vergleicht neue Identifikationsinformationen mit vorhandenen Identifikationsinformationen, die Identifikationsinformationen eines anderen erstellten Container-Image und Containers sind. Die Identifikationsinformations-Vergleichseinheit 15 führt beispielsweise einen Vergleich aus, wobei sie Identifikationsinformationen, die in Bezug auf eine Container-Datei bestimmt wurden, die unmittelbar zuvor bestimmt wurde, als „neue Identifikationsinformationen“ und Identifikationsinformationen einer Container-Datei, die in Bezug auf eine Container-Datei vor dieser bestimmt wurden und sich in einem funktionsfähigen Zustand (einem nicht gelöschten Zustand) befinden, als „vorhandene Identifikationsinformationen“ definiert.
  • Die Redundanzeliminierungseinheit 16 wird beispielsweise durch den Betrieb einer CPU realisiert. Die Redundanzeliminierungseinheit 16 eliminiert entsprechend dem Vergleichsergebnis eine Redundanz vorhandener Identifikationsinformationen und neuer Identifikationsinformationen. Die Redundanzeliminierungseinheit 16 eliminiert beispielsweise einen Container und ein Container-Image, die durch vorhandene Identifikationsinformationen identifiziert werden, die den gleichen Image-Namen wie den in den neuen Identifikationsinformationen enthaltenen Image-Namen eines Container-Image enthalten. Darüber hinaus benennt die Redundanzeliminierungseinheit 16 bei einem „durch vorhandene Identifikationsinformationen identifizierten Container“ mit dem gleichen Container-Namen wie einem in den neuen Identifikationsinformationen enthaltenen Container-Namen beispielsweise den Container-Namen und den Container-Image-Namen entweder eines durch die neuen Identifikationsinformationen identifizierten Containers oder eines durch die vorhandenen Identifikationsinformationen identifizierten Containers um. Genauer benennt die Redundanzeliminierungseinheit 16 bei einem durch vorhandene Identifikationsinformationen, die den gleichen Container-Namen wie einen in den neuen Identifikationsinformationen enthaltenen Container-Namen enthalten, identifizierten Container den Container-Namen und den Container-Image-Namen um. Darüber hinaus überschreibt die Redundanzeliminierungseinheit 16 beispielsweise den „durch vorhandene Identifikationsinformationen identifizierten Container“ mit dem gleichen Image-Namen wie dem in neuen Identifikationsinformationen enthaltenen Image-Namen eines Container-Image.
  • Die Container-Erstellungseinheit 17 wird beispielsweise durch den Betrieb einer CPU realisiert. Die Container-Erstellungseinheit 17 erstellt anhand einer Container-Datei einen Container. Genauer erstellt die Container-Erstellungseinheit 17 durch Visualisieren der Container-Datei ein Container-Image, das durch neue Identifikationsinformationen (einen Container-Image-Namen) identifiziert wird. Darüber hinaus erstellt die Container-Erstellungseinheit 17 durch Instanziieren des erstellten Container-Image einen Container, der durch neue Identifikationsinformationen (einen Container-Namen) identifiziert wird.
  • Die Container-Speichereinheit 18 ist eine sekundäres Speichermedium wie beispielsweise ein Speicher. In der Container-Speichereinheit 18 werden die erstellten Container gespeichert.
  • Als nächstes wird unter Bezugnahme auf das Ablaufdiagramm gemäß 4 der Ablauf der Verarbeitung der Informationsverarbeitungsvorrichtung 1 erläutert. Zuerst wird ein in der Software-Speichereinheit 11 gespeichertes Programm von einem von der Programmerstellungseinheit 12 erstellten Programm erstellt oder editiert (Schritt S1). Die erstellten oder editierten Programme werden in der Software-Speichereinheit 11 gespeichert.
  • Als nächstes erstellt die Container-Dateien-Erstellungseinheit 13 mit einer Anweisung zur Container-Erstellung als Auslöser eine Container-Datei (Schritt S2). Die Container-Dateien-Erstellungseinheit 13 liest beispielsweise ein in der Software-Speichereinheit 11 gespeichertes Software-Modul aus und erstellt eine Container-Datei. Als nächstes bestimmt die Identifikationsinformations-Bestimmungseinheit 14 in Bezug auf das Container-Image und den Container, die aus der der erstellten Container-Datei abgerufen wurden, die Identifikationsinformationen, die neu sind, als neue Identifikationsinformationen (Schritt S3).
  • Als nächstes vergleicht die Identifikationsinformations-Vergleichseinheit 15 die neuen Identifikationsinformationen mit vorhandenen Identifikationsinformationen, die Identifikationsinformationen eines anderen erstellten Container-Image und Containers sind (Schritt S4). Wenn vorhandene Identifikationsinformationen existieren, die mit den neuen Identifikationsinformationen übereinstimmen (Schritt S4: JA), wird die Verarbeitung mit Schritt S5 fortgesetzt. Existieren andererseits keine vorhandenen Identifikationsinformationen, die mit den neuen Identifikationsinformationen übereinstimmen (Schritt S4: NEIN), wird die Verarbeitung mit Schritt S6 fortgesetzt.
  • In Schritt S5 eliminiert die Redundanzeliminierungseinheit 16 die Redundanz der vorhandenen Identifikationsinformationen und der neuen Identifikationsinformationen. Besteht beispielsweise eine Redundanz hinsichtlich der Container-Image-Namen, wird von der Redundanzeliminierungseinheit 16 die Löschung eines durch die vorhandenen Identifikationsinformationen identifizierten Containers oder ein Überschreiben durch einen durch die neuen Identifikationsinformationen identifizierten Container ausgeführt. Zudem ändert die Redundanzeliminierungseinheit 16 beispielsweise im Falle des Vorliegens einer Redundanz des Container-Namens den Container-Namen des durch die neuen Identifikationsinformationen identifizierten Containers. Anschließend wird die Verarbeitung mit Schritt S6 fortgesetzt.
  • In Schritt S6 erstellt die Container-Erstellungseinheit 17 den Container. Die Container-Erstellungseinheit 17 speichert den erstellten Container in der Container-Speichereinheit 18. Die Verarbeitung durch den Hauptablauf endet damit.
  • Als wird nächstes ein Programm erläutert. Jede Konfiguration, die die Informationsverarbeitungsvorrichtung 1 umfasst, kann jeweils durch Hardware, Software oder eine Kombination dieser realisiert werden. Hierbei bezeichnet eine Realisierung durch Software eine Realisierung durch einen Computer, der ein Programm liest und ausführt.
  • Das Programm kann unter Verwendung unterschiedlicher Typen nicht flüchtiger computerlesbarer Medien gespeichert und dem Computer zugänglich gemacht werden. Nicht flüchtige computerlesbare Medien umfassen unterschiedliche Typen konkreter Speichermedien. Beispiele nicht flüchtiger computerlesbarer Medien umfassen magnetische Aufzeichnungsmedien (z.B. eine Diskette, ein Magnetband, ein Festplattenlaufwerk), magneto-optische Aufzeichnungsmedien (z.B. eine magneto-optische Platte), ein CD-ROM (einen Festspeicher), eine CD-R, eine CD-R/W und einen Halbleiterspeicher (z.B. ein Mask-ROM, ein PROM (ein programmierbares ROM), ein EPROM (ein überschreibbares PROM), ein Flash-ROM, ein RAM (einen Direktzugriffsspeicher)). Darüber hinaus kann das Anzeigeprogramm dem Computer mittels unterschiedlicher Typen flüchtiger computerlesbarer Medien zugänglich gemacht werden. Beispiele flüchtiger computerlesbarer Medien umfassen elektrische Signale, optische Signale und elektromagnetische Wellen. Flüchtige computerlesbarer Medien können die Programme dem Computer über leitungsgebundene Kommunikationswege wie elektrische Kabel und Glasfasern oder über drahtlose Kommunikationswege zugänglich machen.
  • Durch die vorstehende Informationsverarbeitungsvorrichtung 1 gemäß der ersten Ausführungsform werden die folgenden Ergebnisse erzielt. (1) Die Informationsverarbeitungsvorrichtung 1, die eine Anwendung erstellt, die mehrere Software-Module virtualisierende Container nutzt, umfasst: die Container-Dateien-Erstellungseinheit 13, die aus einem Software-Modul eine Container-Datei erstellt; die Identifikationsinformations-Bestimmungseinheit 14, die in Bezug auf ein Container-Image und einen Container, die aus der erstellten Container-Datei abgerufen werden, Identifikationsinformationen, die neu sind, als neue Identifikationsinformationen bestimmt; eine Identifikationsinformations-Vergleichseinheit 15, die die neuen Identifikationsinformationen mit vorhandenen Identifikationsinformationen vergleicht, die Identifikationsinformationen eines anderen erstellten Container-Image und Containers sind; und die Redundanzeliminierungseinheit 16, die entsprechend Vergleichsergebnissen eine Redundanz der vorhandenen Identifikationsinformationen und der neuen Identifikationsinformationen eliminiert. Dadurch ist es möglich, eine Redundanz der Identifikationsinformationen eines neu erstellten Container-Image und Containers und der Identifikationsinformationen eines bereits erstellten Container-Image und Containers leicht zu beheben. Daher es ist möglich, leicht eine Ausführungsumgebung einer von mehreren Containern gebildeten Anwendung zu konstruieren.
  • (2) Die vorhandenen Identifikationsinformationen umfassen einen Image-Namen eines Container-Image, das einen erstellten Container darstellt, und einen Container-Namen eines erstellten Containers, und die neuen Identifikationsinformationen umfassen: einen Image-Name eines Container-Image, das einen neuen Container darstellt, und einen Container-Namen eines neuen Containers. Dadurch ist es möglich, eine Überschneidung von Image-Namen und Container-Namen zu unterbinden und leicht eine Ausführungsumgebung einer Anwendung zu konstruieren.
  • (3) Die Redundanzeliminierungseinheit 16 löscht einen Container und ein Container-Image, die durch vorhandene Identifikationsinformationen identifiziert werden, die den gleichen Image-Namen wie den in den neuen Identifikationsinformationen enthaltenen Image-Namen eines Container-Image enthalten. Dadurch ist es möglich, das unabsichtliche Verhindern der Ausführung einer Anwendung auszuschließen.
  • (4) Die Redundanzeliminierungseinheit 16 benennt den Container-Name und den Container-Image-Name bei einem Container um, der durch die vorhandenen Identifikationsinformationen identifiziert wird, die einen Container-Namen enthalten, der der gleiche ist wie der Container-Name, der in den neuen Identifikationsinformationen enthalten ist. Dadurch ist es möglich, das unabsichtliche Verhindern der Ausführung einer Anwendung auszuschließen.
  • (Zweite Ausführungsform)
  • Als nächstes werden unter Bezugnahme auf 5 die Informationsverarbeitungsvorrichtung 1 und das Programm gemäß einer zweiten Ausführungsform der vorliegenden Offenbarung erläutert. In der Erläuterung der zweiten Ausführungsform sind Bestandteilen, die mit denen gemäß der vorstehend ausgeführten Ausführungsform übereinstimmen, die gleichen Bezugszeichen zugeordnet, und auf ihre Erläuterung wird verzichtet oder sie erfolgt vereinfacht. Die Informationsverarbeitungsvorrichtung 1 und das Programm gemäß der zweiten Ausführungsform unterscheiden sich in dem Punkt von der ersten Ausführungsform, dass sie ferner eine Startsequenz-Abrufeinheit 21 und eine Startsequenz-Bestimmungseinheit 22 umfassen, wie in 5 gezeigt.
  • Die Startsequenz-Abrufeinheit 21 wird beispielsweise durch den Betrieb einer CPU realisiert. Die Startsequenz-Abrufeinheit 21 ruft eine Startsequenz eines erstellten neuen Containers und eines erstellten Containers als „Startsequenzinformationen“ ab. Bei der vorliegenden Ausführungsform ruft die Startsequenz-Abrufeinheit 21 in der Software-Speichereinheit 11 gespeicherte Startsequenzinformationen ab. Die Startsequenz-Abrufeinheit 21 ruft beispielsweise Startsequenzinformationen ab, die die Aktivierungsreihenfolge von Containern angeben, in der nach der Aktivierung von Containern, die eine Datenbank aufbauen, die Aktivierung von Containern ausgeführt wird, die Variablen in den Containern der Datenbank definieren.
  • Die Startsequenz-Bestimmungseinheit 22 wird beispielsweise durch den Betrieb einer CPU realisiert. Die Startsequenz-Bestimmungseinheit 22 bestimmt die Startsequenz von Containern anhand der Startsequenzinformationen. Die Startsequenz-Bestimmungseinheit 22 sendet vor der Aktivierung der Anwendung eine Tabelle einer bestimmten Startsequenz von Containern an die (nicht gezeigte) Anwendungsaktivierungseinheit.
  • Durch die Informationsverarbeitungsvorrichtung 1 und das Programm gemäß der zweiten Ausführungsform werden die folgenden Ergebnisse erzielt.
    (5) Die Informationsverarbeitungsvorrichtung 1 umfasst ferner die Startsequenz-Abrufeinheit, die die Startsequenz eines erstellten neuen Containers und von bereits erstellten Containern als Startsequenzinformationen abruft; und die Startsequenz-Bestimmungseinheit 21, die vor dem Ausführen einer Anwendung anhand der abgerufenen Startsequenzinformationen die Startsequenz von Containern bestimmt. Dadurch ist es möglich, vor der Aktivierung der Anwendung die Startsequenz von Containern zu bestimmen. Dadurch kann das Starten der Anwendung weiter optimiert werden.
  • Obwohl vorstehend jede bevorzugte Ausführungsform einer Informationsverarbeitungsvorrichtung und eines Programms gemäß der vorliegenden Offenbarung erläutert wurde, darf die vorliegende Offenbarung nicht auf die vorstehend ausgeführten Ausführungsformen beschränkt werden, und Modifikationen sind gegebenenfalls möglich. Im Zusammenhang mit den vorstehend ausgeführten Ausführungsformen wurde beispielsweise eine Methode zum Hinzufügen eines neuen oder modifizierten Containers zu bereits erstellten Containern erläutert; es besteht jedoch keine Beschränkung darauf. Zum erneuten Ausführen einer Anwendung kann es sich beispielsweise um einen Modus handeln, in dem aus in der Software-Speichereinheit 11 gespeicherten Software-Modulen nacheinander Container-Dateien erstellt werden.
  • Darüber hinaus werden bei den vorstehend ausgeführten Ausführungsformen die Bestimmung und der Vergleich von neuen Identifikationsinformationen nach der Erstellung der Container-Dateien ausgeführt; es besteht jedoch keine Beschränkung darauf. Die Bestimmung und der Vergleich neuer Identifikationsinformationen können beispielsweise vor der Erstellung von Container-Dateien ausgeführt werden.
  • Es ist darauf hinzuweisen, dass bei den vorstehend ausgeführten Ausführungsformen neue Identifikationsinformationen und vorhandene Identifikationsinformationen bei Software-Modulen verglichen werden, die von der Software-Modul-Bestimmungseinheit nacheinander ausgelesen werden; es besteht jedoch keine Beschränkung darauf. Die Identifikationsinformations-Vergleichseinheit 15 kann so konfiguriert sein, dass sie die Identifikationsinformationen von in der Container-Speichereinheit 18 gespeicherten Containern als vorhandene Identifikationsinformationen mit den neuen Identifikationsinformationen vergleicht.
  • Darüber hinaus kann die Informationsverarbeitungsvorrichtung bei der vorstehend ausgeführten zweiten Ausführungsform ferner eine (nicht gezeigte) Startsequenzinformations-Erstellungseinheit umfassen, die Startsequenzinformationen für mindestens ein in der Software-Speichereinheit 11 gespeichertes Software-Modul erstellt. Die Startsequenz-Erstellungseinheit kann beispielsweise Startsequenzinformationen erstellen, indem sie die Software-Module der Reihe nach auswählt, wobei eine Reihenfolge als Startsequenz auf einer (nicht gezeigten) Anzeigeeinheit wie einem Display angezeigt wird. Darüber hinaus kann die Startsequenz-Erstellungseinheit eine Nummer zuordnen, die dem Software-Modul die Startsequenz anzeigt, und Startsequenzinformationen erstellen, die die zugeordnete Nummer als Startsequenz festlegen.
  • Bezugszeichenliste
  • 1
    Informationsverarbeitungsvorrichtung
    13
    Container-Dateien-Erstellungseinheit
    14
    Identifikationsinformations-Bestimmungseinheit
    15
    Identifikationsinformations-Vergleichseinheit
    16
    Redundanzeliminierungseinheit
    21
    Startsequenz-Abrufeinheit
    22
    Startsequenz-Bestimmungseinheit
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • WO 2018/003031 [0004]

Claims (6)

  1. Informationsverarbeitungsvorrichtung (1) zur Erstellung einer Anwendung, die mehrere Container nutzt, in denen ein Software-Modul virtualisiert ist, wobei die Informationsverarbeitungsvorrichtung (1) umfasst: eine Container-Dateien-Erstellungseinheit (13), die aus dem Software-Modul eine Container-Datei erstellt; eine Identifikationsinformations-Bestimmungseinheit (14), die einem Container-Image und einem Container, die aus der Container-Datei zu erstellen sind, zugeordnete Identifikationsinformationen, die neu sind, als neue Identifikationsinformationen bestimmt; eine Identifikationsinformations-Vergleichseinheit (15), die die neuen Identifikationsinformationen mit vorhandenen Identifikationsinformationen vergleicht, die Identifikationsinformationen eines anderen Container-Image und Containers sind, die erstellt wurden; und eine Redundanzeliminierungseinheit (16), die entsprechend Vergleichsergebnissen eine Redundanz der vorhandenen Identifikationsinformationen und der neuen Identifikationsinformationen eliminiert.
  2. Informationsverarbeitungsvorrichtung (1) nach Anspruch 1, wobei die vorhandenen Identifikationsinformationen umfassen: einen Image-Namen eines Container-Image, das einen erstellten Container darstellt; und einen Container-Namen des erstellten Containers, und wobei die neuen Identifikationsinformationen umfassen: einen Image-Namen eines Container-Image, das einen neuen Container darstellt; und einen Container-Namen des neuen Containers.
  3. Informationsverarbeitungsvorrichtung (1) nach Anspruch 2, wobei die Redundanzeliminierungseinheit (16) einen Container und ein Container-Image, die durch die vorhandenen Identifikationsinformationen identifiziert werden, einschließlich eines Image-Namens löscht, der mit dem Image-Namen eines Container-Image identisch ist, das die neuen Identifikationsinformationen umfassen.
  4. Informationsverarbeitungsvorrichtung (1) nach Anspruch 2 oder 3, wobei die Redundanzeliminierungseinheit (16) einen Container-Namen und einen Container-Image-Namen bei einem Container umbenennt, der durch die vorhandenen Identifikationsinformationen identifiziert wird, die einen Container-Namen enthalten, der mit dem Container-Namen identisch ist, den die neuen Identifikationsinformationen enthalten.
  5. Informationsverarbeitungsvorrichtung (1) nach einem der Ansprüche 1 bis 4, die ferner umfasst: eine Startsequenz-Abrufeinheit (21), die eine Startsequenz eines erstellten neuen Containers und eines erstellten Containers als Startsequenzinformationen abruft; und eine Startsequenz-Bestimmungseinheit (22), die vor dem Ausführen der Anwendung entsprechend den abgerufenen Startsequenzinformationen eine Startsequenz von Containern bestimmt.
  6. Programm zum Veranlassen eines Computers, als Informationsverarbeitungsvorrichtung (1) zu arbeiten, die eine Anwendung erstellt, die durch einen Container ausgedrückt wird, in dem ein Software-Modul virtualisiert ist, wobei das Programm den Computer veranlasst, zu fungieren als: Container-Dateien-Erstellungseinheit (13), die aus dem Software-Modul eine Container-Datei erstellt; Identifikationsinformations-Bestimmungseinheit (14), die in Bezug auf ein Container-Image und einen Container, die aus der erstellten Container-Datei abgerufen wurden, Identifikationsinformationen, die neu sind, als neue Identifikationsinformationen bestimmt; Identifikationsinformations-Vergleichseinheit (15), die die neuen Identifikationsinformationen mit vorhandenen Identifikationsinformationen vergleicht, die Identifikationsinformationen eines anderen Container-Image und Containers sind, die erstellt wurden; und Redundanzeliminierungseinheit (16), die entsprechend Vergleichsergebnissen eine Redundanz der vorhandenen Identifikationsinformationen und der neuen Identifikationsinformationen eliminiert.
DE102020004756.4A 2019-08-20 2020-08-05 Informationsverarbeitungsvorrichtung und programm Pending DE102020004756A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019150555A JP2021033469A (ja) 2019-08-20 2019-08-20 情報処理装置及びプログラム
JP2019-150555 2019-08-20

Publications (1)

Publication Number Publication Date
DE102020004756A1 true DE102020004756A1 (de) 2021-02-25

Family

ID=74495329

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020004756.4A Pending DE102020004756A1 (de) 2019-08-20 2020-08-05 Informationsverarbeitungsvorrichtung und programm

Country Status (4)

Country Link
US (1) US20210055951A1 (de)
JP (1) JP2021033469A (de)
CN (1) CN112416510A (de)
DE (1) DE102020004756A1 (de)

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4876438B2 (ja) * 2005-05-31 2012-02-15 株式会社日立製作所 コンポーネントソフトウェアの運用方法および運用基盤
US7536541B2 (en) * 2006-03-07 2009-05-19 Novell Inc. Parallelizing multiple boot images with virtual machines
US20080091606A1 (en) * 2006-10-12 2008-04-17 William Grecia Proprietary encapsulated session container with embedded features for a post transferred option for electronic commerce along with a system for distribution and user access
US9679007B1 (en) * 2013-03-15 2017-06-13 Veritas Technologies Llc Techniques for managing references to containers
WO2015050588A2 (en) * 2013-05-31 2015-04-09 Openpeak Inc. Method and system for combining multiple applications into a single binary file while maintaining per process sandboxing
US20150095597A1 (en) * 2013-09-30 2015-04-02 American Megatrends, Inc. High performance intelligent virtual desktop infrastructure using volatile memory arrays
US10268476B2 (en) * 2015-03-20 2019-04-23 ZeroTurnaround AS System and method for fast restarting of user apps
US10432537B2 (en) * 2015-10-12 2019-10-01 Fujitsu Limited Service function chaining based on resource availability in the time dimension
US10545776B1 (en) * 2016-09-27 2020-01-28 Amazon Technologies, Inc. Throughput and latency optimized volume initialization
US10503712B2 (en) * 2016-09-30 2019-12-10 International Business Machines Corporation Container repository optimization
US10613939B2 (en) * 2017-03-28 2020-04-07 Commvault Systems, Inc. Backup index generation process
WO2018197928A1 (en) * 2017-04-28 2018-11-01 Lzlabs Gmbh Containerized deployment of microservices based on monolithic legacy applications
US11106508B2 (en) * 2017-08-04 2021-08-31 Espressive, Inc. Elastic multi-tenant container architecture
JP6612826B2 (ja) * 2017-09-29 2019-11-27 株式会社日立製作所 コンテナ管理装置、コンテナ管理方法、及びコンテナ管理プログラム
JP7069672B2 (ja) * 2017-12-05 2022-05-18 コニカミノルタ株式会社 アプリケーションの更新方法およびプログラム
US11307937B1 (en) * 2018-01-31 2022-04-19 Veritas Technologies Llc Efficient space reclamation in deduplication systems
US11210269B2 (en) * 2018-02-13 2021-12-28 Red Hat, Inc. System and method for deduplicating container image storage data
US10649802B2 (en) * 2018-03-21 2020-05-12 Red Hat, Inc. Component based dynamic guest instantiation
CA3052161A1 (en) * 2018-08-15 2020-02-15 Royal Bank Of Canada System and methods for improved adoption of cloud container profiles
US11962647B2 (en) * 2019-06-05 2024-04-16 Vmware, Inc. Data migration using dynamic synchronization
US11561866B2 (en) * 2019-07-10 2023-01-24 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod
US11288053B2 (en) * 2019-08-15 2022-03-29 Microstrategy Incorporated Conversion and restoration of computer environments to container-based implementations
US11263174B2 (en) * 2019-11-08 2022-03-01 International Business Machines Corporation Reducing resource consumption in container image management

Also Published As

Publication number Publication date
JP2021033469A (ja) 2021-03-01
US20210055951A1 (en) 2021-02-25
CN112416510A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112011103829B4 (de) Verfahren und System zum Erzeugen einer virtuellen Maschine auf der Grundlage von Vorlagen
DE102016103769A1 (de) Inkrementelle Replikation eines Quellen-Datasets
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE602004002674T2 (de) Speichersystem und Verfahren zur Erfassung und Verwendung von Schnappschüssen
DE112019002948T5 (de) Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen
DE112018003081T5 (de) Optimieren von benutzerzufriedenheit beim schulen eines kognitiven hierarchischen speicherverwaltungssystems
DE112019000143T5 (de) Versionierungsvalidierung für die datenübertragung zwischen heterogenen datenspeichern
DE102014116369A1 (de) Verwaltung von sprachmarkern bei internationaler datenspeicherung
DE102012221813A1 (de) Verfahren zur optimierung der speicherzuordnung in einer virtuellen arbeitsplatzumgebung
DE112011100618T5 (de) Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird
DE112013006646B4 (de) Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation
DE112012000693T5 (de) Ausführen einer Vielzahl von Instanzen einer Anwendung
WO2015090668A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
DE112017007656T5 (de) Verschobene aktualisierung von datenbank-hashcode in einer blockchain
DE102016119298A1 (de) Zeitpunktkopieren mit klonen von ketten
DE112019006530T5 (de) Markieren von betroffenen ähnlichkeitsgruppen in freispeichersammeloperationen in duplizierten speichersystemen
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE102021125630A1 (de) Datensynchronisation in einem datenanalysesystem
DE112013006588T5 (de) Verwaltungssystem zum Verwalten eines Computersystems und Verwaltungsverfahren hierfür
DE112014002877T5 (de) Passives Überwachen von virtuellen Systemen mithilfe von agentenunabhängiger, echtzeitnaher Indexierung
DE112020005227T5 (de) Speicherzustandsüberwachung für differenziertedatenwiederherstellungskonfigurationen
DE102012221261A1 (de) Verfahren zum Zwischenspeichern und System zum Ausführen des Verfahrens zum Zwischenspeichern zum Betreiben eines mindestens einen Host-Computer aufweisenden Computerserversystems
DE112018005620T5 (de) Auftragsverwaltung in einem datenverarbeitungssystem