DE112012000693T5 - Execute a variety of instances of an application - Google Patents
Execute a variety of instances of an application Download PDFInfo
- Publication number
- DE112012000693T5 DE112012000693T5 DE112012000693T DE112012000693T DE112012000693T5 DE 112012000693 T5 DE112012000693 T5 DE 112012000693T5 DE 112012000693 T DE112012000693 T DE 112012000693T DE 112012000693 T DE112012000693 T DE 112012000693T DE 112012000693 T5 DE112012000693 T5 DE 112012000693T5
- Authority
- DE
- Germany
- Prior art keywords
- instance
- write operation
- instance object
- root
- data storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 92
- 238000013500 data storage Methods 0.000 claims abstract description 82
- 230000004044 response Effects 0.000 claims abstract description 60
- 230000003362 replicative effect Effects 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008014 freezing Effects 0.000 claims description 7
- 238000007710 freezing Methods 0.000 claims description 7
- 239000003607 modifier Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 description 43
- 230000015654 memory Effects 0.000 description 31
- 230000026676 system process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010367 cloning Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000009477 glass transition Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- 238000010257 thawing Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
- G06F9/4868—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
Abstract
Die vorliegende Erfindung offenbart ein Verfahren und ein System zum Ausführen einer Vielzahl von Instanzen einer Anwendung, wobei das Verfahren aufweist: Starten eines Ausführens einer Stamminstanz der Anwendung, wobei die Stamminstanz mindestens einen Thread beinhaltet; als Reaktion darauf, dass ein Thread der Stamminstanz beim Ausführen zu einem zuvor festgelegten Einfrierpunkt in der Anwendung gelangt, Anhalten des Ausführens aller Threads der Stamminstanz; als Reaktion auf ein Starten eines Ausführens einer Instanz der Anwendung, Replizieren des Ausführungszustandes aller Threads der Stamminstanz als den Ausführungszustand aller Threads der Instanz; und Fortfahren, alle Threads der Instanz der Anwendung auszuführen. Durch das Verfahren und das System können Programmausführungs-Datenspeicherplatz und Datenspeicherplatz in einer mandantenfähigen Cloud-Computing-Umgebung eingespart werden.The present invention discloses a method and system for executing a plurality of instances of an application, the method comprising: starting execution of a root instance of the application, the root instance including at least one thread; in response to a thread of the root instance, when executed, arriving at a predetermined freeze point in the application, stopping execution of all threads of the root instance; in response to starting execution of an instance of the application, replicating the execution state of all threads of the root instance as the execution state of all threads of the instance; and continue to run all the threads of the instance of the application. The method and system can save program execution data storage space and data storage space in a multi-tenant cloud computing environment.
Description
GEBIET DER ERFINDUNGFIELD OF THE INVENTION
Die vorliegende Erfindung betrifft allgemein ein Ausführen von Computeranwendungen und genauer ein Verfahren und ein System zum Ausführen einer Vielzahl von Instanzen einer Anwendung.The present invention relates generally to computer application execution, and more particularly to a method and system for executing a plurality of instances of an application.
BESCHREIBUNG DES STANDES DER TECHNIKDESCRIPTION OF THE PRIOR ART
Bei Cloud-Computing handelt es sich um einen aufkommenden Netzwerkdienstmodus. Ein Analysebericht von IDS hebt hervor, dass im Jahr 2009 unter den weltweiten IT-Ausgaben von 359 Milliarden $ eine Summe von 17 Milliarden $ aus Investitionen in Cloud-Computing stammt. Andere Studien weisen zudem darauf hin, dass zwei Drittel der Unternehmen vorhaben, die Nutzung öffentlicher Clouds zu erweitern.Cloud computing is an emerging network service mode. An IDS analysis report notes that in 2009, $ 359 billion of global IT spend came to $ 17 billion from investments in cloud computing. Other studies also indicate that two-thirds of companies plan to expand their use of public clouds.
Eine „mandantenfähige” (multi-tenancy) Architektur ist die verbreitetste Architektur beim Cloud-Computing, und „Mandantenfähigkeit” entlehnt und entwickelt viele Konzepte aus dem Host-Computing und führt die Konzepte in das System von x86-Servern ein und erweitert die ursprünglichen Konzepte enorm, so dass Tausende von „Mandanten” innerhalb und außerhalb von Unternehmen unterstützt werden. Bei solchen „Mandanten” kann es sich um jede beliebige Anwendung (entweder innerhalb von Unternehmen oder außerhalb von Unternehmen) in jedem beliebigen Unternehmen handeln, das seine eigenen Sicherheitsanforderungen und eine dedizierte virtuelle Datenverarbeitungsumgebung besitzt, und die Umgebung kann mehrere oder alle Ebenen der IT-Architektur des Unternehmens vom Datenspeicher bis hin zur Benutzerschnittstelle beinhalten. Tatsächlich sind alle interaktiven Anwendungen naturgemäß auf mehrere Benutzer oder „Mandantenfähigkeit” ausgerichtet.A multi-tenancy architecture is the most common architecture in cloud computing, and multi-tenancy borrowed and developed many concepts from host computing, introducing the concepts into the system of x86 servers and extending the original concepts Enormous, supporting thousands of "clients" inside and outside companies. Such "tenants" can be any application (either within or outside of companies) in any company that has its own security requirements and a dedicated virtual computing environment, and the environment can handle multiple or all levels of IT. Include enterprise architecture from data storage to the user interface. In fact, all interactive applications are naturally targeted to multiple users or "multi-tenancy".
„Mandantenfähigkeit” bedeutet kurz ausgedrückt, dass eine einzige Software-Instanz eine Vielzahl von Organisationen (oder Benutzern) bedienen kann. Eine Software, die Mandantenfähigkeit unterstützt, muss es durch ihre Gestaltung jeder die Software verwendenden Organisation ermöglichen, eine separate virtuelle Instanz zu verwenden und in der Lage zu sein, die virtuelle Instanz anzupassen. Der Vorteil von Mandantenfähigkeit liegt im Verringern der Gesamt-Inanspruchnahme von Ressourcen sowie der Kosten des Ausführens einer Anwendung durch gemeinsames Nutzen einer Software-Instanz durch eine Vielzahl von Organisationen; da zudem alle Organisationen denselben Satz von Kerncode gemeinsam nutzen, sind das Aktualisieren und die Entwicklung der Software einfacher; des Weiteren können durch Verwenden der mandantenfähigen Architektur physische Ressourcen und Softwareressourcen verringert, die Verwaltung vereinfacht und die Effizienz verbessert werden.Multi-client capability means, in short, that a single software instance can serve a variety of organizations (or users). Software that supports multi-tenant capability must, through its design, allow each organization using the software to use a separate virtual instance and be able to customize the virtual instance. The advantage of multi-tenancy is the reduction in overall resource utilization and the cost of running an application by sharing a software instance with a variety of organizations; Moreover, because all organizations share the same set of core code, updating and developing the software is easier; Furthermore, by using the multi-tenant architecture, physical resources and software resources can be reduced, management simplified, and efficiency improved.
Um den Sicherheits- und Isolationsanforderungen mehrerer Mandanten (Benutzer) zu genügen, muss der Administrator des Cloud-Computing in manchen Cloud-Computing-Umgebungen für jeden Benutzer eine separate Instanz der Anwendung erzeugen. Obwohl eine Vielzahl von Instanzen der Anwendung auf demselben grundlegenden Code ausgeführt werden, ist es derzeit schwierig, denselben grundlegenden Code zu verwenden, wodurch unnötige Inanspruchnahmen von Ressourcen verursacht werden, z. B. der aufgrund mehrmaligen Ladens desselben Codes belegte Arbeitsspeicherplatz; darüber hinaus wird bei unterschiedlichen Instanzen der Anwendung dieselbe globale Datenstruktur verwendet, wodurch wiederholte Belegung des Datenspeicherplatzes verursacht wird usw.To meet the security and isolation needs of multiple tenants (users), in some cloud computing environments, the cloud computing administrator must create a separate instance of the application for each user. Although a plurality of instances of the application execute on the same basic code, it is currently difficult to use the same basic code, causing unnecessary resource consumption, e.g. B. the memory space occupied due to multiple loading of the same code; moreover, the same global data structure is used in different instances of the application, causing repeated data space usage, and so on.
Bei der derzeitigen „mandantenfähigen” Architektur, z. B. für eine JavaTM-Anwendung, wird dieses Problem durch Replizieren der JVM gelöst. Bei diesem Verfahren wird die vorhandene JVM repliziert, um eine neue replizierte JVM erneut zu starten und die Arbeitsspeicherseiten gemeinsam zu nutzen, und eine weitere gleiche Java-Anwendung auf der replizierten JVM auszuführen. Bei diesem Verfahren erfolgt jedoch eine gemeinsame Nutzung auf Prozessebene mit einer groben Granularität der gemeinsamen Nutzung und einer begrenzten Speicherplatzeinsparung. (Java und alle auf Java gestützten Marken und Logos sind Marken oder eingetragen Marken von Oracle und/oder seinen verbundenen Unternehmen).In the current "multi-tenant" architecture, e.g. For example, for a Java ™ application, this problem is solved by replicating the JVM. This procedure replicates the existing JVM to reboot a new replicated JVM and share the memory pages and execute another identical Java application on the replicated JVM. In this method, however, process-level sharing occurs with coarse granularity of sharing and limited memory space savings. (Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and / or its affiliates).
In
In
In
In
In
In
In
In
KURZDARSTELLUNG DER ERFINDUNGBRIEF SUMMARY OF THE INVENTION
Daher werden ein neues Verfahren, ein System und ein Computerprogramm zum Ausführen einer Vielzahl von Instanzen einer Anwendung gemäß einer Ausführungsform der vorliegenden Erfindung bereitgestellt, um den durch die Anwendung belegten Datenspeicherplatz einzusparen.Therefore, a new method, system, and computer program are provided for executing a plurality of instances of an application according to an embodiment of the present invention to save the data storage space occupied by the application.
Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Ausführen einer Vielzahl von Instanzen einer Anwendung bereitgestellt, wobei das Verfahren aufweist:
Starten eines Ausführens einer Stamminstanz der Anwendung, wobei die Stamminstanz mindestens einen Thread beinhaltet; als Reaktion darauf, dass ein Thread der Stamminstanz beim Ausführen zu einem zuvor festgelegten Einfrierpunkt in der Anwendung gelangt, Anhalten des Ausführens aller Threads der Stamminstanz; als Reaktion auf ein Starten eines Ausführens einer Instanz der Anwendung, Replizieren des Ausführungszustandes aller Threads der Stamminstanz als den Ausführungszustand aller Threads der Instanz; und Fortfahren, alle Threads der Instanz der Anwendung auszuführen.According to one aspect of the present invention, there is provided a method of executing a plurality of instances of an application, the method comprising:
Starting execution of a root instance of the application, wherein the root instance includes at least one thread; in response to a thread of the root instance, when executed, arriving at a predetermined freeze point in the application, stopping execution of all threads of the root instance; in response to starting execution of an instance of the application, replicating the execution state of all threads of the root instance as the execution state of all threads of the instance; and continue to run all the threads of the instance of the application.
In einer Ausführungsform beinhaltet der Ausführungszustand mindestens: den aktuellen Stapel, die Werte von Registern und die aktuelle Anweisung eines Thread.In one embodiment, the execution state includes at least: the current stack, the values of registers, and the current instruction of a thread.
In einer Ausführungsform enthält der aktuelle Stapel des Ausführungszustands eine Referenz zu einem Instanzobjekt in der Instanz, wobei die Referenz zum Instanzobjekt so initialisiert ist, dass sie auf das Stamminstanzobjekt verweist.In one embodiment, the current execution state stack contains a reference to an instance object in the instance, the reference to the instance object being initialized to point to the root instance object.
In einer Ausführungsform weist das Fortfahren mit dem Ausführen aller Threads der Instanz der Anwendung auf: Empfangen einer Schreiboperation auf ein Feld eines Instanzobjekts; als Reaktion darauf, dass eine Referenz zum Instanzobjekt auf ein Stamminstanzobjekt verweist: Zuordnen eines Datenspeicherbereichs für das Instanzobjekt; Verweisen der Referenz zum Instanzobjekt auf den Datenspeicherbereich; Ausführen der Schreiboperation in dem Datenspeicherbereich.In one embodiment, continuing to execute all threads of the instance of the application comprises: receiving a write to a field of an instance object; in response to a reference to the instance object referring to a root instance object: associating a data storage area with the instance object; Pointing the reference to the instance object to the data storage area; Perform the write operation in the data storage area.
In einer Ausführungsform weist das Verfahren weiterhin auf: als Reaktion darauf, dass die Referenz zu einem Instanzobjekt nicht auf ein Stamminstanzobjekt verweist, Ausführen der Schreiboperation im Datenspeicherbereich, auf den die Referenz zum Instanzobjekt verweist.In one embodiment, the method further comprises: in response to the reference to an instance object not referencing a root instance object, performing the write operation in the data storage area referenced by the reference to the instance object.
In einer Ausführungsform weist das Fortfahren mit dem Ausführen aller Threads der Instanz der Anwendung auf: Empfangen einer Schreiboperation auf ein Feld eines Instanzobjektes; als Reaktion darauf, dass ein entsprechendes Feld eines Stamminstanzobjektes, auf das die Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es noch keine Schreiboperation ausgeführt hat: Zuordnen eines Datenspeicherbereichs für das Feld des Instanzobjektes; Kennzeichnen des entsprechenden Feldes des Stamminstanzobjektes so, dass es eine Schreiboperation ausgeführt hat; Ausführen der Schreiboperation in dem Datenspeicherbereich.In one embodiment, continuing to execute all threads of the instance of the application comprises: receiving a write to a field of an instance object; in response to a corresponding field of a root instance object referenced by the reference to the instance object being flagged as not yet performing a write operation: allocating a data storage area for the field of the instance object; Flag the corresponding field of the root instance object so that it has performed a write operation; Perform the write operation in the data storage area.
In einer Ausführungsform weist das Verfahren weiterhin auf: als Reaktion darauf, dass ein entsprechendes Feld eines Stamminstanzobjektes, auf das die Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es eine Schreiboperation ausgeführt hat, Ausführen der Schreiboperation in dem Datenspeicherbereich, der für das Feld des Instanzobjektes zugeordnet ist, das dieser Schreiboperation zugehörig ist.In one embodiment, the method further comprises: in response to a corresponding field of a root instance object referenced by the reference to the instance object being characterized as having performed a write operation, performing the write operation in the data storage area corresponding to the field associated with the instance object associated with this write operation.
In einer Ausführungsform weist das Verfahren weiterhin auf: als Reaktion darauf, dass ein Thread der Stamminstanz beim Ausführen zu einem zuvor festgelegten Einfrierpunkt in der Anwendung gelangt, Kennzeichnen eines Attributs eines Stamminstanzobjektes als „nur lesen”.In one embodiment, the method further comprises: flagging an attribute of a root instance object as "read only" in response to a thread of the root instance executing at a predetermined freeze point in the application upon execution.
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein System zum Ausführen einer Vielzahl von Instanzen einer Anwendung bereitgestellt, wobei das System aufweist: ein Stamminstanz-Startmittel, das zum Starten eines Ausführens einer Stamminstanz der Anwendung eingerichtet ist, wobei die Stamminstanz mindestens einen Thread beinhaltet; ein Stamminstanz-Anhaltemittel, das eingerichtet ist, als Reaktion darauf, dass ein Thread der Stamminstanz beim Ausführen zu einem zuvor festgelegten Einfrierpunkt in der Anwendung gelangt, das Ausführen aller Threads der Stamminstanz anzuhalten; ein Repliziermittel, das eingerichtet ist, als Reaktion auf ein Starten eines Ausführens einer Instanz der Anwendung den Ausführungszustand aller Threads der Stamminstanz als den Ausführungszustand aller Threads der Instanz zu replizieren; und ein Ausführungsfortfahrmittel, das zum Fortfahren mit dem Ausführen aller Threads der Instanz der Anwendung eingerichtet ist.According to another aspect of the present invention, there is provided a system for executing a plurality of instances of an application, the system comprising: root instance launching means arranged to start executing a root instance of the application, the root instance including at least one thread; a root instance suspending means, arranged in response to a thread of the root instance, when executed, arriving at a predetermined freezing point in the application to halt the execution of all threads of the root instance; a replicating means arranged to execute state of all the threads of the root instance as the execution state of all in response to starting execution of an instance of the application To replicate threads of the instance; and execution execution means arranged to continue to execute all the threads of the instance of the application.
In einer Ausführungsform beinhaltet der Ausführungszustand mindestens: den aktuellen Stapel, die Werte von Registern und die aktuelle Anweisung eines Thread.In one embodiment, the execution state includes at least: the current stack, the values of registers, and the current instruction of a thread.
In einer Ausführungsform enthält der aktuelle Stapel des Ausführungszustands eine Referenz zu einem Instanzobjekt in der Instanz, wobei die Referenz zum Instanzobjekt so initialisiert ist, dass sie auf ein Stamminstanzobjekt verweist.In one embodiment, the current execution state stack contains a reference to an instance object in the instance, the reference to the instance object being initialized to refer to a root instance object.
In einer Ausführungsform weist das Ausführungsfortfahrmittel auf: ein Schreiboperations-Empfangsmittel, das zum Empfangen einer Schreiboperation auf ein Feld des Instanzobjektes eingerichtet ist; ein Datenspeicher-Zuordnungsmittel, das eingerichtet ist, als Reaktion darauf, dass eine Referenz zum Instanzobjekt auf das Stamminstanzobjekt verweist, einen Datenspeicherbereich für das Instanzobjekt zuzuordnen; ein Referenzmodifizierungsmittel, das eingerichtet ist, als Reaktion darauf, dass eine durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt auf das Stamminstanzobjekt verweist, die Referenz zum Instanzobjekt auf den durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich verweisen zu lassen; ein Schreiboperations-Ausführungsmittel, das eingerichtet ist, als Reaktion darauf, dass die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt auf das Stamminstanzobjekt verweist, die Schreiboperation im durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich auszuführen.In one embodiment, the execution continuation means comprises: a write operation receiving means arranged to receive a write operation to a field of the instance object; data storage allocation means arranged to, in response to a reference to the instance object referencing the root instance object, allocate a data storage area for the instance object; a reference modifier configured to, in response to a reference to the instance object received by the write operation receiving means refering to the root instance object, refer the reference to the instance object to the data storage area associated with the data storage area allocation means; write operation executing means arranged in response to the reference to the instance object received by the write operation receiving means referring to the root instance object to execute the write operation in the data storage area allocated by the data storage area allocation means.
In einer Ausführungsform ist das Schreiboperations-Ausführungsmittel weiterhin eingerichtet, als Reaktion darauf, dass die durch die Schreiboperations-Empfangseinheit empfangene Referenz zum Instanzobjekt nicht auf das Stamminstanzobjekt verweist, die Schreiboperation im durch das Datenspeicherbereichs-Zuordnungsweisungsmittel zugeordneten Datenspeicherbereich auszuführen.In one embodiment, the write operation executing means is further arranged to execute the write operation in the data storage area allocated by the data storage area allocation means in response to the reference to the instance object received by the write operation receiving unit not pointing to the root instance object.
In einer Ausführungsform weist das Ausführungsfortfahrmittel auf: ein Schreiboperations-Empfangsmittel, das zum Empfangen einer Schreiboperation auf ein Feld des Instanzobjektes eingerichtet ist; ein Kennzeichnungsmittel, das eingerichtet ist, als Reaktion darauf, dass ein entsprechendes Feld eines Stamminstanzobjektes, auf das die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es noch keine Schreiboperation ausgeführt hat das entsprechende Feld des Stamminstanzobjektes so zu kennzeichnen, dass es eine Schreiboperation ausgeführt hat; ein Datenspeicherbereichs-Zuordnungsmittel, das eingerichtet ist, als Reaktion darauf, dass ein entsprechendes Feld eines Stamminstanzobjektes, auf das die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es noch keine Schreiboperation ausgeführt hat, einen Datenspeicherbereich für das Feld des Instanzobjektes zuzuordnen; ein Schreiboperations-Ausführungsmittel, das eingerichtet ist, als Reaktion darauf, dass ein entsprechendes Feld eines Stamminstanzobjektes, auf das die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es noch keine Schreiboperation ausgeführt hat, die Schreiboperation in dem durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich auszuführen.In one embodiment, the execution continuation means comprises: a write operation receiving means arranged to receive a write operation to a field of the instance object; a flag set up in response to a corresponding field of a root instance object to which the reference received by the write operation receiving means refers to the instance object being characterized as not yet executing a write operation, the corresponding field of the root instance object so flag that it has performed a write operation; a data storage area allocation means arranged to designate, in response to a corresponding field of a root instance object to which the reference received by the write operation receiving means refers to the instance object, that it has not yet performed a write operation, a data storage area for Assign the field of the instance object; a write operation executing means arranged in response to a corresponding field of a root instance object to which the reference received by the write operation receiving means refers to the instance object being characterized as not yet executing a write operation, the write operation in the execute data storage area associated with the data storage area allocation means.
In einer Ausführungsform ist das Schreiboperations-Ausführungsmittel weiterhin eingerichtet, als Reaktion darauf, dass ein entsprechendes Feld eines Stamminstanzobjektes, auf das die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es eine Schreiboperation ausgeführt hat, die Schreiboperation in dem durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich auszuführen.In one embodiment, the write operation executing means is further arranged in response to a corresponding field of a root instance object to which the reference received by the write operation receiving means refers to the instance object being executed to perform a write operation, the write operation in execute the data storage area allocated by the data storage area allocation means.
In einer Ausführungsform weist das System weiterhin auf: ein Stamminstanzobjekt-Kennzeichnungsmittel, das eingerichtet ist, als Reaktion darauf, dass ein Thread der Stamminstanz beim Ausführen zu einem zuvor festgelegten Einfrierpunkt in der Anwendung gelangt, ein Attribut des Stamminstanzobjektes in der Stamminstanz als „nur lesen” zu kennzeichnen.In one embodiment, the system further comprises: a root instance object identifier configured to read an attribute of the root instance object in the root instance as "read only" in response to a thread of the root instance executing at a predetermined freeze point in the application upon execution "To mark.
Die Erfindung kann auch in Computersoftware realisiert werden.The invention can also be implemented in computer software.
KURZE BESCHREIBUNGEN DER ZEICHNUNGENBRIEF DESCRIPTIONS OF THE DRAWINGS
Nun werden in lediglich beispielhafter Weise und unter Bezugnahme auf die folgenden Zeichnungen Ausführungsformen der vorliegenden Erfindung beschrieben:Embodiments of the present invention will now be described by way of example only and with reference to the following drawings:
(Es ist zu beachten, dass dieselben Bezugszeichen üblicherweise dieselben Komponenten in den beispielhaften Ausführungsformen der vorliegenden Erfindung bezeichnen.)(It should be noted that the same reference numerals usually denote the same components in the exemplary embodiments of the present invention.)
DETAILLIERTE BESCHREIBUNG BEISPIELHAFTER AUSFÜHRUNGSFORMENDETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
Bevorzugte Realisierungen der vorliegenden Erfindung werden detaillierter unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen die bevorzugten Ausführungsformen gezeigt sind. Die vorliegende Erfindung kann jedoch in vielfältigen Formen realisiert werden und sollte nicht als auf die hierin dargelegten Ausführungsformen beschränkt angesehen werden. Diese Ausführungsformen werden im Gegenteil bereitgestellt, um der vorliegenden Erfindung mehr Genauigkeit und Vollständigkeit zu verleihen und dem Fachmann den Umfang der vorliegenden Erfindung vollständig zu vermitteln.Preferred implementations of the present invention will be described in more detail with reference to the accompanying drawings, in which the preferred embodiments are shown. However, the present invention can be embodied in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to give greater accuracy and completeness to the present invention and to fully convey the scope of the present invention to those skilled in the art.
Programmierer rufen üblicherweise Programme auf, die in den Computerprozessen ausgeführt werden, und jeder Prozess verfügt über seinen eigenen Arbeitsspeicherplatz. Zum Beispiel wird für ein IE-Browser-Programm jedes Mal ein IE-Browser-Fenster geöffnet, wenn ein IE-Browser-Prozess gestartet wird. Und ein Thread bezieht sich auf einen Ausführungsfluss in einem Prozess und wird manchmal auch ein Ausführungskontext genannt. Ein einzelner Prozess kann sich aus einer Vielzahl von Threads zusammensetzen, d. h., eine Vielzahl unterschiedlicher Threads können gleichzeitig in einem einzigen Prozess ausgeführt werden, und sie führen jeweils unterschiedliche Tasks aus. Wird eine Vielzahl von Threads in einem Prozess gleichzeitig ausgeführt, wird ein solcher Ausführungsmodus „paralleles Ausführen” genannt. Der Hauptunterschied zwischen einem Thread und einem Prozess liegt darin, dass jeder Prozess das Betriebssystem benötigt, um einen separaten Arbeitsspeicheradressraum dafür anzulegen, wohingegen alle Threads in einem einzelnen Prozess in demselben einen Adressraum arbeiten, und diese Threads können denselben einen Speicher und Systemressourcen gemeinsam nutzen, z. B. ein Objekt oder eine geöffnete Datei gemeinsam nutzen. Vorhandene Betriebssysteme wie beispielsweise Mac, Windows® verwenden üblicherweise das Konzept mehrfacher Threads und sehen einen Thread als grundlegende Ausführungseinheit an. (Windows ist eine Marke der Microsoft Corporation in den USA, anderen Ländern oder beidem.)Programmers typically invoke programs that run in the computer processes, and each process has its own memory space. For example, for an IE browser program, an IE browser window is opened each time an IE browser process is started. And a thread refers to an execution flow in a process and is sometimes called an execution context. A single process may be composed of a plurality of threads, that is, a plurality of different threads may be executed concurrently in a single process and each perform different tasks. When a plurality of threads are simultaneously executed in a process, such an execution mode is called "parallel execution". The main difference between a thread and a process is that each process needs the operating system to create a separate memory address space for it, whereas all the threads in a single process work in the same one address space, and these threads can share the same memory and system resources, z. For example, share an object or an open file. Existing operating systems, such as Mac, Windows® , typically use the concept of multiple threads and consider a thread as a basic execution unit. (Windows is a trademark of Microsoft Corporation in the United States, other countries, or both.)
Um für eine Anwendung wie die Sprache Java in der vorhandenen Cloud-Computing-Umgebung die mandantenfähige Architektur umzusetzen, wird eine virtuelle Maschine repliziert, und eine weitere gleiche Anwendung wird auf der virtuellen Maschine ausgeführt. Bei der virtuellen Maschine handelt es sich um einen Prozess, und der replizierte Prozess der virtuellen Maschine kann Arbeitsspeicherseiten gemeinsam mit dem ursprünglichen Prozess der virtuellen Maschine nutzen; bei Arbeitsspeicherseiten handelt es sich jedoch um große Datenspeichereinheiten im Arbeitsspeicher, so dass die Granularität einer solchen gemeinsamen Nutzung grob und der eingesparte Datenspeicherplatz begrenzt ist.To translate multi-tenant architecture to an application such as the Java language in the existing cloud computing environment, one virtual machine replicates and another similar application runs on the virtual machine. The virtual machine is a process, and the replicated virtual machine process can share memory pages with the original virtual machine process; however, memory pages are large data storage devices in memory, so the granularity of such sharing is limited and the data storage space saved is limited.
Darüber hinaus ist es in vielen Szenarien oft erforderlich, eine Vielzahl von Instanzen einer Anwendung auszuführen. Eine Instanz bezeichnet ein einziges Mal eines Ausführens einer Anwendung, z. B. bezieht sich ein Ausführen einer Vielzahl von Eclipse-Instanzen auf das mehrmalige Ausführen der Anwendung „Eclipse”; oder ein Ausführen einer Vielzahl von Instanzen einer Java-Anwendung bezieht sich auf das mehrmalige Ausführen der Anwendung „Java” im virtuellen Java-Maschinenprozess. Bei einer Instanz handelt es sich ursprünglich um ein virtuelles Konzept, und sie besitzt keine ihr entsprechende Programmentität; eine einzelne Instanz kann eine Vielzahl von Threads beinhalten; und wenn eine Vielzahl von Instanzen im selben Prozess ausgeführt werden, können die Instanzen den Arbeitsspeicherplatz gemeinsam nutzen. Jede Instanz kann eine Vielzahl von Threads beinhalten, und die derzeitigen mandantenfähigen Lösungen verfügen nur über Replizierung auf der Ebene des virtuellen Maschinenprozesses, d. h., Prozesse nutzen Arbeitsspeicherseiten gemeinsam. Eine Vielzahl von in einer Vielzahl von Instanzen enthaltenen Threads weist jedoch keine gemeinsame Nutzung zwischen ihnen auf, wohingegen die Vielzahl von Threads innerhalb der Instanzen viele Ähnlichkeiten aufweisen. Da die Datenspeicherplätze von Instanzenprozessen unabhängig sind und gemeinsame Prozessnutzung verwenden, können Arbeitsspeicherseiten üblicherweise aufgrund kleinerer Unterschiede nicht gemeinsam genutzt werden, und durch die grobe Granularität des gemeinsamen Nutzens wird viel Anwendungsausführungs-Speicherplatz verschwendet.In addition, in many scenarios, it is often necessary to run a variety of instances of an application. An instance once signifies execution of an application, e.g. For example, executing a plurality of Eclipse instances refers to running the Eclipse application multiple times; or executing a plurality of instances of a Java application refers to running the Java application multiple times in the Java virtual machine process. An instance is originally a virtual concept and does not have its own programmentality; a single instance may contain a plurality of threads; and when a plurality of instances are running in the same process, the instances can share the memory space. Each instance can contain a multitude of threads, and the current multi-tenant solutions only have replication at the virtual machine process level; h., processes share memory pages together. However, a plurality of threads included in a plurality of instances have no sharing between them, whereas the plurality of threads within the instances have many similarities. Because the datastores are independent of instance processes and share process usage, memory pages usually can not be shared because of smaller differences, and the coarse granularity of the shared benefit wastes a lot of application execution space.
Daher berücksichtigt eine Ausführungsform der vorliegenden Erfindung, dass in einer Cloud-Computing-Umgebung das Ausführen einer Vielzahl von Anwendungsinstanzen verwenden kann, um die mandantenfähige Architektur zu verwirklichen, und führt wiederholt eine gemeinsame Datennutzung für die Vielzahl von Instanzen in der Anwendung durch, um den Speicherplatz des Ausführens der Anwendung zu sparen.Therefore, an embodiment of the present invention contemplates that in a cloud Computing environment can use the execution of a variety of application instances to realize the multi-tenant architecture, and repeatedly performs a data sharing for the plurality of instances in the application to save the memory of running the application.
Die vorliegende Erfindung stellt gemäß einer Ausführungsform ein Verfahren zum Ausführen einer Vielzahl von Instanzen einer Anwendung bereit. Anhand der Beschreibung der Verfahrensprozesse erkennt der Fachmann, dass das Verfahren für alle Anwendungen anwendbar ist, die objektorientierte Sprachen verwenden und auf virtuellen Maschinen ausgeführt werden, und es gibt viele solcher Anwendungen, z. B. Anwendungen der Sprache „Java”, die auf einer virtuellen Java-Maschine (Java virtual machine (JVM)) ausgeführt werden können, Anwendungen der Sprache „Ruby”, die auf einer virtuellen Ruby-Maschine ausgeführt werden können, und Anwendungen der Sprache „C#”, die auf einer virtuellen C#-Maschine ausgeführt werden können, usw.The present invention, in one embodiment, provides a method for executing a plurality of instances of an application. From the description of the method processes, those skilled in the art will recognize that the method is applicable to all applications using object-oriented languages and executing on virtual machines, and there are many such applications, e.g. For example, Java language applications that can run on a Java virtual machine (JVM) machine, Ruby language applications that run on a Ruby virtual machine, and language applications "C #" that can be run on a C # virtual machine, etc.
Verglichen mit der Realisierung von Mandantenfähigkeit, bei welcher die JVM beim Stand der Technik repliziert wird, wird beim vorstehend beschriebenen Verfahren lediglich der Ausführungszustand aller Threads der Stamminstanz repliziert, und die Granularität der Replikation ist geringer, und die replizierten Inhalte sind weniger umfangreich, so dass mehr Programmausführungsspeicherplatz eingespart wird.Compared with the realization of multi-client capability in which the JVM is replicated in the prior art, in the method described above, only the execution state of all threads of the root instance is replicated, and the granularity of replication is lower, and the replicated contents are less extensive, so that more program execution memory space is saved.
Weiterhin veranschaulicht
Während des Ausführungsprozesses aller Threads einer Instanz kann eine Zugriffsoperation, wozu eine Leseoperation und eine Schreiboperation zählen, an einem Feld eines Objekts in einem Thread durchgeführt werden, und hier wird als Erstes eine Schreiboperation betrachtet.
Eine an einem Feld eines Objekts im Thread durchgeführte Leseoperation kann direkt auf den Bereich zugreifen, auf den die im aktuellen Stapel des Ausführungszustands aller Threads der Instanz enthaltene Referenz zum Instanzobjekt verweist; wenn keine Schreiboperation durchgeführt wurde, wird der Wert des Feldes des Stamminstanzobjektes gelesen; wenn eine Schreiboperation durchgeführt wurde, wird der Wert des Feldes des Objekts im für das Instanzobjekt zugeordneten Datenspeicherbereich gelesenen.A read performed on a field of an object in the thread can directly access the area to which the reference to the instance object contained in the current state of execution of all threads of the instance refers; if no write operation has been performed, the value of the field of the root instance object is read; when a write operation has been performed, the value of the field of the object is read in the data storage area associated with the instance object.
Wie anhand der vorstehenden Lösung ersichtlich ist, wird durch Verwenden der vorstehenden Zugriffsoperation der durch Attribute eines Instanzobjektes, d. h. Daten, belegte Datenspeicherplatz weiter verringert; wenn es keine Datenaktualisierung gibt, d. h. keine Schreiboperation auf ein Attribut eines Instanzobjektes geschieht, werden alle Leseoperationen auf Attribute eines Stamminstanzobjektes gerichtet, und es besteht keine Notwendigkeit, die Attribute von Instanzobjekten zu replizieren, und der Datenspeicherplatz kann zudem weiter verringert werden.As can be seen from the above solution, by using the above access operation, the data storage space occupied by attributes of an instance object, ie data, is further reduced; if there is no data update, ie no write to an attribute of an instance object happens, all will Read operations are directed to attributes of a root instance object, and there is no need to replicate the attributes of instance objects, and the data storage space can be further reduced.
Eine in einem Feld eines Objektes im Thread durchgeführte Leseoperation kann direkt auf den Bereich zugreifen, auf den die im aktuellen Stapel des Ausführungszustands des Thread der Instanz enthaltene Referenz zum Instanzobjekt verweist; wenn keine Schreiboperation durchgeführt wurde, wird der Wert des Feldes des Stamminstanzobjektes gelesen; wenn eine Schreiboperation durchgeführt wurde, wäre das Feld des Instanzobjektes gekennzeichnet worden, und eine solche in der virtuellen Maschine gespeicherte Information kann verwendet werden, den Wert des Feldes des Objekts im für das Feld des Instanzobjektes zugeordneten Datenspeicherbereich auszulesen.A read performed in a field of an object in the thread can directly access the area to which the reference to the instance object contained in the current state of execution of the thread of the instance refers; if no write operation has been performed, the value of the field of the root instance object is read; if a write operation has been performed, the field of the instance object would have been flagged, and such information stored in the virtual machine could be used to read out the value of the field of the object in the data storage area associated with the field of the instance object.
Offensichtlich wird bei dieser Realisierung nicht nur weiter der Datenspeicherplatz einer Instanz eingespart, sondern sie bringt auch alle Vorteile der Ausführungsform von
Wenn das Ausführen der Anwendung angehalten wird, wird nicht nur das Ausführen aller anderen Instanzen angehalten, um den Programmausführspeicherplatz und den durch alle Instanzen belegten Datenspeicherplatz freizumachen, sondern der durch die Stamminstanz belegte Programmausführspeicherplatz und der Datenspeicherplatz werden ebenso freigemacht.When execution of the application is halted, not only the execution of all other instances is halted to clear the program execution space and the data storage space occupied by all instances, but the executable space occupied by the root instance and the data storage space are also freed.
Unter demselben erfinderischen Konzept wird in einer Ausführungsform der vorliegenden Erfindung zudem ein System zum Ausführen einer Vielzahl von Instanzen einer Anwendung offenbart.
In einer Ausführungsform weist das Ausführungsfortfahrmittel weiterhin auf: ein Schreiboperations-Empfangsmittel, das zum Empfangen einer Schreiboperation auf ein Feld eines Instanzobjektes eingerichtet ist; ein Speicherzuordnungsmittel, das eingerichtet ist, als Reaktion darauf, dass die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt auf ein Stamminstanzobjekt verweist, einen Datenspeicherbereich für das Instanzobjekt zuzuordnen; ein Referenzmodifizierungsmittel, das eingerichtet ist, als Reaktion darauf, dass die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt auf ein Stamminstanzobjekt verweist, die Referenz zum Instanzobjekt auf den durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich verweisen zu lassen; ein Schreiboperations-Ausführungsmittel, das eingerichtet ist, als Reaktion darauf, dass die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt auf ein Stamminstanzobjekt verweist, die Schreiboperation im durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich auszuführen. Dabei ist das Schreiboperations-Ausführungsmittel weiterhin eingerichtet als Reaktion darauf, dass die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt nicht auf das Stamminstanzobjekt verweist, die Schreiboperation im durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich auszuführen.In one embodiment, the execution continuation means further comprises: a write operation receiving means arranged to receive a write operation on a field of an instance object; memory allocation means arranged in response to the reference to the instance object received by the write operation receiving means referring to a root instance object to allocate a data storage area for the instance object; a reference modifier configured, in response to the reference to the instance object received by the write operation receiving means referencing a root instance object, to refer the reference to the instance object to the data storage area associated with the data storage area allocation means; write operation executing means arranged in response to the reference to the instance object received by the write operation receiving means referring to a root instance object to execute the write operation in the data storage area allocated by the data storage area allocation means. Here, the write operation executing means is further arranged in response to the reference to the instance object received by the write operation receiving means not pointing to the root instance object to execute the write operation in the data storage area allocated by the data storage area allocation means.
In einer weiteren Ausführungsform weist das Ausführungsfortfahrmittel weiterhin auf: ein Schreiboperations-Empfangsmittel, das zum Empfangen einer Schreiboperation auf ein Feld eines Instanzobjektes eingerichtet ist; ein Kennzeichnungsmittel, das eingerichtet ist, als Reaktion darauf, dass das entsprechende Feld des Stamminstanzobjektes, auf das die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es noch keine Schreiboperation ausgeführt hat, das entsprechende Feld des Stamminstanzobjektes so zu kennzeichnen, dass es eine Schreiboperation ausgeführt hat; ein Datenspeicherbereichs-Zuordnungsmittel, das eingerichtet ist, als Reaktion darauf, dass das entsprechende Feld des Stamminstanzobjektes, auf das die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es noch keine Schreiboperation ausgeführt hat, einen Datenspeicherbereich für das Feld des Instanzobjektes zuzuordnen; ein Schreiboperations-Ausführungsmittel, das eingerichtet ist, als Reaktion darauf, dass das entsprechende Feld des Stamminstanzobjektes, auf das die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es noch keine Schreiboperation ausgeführt hat, die Schreiboperation in dem durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich auszuführen. Im System ist das Schreiboperations-Ausführungsmittel weiterhin eingerichtet, als Reaktion darauf, dass das entsprechende Feld des Stamminstanzobjektes, auf das die durch das Schreiboperations-Empfangsmittel empfangene Referenz zum Instanzobjekt verweist, so gekennzeichnet ist, dass es eine Schreiboperation ausgeführt hat, die Schreiboperation in dem durch das Datenspeicherbereichs-Zuordnungsmittel zugeordneten Datenspeicherbereich auszuführen.In another embodiment, the execution continuation means further comprises: a write operation receiving means arranged to receive a write operation to a field of an instance object; a flag set up, in response to the corresponding field of the root instance object to which the reference received by the write operation receiving means refers to the instance object being characterized as not yet executing a write operation, the corresponding field of the root instance object to flag that it has performed a write operation; a data storage area allocation means arranged in response to the corresponding field of the root instance object to which the reference received by the write operation receiving means refers to the instance object being characterized as having not yet performed a write operation, a data storage area for the Assign the field of the instance object; a write operation executing means arranged in response to the corresponding field of the root instance object to which the reference received by the write operation receiving means refers to the instance object being characterized as having not yet executed a write operation, the write operation in the execute data storage area associated with the data storage area allocation means. In the system, the write operation execution means is further arranged in response to the corresponding field of the root instance object to which the reference received by the write operation receiving means refers to the instance object being designated to have performed a write operation, the write operation in the execute data storage area associated with the data storage area allocation means.
Es sind hier zwar die beispielhaften Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, es sollte sich jedoch verstehen, dass die vorliegende Erfindung nicht auf diese genauen Ausführungsformen beschränkt ist und der Fachmann an den Ausführungsformen vielfältige Änderungen und Modifikationen vornehmen kann, ohne vom Umfang und den Zielsetzungen der vorliegenden Erfindung abzuweichen. All diese Änderungen und Modifikationen sollen im Umfang der in den angehängten Ansprüchen festgelegten vorliegenden Erfindung enthalten sein.While the exemplary embodiments of the present invention have been described herein with reference to the accompanying drawings, it should be understood that the present invention is not limited to these precise embodiments and that those skilled in the embodiments can make various changes and modifications without departing from the scope of the invention To depart from the scope and objectives of the present invention. All such changes and modifications are intended to be included within the scope of the present invention as defined in the appended claims.
Darüber hinaus weiß der Fachmann gemäß der vorstehenden Beschreibung, dass die vorliegende Erfindung als Vorrichtungen, Verfahren oder Computerprogrammprodukte ausgebildet werden kann. Daher kann die vorliegende Erfindung insbesondere in folgenden Formen vorliegen, d. h. vollständig Hardware, vollständig Software (darunter Firmware, residente Software, Mikrocode usw.) oder eine Kombination aus Softwareteil und Hardwareteil, was hierin allgemein „Schaltung”, „Modul” oder System genannt wird. Darüber hinaus kann die vorliegende Erfindung in Form eines in jedem beliebigen gegenständlichen Ausführungsmedium ausgebildeten Computerprogrammproduktes vorliegen, in dem von Computern verwendbarer Programmcode enthalten ist.Moreover, those skilled in the art will appreciate that the present invention may be embodied as devices, methods, or computer program products. Therefore, the present invention may be particularly in the following forms, i. H. completely hardware, completely software (including firmware, resident software, microcode, etc.) or a combination of software part and hardware part, which is generally referred to herein as "circuit," "module," or system. Moreover, the present invention may be in the form of a computer program product embodied in any of the subject execution media in which computer-usable program code is included.
Jede beliebige Kombination aus einem oder mehreren computerlesbaren oder von Computern verwendbaren Medien kann verwendet werden. Bei dem computerlesbarem oder von Computern verwendbaren Medium kann es sich, ohne darauf beschränkt zu sein, um ein System, eine Vorrichtung, eine Einheit oder ein Ausbreitungsmedium elektronischer, magnetischer, optischer, elektromagnetischer oder Infrarot oder Halbleiter verwendender Art handeln. Zu spezifischeren Beispielen (nicht abschließende Liste) für das computerlesbare Medium gehört Folgendes: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (random access memory (RAM)), ein Nur-Lese-Speicher (read-only memory (ROM)), ein elektrisch programmierbarer Nur-Lese-Speicher (electrically programmable read-only memory (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler Nur-Lese-Compact-Disk-Speicher (CD-ROM), eine optische Speichereinheit, ein Übertragungsmedium, welches das Internet oder ein Intranet unterstützt, oder eine magnetische Speichereinheit. Es ist zu beachten, dass es sich bei dem computerlesbaren oder durch Computer verwendbaren Medium auch um ein Papier mit darauf gedruckten Programmen oder andere geeignete Medien handeln kann, dies liegt daran, dass zum Beispiel das Programm auf eine elektrische Weise durch elektrisches Einscannen dieser Art von Papier oder anderer Medien erhalten und auf geeignete Weise kompiliert, interpretiert oder verarbeitet werden und erforderlichenfalls in einem Computerspeicher gespeichert werden kann. Im Kontext dieses Dokuments kann ein computerlesbares oder von Computern verwendbares Medium jedes Medium sein, welches Programme zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung beinhalten, speichern, liefern, senden oder übermitteln kann. Zu dem computerlesbaren Medium können Datensignale mit darin enthaltenem und in einem Basisband oder als Teil einer Trägerwelle verbreiteten computerlesbaren Programmcode zählen. Der computerlesbare Programmcode kann mittels jedweden geeigneten Mediums einschließlich, ohne darauf beschränkt zu sein, kabellose, kabelgebundene, optische Lichtwellenleiterkabel, HF etc. übertragen werden.Any combination of one or more computer-readable or computer-usable media may be used. The computer-readable or computer-usable medium may be, but is not limited to, a system, device, unit, or propagation medium of electronic, magnetic, optical, electromagnetic, or infrared or semiconductor-use type. More specific examples (non-exhaustive list) of the computer readable medium include: an electrical connection to a computer or multiple lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an electrically programmable read-only memory ( electrically programmable read-only memory (EPROM or flash memory), an optical fiber, a portable read-only compact disk (CD-ROM), an optical storage unit, a transmission medium supporting the Internet or an intranet, or It is to be noted that the computer-readable or computer-usable medium may also be a paper with programs printed thereon or other suitable media, this is because, for example, the program is electrically powered by electric power Scanning this type of paper or other media obtained and compiled, interpreted or processed in an appropriate manner and, if necessary, in ei a computer memory can be stored. In the context of this document, a computer-readable or computer-usable medium may be any medium that can contain, store, deliver, send, or transmit programs for use by or in connection with an instruction execution system, apparatus, or device. The computer readable medium may include data signals having computer readable program code contained therein and distributed in baseband or as part of a carrier wave. The computer readable program code may be transmitted by any suitable means including, but not limited to, wireless, wired, optical fiber cables, RF, etc.
Der Computerprogrammcode zum Ausführen von Operationen der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ oder ähnliche und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf einem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk, darunter ein lokales Netzwerk (local area network (LAN)) oder ein Weitverkehrsnetzwerk (wide area network (WAN)) verbunden sein, oder es kann eine Verbindung zu einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters über das Internet) hergestellt werden.The computer program code for performing operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C ++ or similar and conventional procedural programming languages such as the "C" programming language or similar programming languages. The program code may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on a remote computer or server. In the latter scenario, the remote computer may or may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN) Connecting to an external computer (for example, via an Internet service provider via the Internet) are made.
Darüber hinaus kann jeder Block des Ablaufplans und/oder der Blockschaubilder sowie Kombinationen der Blöcke in dem Ablaufplan und/oder den Blockschaubildern der vorliegenden Erfindung durch Computerprogrammanweisungen realisiert werden. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen erzeugen.Moreover, each block of the flowchart and / or block diagrams as well as combinations of blocks in the flowchart and / or block diagrams of the present invention may be implemented by computer program instructions. These computer program instructions may be provided to a general purpose computer processor, a dedicated computer, or other programmable data processing device to generate a machine such that the instructions that are executed via the processor of the computer or other programmable data processing device provide means for realizing the computer Create functions / actions specified in the block or blocks of the flowchart and / or block diagram.
Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen hergestellten Artikel einschließlich eines Anweisungsmittels erzeugen, welches die im Block oder in den Blöcken in den Ablaufplänen und/oder Blockschaubildern angegebenen Funktionen/Handlungen ausführt.These computer program instructions may also be stored in a computer-readable medium that may direct a computer or other programmable computing device to function in a particular manner so that the instructions stored in the computer-readable medium produce a manufactured article including an instruction resource corresponding to that in block or performs functions / actions specified in the blocks in the flowcharts and / or block diagrams.
Die Computerprogrammanweisungen können auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung geladen werden, um eine Reihe von auf dem Computer oder der anderen programmierbaren Vorrichtung auszuführenden Operationsschritten hervorzurufen, um einen auf dem Computer realisierten Prozess so zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen einen Prozess zum Realisieren der im Block oder in den Blöcken in den Ablaufplänen und/oder Blockschaubildern angegebenen Funktionen/Handlungen bereitstellen.The computer program instructions may also be loaded onto a computer or other programmable data processing device to cause a series of operations to be performed on the computer or other programmable device to generate a process implemented on the computer such as that on the computer or the other instructions provide a process for realizing the functions / actions specified in the block or in the blocks in the flowcharts and / or block diagrams.
Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architekturen, Funktionalität und die Arbeitsweisen möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block im Ablaufplan oder dem Blockschaubild für ein Modul, ein Segment oder einen Codeabschnitt stehen, der eine oder mehrere ausführbare Anweisungen zum Realisieren der spezifischen logischen Funktion(en) aufweist. Es soll zudem angemerkt werden, dass bei einigen alternativen Realisierungen die in den Blöcken angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinander folgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockschaubilder und/oder des Ablaufplans und Kombinationen von Blöcken in den Blockschaubildern und/oder der Abbildung von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.The flowcharts and block diagrams in the figures illustrate the architectures, functionality, and operations of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or code section having one or more executable instructions for implementing the specific logical function (s). It should also be noted that in some alternative implementations, the functions specified in the blocks may occur in a different order than that indicated in the figures. For example, two consecutively mapped blocks actually be executed substantially concurrently, or the blocks may sometimes be executed in reverse order depending on the functionality involved. It is also noted that each block of the block diagrams and / or the schedule and combinations of blocks in the block diagrams and / or the mapping of schedules may be realized by dedicated hardware-based systems or combinations of dedicated hardware and computer instructions having the stated functions or acts carry out.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 7426720 [0007] US 7426720 [0007]
- US 4742450 [0008] US 4742450 [0008]
- US 7536525 [0009] US 7536525 [0009]
- US 7657888 [0010] US 7657888 [0010]
- WO 2007/036072 [0011] WO 2007/036072 [0011]
- US 2010/0223613 [0012] US 2010/0223613 [0012]
- US 7421698 [0013] US 7421698 [0013]
Zitierte Nicht-PatentliteraturCited non-patent literature
- „Cloneable JVM: A new approach to start isolated Java Applications Faster” von Kawachiya, Ogata, Silva, Hideaki, Nakatani [0014] "Cloneable JVM: A New Approach to Starting Java Applications Faster" by Kawachiya, Ogata, Silva, Hideaki, Nakatani [0014]
Claims (17)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110081183.0A CN102736945B (en) | 2011-03-31 | 2011-03-31 | A kind of method and system of the Multi-instance running application |
CN201110081183.0 | 2011-03-31 | ||
CNCN-201110081183.0 | 2011-03-31 | ||
PCT/IB2012/051044 WO2012131507A1 (en) | 2011-03-31 | 2012-03-06 | Running a plurality of instances of an application |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112012000693T5 true DE112012000693T5 (en) | 2013-10-31 |
DE112012000693B4 DE112012000693B4 (en) | 2024-04-25 |
Family
ID=46929070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112012000693.3T Active DE112012000693B4 (en) | 2011-03-31 | 2012-03-06 | Running multiple instances of an application |
Country Status (5)
Country | Link |
---|---|
US (1) | US8904386B2 (en) |
CN (1) | CN102736945B (en) |
DE (1) | DE112012000693B4 (en) |
GB (1) | GB2502937B (en) |
WO (1) | WO2012131507A1 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9575740B2 (en) | 2015-01-21 | 2017-02-21 | Samsung Electronics Co., Ltd. | Apparatus and method for running multiple instances of a same application in mobile devices |
EP3048552A1 (en) * | 2015-01-21 | 2016-07-27 | Samsung Electronics Co., Ltd. | Apparatus and method for running multiple instances of a same application in mobile devices |
US9910697B2 (en) * | 2015-10-13 | 2018-03-06 | Palantir Technologies Inc. | Fault-tolerant and highly-available configuration of distributed services |
CN105718263B (en) * | 2016-01-19 | 2018-11-13 | 合肥联宝信息技术有限公司 | A kind of method and system for realizing distributed computer based on cloud |
CN105589747B (en) * | 2016-02-25 | 2018-10-23 | 深圳市创想天空科技股份有限公司 | The control method and system that application program is opened more |
US10444939B2 (en) * | 2016-03-15 | 2019-10-15 | Microsoft Technology Licensing, Llc | Analysis of recurring processes |
CN106201710B (en) * | 2016-06-29 | 2020-08-04 | 宇龙计算机通信科技(深圳)有限公司 | Method and device for freezing application |
CN106407762A (en) * | 2016-09-26 | 2017-02-15 | 东莞酷派软件技术有限公司 | A setting method for application freezing configuration and a terminal apparatus |
US10338135B2 (en) | 2016-09-28 | 2019-07-02 | Amazon Technologies, Inc. | Extracting debug information from FPGAs in multi-tenant environments |
US11099894B2 (en) * | 2016-09-28 | 2021-08-24 | Amazon Technologies, Inc. | Intermediate host integrated circuit between virtual machine instance and customer programmable logic |
US10162921B2 (en) | 2016-09-29 | 2018-12-25 | Amazon Technologies, Inc. | Logic repository service |
US10250572B2 (en) | 2016-09-29 | 2019-04-02 | Amazon Technologies, Inc. | Logic repository service using encrypted configuration data |
US10642492B2 (en) | 2016-09-30 | 2020-05-05 | Amazon Technologies, Inc. | Controlling access to previously-stored logic in a reconfigurable logic device |
CN107885748B (en) | 2016-09-30 | 2021-10-26 | 华为技术有限公司 | File hierarchical access method and device for virtualized instance |
US10423438B2 (en) | 2016-09-30 | 2019-09-24 | Amazon Technologies, Inc. | Virtual machines controlling separate subsets of programmable hardware |
US11115293B2 (en) | 2016-11-17 | 2021-09-07 | Amazon Technologies, Inc. | Networked programmable logic service provider |
CN109597689B (en) * | 2018-12-10 | 2022-06-10 | 浪潮(北京)电子信息产业有限公司 | Distributed file system memory optimization method, device, equipment and medium |
CN110262871B (en) * | 2019-05-17 | 2024-01-23 | 平安科技(深圳)有限公司 | Container instance start-stop method and device for container application, computer equipment and storage medium |
US20220269244A1 (en) * | 2021-02-23 | 2022-08-25 | Changxin Memory Technologies, Inc. | Control method, apparatus, system, device and medium for production equipment |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4742450A (en) | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to share copy on write segment for mapped files |
WO2007036072A1 (en) | 2005-09-29 | 2007-04-05 | Intel Corporation | Apparatus and method for expedited virtual machine (vm) launch in vm cluster environment |
US7421698B2 (en) | 2003-12-22 | 2008-09-02 | Sun Microsystems, Inc. | System and method for dynamically and persistently tracking incremental profiling data in a process cloning application environment |
US7426720B1 (en) | 2003-12-22 | 2008-09-16 | Sun Microsystems, Inc. | System and method for dynamic preloading of classes through memory space cloning of a master runtime system process |
US7536525B2 (en) | 2004-11-09 | 2009-05-19 | Dell Products L.P. | Virtual machine hot cloning including freezing and unfreezing memory in a distributed network |
US7657888B2 (en) | 2002-07-11 | 2010-02-02 | Microsoft Corporation | Method for forking or migrating a virtual machine |
US20100223613A1 (en) | 2009-02-27 | 2010-09-02 | Schneider James P | Per process virtual machines |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100247951B1 (en) * | 1997-04-11 | 2000-03-15 | 윤종용 | Program modification method of PDA |
US20020046230A1 (en) * | 1998-04-29 | 2002-04-18 | Daniel J. Dieterich | Method for scheduling thread execution on a limited number of operating system threads |
US6567974B1 (en) * | 2000-02-25 | 2003-05-20 | Sun Microsystems, Inc. | Small memory footprint system and method for separating applications within a single virtual machine |
US7363474B2 (en) * | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
US20030187911A1 (en) * | 2002-04-01 | 2003-10-02 | Michael Abd-El-Malek | Method and apparatus to facilitate recovering a thread from a checkpoint |
JP4639609B2 (en) | 2004-03-09 | 2011-02-23 | 東洋製罐株式会社 | Film-like lid with excellent piercing and opening properties |
US7587721B2 (en) * | 2004-05-20 | 2009-09-08 | Sap Ag | Sharing objects in runtime systems |
GB0416259D0 (en) * | 2004-07-21 | 2004-08-25 | Ibm | A method and system for enabling a server application to be executed in the same virtual machine as a client application using direct object oriented |
JP2006146678A (en) * | 2004-11-22 | 2006-06-08 | Hitachi Ltd | Method for controlling program in information processor, information processor and program |
JP2007066265A (en) * | 2005-09-02 | 2007-03-15 | Hitachi Ltd | Computer device and virtual machine providing method |
US20110283277A1 (en) | 2010-05-11 | 2011-11-17 | International Business Machines Corporation | Virtualization and dynamic resource allocation aware storage level reordering |
US8443365B2 (en) * | 2010-11-03 | 2013-05-14 | Hewlett-Packard Development Company, L.P. | Methods and systems to clone a virtual machine instance |
-
2011
- 2011-03-31 CN CN201110081183.0A patent/CN102736945B/en active Active
-
2012
- 2012-03-06 DE DE112012000693.3T patent/DE112012000693B4/en active Active
- 2012-03-06 WO PCT/IB2012/051044 patent/WO2012131507A1/en active Application Filing
- 2012-03-06 GB GB1318013.8A patent/GB2502937B/en active Active
- 2012-03-14 US US13/419,963 patent/US8904386B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4742450A (en) | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to share copy on write segment for mapped files |
US7657888B2 (en) | 2002-07-11 | 2010-02-02 | Microsoft Corporation | Method for forking or migrating a virtual machine |
US7421698B2 (en) | 2003-12-22 | 2008-09-02 | Sun Microsystems, Inc. | System and method for dynamically and persistently tracking incremental profiling data in a process cloning application environment |
US7426720B1 (en) | 2003-12-22 | 2008-09-16 | Sun Microsystems, Inc. | System and method for dynamic preloading of classes through memory space cloning of a master runtime system process |
US7536525B2 (en) | 2004-11-09 | 2009-05-19 | Dell Products L.P. | Virtual machine hot cloning including freezing and unfreezing memory in a distributed network |
WO2007036072A1 (en) | 2005-09-29 | 2007-04-05 | Intel Corporation | Apparatus and method for expedited virtual machine (vm) launch in vm cluster environment |
US20100223613A1 (en) | 2009-02-27 | 2010-09-02 | Schneider James P | Per process virtual machines |
Non-Patent Citations (1)
Title |
---|
"Cloneable JVM: A new approach to start isolated Java Applications Faster" von Kawachiya, Ogata, Silva, Hideaki, Nakatani |
Also Published As
Publication number | Publication date |
---|---|
GB201318013D0 (en) | 2013-11-27 |
CN102736945A (en) | 2012-10-17 |
US8904386B2 (en) | 2014-12-02 |
CN102736945B (en) | 2016-05-18 |
US20120254885A1 (en) | 2012-10-04 |
WO2012131507A1 (en) | 2012-10-04 |
GB2502937A (en) | 2013-12-11 |
DE112012000693B4 (en) | 2024-04-25 |
GB2502937B (en) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012000693B4 (en) | Running multiple instances of an application | |
DE112016003120B4 (en) | Redirect a copy on write | |
DE112011103829B4 (en) | Method and system for creating a virtual machine based on templates | |
DE112013001421B4 (en) | Policy-based management of storage capabilities in data replication environments | |
DE112020000558T5 (en) | DYNAMIC CHANGING AN INSULATION OF A CONTAINERIZED WORKLOAD IN RESPONSE TO A DETERMINATION OF A RELEVANT FACTOR | |
DE112010003554B4 (en) | Symmetrical direct migration of virtual machines | |
DE112012004099T5 (en) | Transaction processing system, procedures and program | |
DE112010004784T5 (en) | Efficient loading of data into the memory of a computer system | |
DE112011100094T5 (en) | Method and system for abstracting a non-functional requirement based use of virtual machines | |
DE102016105589A1 (en) | Apply firmware updates in a zero-downtime system by selectively turning off and on hardware using a hypervisor layer | |
DE112013001711T5 (en) | Optimize subroutine calls based on the architectural level of a called subroutine | |
DE112018005898T5 (en) | DYNAMIC PROVISION OF SOFTWARE FUNCTIONS | |
DE112018006769B4 (en) | EXTENDED CACHE ALLOCATION BASED ON NODE VIRTUAL RESOURCES | |
DE112010004160T5 (en) | Port virtual images between platforms | |
DE112013000369T5 (en) | Managing threads within a computing environment | |
DE112013000656T5 (en) | System and method for reducing memory usage by optimally placing virtual machines in a virtualized data center | |
DE112011101929T5 (en) | Enable control of a hypervisor in a cloud computing environment | |
DE112012005209T5 (en) | Bridge function between virtual machine monitor and bare-metal boot process | |
DE112020000912T5 (en) | MANAGING SOFTWARE PROGRAMS | |
DE102016119298A1 (en) | SCHEDULE COPYING WITH CLONING CHAINS | |
DE112015004564T5 (en) | Event-driven reoptimization of a logically partitioned power management environment | |
DE102021125630A1 (en) | DATA SYNCHRONIZATION IN A DATA ANALYSIS SYSTEM | |
DE112019001821T5 (en) | METHOD AND DEVICE FOR REPLAYING AN ACTIVATION FRAMEWORK FOR UNINTERRUPTED MEMORY CLEANING (PAUSE-LESS GARBAGE COLLECTION) | |
DE112017005015T5 (en) | Processing Subling Calls (SIBLING CALLS) | |
DE112016005868T5 (en) | Start application processors of a virtual machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: RICHARDT PATENTANWAELTE GBR, DE Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R084 | Declaration of willingness to licence |