WO2017157386A1 - Computersystem und verfahren zum betreiben eines computersystems - Google Patents

Computersystem und verfahren zum betreiben eines computersystems Download PDF

Info

Publication number
WO2017157386A1
WO2017157386A1 PCT/DE2017/100199 DE2017100199W WO2017157386A1 WO 2017157386 A1 WO2017157386 A1 WO 2017157386A1 DE 2017100199 W DE2017100199 W DE 2017100199W WO 2017157386 A1 WO2017157386 A1 WO 2017157386A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
computer
computer device
operating system
resource information
Prior art date
Application number
PCT/DE2017/100199
Other languages
English (en)
French (fr)
Inventor
Lutz TRÖGER
Christoph GERICKE
Karsten Walther
Original Assignee
Harting Ag & Co. Kg
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 Harting Ag & Co. Kg filed Critical Harting Ag & Co. Kg
Publication of WO2017157386A1 publication Critical patent/WO2017157386A1/de

Links

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Definitions

  • the present invention relates to a computer system having a first computer device and a first operating system for operating the first computer device, on which at least one first container with at least one process configured for use of an operating system kernel of the first operating system is formed, and at least one second computer device and a second operating system for operating the second computing device. Furthermore, the present invention relates to a method for operating such a computer system. For example, it is known from US 201 3/0145006 A1 to provide containers for a plurality of computer devices in networked computer systems. Each container has a set of data and functionalities that are logically separated from other containers so that individual containers are isolated from each other. Upon receipt of a request to a client computer, the request is determined to belong to a container and forwarded to the container in question.
  • US 201 5/01 281 05 A1 discloses containers which are applications executable on a first computing device.
  • the containers have functions which can be executed on the first computer device and are compatible with a second computer device, as well as metadata defining these functions.
  • the metadata can be executed and functions called in this way. It is the object of the present invention to provide a computer system and a method for operating a computer system, which allow a flexible and effective use of existing resources.
  • the second container is created and implemented on the second computing device, as long as its resources allow the process of the first container formed on the first computing device to run off. If, however, these resources do not permit the process of the first container to run on the second computer device, it is possible to dispense with the production and / or implementation of the second container.
  • the subject of the present invention allows containers of a computing device, or their processes, the use of unused resources of other computing devices. In cases where a required resource is not or insufficiently available on the first computing device, the first container may proactively access resources of the second computing device as needed and utilize them for themselves or their process.
  • Another advantage of the present invention is the fact that at the time of programming the computer system or a computing device software developers no longer necessarily have to be aware of resources available later.
  • applications are typically programmed to be dedicated to given application environments.
  • application developers must either know or specify a later available peripheral.
  • the knowledge or specification of the available peripherals proves to be problematic, especially in dynamic environments, when a specific infrastructure of the computer system or a computing device is difficult to predict or very complex. In such cases, redundancies usually have to be taken into account in order to secure and stabilize the course of the process.
  • such measures can be dispensed with since, if necessary, containers can proactively access computer devices and their resources on which they are not formed. As a result, the programming effort is significantly reduced or programming is greatly facilitated.
  • a container may simply be a file system having one or more processes in the form of program codes of one or more applications and all the necessary libraries and files for operating the container.
  • Using containers bypasses issues such as package dependencies and incompatibilities.
  • Processes of the respective containers can be Namespaces should be separated from each other.
  • So-called C-Groups can provide resource management so that each container can be assigned specific resources.
  • Both the first container and the second container may have not only one process, but rather multiple, any number of, processes, wherein a process may be understood to mean a process controlled by a program that requires a processor to execute , Thus, the process may be an application executable on the first computing device or an application program, or it may be part of such an application or application program. All processes of the first container can be set up to use the operating system kernel of the first operating system. Likewise, all processes of the second container can be set up to use the operating system kernel of the second operating system.
  • the first container and the second container can be provided in particular for virtualization, ie for a simulation of a hardware or software object by a similar object of the same type with the aid of a software layer, at the operating system level.
  • the process may be a process of the first operating system that uses the operating system kernel of the first operating system when expiring.
  • the first container can be configured as an operating system running isolated on the first computer device.
  • the second container can be embodied as an operating system running isolated on the second computer device.
  • the containers may represent or create virtual environments that have their own processes, but collectively for them the operating system kernel of the respective operating system of the respective ones Use computer device on which the containers are formed.
  • Containers may include, in addition to the one or more processes, one or more applications, metadata, drivers, an independent file system, program libraries, interfaces, and tools such as scripts for controlling the containers.
  • the first container and / or the second container is a Linux container (LXC). Because of the many benefits such as ease of management, effective use of hardware resources, and increased security through isolation, virtualization can also be applied to embedded devices or small-scale production computers.
  • the computer system may be further configured to generate resource information about resources on the first computing device for retrieval by containers on the second computing device.
  • containers on the second computer device and in particular the second container implemented on the second computer device and containing a copy of the process of the first container, can, as needed, access resources of the first computer device in a corresponding manner.
  • the resource information preferably contains information about the operating system kernel of the second operating system and / or information about free capacities available on the second computer device. Accordingly, it is preferably checked whether the operating system kernel of the second operating system can be used by the process of the first container and / or whether the free capacities of the second computer device are sufficient for running the process on the second computer device. If this is not the case, the generation and / or implementation of the second container can be dispensed with.
  • Such resource information may take into account the circumstances prevailing on the second computer device with regard to the second operating system when checking the suitability of the second computer device for implementing the second container and, alternatively or additionally, the presence of free capacities such as computing capacities and / or storage capacities on the second computer device , In particular, current computing capacities and / or storage capacities present at the time of the retrieval of the resource information can be taken into account on the second computer device.
  • the computer system comprises a plurality of second computing devices and is configured to generate resource information indicative of resources available on respective ones of the second computing devices, the first container for retrieving and comparing at least a portion of the resource information and the computer system on the computer Based on this comparison for selecting at least one of the second computer devices is set up for implementing the second container.
  • the first container is thereby made possible to select the second computer device with the most favorable for the process or first container resources from the plurality of second computer devices. For example, a second computing device may then be selected from all other second computing devices as having the most favorable resources if it has the largest free capacity of any other second computing device.
  • one of the second computer devices may be operated by all second computer devices as the only one of a second operating system that can be used for the process Operating system kernel, and is therefore selected for implementation of the second container.
  • the mentioned selection criteria can also be combined with each other. For example, of all the second computer devices, only those with a suitable second operating system can be considered and all others can be sorted out, whereby of the considered second computer devices the one with the most free capacity is selected for implementation of the second container.
  • a computer system with a plurality of second computer devices is set up for generating resource information which provides information about resources present on the first computer device. In this way, containers residing on any computer devices of the computer system can access resources of any other computer devices.
  • the computer system may include at least one storage means for providing the resource information for the first container, provided either as part of the first computing device or as part of the second computing device or as part of the computer system, or the computer system may be configured to store the resource information in an external storage means or the computer system may be configured to generate the resource information following a request by the first container. In the latter case, it is possible to dispense with a storage means for storing the resource information, as long as it is generated directly by the first container on demand and then retrieved by the first container. If the storage means is formed as part of the first computing device, the resource information is transferred from the second computing device to the first computing device before the storage thereof, provided that the resource information generated by the second computing device.
  • the memory means is designed as part of the second computer device, then it can store the resource information directly in the memory means, provided that the resource information is generated by the second computer device. For retrieving the provided resource information by the first container, the same can then be transferred from the second computing device to the first computing device. The situation is correspondingly reversed if the resource information is generated by the first computer device.
  • the storage means is embodied as an internal storage means of the computer system or as an external storage means, the resource information for providing can be transferred either from the first computing device or from the second computing device to the internal or external storage means, depending on which of these computing devices generates the resource information, and for retrieving the provided resource information by the first container, they may be transferred from the internal or external storage means to the first computing device.
  • an external storage device does not belong to the computer system and therefore in many cases has a spatial distance to the first computer device as well as to the second computer device
  • an internal storage device can be spaced both from the first computer device and from the second computer device.
  • clouds or fogs or cloud or fog environments can be set up inside and outside the computer system.
  • resource information is current resource information
  • the information provide an up-to-date status or stock of existing or available resources on the second computer device.
  • the computer system or the first computer device or the second computer device can be set up to repeatedly determine the resources available or available on the second computer device.
  • resource information provided for retrieval may be updated as needed or regularly. For example, a periodic update of provided resource information can be provided, in which already available resource information is replaced or supplemented at constant intervals by new, updated resource information. Alternatively, a replacement or addition of provided resource information may be updated with new ones
  • resource information always takes place as soon as there is a change in the relevant resources.
  • the second container After implementing the second container, it may be on the second computing device parallel to the first container on the first computing device.
  • offshoots of the first container can be generated on the second computer device or the second computer devices which, depending on the situation, only respective ones on the second computer device have required parts or processes of the first container, without having to copy the first container equal to complete. Because unnecessary parts of the first container are dispensed with when the second container is created, resources can be saved in such cases.
  • the second container may preferably be a complete copy of the first container.
  • the second container is set up to transmit data to the first container or to exchange data with the first container, or a plurality of second containers implemented on respective second computer devices are arranged to transmit data to the first container or to communicate with the first container.
  • the first container can access resources of the second computer device without necessarily having to leave the first computer device or without having to be uninstalled or deleted on the first computer device.
  • the second container on the second computer device can be uninstalled or deleted.
  • the data exchange or a communication between the containers can take place, for example, on the basis of an Internet protocol.
  • a container configured to exchange data with at least one or more containers implemented on one or more second computing devices may, from the outside, act as a single container or process extending across multiple computing devices.
  • the computer system is adapted to delete the first container after implementing the second container.
  • the first container may have at least one installation program or at least one installation process for generating and / or implementing the second container.
  • the first container and / or the second container may alternatively or additionally have at least one deinstallation program or at least one deinstallation process for deleting the first container.
  • the second container may have a script which uninstalls the first container when the second container is started.
  • This embodiment implements first containers that are proactively movable within the computer system from the first computing device to the second computing device. Accordingly, the second container can also be proactively movable within the computer system. If the computer system has a plurality of second computer devices, containers can arbitrarily switch between the computer devices and move at any time to that computer device with the currently most favorable resources. Such a computer system is characterized by a particularly high flexibility and efficiency in the use of resources. More generally, the computer system may have or may have a direct or indirect or at least partially wired or at least partially wireless communication link between the first computing device and the second computing device. The computer system is preferably a computer network.
  • first computer device and the second computer device and possibly others Computer devices of the computer system preferably connected to each other by means of a network or constitute a part of a network.
  • computer devices of the computer system can be connected or connected to each other via the Internet.
  • the computing devices may generally be any fixed computer devices such as small or mainframe computers, workstations, workstations, personal computers or personal computers (PC), or mobile computing devices such as
  • Communication devices such as mobile phones or smartphones act.
  • the computing devices can be both server and client.
  • the computer devices are particularly preferably so-called embedded systems or embedded systems which are integrated or embedded in a technical context. Embedded systems are often adapted to specific tasks. Unlike PCs, for example, such computer devices usually have neither a screen nor a keyboard, or they are not connected to a screen or to a keyboard. In this case, the computer devices can perform a variety of monitoring, control or regulating functions or data or signal processing. These functions can be largely or completely invisible to the user.
  • At least the first computer device and / or at least the second computer device has at least one application-specific functional module, at least one main module with at least one processor and at least one power supply module.
  • a particular advantage of such Embodiment is that the respective individual proportion of the computer devices or devices for the device manufacturer in both the development and in the production of both the hardware and the software is limited to a necessary minimum.
  • An individual share is understood to mean that share by which the respective computer devices or devices differ from one or more basic outfits specified by the provider. On the one hand, this simplifies the manufacture of the computer devices or devices, but on the other hand also facilitates tests, certifications and / or their approval, since already existing components have already undergone this process.
  • Such computing devices or devices may include, for example, RFID readers, gauges, consumer electronic devices, electronic communication devices, communication terminals, modems, computers, computer accessories, computer peripherals, measurement and control devices, particularly for the railroad, logistics, industrial applications , Manufacturing and process automation, agribusiness and traffic engineering act.
  • the computing devices may be so-called Industry 4.0 components that can communicate with the IT world (Information Technology) and ERP (Enterprise Resource Planning) systems.
  • IT world Information Technology
  • ERP Enterprise Resource Planning
  • each component can be assigned a unique ID and thus a virtual representation.
  • This virtual representation contains the relevant properties and functionalities of the associated component and is commonly referred to as a management shell.
  • a container structure offers the possibility of each Component and management shell to encapsulate in a separate container.
  • each administration shell automatically gets an IP address, which enables simple, IP-based communication in the sense of Industry 4.0.
  • each connected computing device or component can be uniquely identified and accessed over a network, regardless of the age of the computing device or component or protocols used. In this way, existing systems can be quickly and easily connected to MES systems (Manufacturing Execution System), ERP or a so-called cloud.
  • MES Manufacturing Execution System
  • Figure 1 is a schematic representation of a computer system
  • FIG. 2 is a schematic representation of another
  • FIG. 1 shows a computer system 1 which has a first computer device 2 operated by a first operating system and a second computer device 3 operated by a second operating system.
  • an external memory 4 is provided with respect to the first computer device 2 and the second computer device 3, and an internal memory 4 with respect to the computer system 1.
  • the memory 4 can also be set up as part of the first computer device 2 or as part of the second computer device 3 or even as external memory with respect to the entire computer system 1.
  • Data can be transmitted from the first computer device 2 to the second computer device 3 via a data transmission connection 5.
  • the second computing device 3 is connected or connectable by means of a data transmission connection 6 to the memory 4, via which it can transmit data to the memory 4, and the first computing device 2 is connected or connectable via a data transmission connection 7 to the memory 4, via which it can access stored in the memory 4 data.
  • the communication links 5, 6, and 7 may be fixed or wireless communication links. They do not have to exist permanently, but can only be produced in case of need.
  • the Internet is used for the data transmission connections 5, 6 and 7, whereby the data transmission connections 5, 6 and 7 can be so-called http connections.
  • a container 8 is formed with processes 9 which are set up for use of an operating system kernel of the first operating system.
  • the container 8 is intended for virtualization at the operating system level and is therefore designed as an operating system isolated on the first computer device 2. Further, the container 8 is adapted to access and retrieve data stored in the memory 4.
  • the computer system 1 stores resource information which provides information about resources available on the second computer device 3 and, in particular, about a current utilization or free capacities such as computing or storage capacities of the second computer device 3, in the memory 4.
  • the resource information is periodically determined by the second computing device 3, via the Data transmission connection 6 transmitted to the memory 4 and stored in this, where possibly existing resource information will be overwritten.
  • the periodic determination and overwriting of resource information stored in the memory 4 ensures that the resource information in the memory 4 is always as up-to-date as possible.
  • the container 8 retrieves the resource information stored in the memory 4 and checks on the basis of this resource information whether on the second computing device 3 may more or sufficient resources are available. If this is the case, the container 8 creates a copy of itself and additionally provides this copy with a script that ensures the uninstall of the container 8 at the first start. Then, the container 8 establishes the communication link 5 from the first computing device 2 to the second computing device 3 and transmits the copy to the second computing device 3 via the communication link 5. By means of a web service, installation of the copy of the container 8 by the second operating system on the second Computer device 3 brought about. In FIG. 1, the copy of the container 8 which has been completely installed on the second computer device 3 is shown as a container 1 0 with processes 1 1 in dashed lines.
  • the container 1 0 After installation of the copy of the container 8 or after generating the container 1 0 on the second computer device 3, the container 1 0 is also started by means of a web service. As a result, not only the processes 1 1 of the container 1 0 on envisaged manner, wherein they use an operating system kernel of the second operating system, but it is also executed the container 1 0 attached script. This ensures by means of a web service that the container 8 is stopped on the first computer device 2 or its processes 9 and the container 8 is uninstalled.
  • the container 10 assumes the same task on the second computer device 3 that the container 8 previously had on the first computer device 2. Since the container 10 is a complete copy of the container 8 except for the script assigned to it, the container 10 viewed from outside the computer system 1 can not be distinguished from the container 8. Viewed from outside the computer system 1, the container 8 has, so to speak, moved proactively from the first computer device 2 to the second computer device 3, or has migrated from the first computer device 2 to the second computer device 3. Not always uninstalling the container 8 on the first computing device 2 after implementing the container 1 0 on the second computer device 3 is appropriate or desirable. In such cases, it is possible to dispense with uninstalling the container 8.
  • the container 10 located on the second computer device 3 then effectively represents a subsidiary container of the container 8 located on the first computer device 2.
  • Both containers 8 and 10 exist in parallel on their respective computer devices 2 and 3 and can also act on them in parallel and independently of each other expire. In this way, subprograms can be swapped out across platforms to access needed resources can.
  • the container 10 need not necessarily be a complete copy of the container 8.
  • the container 8 located on the first computer device 2 and the container 1 0 located on the second computer device 3 can communicate with each other during the call-off via the data transmission connection 5.
  • a cooperation of the container 8 with the container 1 0 is possible, so that similar to a multi-core processor viewed from outside the computer system 1, the two containers 8 and 1 0 spanned as a single on the first computer device 2 and the second computer device 3 or itself extending container appear, which can run on both computer devices 2 and 3 at the same time.
  • the containers 8 and 1 0 each different peripheral modules of the computer devices 2 and 3 are provided, if the computer devices 2 and 3 sufficiently different from each other.
  • the resource information is only generated by the container 8 at the second computer device 3 after request and subsequently by the container 8 retrieved and not generated in advance as in the computer system 1 and provided in the memory 4 for the container 8 for retrieval.
  • the memory 4 can be dispensed with.
  • FIG. 1 2 An example of a computer system 1 2 with more than two computer devices 1 3 and 1 8 can be seen in FIG. Even though the computer system 12 in Figure 2 has six computing devices 13 and 18, the number of computing devices is generally unlimited and can be any size. Each computer device 1 3 and 1 8 is operated by a respective operating system, wherein the operating systems for the individual computer devices 1 3 and 1 8 may be quite different.
  • the computer system 1 2 further comprises an external memory 14 in the present case with respect to all the computer devices 1 3 and 1 8 and with respect to the computer system 1 2. Alternatively, the memory 14 may also be implemented as part of one of the computing devices 1 3 and 1 8 or as external memory with respect to the entire computer system 1 2.
  • the computer devices 1 3 and 1 8 are connected to one another via a data network or network 1 5 both with one another and with the memory 14, via which they can exchange data with one another as well as with the memory 14.
  • one or more containers may be configured with one or more processes configured to utilize an operating system kernel of an operating system operating the respective computing device 1 3 and 1 8.
  • FIG. 2 by way of example and without limiting the generality, a container 16 with processes 17, which is formed on one of the computer devices 1 3 and 1 8, is shown.
  • all of the computing devices 1 3 including the computing device 18 on which the container 16 is configured are configured to communicate, via the network 1 5, information about resources available on each of the computing devices 1 3 and 1 8 to transfer the memory 14 and store there.
  • resource information can be permanently updated in the manner described above.
  • the container 1 6 is adapted to each respective computer devices 1 3 and 1 8 related resource information to each other and to select that computer device 1 3 with the most favorable resource information.
  • the resource information can not only have information about free capacities such as computing or storage capacities on the respective computer devices 1 3, but also information about operating system cores of the respective operating systems for operating the respective computer devices 1 3.
  • a computer device. 1 3 is then selected as the most favorable computer device 1 3 if an operating system kernel of its operating system can be used for the processes 1 7 of the container 1 6 and if it has the most free capacity of all the computing devices 1 3.
  • the container 1 6 After selecting one of the computer devices 1 3, the container 1 6 as described in connection with the figure 1 wholly or partially copied and the copy on the selected computer device 1 3 installed. Subsequently, the container 1 6 can be uninstalled on the original computer device 1 8. Alternatively, the original container 1 6 next to the newly created container as described above can be maintained, the two containers can also communicate with each other or cooperate. By creating another container one or more further of the computer devices 1 3, it is even possible to produce a container which extends from the outside through several of the computer devices 1 3 and 1 8. Such a container extending over several of the computer devices 13 and 18 can, viewed from the outside, act like a single container.
  • containers within the computer system 1 2 can move arbitrarily between the computer devices 1 3 and 1 8 or any subsidiary containers on the computer devices 1 3 and 1 8 generate.

Abstract

Ein Computersystem (1, 12) weist eine erste Computervorrichtung (2, 18) und ein erstes Betriebssystem zum Betreiben der ersten Computervorrichtung (2, 18), auf der wenigstens ein erster Container (8, 16) mit wenigstens einem zur Nutzung eines Betriebssystemkerns des ersten Betriebssystems eingerichteten Prozess (9, 17) ausgebildet ist, sowie wenigstens eine zweite Computervorrichtung (3, 13) und ein zweites Betriebssystem zum Betreiben der zweiten Computervorrichtung (3, 13) auf. Im Betrieb des Computersystems (1, 12) werden Ressourceninformationen erzeugt, die Auskunft über auf der zweiten Computervorrichtung (3, 13) vorhandene Ressourcen geben. Der erste Container (8, 16) ruft die Ressourceninformationen ab. Nach Überprüfen ob auf der zweiten Computervorrichtung (3, 13) vorhandene Ressourcen ein Ablaufen des Prozesses (9, 17) auf der zweiten Computervorrichtung (3, 13) erlauben wird, sofern dies der Fall ist, ein zweiter Container (10) mit einer zur Nutzung eines Betriebssystemkerns des zweiten Betriebssystems eingerichteten Kopie (11) des Prozesses (9, 17) erzeugt und auf der zweiten Computervorrichtung (3, 13) implementiert.

Description

Computersystem und Verfahren zum Betreiben
eines Computersvstems
Die vorliegende Erfindung betrifft ein Computersystem mit einer ersten Computervorrichtung und einem ersten Betriebssystem zum Betreiben der ersten Computervorrichtung, auf der wenigstens ein erster Container mit wenigstens einem zur Nutzung eines Betriebssystemkerns des ersten Betriebssystems eingerichteten Prozess ausgebildet ist, sowie wenigstens einer zweiten Computervorrichtung und einem zweiten Betriebssystem zum Betreiben der zweiten Computervorrichtung. Ferner betrifft die vorliegende Erfindung ein Verfahren zum Betreiben eines derartigen Computersystems. Aus der US 201 3/0145006 A1 ist es beispielsweise bekannt, in vernetzten Computersystemen Container für eine Mehrzahl an Computervorrichtungen vorzusehen. Jeder Container weist eine Gesamtheit an Daten und Funktionalitäten auf, die von anderen Containern logisch getrennt ist, so dass einzelne Container voneinander isoliert sind. Nach Eintreffen einer Anfrage bei einem Clientcomputer wird die Anfrage als zu einem Container zugehörig bestimmt und an den betreffenden Container weitergeleitet.
Ferner sind in der US 201 5/01 281 05 A1 Container offenbart, bei denen es sich um Anwendungen handelt, die auf einer ersten Computervorrichtung ausführbar sind. Die Container weisen unter anderem auf der ersten Computervorrichtung ausführbare und mit einer zweiten Computervorrichtung kompatible Funktionen sowie diese Funktionen definierende Metadaten auf. Unter Verwendung eines Browsers können die Metadaten ausgeführt und die Funktionen auf diese Weise aufgerufen werden. Es ist die Aufgabe der vorliegenden Erfindung, ein Computersystem und ein Verfahren zum Betreiben eines Computersystems zu schaffen, die eine flexible und möglichst effektive Nutzung vorhandener Ressourcen ermöglichen.
Diese Aufgabe wird durch das Computersystem mit den Merkmalen des Anspruchs 1 und durch das Verfahren mit den Merkmalen des Anspruchs 1 0 gelöst. Gemäß der vorliegenden Erfindung wird der zweite Container erzeugt und auf der zweiten Computervorrichtung implementiert, sofern deren Ressourcen ein Ablaufen des Prozesses des auf der ersten Computervorrichtung ausgebildeten ersten Containers erlauben. Sofern jedoch diese Ressourcen ein Ablaufen des Prozesses des ersten Containers auf der zweiten Computervorrichtung nicht erlauben, kann von einer Erzeugung und/oder Implementierung des zweiten Containers abgesehen werden. Somit ermöglicht der Gegenstand der vorliegenden Erfindung Containern einer Computervorrichtung, bzw. deren Prozessen, die Nutzung von ungenutzten Ressourcen anderer Computervorrichtungen. In Fällen, in denen auf der ersten Computervorrichtung eine benötigte Ressource nicht oder nicht ausreichend zur Verfügung steht, kann der erste Container bedarfsweise proaktiv auf Ressourcen der zweiten Computervorrichtung zugreifen und diese für sich oder seinen Prozess nutzen. Damit ist einerseits sichergestellt, dass eine Ausführung des Prozesses selbst dann, wenn auf der ersten Computervorrichtung notwendige Ressourcen zu dessen Ausführung nicht zur Verfügung stehen, nicht zwangsläufig unterbleibt bzw. nicht unvollständig oder mit großen Leistungseinbußen erfolgt. Andererseits werden redundante Ressourcen der zweiten Computervorrichtung genutzt, die ansonsten ungenutzt bleiben würden. Insgesamt wird mit dem Gegenstand der vorliegenden Erfindung somit eine flexible und effektivere Nutzung der im Computersystem vorhandenen Ressourcen erreicht.
Als weiterer Vorteil der vorliegenden Erfindung erweist sich der Umstand, dass Softwareentwickler zum Zeitpunkt der Programmierung des Computersystems oder einer Computervorrichtung nicht mehr notwendigerweise auf später zur Verfügung stehende Ressourcen achten müssen. Ganz allgemein werden Anwendungen in der Regel dediziert für vorgegebene Anwendungsumgebungen programmiert. Anwendungsentwickler müssen zum Zeitpunkt der Programmierung eine später zur Verfügung stehende Peripherie entweder kennen oder zwingend vorgeben. Die Kenntnis oder Vorgabe der verfügbaren Peripherien erweist sich besonders in dynamischen Umgebungen als problematisch, wenn eine spezifische Infrastruktur des Computersystems oder einer Computervorrichtung nur schwer vorhersehbar oder sehr komplex ist. In solchen Fällen müssen üblicherweise Redundanzen zur Sicherung und Stabilisierung des Ablaufs des Prozesses mit berücksichtigt werden. Beim Gegenstand der vorliegenden Erfindung kann auf diesbezügliche Maßnahmen verzichtet werden, da Container falls nötig proaktiv auf Computervorrichtungen und deren Ressourcen zugreifen können, auf denen sie nicht ausgebildet sind. Hierdurch wird der Programmieraufwand erheblich reduziert bzw. das Programmieren wird erheblich erleichtert.
Ganz allgemein kann es sich bei einem Container einfach um ein Dateiensystem handeln, das einen Prozess oder mehrere Prozesse in Form von Programmcodes einer oder mehrerer Anwendungen und alle notwendigen Bibliotheken und Dateien für den Betrieb des Containers aufweist. Durch die Verwendung von Containern werden Problematiken wie Paketabhängigkeiten und Inkompatibilitäten umgangen. Prozesse der jeweiligen Container können durch Kernel- Namensräume voneinander getrennt sein. Sogenannte C-Groups können für die Ressourcenverwaltung sorgen, sodass jedem Container bestimmte Ressourcen zugewiesen werden können. Sowohl der erste Container als auch der zweite Container kann nicht nur einen Prozess, sondern vielmehr mehrere, und zwar beliebig viele, Prozesse aufweisen, wobei unter einem Prozess ein Vorgang verstanden werden kann, der durch ein Programm kontrolliert wird, welches zur Ausführung einen Prozessor benötigt. So kann der Prozess eine auf der ersten Computervorrichtung ablaufbare Anwendung oder ein Anwendungsprogramm sein oder er kann ein Teil einer derartigen Anwendung oder eines derartigen Anwendungsprogramms sein. Alle Prozesse des ersten Containers können zur Nutzung des Betriebssystemkerns des ersten Betriebssystems eingerichtet sein. Ebenso können alle Prozesse des zweiten Containers zur Nutzung des Betriebssystemkerns des zweiten Betriebssystems eingerichtet sein.
Der erste Container und der zweite Container können insbesondere für eine Virtualisierung, also für eine Nachbildung eines Hard- oder Softwareobjektes durch ein ähnliches Objekt vom selben Typ mit Hilfe einer Softwareschicht, auf Betriebssystemebene vorgesehen sein. Insbesondere kann der Prozess ein Prozess des ersten Betriebssystems sein, der bei Ablaufen den Betriebssystemkern des ersten Betriebssystems nutzt. Somit kann der erste Container als auf der ersten Computervorrichtung isoliert laufendes Betriebssystem ausgebildet sein. Entsprechend kann der zweite Container als auf der zweiten Computervorrichtung isoliert laufendes Betriebssystem ausgebildet sein. In diesem Zusammenhang können die Container virtuelle Umgebungen darstellen bzw. erzeugen, die zwar ihre eigenen Prozesse aufweisen, jedoch für diese gemeinschaftlich den Betriebssystemkern des jeweiligen Betriebssystems der jeweiligen Computervorrichtung nutzen, auf denen die Container ausgebildet sind. Container können neben dem einen oder mehreren Prozessen auch eine oder mehrere Anwendungen, Metadaten, Treiber, ein unabhängiges Dateiensystem, Programmbibliotheken, Schnittstellen sowie Werkzeuge wie Skripte zur Steuerung der Container aufweisen. Besonders bevorzugt handelt es sich bei dem ersten Container und/oder dem zweiten Container um einen Linux-Container (LXC). Aufgrund der vielen Vorteile wie leichtere Verwaltung, effektive Nutzung von Hardware-Ressourcen und erhöhte Sicherheit durch Isolation bietet sich Virtualisierung auch für sogenannte Embedded Devices oder kleine Computer in der Produktion an.
Das Computersystem kann ferner dazu eingerichtet sein, Ressourceninformationen über auf der ersten Computervorrichtung vorhandene Ressourcen für den Abruf durch Container auf der zweiten Computervorrichtung zu erzeugen. Hierdurch können Container auf der zweiten Computervorrichtung, und insbesondere der auf der zweiten Computervorrichtung implementierte und eine Kopie des Prozesses des ersten Containers enthaltende zweite Container, bedarfsweise auf entsprechende Weise auf Ressourcen der ersten Computervorrichtung zurückgreifen.
Vorzugsweise weisen die Ressourceninformationen Informationen über den Betriebssystemkern des zweiten Betriebssystems und/oder Informationen über auf der zweiten Computervorrichtung vorhandene freie Kapazitäten auf. Entsprechend wird bevorzugt überprüft, ob der Betriebssystemkern des zweiten Betriebssystems vom Prozess des ersten Containers genutzt werden kann und/oder ob die freien Kapazitäten der zweiten Computervorrichtung zum Ablaufen des Prozesses auf der zweiten Computervorrichtung ausreichen. Sofern dies nicht der Fall ist, kann auf das Erzeugen und/oder Implementieren des zweiten Containers verzichtet werden. Mittels derartiger Ressourceninformationen können die auf der zweiten Computervorrichtung vorherrschenden Gegebenheiten im Hinblick auf das zweite Betriebssystem bei der Überprüfung der Eignung der zweiten Computervorrichtung zur Implementierung des zweiten Containers berücksichtigt werden als auch alternativ oder zusätzlich das Vorhandensein freier Kapazitäten wie Rechenkapazitäten und/oder Speicherkapazitäten auf der zweiten Computervorrichtung. Insbesondere können auf der zweiten Computervorrichtung vorhandene aktuelle Rechenkapazitäten und/oder Speicherkapazitäten zur Zeit des Abrufens der Ressourceninformationen berücksichtigt werden.
Besonders bevorzugt weist das Computersystem mehrere zweite Computervorrichtungen auf und ist dazu eingerichtet, Ressourceninformationen, die Auskunft über auf jeweiligen der zweiten Computervorrichtungen vorhandene Ressourcen geben, zu erzeugen, wobei der erste Container zum Abrufen und zum Vergleichen wenigstens eines Teils der Ressourceninformationen und das Computersystem auf der Grundlage dieses Vergleiches zum Auswählen wenigstens einer der zweiten Computervorrichtungen für das Implementieren des zweiten Containers eingerichtet ist. Dem ersten Container wird hierdurch ermöglicht, aus der Mehrzahl der zweiten Computervorrichtungen diejenige zweite Computervorrichtung mit den für den Prozess oder ersten Container günstigsten Ressourcen auszuwählen. Eine zweite Computervorrichtung kann beispielsweise dann von allen anderen zweiten Computervorrichtungen als diejenige mit den günstigsten Ressourcen ausgewählt werden, wenn sie von allen anderen zweiten Computervorrichtungen die größten freien Kapazitäten aufweist. Oder aber eine der zweiten Computervorrichtungen kann von allen zweiten Computervorrichtungen als einzige von einem zweiten Betriebssystem betrieben sein, das einen für den Prozess nutzbaren Betriebssystemkern aufweist, und wird aus diesem Grund zur Implementierung des zweiten Containers ausgewählt. Die genannten Auswahlkriterien können auch miteinander kombiniert werden. Beispielsweise können von allen zweiten Computervorrichtungen nur diejenigen mit einem geeigneten zweiten Betriebssystem berücksichtigt und alle anderen aussortiert werden, wobei von den berücksichtigten zweiten Computervorrichtungen diejenige mit den meisten freien Kapazitäten zur Implementierung des zweiten Containers ausgewählt wird. Ganz besonders bevorzugt ist ein Computersystem mit mehreren zweiten Computervorrichtungen zur Erzeugung auch von Ressourceninformationen eingerichtet, die Auskunft über auf der ersten Computervorrichtung vorhandene Ressourcen geben. Auf diese Weise können Container, die sich auf beliebigen Computervorrichtungen des Computersystems befinden, auf Ressourcen beliebiger anderer Computervorrichtungen zugreifen.
Das Computersystem kann wenigstens ein Speichermittel zum Bereitstellen der Ressourceninformationen für den ersten Container aufweisen, das entweder als Teil der ersten Computervorrichtung oder als Teil der zweiten Computervorrichtung oder als Teil des Computersystems vorgesehen ist, oder das Computersystem kann zum Speichern der Ressourceninformationen in einem externen Speichermittel eingerichtet sein, oder das Computersystem kann zum Erzeugen der Ressourceninformationen nach einer Anfrage durch den ersten Container eingerichtet sein. Im letzteren Fall kann auf ein Speichermittel zum Speichern der Ressourceninformationen verzichtet werden, sofern dieselben bedarfsweise unmittelbar auf Anfrage durch den ersten Container erzeugt und anschließend von diesem abgerufen werden. Ist das Speichermittel als Teil der ersten Computervorrichtung ausgebildet, so werden die Ressourceninformationen vor deren Speichern von der zweiten Computervorrichtung an die erste Computervorrichtung übertragen, sofern die Ressourceninformationen von der zweiten Computervorrichtung erzeugt werden. Ist das Speichermittel hingegen als Teil der zweiten Computervorrichtung ausgebildet, so kann diese die Ressourceninformationen direkt im Speichermittel speichern, sofern die Ressourceninformationen von der zweiten Computervorrichtung erzeugt werden. Zum Abrufen der bereitgestellten Ressourceninformationen durch den ersten Container können dieselben dann von der zweiten Computervorrichtung an die erste Computervorrichtung übertragen werden. Entsprechend umgekehrt ist die Situation, sofern die Ressourceninformationen von der ersten Computervorrichtung erzeugt werden. Sofern das Speichermittel als internes Speichermittel des Computersystems oder als externes Speichermittel ausgebildet ist, können die Ressourceninformationen zum Bereitstellen entweder von der ersten Computervorrichtung oder von der zweiten Computervorrichtung an das interne oder externe Speichermittel übertragen werden, je nachdem, welche dieser Computervorrichtungen die Ressourceninformationen erzeugt, und zum Abrufen der bereitgestellten Ressourceninformationen durch den ersten Container können diese von dem internen oder externen Speichermittel an die erste Computervorrichtung übertragen werden. Während ein externes Speichermittel nicht zum Computersystem gehört und schon deshalb in vielen Fällen einen räumlichen Abstand zu der ersten Computervorrichtung als auch zu der zweiten Computervorrichtung aufweist, kann auch ein internes Speichermittel sowohl von der ersten Computervorrichtung als auch von der zweiten Computervorrichtung beabstandet sein. Mittels interner oder externer Speichermittel lassen sich insbesondere sogenannte Clouds oder Fogs bzw. Cloud- oder Fog-Umgebungen innerhalb und außerhalb des Computersystems einrichten.
In den allermeisten Fällen sind die auf der zweiten Computervorrichtung vorhandenen oder dieser zur Verfügung stehenden Ressourcen nicht konstant, sondern unterliegen einer zeitlichen Veränderung. Sofern die Ressourceninformationen nicht erst bei einer Anfrage durch den ersten Container sondern schon vorab erzeugt und zum Abruf durch denselben beispielsweise in einem Speicher bereitgestellt werden, ist es daher von Vorteil, wenn die zum Abruf durch den ersten Container bereitgestellten Ressourceninformationen aktuelle Ressourceninformationen sind, die Auskunft über einen aktuellen Stand oder Bestand von auf der zweiten Computervorrichtung vorhandenen oder dieser zur Verfügung stehenden Ressourcen geben. Zu diesem Zweck kann das Computersystem bzw. die erste Computervorrichtung oder die zweite Computervorrichtung zur wiederholten Ermittlung der auf der zweiten Computervorrichtung vorhandenen oder dieser zur Verfügung stehenden Ressourcen eingerichtet sein. Ferner können zum Abruf bereitgestellte Ressourceninformationen bedarfsweise oder regelmäßig aktualisiert werden. Beispielsweise kann eine periodische Aktualisierung bereitgestellter Ressourceninformationen vorgesehen sein, bei der bereits bereitstehende Ressourceninformationen in gleichbleibenden zeitlichen Abständen durch neue, aktualisierte Ressourceninformationen ersetzt oder ergänzt werden. Alternativ kann eine Ersetzung oder Ergänzung bereitgestellter Ressourceninformationen durch neue aktualisierte
Ressourceninformationen unbeachtlich des zeitlichen Abstandes immer dann erfolgen, sobald sich eine Änderung der betreffenden Ressourcen ergibt.
Nach Implementieren des zweiten Containers kann dieser auf der zweiten Computervorrichtung parallel zum ersten Container auf der ersten Computervorrichtung bestehen. Insbesondere können Ableger des ersten Containers auf der zweiten Computervorrichtung oder den zweiten Computervorrichtungen erzeugt werden, die situationsabhängig nur jeweilige auf der zweiten Computervorrichtung benötigte Teile oder Prozesse des ersten Containers aufweisen, ohne den ersten Container gleich vollständig kopieren zu müssen. Weil beim Erzeugen des zweiten Containers auf nicht benötigte Teile des ersten Containers verzichtet wird, können in derart gelagerten Fällen Ressourcen gespart werden. Gleichwohl ist in der Praxis oftmals eine Vervielfachung oder Verteilung des gesamten ersten Containers innerhalb des Computersystems gewünscht oder notwendig. Daher kann es sich bei dem zweiten Container bevorzugt um eine vollständige Kopie des ersten Containers handeln.
Bei einer bevorzugten Ausführungsform ist der zweite Container zur Übertragung von Daten zum ersten Container oder zum Datenaustausch mit dem ersten Container eingerichtet oder es sind mehrere auf jeweiligen zweiten Computervorrichtungen implementierte zweite Container zur Übertragung von Daten zum ersten Container oder zum Datenaustausch mit dem ersten Container eingerichtet. Hierdurch kann der erste Container auf Ressourcen der zweiten Computervorrichtung zurückgreifen, ohne die erste Computervorrichtung zwangsläufig verlassen zu müssen bzw. ohne auf der ersten Computervorrichtung deinstalliert oder gelöscht werden zu müssen. Nach erfolgter Arbeit kann stattdessen der zweite Container auf der zweiten Computervorrichtung wieder deinstalliert oder gelöscht werden. Der Datenaustausch oder eine Kommunikation zwischen den Containern kann beispielsweise auf der Basis eines Internetprotokolls erfolgen. Insbesondere kann ein Container, der mit wenigstens einem oder mehreren auf einer oder mehreren zweiten Computervorrichtungen implementierten Containern zum Austausch von Daten eingerichtet ist, von außen gesehen wie ein einziger, sich über mehrere Computervorrichtungen erstreckender Container oder Prozess wirken. Bei einer weiteren bevorzugten Ausführungsform ist das Computersystem jedoch dazu eingerichtet, nach Implementieren des zweiten Containers den ersten Container zu löschen. Insbesondere kann der erste Container bei dieser Ausführungsform wenigstens ein Installationsprogramm bzw. wenigstens einen Installationsprozess zum Erzeugen und/oder Implementieren des zweiten Containers aufweisen. Entsprechend können der erste Container und/oder der zweite Container alternativ oder zusätzlich wenigstens ein Deinstallationsprogramm bzw. wenigstens einen Deinstallationsprozess zum Löschen des ersten Containers aufweisen. Ferner kann der zweite Container ein Script aufweisen, welches beim Start des zweiten Containers den ersten Container deinstalliert. Diese Ausführungsform realisiert erste Container, die proaktiv innerhalb des Computersystems von der ersten Computervorrichtung zur zweiten Computervorrichtung beweglich sind. Entsprechend kann auch der zweite Container proaktiv innerhalb des Computersystems beweglich sein. Sofern das Computersystem eine Mehrzahl an zweiten Computervorrichtungen aufweist, können Container beliebig zwischen den Computervorrichtungen wechseln und sich jederzeit zu derjenigen Computervorrichtung mit den aktuell jeweils günstigsten Ressourcen bewegen. Ein derartiges Computersystem zeichnet sich durch eine besonders hohe Flexibilität und Effizienz in der Ressourcennutzung aus. Ganz allgemein kann bei dem Computersystem eine direkte oder indirekte oder eine wenigstens teilweise kabelgebundene oder wenigstens teilweise drahtlose Datenübertragungsverbindung zwischen der ersten Computervorrichtung und der zweiten Computervorrichtung bestehen oder herstellbar sein. Dabei handelt es sich bei dem Computersystem vorzugsweise um ein Computernetz. Insbesondere sind die erste Computervorrichtung und die zweite Computervorrichtung und gegebenenfalls weitere Computervorrichtungen des Computersystems bevorzugt mittels eines Netzwerkes miteinander verbunden oder stellen einen Teil eines Netzwerkes dar. Insbesondere können Computervorrichtungen des Computersystems über das Internet miteinander verbindbar oder verbunden sein.
Bei den Computervorrichtungen kann es sich ganz allgemein um beliebige fest installierte Computervorrichtungen wie Klein- oder Großrechner, Workstations, Arbeitsplatzrechner, Einzelplatzrechner oder Personal Computer (PC), oder aber um mobile Computervorrichtungen wie zum Beispiel
Kommunikationsvorrichtungen wie Mobiltelefone oder Smartphones handeln. Die Computervorrichtungen können sowohl Server als auch Client sein. Besonders bevorzugt handelt es sich bei den Computervorrichtungen um sogenannte eingebettete Systeme oder embedded Systems, die in einen technischen Kontext eingebunden oder eingebettet sind. Eingebettete Systeme werden oft aufgabenspezifisch angepasst. Anders als zum Beispiel PCs, weisen derartige Computervorrichtungen in der Regel weder einen Bildschirm noch eine Tastatur auf bzw. sie sind weder mit einem Bildschirm noch mit einer Tastatur verbunden. Hierbei können die Computervorrichtungen verschiedenste Überwachungs-, Steuerungsoder Regelfunktionen oder Daten- oder Signalverarbeitungen ausführen. Diese Funktionen können für den Benutzer weitestgehend oder vollständig unsichtbar erfolgen.
Ganz besonders bevorzugt weist jedoch wenigstens die erste Computervorrichtung und/oder wenigstens die zweite Computervorrichtung wenigstens ein anwendungsspezifisch ausgestaltetes Funktionsmodul, wenigstens ein Hauptmodul mit wenigstens einem Prozessor und wenigstens ein Stromversorgungsmodul auf. Ein besonderer Vorteil einer derartigen Ausführung besteht darin, dass sich der jeweilige individuelle Anteil der Computervorrichtungen oder Geräte für den Gerätehersteller sowohl bei der Entwicklung als auch bei der Herstellung bezüglich sowohl der Hardware als auch der Software auf ein notwendiges Minimum beschränkt. Als individueller Anteil ist dabei derjenige Anteil zu verstehen, durch den sich die jeweiligen Computervorrichtungen oder Geräte von einer oder mehreren vom Anbieter vorgegebenen Basisausstattungen unterscheiden. Dies vereinfacht einerseits die Herstellung der Computervorrichtungen oder Geräte, erleichtert aber andererseits auch Tests, Zertifizierungen und/oder deren Zulassung, da bereits vorhandene Komponenten diesen Prozess bereits durchlaufen haben. Dies ist besonders vorteilhaft für Kleinauflagen spezieller elektronischer Geräte, für die sich der Aufwand einer kompletten Gerätekonzeption und Herstellung nicht lohnen würde. Bei derartigen Computervorrichtungen oder Geräten kann es sich zum Beispiel um RFID-Reader, Messgeräte, Geräte der Unterhaltungselektronik, Geräte der elektronischen Kommunikation, Kommunikationsendgräte, Modems, Computer, Computerzubehör, Computerperipheriegeräte, Mess- und Steuergeräte, insbesondere für die Eisenbahn, Logistik, industrielle Anwendungen, Fertigungs- und Prozessautomatisierung, Agrarindustrie und Verkehrstechnik handeln.
Bei den Computervorrichtungen kann es sich insbesondere um sogenannte Industrie-4.0-Komponenten handeln, die mit der IT-Welt (Information Technology) und ERP (Enterprise-Resource-Planning) Systemen kommunizieren können. Mithilfe von Barcode, RFID (Radio- Frequency Identification) oder anderen Identifikationstechnologien kann jeder Komponente eine eindeutige ID und damit eine virtuelle Repräsentation zugeordnet werden. Diese virtuelle Repräsentation enthält die relevanten Eigenschaften und Funktionalitäten der zugeordneten Komponente und wird gemeinhin als Verwaltungsschale bezeichnet. Eine Containerstruktur bietet die Möglichkeit, jede Komponente und Verwaltungsschale in einem eigenen Container zu kapseln. Somit bekommt jede Verwaltungsschale automatisch eine IP- Adresse, wodurch eine einfache, IP-basierte Kommunikation im Sinne von Industrie 4.0 ermöglicht wird. Konkret kann also jede angeschlossene Computervorrichtung oder Komponente eineindeutig identifiziert und über ein Netzwerk erreicht werden - unabhängig vom Alter der Computervorrichtung oder Komponente oder der verwendeten Protokolle. Auf diese Weise können existierende Systeme schnell und unkompliziert an MES-Systeme (Manufacturing Execution System), ERP oder eine sogenannte Cloud angebunden werden.
Im Folgenden wird die Erfindung anhand bevorzugter Ausführungsbeispiele unter Zuhilfenahme von Zeichnungen näher erläutert. Dabei zeigen:
Figur 1 eine schematische Darstellung eines Computersystems;
Figur 2 eine schematische Darstellung eines weiteren
Computersystems.
In der Figur 1 ist ein Computersystem 1 dargestellt, das eine von einem ersten Betriebssystem betriebene erste Computervorrichtung 2 und eine von einem zweiten Betriebssystem betriebene zweite Computervorrichtung 3 aufweist. Darüber hinaus ist ein im vorliegenden Fall bezüglich der ersten Computervorrichtung 2 als auch der zweiten Computervorrichtung 3 externer und in Bezug auf das Computersystem 1 interner Speicher 4 vorgesehen. Alternativ kann der Speicher 4 auch als Teil der ersten Computervorrichtung 2 oder als Teil der zweiten Computervorrichtung 3 oder gar als externer Speicher in Bezug auf das gesamte Computersystem 1 eingerichtet sein. Über eine Datenübertragungsverbindung 5 sind Daten von der ersten Computervorrichtung 2 zur zweiten Computervorrichtung 3 übermittelbar. Ferner ist die zweite Computervorrichtung 3 mittels einer Datenübertragungsverbindung 6 mit dem Speicher 4 verbunden oder verbindbar, über welche sie Daten an den Speicher 4 übertragen kann, und die erste Computervorrichtung 2 ist über eine Datenübertragungsverbindung 7 mit dem Speicher 4 verbunden oder verbindbar, über welche sie auf im Speicher 4 abgelegte Daten zugreifen kann. Die Datenübertragungsverbindungen 5, 6 und 7 können feste oder drahtlose Datenübertragungsverbindungen sein. Sie müssen nicht permanent bestehen, sondern können lediglich im Bedarfsfalle herstellbar sein. Im vorliegenden Fall wird für die Datenübertragungsverbindungen 5, 6 und 7 das Internet genutzt, wobei es sich bei den Datenübertragungsverbindungen 5, 6 und 7 um sogenannte http-Verbindungen handeln kann.
Auf der ersten Computervorrichtung 2 ist ein Container 8 mit Prozessen 9 ausgebildet, die zur Nutzung eines Betriebssystemkerns des ersten Betriebssystems eingerichtet sind. Der Container 8 ist für eine Virtualisierung auf Betriebssystemebene vorgesehen und mithin als auf der ersten Computervorrichtung 2 isoliert laufendes Betriebssystem ausgebildet. Ferner ist der Container 8 dazu eingerichtet, auf im Speicher 4 abgelegte Daten zuzugreifen und diese abzurufen.
Im Betrieb werden vom Computersystem 1 Ressourceninformationen, die Auskunft über auf der zweiten Computervorrichtung 3 vorhandene Ressourcen und insbesondere über eine aktuelle Auslastung bzw. freie Kapazitäten wie Rechen- oder Speicherkapazitäten der zweiten Computervorrichtung 3 geben, im Speicher 4 gespeichert. Zu diesem Zweck werden die Ressourceninformationen von der zweiten Computervorrichtung 3 periodisch ermittelt, über die Datenübertragungsverbindung 6 an den Speicher 4 übertragen und in diesem abgelegt, wobei dort eventuell bereits vorhandene Ressourceninformationen überschrieben werden. Durch die periodische Ermittlung und Überschreibung von im Speicher 4 gespeicherten Ressourceninformationen ist sichergestellt, dass die im Speicher 4 befindlichen Ressourceninformationen stets möglichst aktuell sind.
Sollten sich während des Betriebs des Computersystems 1 auf der ersten Computervorrichtung 2 vorhandene freie Ressourcen als unzureichend für den Container 8 bzw. dessen Prozesse 9 erweisen, so ruft der Container 8 die im Speicher 4 abgelegten Ressourceninformationen ab und überprüft anhand dieser Ressourceninformationen, ob auf der zweiten Computervorrichtung 3 womöglich mehr bzw. ausreichend Ressourcen zur Verfügung stehen. Ist dies der Fall, erstellt der Container 8 eine Kopie von sich selbst und versieht diese Kopie zusätzlich mit einem Script, das beim ersten Start für eine Deinstallation des Containers 8 sorgt. Sodann stellt der Container 8 die Datenübertragungsverbindung 5 von der ersten Computervorrichtung 2 zur zweiten Computervorrichtung 3 her und überträgt die Kopie über die Datenübertragungsverbindung 5 an die zweite Computervorrichtung 3. Mittels eines Webservices wird eine Installation der Kopie des Containers 8 durch das zweite Betriebssystem auf der zweiten Computervorrichtung 3 herbeigeführt. In der Figur 1 ist die auf der zweiten Computervorrichtung 3 fertig installierte Kopie des Containers 8 als Container 1 0 mit Prozessen 1 1 gestrichelt dargestellt.
Nach erfolgter Installation der Kopie des Containers 8 bzw. nach Erzeugen des Containers 1 0 auf der zweiten Computervorrichtung 3 wird der Container 1 0 ebenfalls mittels eines Webservices gestartet. Hierdurch werden nicht nur die Prozesse 1 1 des Containers 1 0 auf vorgesehene Weise ausgeführt, wobei sie einen Betriebssystemkern des zweiten Betriebssystems nutzen, sondern es wird auch das dem Container 1 0 beigefügte Script ausgeführt. Dieses sorgt mittels eines Webservices dafür, dass der Container 8 auf der ersten Computervorrichtung 2 bzw. dessen Prozesse 9 gestoppt wird bzw. werden und der Container 8 deinstalliert wird.
Auf diese Weise übernimmt der Container 1 0 auf der zweiten Computervorrichtung 3 dieselbe Aufgabe, die der Container 8 zuvor auf der ersten Computervorrichtung 2 hatte. Da es sich bei dem Container 1 0 bis auf das ihm zugewiesene Script um eine vollständige Kopie des Containers 8 handelt, kann der Container 1 0 von außerhalb des Computersystems 1 betrachtet nicht vom Container 8 unterschieden werden. Von außerhalb des Computersystems 1 betrachtet hat sich der Container 8 sozusagen proaktiv von der ersten Computervorrichtung 2 zur zweiten Computervorrichtung 3 bewegt, bzw. er ist von der ersten Computervorrichtung 2 zur zweiten Computervorrichtung 3 migriert. Nicht immer ist ein Deinstallieren des Containers 8 auf der ersten Computervorrichtung 2 nach Implementieren des Containers 1 0 auf der zweiten Computervorrichtung 3 zweckmäßig oder erwünscht. In solchen Fällen kann auf eine Deinstallation des Containers 8 verzichtet werden. Der auf der zweiten Computervorrichtung 3 befindliche Container 1 0 stellt dann gewissermaßen einen Tochtercontainer des auf der ersten Computervorrichtung 2 befindlichen Containers 8 dar. Beide Container 8 und 1 0 existieren auf ihren jeweiligen Computervorrichtungen 2 und 3 parallel und können auch parallel und voneinander unabhängig auf diesen ablaufen. Auf diese Weise können Unterprogramme plattformübergreifend ausgelagert werden, um auf benötigte Ressourcen zugreifen zu können. Insbesondere muss es sich bei dem Container 1 0 nicht zwangsläufig um eine vollständige Kopie des Containers 8 handeln.
In anderen Fällen wiederum können der auf der ersten Computervorrichtung 2 befindliche Container 8 und der auf der zweiten Computervorrichtung 3 befindliche Container 1 0 während des Abiaufens über die Datenübertragungsverbindung 5 miteinander kommunizieren. Ebenso ist eine Kooperation des Containers 8 mit dem Container 1 0 möglich, so dass ähnlich einem MultiCore- Prozessor von außerhalb des Computersystems 1 betrachtet die beiden Container 8 und 1 0 als ein einziger über die erste Computervorrichtung 2 und die zweite Computervorrichtung 3 aufgespannter oder sich erstreckender Container erscheinen, der auf beiden Computervorrichtungen 2 und 3 gleichzeitig ablaufen kann. Hierbei können den Containern 8 und 1 0 jeweils verschiedene Peripheriemodule der Computervorrichtungen 2 und 3 zur Verfügung gestellt werden, sofern sich die Computervorrichtungen 2 und 3 hinreichend voneinander unterscheiden. Obwohl das in der Figur 1 gezeigte Computersystem 1 einen Speicher 4 zum Ablegen oder Speichern von Ressourceninformationen aufweist, sind gleichwohl auch Ausführungsformen von Computersystemen möglich, bei denen die Ressourceninformationen erst nach Anfrage durch den Container 8 bei der zweiten Computervorrichtung 3 erzeugt und anschließend vom Container 8 abgerufen und nicht wie beim Computersystem 1 vorab erzeugt und im Speicher 4 für den Container 8 zum Abruf bereitgestellt werden. Bei derartigen Computersystemen kann auf den Speicher 4 verzichtet werden.
Ein Beispiel für ein Computersystem 1 2 mit mehr als zwei Computervorrichtungen 1 3 und 1 8 ist in der Figur 2 zu sehen. Obwohl das Computersystem 1 2 in der Figur 2 sechs Computervorrichtungen 13 und 1 8 aufweist, ist die Anzahl der Computervorrichtungen im Allgemeinen unbegrenzt und kann beliebig groß sein. Jede Computervorrichtung 1 3 und 1 8 wird von einem jeweiligen Betriebssystem betrieben, wobei die Betriebssysteme für die einzelnen Computervorrichtungen 1 3 und 1 8 durchaus verschieden sein können. Das Computersystem 1 2 weist ferner einen im vorliegenden Fall bezüglich allen Computervorrichtungen 1 3 und 1 8 externen und in Bezug auf das Computersystem 1 2 internen Speicher 14 auf. Alternativ kann der Speicher 14 auch als Teil einer der Computervorrichtungen 1 3 und 1 8 oder als externer Speicher in Bezug auf das gesamte Computersystem 1 2 eingerichtet sein. Die Computervorrichtungen 1 3 und 1 8 sind über ein Datennetz oder Netzwerk 1 5 sowohl miteinander als auch mit dem Speicher 14 verbunden bzw. vernetzt, über welches sie Daten miteinander als auch mit dem Speicher 14 austauschen können.
Auf jeder einzelnen der Computervorrichtungen 1 3 und 1 8 können ein oder mehrere Container mit einem oder mehreren Prozessen ausgebildet sein, die zur Nutzung eines Betriebssystemkerns eines die jeweilige Computervorrichtung 1 3 und 1 8 betreibenden Betriebssystems eingerichtet sind. In der Figur 2 ist exemplarisch und ohne Beschränkung der Allgemeinheit ein Container 1 6 mit Prozessen 1 7 dargestellt, der auf einer der Computervorrichtungen 1 3 und 1 8 ausgebildet ist.
Beim Computersystem 2 sind alle Computervorrichtungen 1 3 einschließlich der Computervorrichtung 1 8, auf welcher der Container 1 6 ausgebildet ist, dazu eingerichtet, Ressourceninformationen, die Auskunft über auf jeweiligen der Computervorrichtungen 1 3 und 1 8 vorhandene Ressourcen geben, über das Netzwerk 1 5 an den Speicher 14 zu übertragen und dort abzulegen. Im Speicher 14 abgelegte Ressourceninformationen können auf die oben beschriebene Weise permanent aktualisiert werden.
Sofern im Betrieb des Computersystems 1 2 festgestellt wird, dass auf derjenigen Computervorrichtung 1 8, auf welcher der Container 1 6 ausgebildet ist, keine ausreichenden Ressourcen für den Container 1 6 oder dessen Prozesse 1 7 vorhanden sind, so greift der Container 1 6 auf die im Speicher 14 abgelegten Ressourceninformationen zu. Der Container 1 6 ist dazu eingerichtet, jeweilige Computervorrichtungen 1 3 und 1 8 betreffende Ressourceninformationen miteinander zu vergleichen und diejenige Computervorrichtung 1 3 mit den günstigsten Ressourceninformationen auszuwählen. Dabei können die Ressourceninformationen nicht nur Informationen über freie Kapazitäten wie Rechen- oder Speicherkapazitäten auf den jeweiligen Computervorrichtungen 1 3 aufweisen, sondern auch Informationen über Betriebssystemkerne der jeweiligen Betriebssysteme zum Betreiben der jeweiligen Computervorrichtungen 1 3. In der Regel wird vom Container 1 6 eine Computervorrichtung 1 3 dann als günstigste Computervorrichtung 1 3 ausgewählt, wenn ein Betriebssystemkern ihres Betriebssystems für die Prozesse 1 7 des Containers 1 6 nutzbar ist und wenn sie von allen Computervorrichtungen 1 3 die meisten freien Kapazitäten aufweist.
Nach Auswahl einer der Computervorrichtungen 1 3 wird der Container 1 6 wie im Zusammenhang mit der Figur 1 beschrieben ganz oder teilweise kopiert und die Kopie auf der betreffenden ausgewählten Computervorrichtung 1 3 installiert. Anschließend kann der Container 1 6 auf der ursprünglichen Computervorrichtung 1 8 deinstalliert werden. Alternativ kann der ursprüngliche Container 1 6 neben dem neu erzeugten Container wie oben beschrieben beibehalten werden, wobei die beiden Container auch miteinander kommunizieren bzw. kooperieren können. Durch Erzeugen eines weiteren Containers auf einer oder mehreren weiteren der Computervorrichtungen 1 3 ist es sogar möglich, einen sich aus Außensicht über mehrere der Computervorrichtungen 1 3 und 1 8 erstreckenden Container zu erzeugen. Ein solcher sich über mehrere der Computervorrichtungen 13 und 1 8 erstreckender Container kann von außen betrachtet wie ein einziger Container wirken.
Auf diese Weise können sich Container innerhalb des Computersystems 1 2 beliebig zwischen den Computervorrichtungen 1 3 und 1 8 bewegen oder beliebig Tochtercontainer auf den Computervorrichtungen 1 3 und 1 8 erzeugen.
Bezuqszeichenliste
1 . Computersystem
2. erste Computervorrichtung
3. zweite Computervorrichtung
4. Speicher
5. Datenübertragungsverbindung
6. Datenübertragungsverbindung
7. Datenübertragungsverbindung
8. Container
9. Prozess
10. Container
1 1 . Prozess
12. Computersystem
13. Computervorrichtung
14. Speicher
15. Netzwerk
16. Container
17. Prozess
18. Computervorrichtung

Claims

Ansprüche
1 . Computersystem (1 , 1 2) mit
einer ersten Computervorrichtung (2, 1 8) und einem ersten Betriebssystem zum Betreiben der ersten Computervorrichtung (2, 1 8), auf der wenigstens ein erster Container (8, 1 6) mit wenigstens einem zur Nutzung eines Betriebssystemkerns des ersten Betriebssystems eingerichteten Prozess (9, 1 7) ausgebildet ist,
sowie wenigstens einer zweiten Computervorrichtung (3, 1 3) und einem zweiten Betriebssystem zum Betreiben der zweiten Computervorrichtung (3, 1 3),
das dazu eingerichtet ist,
Ressourceninformationen zu erzeugen, die Auskunft über auf der zweiten Computervorrichtung (3, 1 3) vorhandene Ressourcen geben, wobei der erste Container (8, 1 6) zum Abrufen der Ressourceninformationen und zum Überprüfen eingerichtet ist, ob auf der zweiten Computervorrichtung (3, 1 3) vorhandene Ressourcen ein Ablaufen des Prozesses (9, 1 7) auf der zweiten Computervorrichtung (3, 1 3) erlauben,
und, sofern dies der Fall ist, einen zweiten Container (1 0) mit einer Kopie (1 1 ) des Prozesses (9, 1 7) zu erzeugen und auf der zweiten Computervorrichtung (3, 1 3) zu implementieren, so dass die Kopie (1 1 ) des Prozesses (9, 1 7) zur Nutzung eines Betriebssystemkerns des zweiten Betriebssystems eingerichtet ist.
2. Computersystem (1 , 1 2) nach Anspruch 1 , wobei die Ressourceninformationen Informationen über den Betriebssystemkern des zweiten Betriebssystems und/oder Informationen über auf der zweiten Computervorrichtung (3, 1 3) vorhandene freie Kapazitäten aufweisen.
3. Computersystem (1 2) nach Anspruch 1 oder 2 mit mehreren zweiten Computervorrichtungen (1 3) das dazu eingerichtet ist, Ressourceninformationen, die Auskunft über auf jeweiligen der zweiten Computervorrichtungen (1 3) vorhandene Ressourcen geben, zu erzeugen, wobei der erste Container (1 6) zum Abrufen und zum Vergleichen wenigstens eines Teils der Ressourceninformationen und das Computersystem (1 2) auf der Grundlage dieses Vergleiches zum Auswählen wenigstens einer der zweiten Computervorrichtungen (1 3) für das Implementieren des zweiten Containers eingerichtet ist.
4. Computersystem (1 , 1 2) nach einem der vorhergehenden Ansprüche mit wenigstens einem Speichermittel (4, 14) zum Bereitstellen der Ressourceninformationen für den ersten Container (8, 1 6), das entweder als Teil der ersten Computervorrichtung (2, 1 8) oder als Teil der zweiten Computervorrichtung (3, 1 3) oder als Teil des Computersystems (1 , 1 2) vorgesehen ist, oder wobei das Computersystem (1 , 1 2) zum Speichern der Ressourceninformationen in einem externen Speichermittel (4, 14) eingerichtet ist, oder wobei das Computersystem (1 , 1 2) zum Erzeugen der Ressourceninformationen nach einer Anfrage durch den ersten Container (8, 1 6) eingerichtet ist.
5. Computersystem (1 , 1 2) nach einem der vorhergehenden Ansprüche, wobei der zweite Container (1 0) eine vollständige Kopie des ersten Containers (8, 1 6) ist.
6. Computersystem (1 , 1 2) nach einem der vorhergehenden Ansprüche, wobei der zweite Container (1 0) zur Übertragung von Daten zum ersten Container (8, 1 6) oder zum Datenaustausch mit dem ersten Container (8, 1 6) eingerichtet ist oder wobei mehrere auf jeweiligen zweiten Computervorrichtungen (3, 1 3) implementierte zweite Container (1 0) zur Übertragung von Daten zum ersten Container (8, 1 6) oder zum Datenaustausch mit dem ersten Container (8, 1 6) eingerichtet sind.
7. Computersystem (1 , 1 2) nach einem der vorhergehenden Ansprüche, das dazu eingerichtet ist, nach Implementieren des zweiten Containers (1 0) den ersten Container (8, 1 6) zu löschen.
8. Computersystem (1 , 1 2) nach einem der vorhergehenden Ansprüche, bei welchem eine direkte oder indirekte oder eine wenigstens teilweise kabelgebundene oder wenigstens teilweise drahtlose Datenübertragungsverbindung (5, 1 5) zwischen der ersten Computervorrichtung (2, 1 8) und der zweiten Computervorrichtung (3, 1 3) besteht oder herstellbar ist.
9. Computersystem (1 , 1 2) nach einem der vorhergehenden Ansprüche, bei dem wenigstens die erste Computervorrichtung (2, 1 8) und/oder wenigstens die zweite Computervorrichtung (3, 1 3) wenigstens ein anwendungsspezifisch ausgestaltetes Funktionsmodul, wenigstens ein Hauptmodul mit wenigstens einem Prozessor und wenigstens ein Stromversorgungsmodul aufweist.
1 0. Verfahren zum Betreiben eines Computersystems (1 , 1 2) mit einer ersten Computervorrichtung (2, 1 8) und einem ersten Betriebssystem zum Betreiben der ersten Computervorrichtung (2, 1 8), auf der wenigstens ein erster Container (8, 1 6) mit wenigstens einem zur Nutzung eines Betriebssystemkerns des ersten Betriebssystems eingerichteten Prozess (9, 1 7) ausgebildet ist, sowie wenigstens einer zweiten Computervorrichtung (3, 1 3) und einem zweiten Betriebssystem zum Betreiben der zweiten Computervorrichtung (3, 1 3), bei dem Ressourceninformationen, die Auskunft über auf der zweiten Computervorrichtung (3, 1 3) vorhandene Ressourcen geben, erzeugt werden,
der erste Container (8, 1 6) die Ressourceninformationen abruft, überprüft wird, ob auf der zweiten Computervorrichtung (3, 1 3) vorhandene Ressourcen ein Ablaufen des Prozesses (9, 1 7) auf der zweiten Computervorrichtung (3, 1 3) erlauben,
und, sofern dies der Fall ist, ein zweiter Container (1 0) mit einer Kopie (1 1 ) des Prozesses (9, 1 7) erzeugt und auf der zweiten Computervorrichtung (3, 1 3) implementiert wird, wobei die Kopie (1 1 ) des Prozesses (9, 1 7) zur Nutzung eines Betriebssystemkerns des zweiten Betriebssystems eingerichtet wird.
1 1 . Verfahren nach Anspruch 1 0, bei dem als Ressourceninformationen Informationen über den Betriebssystemkern des zweiten Betriebssystems und/oder Informationen über auf der zweiten Computervorrichtung (3, 1 3) vorhandene freie Kapazitäten vorgesehen werden und bei dem überprüft wird, ob der Betriebssystemkern des zweiten Betriebssystems vom Prozess (9, 1 7) des ersten Containers (8, 1 6) genutzt werden kann und/oder ob die freien Kapazitäten der zweiten Computervorrichtung (3, 1 3) zum Ablaufen des Prozesses (9, 1 7) auf der zweiten Computervorrichtung (3, 1 3) ausreichen.
12. Verfahren nach Anspruch 1 0 oder 1 1 , bei dem Ressourceninformationen, die Auskunft über auf jeweiligen von mehreren zweiten Computervorrichtungen (1 3) vorhandene Ressourcen geben, erzeugt werden, wobei der erste Container (1 6) wenigstens einen Teil der Ressourceninformationen abruft und vergleicht und auf der Grundlage dieses Vergleiches wenigstens eine der zweiten Computervorrichtungen (1 3) ausgewählt und der zweite Container auf derselben implementiert wird.
13. Verfahren nach einem der Ansprüche 1 0 bis 1 2, bei dem die Ressourceninformationen in wenigstens einem Speichermittel (4, 14) für den ersten Container (1 6) bereitgestellt werden, das entweder als Teil der ersten Computervorrichtung (2, 1 8) oder als Teil der zweiten Computervorrichtung (3, 1 3) oder als Teil des Computersystems (1 , 1 2) vorgesehen wird, oder bei dem das Computersystem (1 , 1 2) die Ressourceninformationen in einem externen Speichermittel (4, 14) zum Abruf durch den ersten Container (1 6) speichert, oder bei dem die Ressourceninformationen nach Anfrage durch den ersten Container (1 6) erzeugt werden.
14. Verfahren nach einem der Ansprüche 1 0 bis 1 3, bei dem nach Implementieren des zweiten Containers (1 0) der erste Container (8, 1 6) gelöscht wird.
1 5. Verfahren nach einem der Ansprüche 1 0 bis 14, bei dem der zweite Container (1 0) als vollständige Kopie des ersten Containers (8, 1 6) erzeugt wird.
PCT/DE2017/100199 2016-03-16 2017-03-14 Computersystem und verfahren zum betreiben eines computersystems WO2017157386A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016104930.1 2016-03-16
DE102016104930.1A DE102016104930A1 (de) 2016-03-16 2016-03-16 Computersystem und Verfahren zum Betreiben eines Computersystems

Publications (1)

Publication Number Publication Date
WO2017157386A1 true WO2017157386A1 (de) 2017-09-21

Family

ID=58547296

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2017/100199 WO2017157386A1 (de) 2016-03-16 2017-03-14 Computersystem und verfahren zum betreiben eines computersystems

Country Status (2)

Country Link
DE (1) DE102016104930A1 (de)
WO (1) WO2017157386A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195715A1 (en) * 2005-02-28 2006-08-31 Herington Daniel E System and method for migrating virtual machines on cluster systems
US20130145006A1 (en) 2011-12-06 2013-06-06 Sap Portals Israel Ltd Multi-tenant infrastructure
US20150128105A1 (en) 2013-11-07 2015-05-07 Sap Ag Dynamic containerization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195715A1 (en) * 2005-02-28 2006-08-31 Herington Daniel E System and method for migrating virtual machines on cluster systems
US20130145006A1 (en) 2011-12-06 2013-06-06 Sap Portals Israel Ltd Multi-tenant infrastructure
US20150128105A1 (en) 2013-11-07 2015-05-07 Sap Ag Dynamic containerization

Also Published As

Publication number Publication date
DE102016104930A1 (de) 2017-09-21

Similar Documents

Publication Publication Date Title
DE112004001775T5 (de) Verfahren und Vorrichtung zur Bereitstellung von automatischen Software-Updates
DE102006023974B4 (de) System und Verfahren für maßgeschneiderte Anwendungsbestellung und Installation für Informationsverarbeitungssysteme
EP2506098B1 (de) Anordnung und Verfahren für den Betrieb einer industriellen Automatisierungsanordnung mit einer Mehrzahl programmierbarer Automatisierungskomponenten und einer Mehrzahl Automatisierungsprogramme
DE102004010180A1 (de) Verfahren und Vorrichtungen zum Zugriff auf verteilte Daten für Prozesssteuersysteme
DE112015006375T5 (de) Systemdesign-Unterstützungsvorrichtung, Systemdesign-Unterstützungsverfahren und Systemdesign-Unterstützungsprogramm
WO2011098231A2 (de) Verfahren, computerprogram-produkt sowie computerlesbares speichermedium zur generischen erstellung eines strukturbaums zur beschreibung eines it-verfahrens
WO2005033934A2 (de) Flexibler softwareupdate für automatisierungssysteme über internet
EP2902857B1 (de) Verfahren zur Bereitstellung von Funktionen innerhalb eines industriellen Automatisierungssystems und industrielles Automatisierungsystem
DE102012223167A1 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE102006035889A1 (de) System und Verfahren zur automatischen Installation und Wartung von Hard- und Software in einem verteilten Computersystem
EP1653308B1 (de) System und Verfahren zur Speicherung und Bereitstellung von Informationen
EP4002098A1 (de) Verfahren zur bereitstellung der funktionalität von mehreren mikrodiensten und/oder der funktionalität von mehreren software-containern mittels einer cloud-infrastruktur, system, verwendungssystem, computerprogramm und computerlesbares medium
DE112011105475B4 (de) Programmierbare Logiksteuerung
WO2017157386A1 (de) Computersystem und verfahren zum betreiben eines computersystems
EP3705993B1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk
DE102017214655A1 (de) Zuweisung von digitalen Resourcen innerhalb eines lokalen, modularen Rechnernetzwerkes (Edge Cloud)
EP3850443B1 (de) Verfahren zur integration von daten von assets einer technischen anlage in eine plattform, digitale plattform und computerprogrammprodukt
DE102016123599A1 (de) Robotersteuerung mit Funktion zur Kommunikation mit einer speicherprogrammierbaren Steuerung und Kommunikationssystem
WO2021037378A1 (de) Verfahren zum automatischen markieren, cluster-arbeitsknoten, cluster, netzwerk, computerprogramm und computerlesbares medium
EP3204831A1 (de) Verfahren zur nachverfolgbaren programmierung und konfigurierung eines geräts
WO2021037379A1 (de) Verfahren zum betreiben eines clusters, cluster-arbeitsknoten, cluster, netzwerk, computerprogramm und computerlesbares medium
WO2018006908A1 (de) Steckverbinderbauteil, steckverbinder, steckverbindersystem und verfahren zum zusammensetzen und betreiben eines steckverbinders
DE102012218665B4 (de) Applikationssystem für Steuergeräte
LU101163B1 (de) Verfahren und Vorrichtungen für eine Lastzuweisung und Überwachung für eine zuzuweisende versorgungssicherheitskritische Ressource in einem Netzwerk
EP4343545A1 (de) Automatische zuweisung geänderter berechtigungen zu diagnosezwecken für bereits gestartete arbeits-containerinstanzen

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17717319

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17717319

Country of ref document: EP

Kind code of ref document: A1