WO2007147697A1 - Method for the operation of an application framework, and corresponding database - Google Patents

Method for the operation of an application framework, and corresponding database Download PDF

Info

Publication number
WO2007147697A1
WO2007147697A1 PCT/EP2007/055047 EP2007055047W WO2007147697A1 WO 2007147697 A1 WO2007147697 A1 WO 2007147697A1 EP 2007055047 W EP2007055047 W EP 2007055047W WO 2007147697 A1 WO2007147697 A1 WO 2007147697A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
objects
services
proxy
bundles
Prior art date
Application number
PCT/EP2007/055047
Other languages
German (de)
French (fr)
Inventor
Gerrit De Boer
Werner Praefcke
Bjoern Hornburg
Original Assignee
Robert Bosch Gmbh
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 Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to EP07729478A priority Critical patent/EP2035927A1/en
Publication of WO2007147697A1 publication Critical patent/WO2007147697A1/en

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • 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/465Distributed object oriented systems

Definitions

  • the invention relates to a method for operating an application framework, which manages several bundles, wherein a bundle other bundles different services that are realized by service objects (1), offers and the services for releasing storage capacities are suspendable and a correspondingly formed database ,
  • An application framework provides a standardized environment for the administration and execution of programs, so-called applications
  • the applications have prescribed interfaces via which the application frame manages the applications and makes them available to the user.
  • the application frame provides a number of service functions that can be used by the applications.
  • the functions include eg mechanisms for configuration, life cycle and user management.
  • the application framework can be platform-independent, ie it runs, for example, in a Java runtime environment, can be configured dynamically and dynamically expanded by software components. He can also communicate with electronic components that are networked to the system. These may be Java-based components or other modules that be addressed with dedicated drivers, act.
  • An open application framework for the home and telematics sector is currently being standardized at the OSGi (Open Service Gateway initiative).
  • An OSGi system is a Java application framework within which various individual Java applications, so-called bundles, are connected and run. These bundles are jar files (Java archive), which satisfy a certain predetermined form, in order to be managed by the frame work. Central to this is the provision of interfaces for assuming defined conditions within the framework of lifecycle management. Their most important are installed, uninstalled, resolved and active. The communication between bundles happens by a bundle A
  • Services logs on the framework or application framework and a Bundle B requests this from the framework and claims.
  • an offered service will be registered with the framework directly when the bundle is registered and will remain available for the entire life of the OSGi system.
  • the bundle object providing this service remains instantiated throughout the time and occupies space (e.g., heap).
  • the present invention seeks to provide a method by which a large part of the bundle resources can be temporarily released to have such free storage capacity.
  • the core idea of the invention is that the various services of a
  • Bundles are no longer directly connected to other bundles via suitable interfaces or exchange data, but that a slim proxy object is interposed.
  • the service is logged on to the application frame in the form of this proxy object. Thus, the actual service can only be reached via this proxy object.
  • the proxy object contains all interfaces of the service.
  • the proxy object contains an interface for putting the service to be connected in a suspend or idle state and for releasing the service object.
  • it preferably contains software-configured mechanisms to restore the service when needed. In this case, it is preferably continued in the last stored state of the service.
  • the proxy object has the same interfaces as the service itself and can therefore be logged in instead of the original service on the application frame. Furthermore, the proxy object contains a reference or a reference to the actual service object.
  • a query is first made in the proxy object as to whether the corresponding service object exists, with one in the
  • the proxy object hibernates the service object.
  • the proxy object does not log off the service but keeps it for the rest of the system. This happens after the status has been saved. If necessary, superfluous data can also be deleted or the service object can be completely removed.
  • the interfaces of the service are accessed exclusively via the interfaces of the same name of the proxy object.
  • the service object may transmit its state to the proxy object for suspending the service and releasing the claimed resources to be later restored.
  • the advantage of the invention is that no additional hard disk space is needed to outsource currently unnecessary services, for example, in a swap process. Furthermore, the application frame is not burdened with the maintenance or operation of services not currently required, so that a processing and / or transmission capacity is not unnecessarily claimed.
  • a correspondingly formed database or provided with a corresponding software program computer according to claim 9 for the execution of the method on a device with the proxy objects described above can be generated to serve as an interface between the application frame and various services of a bundle.
  • the proxy objects can be implemented either in hardware and / or software in the database or the computer.
  • the associated service object may be instantiated in a low-priority thread according to claim 2. If the instantiation is not already prepared, you can restore a suspended one
  • Service is likely to lead to delays, especially if it occurs after a user has entered. This can be countered as follows: For example, when calling a menu, it is likely that one of the menu items will be called shortly after, so that the corresponding services of the individual menu items on it should be prepared to be restored. To do this, a low priority thread can be started in the background to prepare for the instantiation of the service object. In the optimal case, for example, when the corresponding menu item is called, the corresponding service object is already restored, so that it can run smoothly. A user in this case has a temporary
  • the priority of the associated thread can be increased in accordance with claim 3 in order to accelerate the restoration of the service object.
  • a current resource allocation as characterized in claim 4, monitored by a so-called manager of the application frame.
  • This identifies a need for additional main memory based on the current resource allocation.
  • those services that are registered but rarely and / or not used at all are identified. These services are subsequently caused to suspend the services in the associated proxy objects.
  • the manager may also predict an imminent use of a suspended service, for example, when a corresponding menu is invoked.
  • the manager can realize a persistent storage of service states.
  • a service state can be obtained beyond an application frame restart.
  • the manager is implemented in hardware and / or software in a database or an application framework.
  • Claim 5 described, application frame according to the OSGi standard, which has already been described above.
  • the proxy objects are instantiated instead of the service objects. This requires much less computing and storage capacity.
  • the proxy objects are registered as service providers in the system. The service object itself or the service is in the so-called suspend state and is only called when a request is made via the proxy object interface.
  • suspend state is only called when a request is made via the proxy object interface.
  • the associated thread of the service object already during the startup of the system such as an OSGi system, take place at the start of the bundle. This is again done with low priority, to influence the further startup process as little as possible.
  • Figure 1 is a block diagram of an application frame.
  • an application frame 100 is shown schematically. Via correspondingly configured interfaces, as indicated by the connecting lines, the application frame 100 is connected to a plurality of services realized by the service objects 1, which are in each case associated with one or different bundles. These service objects 1 usually require a large amount of computation and storage capacity when they are in the activated state. To reduce the required computing capacity unnecessary service objects 1 can also be disabled or suspended.
  • a proxy object 2 is now interposed between the service objects 1 and the application frame 100, which is in communication with the service objects 2 via a suitable interface. The service is logged on to the application frame via the proxy object 2.
  • the service is logged on to the application frame via the proxy object 2.
  • Objects 1 are suspended and are only instantiated in the case when a corresponding call is made via the associated proxy object 2. Since the proxy objects 2 are much slimmer, or require less storage capacity, the computing capacity of the entire system or a correspondingly formed database or a computer is much less burdened. To restore the service 1 or a service object, corresponding mechanisms are implemented in hardware and / or software in the proxy objects 2.
  • a manager 3 must be provided, e.g. is integrated in the application frames 100 in order to monitor the resource usage and, in particular, to suspend unneeded services 1.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Disclosed is a method for operating an application framework (100) managing several bundles, one bundle offering to other bundles different services that are performed by service objects (1), and the services being optionally suspended so as to free up storage capacity. In order to improve the performance of said method, the service objects (1) are supplemented with proxy objects (2) and can thus be removed. Also disclosed is an adequately configured database.

Description

Beschreibungdescription
Titeltitle
Verfahren zum Betreiben eines Applikationsrahmens sowie eine entsprechendeMethod for operating an application frame and a corresponding one
DatenbankDatabase
Technisches GebietTechnical area
Die Erfindung betrifft ein Verfahren zum Betreiben eines Applikationsrahmens, der mehrere Bundles verwaltet, wobei ein Bündle anderen Bundles verschiedene Dienste, die durch Dienst-Objekte (1) realisiert werden, anbietet und die Dienste zur Freigabe von Speicherkapazitäten suspendierbar sind sind sowie eine entsprechend ausgebildete Datenbank.The invention relates to a method for operating an application framework, which manages several bundles, wherein a bundle other bundles different services that are realized by service objects (1), offers and the services for releasing storage capacities are suspendable and a correspondingly formed database ,
Stand der TechnikState of the art
Offene Standards für sogenannte Applikationsrahmen gewinnen zunehmend an Bedeutung. Ein Applikationsrahmen stellt eine standardisierte Umgebung für die Verwaltung und Ausführung von Programmen, sogenannte Applikationen, zurOpen standards for so-called application frameworks are becoming increasingly important. An application framework provides a standardized environment for the administration and execution of programs, so-called applications
Verfügung. Die Applikationen weisen vorgeschriebene Schnittstellen auf, über die der Applikationsrahmen die Applikationen verwaltet und für den Anwender bereitstellt. Der Applikationsrahmen stellt eine Reihe von Dienstfunktionen zur Verfügung, die von den Applikationen genutzt werden können. Zu den Funktionen gehören z.B. Mechanismen zum Konfigurations-, Life Cycle- und Nutzermanagement. Der Applikationsrahmen kann plattformunabhängig sein, d.h. er läuft z.B. in einer Java-Laufzeitumgebung, dynamisch konfigurierbar und um Softwarekomponenten dynamisch erweiterbar. Er kann darüber hinaus mit elektronischen Komponenten kommunizieren, die mit dem System vernetzt sind. Hierbei kann es sich um Java-basierte Komponenten oder um andere Module, die mit dedizierten Treibern angesprochen werden, handeln. Ein offener Applikationsrahmen für den Heim- und Telematikbereich wird derzeit bei der OSGi (Open Service Gateway initiative) standardisiert.Available. The applications have prescribed interfaces via which the application frame manages the applications and makes them available to the user. The application frame provides a number of service functions that can be used by the applications. The functions include eg mechanisms for configuration, life cycle and user management. The application framework can be platform-independent, ie it runs, for example, in a Java runtime environment, can be configured dynamically and dynamically expanded by software components. He can also communicate with electronic components that are networked to the system. These may be Java-based components or other modules that be addressed with dedicated drivers, act. An open application framework for the home and telematics sector is currently being standardized at the OSGi (Open Service Gateway initiative).
Die im folgenden beschriebene Erfindung wird am Beispiel eines solchen OSGi-Systems beschrieben; sie ist allerdings im Zusammenhang mit jedem Applikationsrahmen anwendbar, d.h. sie ist nicht auf Applikationsrahmen nach OSGi festgelegt.The invention described below is described using the example of such OSGi system; however, it is applicable in the context of any application framework, i. it is not set to application frameworks according to OSGi.
Ein OSGi-System ist ein Java Applikationsframework, innerhalb dessen verschiedene einzelne Java- Anwendungen, sogenannte Bundles miteinander in Verbindung stehen und ablaufen. Diese Bündle sind jar-Dateien (Java archive), die einer bestimmten vorgegebenen Form genügen, um sich durch das Framewerk verwalten zu lassen. Zentral ist die Bereitstellung von Schnittstellen, um im Rahmen eines Lifecycle Management festgelegte Zustände einzunehmen. Deren wichtigste sind installed, uninstalled, resolved und active. Die Kommunikation zwischen Bundles geschieht, indem ein Bündle AAn OSGi system is a Java application framework within which various individual Java applications, so-called bundles, are connected and run. These bundles are jar files (Java archive), which satisfy a certain predetermined form, in order to be managed by the frame work. Central to this is the provision of interfaces for assuming defined conditions within the framework of lifecycle management. Their most important are installed, uninstalled, resolved and active. The communication between bundles happens by a bundle A
Dienste (Services) am Framework bzw. Applikationsrahmen anmeldet und ein Bündle B diese vom Framework anfordert und in Anspruch nimmt.Services (services) logs on the framework or application framework and a Bundle B requests this from the framework and claims.
Üblicherweise wird ein angebotener Dienst direkt bei der Anmeldung des Bundles am Framework angemeldet und bleibt über die gesamte Laufzeit des OSGi-Systems vorhanden. Entsprechend bleibt das Bundle-Objekt, das diesen Dienst bereitstellt, über die gesamte Zeit instanziiert und belegt Speicherplatz (z.B. heap).Normally, an offered service will be registered with the framework directly when the bundle is registered and will remain available for the entire life of the OSGi system. Likewise, the bundle object providing this service remains instantiated throughout the time and occupies space (e.g., heap).
Bei einer Vielzahl angebotener Dienste, die nicht alle zur gleichen Zeit in Anspruch genommen werden, muss dennoch der Speicher für alle Bundles bereitgehalten werden, auch wenn sie aktuell nicht verwendet werden.However, with a variety of services offered that are not all at the same time, the memory must be kept available for all bundles, even if they are not currently being used.
Die vom Framework angebotenen Mechanismen, ein Bündle bei NichtVerwendung des Dienstes zu entfernen, so dass sein Speicherplatz freigegeben werden kann, laufen auf eine komplette Deinstallation des Bundles hinaus, die mit einem Abmelden des Dienstes einhergeht. Erläuterung der ErfindungThe mechanisms offered by the framework to remove a bundle when not using the service so that its storage space can be freed up result in a complete uninstallation of the bundle, which involves logging off the service. Explanation of the invention
Ausgehend von diesem Stand der Technik liegt der Erfindung die Aufgabe zugrunde, ein Verfahren zu schaffen, mit dem ein Großteil der Bundle-Ressourcen vorübergehend freigegeben werden können, um derart über freie Speicherkapazität zu verfügen.Based on this prior art, the present invention seeks to provide a method by which a large part of the bundle resources can be temporarily released to have such free storage capacity.
Weiterhin soll eine entsprechend ausgebildete Datenbank angegeben werden.Furthermore, a suitably trained database should be specified.
Diese Aufgaben werden durch die Merkmale der Ansprüche 1 und 9 gelöst.These objects are achieved by the features of claims 1 and 9.
Der Kerngedanke der Erfindung besteht darin, dass die verschiedenen Dienste einesThe core idea of the invention is that the various services of a
Bundles nicht mehr unmittelbar über geeignete Schnittstellen mit anderen Bundles in Verbindung stehen bzw. Daten austauschen, sondern dass ein schlankes Proxy-Objekt dazwischengeschaltet ist. Der Dienst wird in Form dieses Proxy-Objekts am Applikationsrahmen angemeldet. Somit ist der eigentliche Dienst nur über dieses Proxy- Objekt zu erreichen. Das Proxy-Objekt enthält dazu alle Schnittstellen des Dienstes.Bundles are no longer directly connected to other bundles via suitable interfaces or exchange data, but that a slim proxy object is interposed. The service is logged on to the application frame in the form of this proxy object. Thus, the actual service can only be reached via this proxy object. The proxy object contains all interfaces of the service.
Darüberhinaus enthält das Proxy-Objekt zum Einen eine Schnittstelle, um den zu verbindenden Dienst in einen Suspend- oder Ruhezustand zu versetzen und um das Dienstobjekt wieder frei zu geben. Zum Anderen enthält es vorzugsweise softwaremäßig ausgestaltete Mechanismen, um den Dienst bei Bedarf wieder herzustellen. Dabei wird vorzugsweise im letzten, abgespeicherten Zustand des Dienstes dieser fortgesetzt.In addition, the proxy object contains an interface for putting the service to be connected in a suspend or idle state and for releasing the service object. On the other hand, it preferably contains software-configured mechanisms to restore the service when needed. In this case, it is preferably continued in the last stored state of the service.
Weiterhin sind an dem Dienst zusätzliche Schnittstellen vorgesehen, die ein Sichern der aktuell relevanten Zustände, sowie ein Wiederherstellen derselben ermöglichen.Furthermore, additional interfaces are provided on the service, which make it possible to save the currently relevant states and to restore them.
Das Proxy-Objekt verfügt über die gleichen Schnittstellen wie der zu verbindende Dienst selbst und kann somit anstelle des ursprünglichen Dienstes am Applikationsrahmen angemeldet werden. Weiterhin enthält das Proxy-Objekt eine Bezugnahme oder eine Referenz auf das eigentliche Dienstobjekt.The proxy object has the same interfaces as the service itself and can therefore be logged in instead of the original service on the application frame. Furthermore, the proxy object contains a reference or a reference to the actual service object.
Soll der Dienst in Anspruch genommen werden, erfolgt in dem Proxy-Objekt zunächst eine Abfrage, ob das entsprechende Dienst-Objekt existiert, wobei eine imIf the service is to be used, a query is first made in the proxy object as to whether the corresponding service object exists, with one in the
Nachfolgenden beschriebene Instanziierung aufgerufen sowie bei vorheriger Suspendierung der ursprüngliche Zustand des Dienstes wieder hergestellt werden kann. - A -Subsequently described instantiation can be called as well as restored on previous suspension of the original state of the service. - A -
SoIl der Dienst suspendiert werden, wird im Proxy-Objekt dessen Status lokal gespeichert. Das Proxy-Objekt versetzt das Dienst-Objekt in den Ruhezustand. Das Proxy-Objekt meldet den Dienst nicht ab sondern hält ihn für das restliche System aufrecht. Dies erfolgt nachdem dessen Status gespeichert wurde. Gegebenenfalls können überflüssige Daten auch gelöscht oder das Dienst-Objekt vollständig entfernt werden.As soon as the service is suspended, its status is stored locally in the proxy object. The proxy object hibernates the service object. The proxy object does not log off the service but keeps it for the rest of the system. This happens after the status has been saved. If necessary, superfluous data can also be deleted or the service object can be completely removed.
Auf die Schnittstellen des Diensts wird dabei ausschließlich über die gleichnamigen Schnittstellen des Proxy-Objekts zugegriffen. Das Dienst-Objekt kann zum Suspendieren des Dienstes und Freigeben der beanspruchten Ressourcen seinen Zustand an das Proxy- Objekt übermitteln, um später wieder hergestellt zu werden.In this case, the interfaces of the service are accessed exclusively via the interfaces of the same name of the proxy object. The service object may transmit its state to the proxy object for suspending the service and releasing the claimed resources to be later restored.
Der Vorteil der Erfindung besteht darin, dass kein zusätzlicher Festplatten-Speicherplatz benötigt wird, um momentan nicht notwendige Dienste beispielsweise in einem Swap- Vorgang auszulagern. Weiterhin wird der Applikationsrahmen nicht mit dem Aufrechterhalten oder Bedienen von momentan nicht benötigten Diensten belastet, so dass eine Verarbeitungs- und/oder Übertragungskapazität nicht unnötig beansprucht wird.The advantage of the invention is that no additional hard disk space is needed to outsource currently unnecessary services, for example, in a swap process. Furthermore, the application frame is not burdened with the maintenance or operation of services not currently required, so that a processing and / or transmission capacity is not unnecessarily claimed.
Eine entsprechend ausgebildete Datenbank bzw. ein mit einem entsprechenden Softwareprogramm versehener Computer verfügt nach Anspruch 9 zur Ausführung des Verfahrens über eine Einrichtung, mit der vorstehend beschriebene Proxy-Objekte erzeugt werden können, um als Schnittstelle zwischen dem Applikationsrahmen und verschiedenen Diensten eines Bundles zu dienen. Dabei können die Proxy-Objekte entweder hard- und/oder softwaremäßig in der Datenbank bzw. dem Computer implementiert werden.A correspondingly formed database or provided with a corresponding software program computer according to claim 9 for the execution of the method on a device with the proxy objects described above can be generated to serve as an interface between the application frame and various services of a bundle. The proxy objects can be implemented either in hardware and / or software in the database or the computer.
Um das Wiederaufrufen eines suspendierten Diensts zu beschleunigen bzw. wenn der Dienst suspendiert und wiederhergestellt wird und das Dienst-Objekt entfernt und wiederum instanziiert/erzeugt wird, kann das zugehörige Dienst-Objekt entsprechend dem Anspruch 2 in einem Thread niedriger Priorität instanziiert werden. Wird das Instanziieren nicht bereits vorbereitet kann das Wiederherstellen eines suspendiertenIn order to speed up the recall of a suspended service, or if the service is suspended and restored, and the service object is removed and re-instantiated / generated, the associated service object may be instantiated in a low-priority thread according to claim 2. If the instantiation is not already prepared, you can restore a suspended one
Diensts leicht zu Verzögerungen führen, insbesondere wenn dies nach einer Eingabe eines Nutzers erfolgt. Dem kann folgendermaßen begegnet werden: Beispielsweise beim Aufrufen eines Menüs ist es wahrscheinlich, dass einer der Menüpunkte kurz nachfolgend aufgerufen wird, so dass die entsprechenden Dienste der einzelnen Menüpunkte darauf vorbereitet sein sollten, wieder hergestellt zu werden. Hierzu kann im Hintergrund ein Thread niedriger Priorität gestartet werden, um die Instanziierung des Dienst-Objekts vorzubereiten. Im Optimalfall, beispielsweise wenn der entsprechende Menüpunkt aufgerufen wird, ist das entsprechende Dienst-Objekt bereits wieder hergestellt, so dass es übergangslos ablaufen kann. Ein Nutzer hat in diesem Fall von einer vorübergehendenService is likely to lead to delays, especially if it occurs after a user has entered. This can be countered as follows: For example, when calling a menu, it is likely that one of the menu items will be called shortly after, so that the corresponding services of the individual menu items on it should be prepared to be restored. To do this, a low priority thread can be started in the background to prepare for the instantiation of the service object. In the optimal case, for example, when the corresponding menu item is called, the corresponding service object is already restored, so that it can run smoothly. A user in this case has a temporary
Suspendierung des Dienstes nichts bemerkt.Suspension of the service noticed nothing.
Falls das entsprechende Dienst-Objekt noch nicht wieder hergestellt worden sein sollte, kann entsprechend dem Anspruch 3 die Priorität des zugehörigen Threads heraufgesetzt werden, um das Wiederherstellen des Dienst-Objekts zu beschleunigen.If the corresponding service object has not yet been restored, the priority of the associated thread can be increased in accordance with claim 3 in order to accelerate the restoration of the service object.
Vorzugsweise wird eine aktuelle Ressourcenbelegung, wie im Anspruch 4 gekennzeichnet, durch einen sogenannten Manager des Applikationsrahmens überwacht. Dieser identifiziert anhand der aktuellen Ressourcenbelegung einen Bedarf an zusätzlichem Hauptspeicher. Gleichzeitig werden diejenigen Dienste, die zwar angemeldet aber selten und/oder momentan überhaupt nicht benutzt werden, identifiziert. Bei diesen Diensten wird nachfolgend in den zugehörigen Proxy-Objekten das Suspendieren der Dienste veranlasst. Mit dem Manager kann auch eine nahe bevorstehende Verwendung eines suspendierten Dienstes vorausberechnet werden, beispielsweise wenn ein entsprechendes Menü aufgerufen wird. Somit kann diePreferably, a current resource allocation, as characterized in claim 4, monitored by a so-called manager of the application frame. This identifies a need for additional main memory based on the current resource allocation. At the same time, those services that are registered but rarely and / or not used at all are identified. These services are subsequently caused to suspend the services in the associated proxy objects. The manager may also predict an imminent use of a suspended service, for example, when a corresponding menu is invoked. Thus, the
Wiederherstellung der zugehörigen Dienstobjekte vorab ausgelöst werden. Ebenso kann der Manager eine persistente Speicherung von Dienstzuständen realisieren. Somit kann ein Dienstzustand über einen Applikationsrahmen-Neustart hinaus erhalten werden. Hierzu ist lediglich eine Erweiterung der Schnittstelle im Proxy-Objekt notwendig, mit der ein Austausch des Zustande zwischen dem Proxy-Objekt und dem Manager möglich ist. Der Manager ist hierfür hard- und/oder softwaremäßig in einer Datenbank bzw. einem Applikationsrahmen implementiert.Recovery of related service objects are triggered in advance. Likewise, the manager can realize a persistent storage of service states. Thus, a service state can be obtained beyond an application frame restart. For this purpose, only an extension of the interface in the proxy object is necessary with which an exchange of the state between the proxy object and the manager is possible. For this purpose, the manager is implemented in hardware and / or software in a database or an application framework.
Es versteht sich, dass im Rahmen der Erfindung beliebige Applikationsrahmen erfindungsgemäß ausgestaltet sein können. Bevorzugt sind dies jedoch, wie imIt is understood that within the scope of the invention, any application frame can be designed according to the invention. However, these are preferred, as in
Anspruch 5 beschrieben, Applikationsrahmen nach dem OSGi-Standard, der bereits vorstehend beschrieben wurde. Zur Beschleunigung des Hochfahrens eines Computersystems, das mit einem entsprechenden Applikationsrahmen versehen ist, ist im Anspruch 6 vorgeschlagen, dass beim Starten des Systems die Proxy-Objekte instanziiert werden anstelle der Dienst- Objekte. Dies erfordert wesentlich weniger Rechen- und Speicherkapazität. Auch werden die Proxy-Objekte als Diensteanbieter im System angemeldet. Das Dienst-Objekt selbst bzw. der Dienst befindet sich im sogenannten Suspend-Zustand und wird erst aufgerufen, wenn über die Schnittstelle Proxy-Objekt eine Anforderung erfolgt. Dabei ist es allerdings nicht zu vermeiden, dass bei einem beliebigen Diensteaufruf eine Verzögerung auftreten kann, beispielsweise weil der Dienst erst instanziiert werden muss.Claim 5 described, application frame according to the OSGi standard, which has already been described above. In order to speed up the startup of a computer system provided with a corresponding application frame, it is proposed in claim 6 that when the system is started, the proxy objects are instantiated instead of the service objects. This requires much less computing and storage capacity. Also, the proxy objects are registered as service providers in the system. The service object itself or the service is in the so-called suspend state and is only called when a request is made via the proxy object interface. However, it can not be avoided that a delay can occur during any service call, for example because the service first has to be instantiated.
Hierzu kann, wie im Anspruch 7 angegeben, der zugehöriger Thread des Dienst-Objekts bereits im Verlauf des Hochfahrens des Systems, beispielsweise eines OSGi-Systems, beim Start des Bundles erfolgen. Dies geschieht wiederum mit niedriger Priorität, um den weiteren Startvorgang möglichst wenig zu beeinflussen.For this purpose, as indicated in claim 7, the associated thread of the service object already during the startup of the system, such as an OSGi system, take place at the start of the bundle. This is again done with low priority, to influence the further startup process as little as possible.
Alternativ kann entsprechend dem Anspruch 8 das Starten des Threads erst nachdem der Applikationsrahmen gestartet wurde und alle Proxy-Objekte mit ihren Diensten am Applikationsrahmen angemeldet sind, vorgenommen werden.Alternatively, according to claim 8, the starting of the thread only after the application frame has been started and all proxy objects are logged with their services on the application frame, are made.
Kurzbeschreibung der ZeichnungBrief description of the drawing
Eine Ausführungsform der Erfindung wird nachstehend anhand der Zeichnung näher erläutert. Es zeigt in rein schematischer Darstellung:An embodiment of the invention will be explained below with reference to the drawing. It shows in a purely schematic representation:
Figur 1 ein Blockschaltbild eines Applikationsrahmens.Figure 1 is a block diagram of an application frame.
In Figur 1 ist ein Applikationsrahmen 100 schematisch dargestellt. Über entsprechend konfigurierte Schnittstellen, wie durch die Verbindungslinien angedeutet, steht der Applikationsrahmen 100 mit mehreren Diensten, realisiert durch die Dienst-Objekte 1, die jeweils zu einem oder verschiedenen Bundles zugehörig sind, in Verbindung. Diese Dienst-Objekte 1 erfordern üblicherweise eine große Rechen- und Speicherkapazität, wenn sie im aktivierten Zustand sind. Zur Verringerung der benötigten Rechenkapazität können nicht benötige Dienst-Objekte 1 auch deaktiviert oder suspendiert werden. Erfindungsgemäß wird nun zwischen die Dienst-Objekte 1 und den Applikationsrahmen 100 jeweils ein Proxy-Objekt 2 dazwischen geschaltet, das über eine geeignete Schnittstelle mit den Dienst-Objekten 2 in Verbindung steht. Der Dienst wird über das Proxy-Objekt 2 am Applikationsrahmen angemeldet. Dabei können die Dienst-In Figure 1, an application frame 100 is shown schematically. Via correspondingly configured interfaces, as indicated by the connecting lines, the application frame 100 is connected to a plurality of services realized by the service objects 1, which are in each case associated with one or different bundles. These service objects 1 usually require a large amount of computation and storage capacity when they are in the activated state. To reduce the required computing capacity unnecessary service objects 1 can also be disabled or suspended. According to the invention, a proxy object 2 is now interposed between the service objects 1 and the application frame 100, which is in communication with the service objects 2 via a suitable interface. The service is logged on to the application frame via the proxy object 2. The service
Objekte 1 suspendiert sein und werden in dem Fall erst instanziiert wenn über das zugehörige Proxy-Objekt 2 ein entsprechender Aufruf erfolgt. Da die Proxy-Objekte 2 wesentlich schlanker sind, bzw. weniger Speicherkapazität beanspruchen, ist die Rechenkapazität des Gesamtsystems bzw. einer entsprechend ausgebildeten Datenbank oder eines Computers wesentlich weniger belastet. Zum Wiederherstellen des Dienstes 1 bzw. eines Dienst-Objekts sind in den Proxy-Objekten 2 entsprechende Mechanismen hard- und/oder softwaremäßig implementiert.Objects 1 are suspended and are only instantiated in the case when a corresponding call is made via the associated proxy object 2. Since the proxy objects 2 are much slimmer, or require less storage capacity, the computing capacity of the entire system or a correspondingly formed database or a computer is much less burdened. To restore the service 1 or a service object, corresponding mechanisms are implemented in hardware and / or software in the proxy objects 2.
Zusätzlich muss ein Manager 3 vorgesehen sein, der z.B. in den Applikationsrahmern 100 integriert ist, um die Ressourcenbelegung zu überwachen und insbesondere um nicht benötigte Dienste 1 zu suspendieren. In addition, a manager 3 must be provided, e.g. is integrated in the application frames 100 in order to monitor the resource usage and, in particular, to suspend unneeded services 1.

Claims

Ansprüche claims
1. Verfahren zum Betreiben eines Applikationsrahmens (100), der mehrere Bundles verwaltet, wobei ein Bündle anderen Bundles verschiedene Dienste, die durch Dienst-Objekte (1) realisiert werden, anbietet und die Dienste zur Freigabe von Speicherkapazitäten suspendierbar sind, dadurch gekennzeichnet, dass die Dienst-A method of operating an application frame (100) managing multiple bundles, wherein a bundle of other bundles offers different services realized by service objects (1) and the services are suspendable for releasing storage capacities, characterized in that the service
Objekte (1) durch Proxy-Objekte (2) ergänzt werden und dadurch entfernt werden können.Objects (1) can be supplemented by proxy objects (2) and thereby removed.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zum Wiederherstellen eines suspendierten oder noch nicht vorhandenen Dienstes das Dienst- Objekt (1) in einem Thread niedriger Priorität instanziiert wird.A method according to claim 1, characterized in that to restore a suspended or non-existent service, the service object (1) is instantiated in a low priority thread.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Priorität des Threads heraufgesetzt wird.3. The method according to claim 2, characterized in that the priority of the thread is increased.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass ein Manager (3) eine aktuelle Ressourcenbelegung überwacht.4. The method according to any one of claims 1 to 3, characterized in that a manager (3) monitors a current resource allocation.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der Applikationsrahmen (100) in einem OSGi-System betrieben wird.5. The method according to any one of claims 1 to 4, characterized in that the application frame (100) is operated in an OSGi system.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass beim Starten eines Systems die Proxy-Objekte (2) instanziiert werden.6. The method according to any one of claims 1 to 5, characterized in that when starting a system, the proxy objects (2) are instantiated.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass ein Thread zur7. The method according to claim 6, characterized in that a thread for
Instanziierung eines Dienst-Objektes (2) im Verlauf des Startens eines Systems gestartet wird. Instantiation of a service object (2) is started in the course of starting a system.
8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass der Thread erst nach dem Anmelden aller Proxy-Objekte (2) am Applikationsrahmen (100) gestartet wird.8. The method according to claim 6, characterized in that the thread only after the login of all proxy objects (2) on the application frame (100) is started.
9. Datenbank mit einem Applikationsrahmen (100), der mehrere Bundles verwaltet, wobei ein Bündle anderen Bundles verschiedene Dienste, die durch Dienst- Objekte (1) realisiert werden, anbietet und die Dienste zur Freigabe von Speicherkapazitäten suspendierbar sind , dadurch gekennzeichnet, dass die Dienst- Objekte (1) durch Proxy-Objekte (2) ergänzbar und dadurch entfernbar sind. 9. Database with an application frame (100), which manages multiple bundles, wherein a Bundle other bundles different services that are realized by service objects (1) offers, and the services for releasing storage capacities are suspendable, characterized in that the Service objects (1) by proxy objects (2) can be supplemented and thereby removed.
PCT/EP2007/055047 2006-06-19 2007-05-24 Method for the operation of an application framework, and corresponding database WO2007147697A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP07729478A EP2035927A1 (en) 2006-06-19 2007-05-24 Method for the operation of an application framework, and corresponding database

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006028012.1 2006-06-19
DE200610028012 DE102006028012A1 (en) 2006-06-19 2006-06-19 Method for operating an application frame and a corresponding database

Publications (1)

Publication Number Publication Date
WO2007147697A1 true WO2007147697A1 (en) 2007-12-27

Family

ID=38268708

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/055047 WO2007147697A1 (en) 2006-06-19 2007-05-24 Method for the operation of an application framework, and corresponding database

Country Status (3)

Country Link
EP (1) EP2035927A1 (en)
DE (1) DE102006028012A1 (en)
WO (1) WO2007147697A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114491A1 (en) * 2003-11-25 2005-05-26 Dennis Bushmitch SIP service for home network device and service mobility
US20050154785A1 (en) * 2004-01-09 2005-07-14 Reed Benjamin C. Method and system of mapping at least one web service to at least one OSGi service and exposing at least one local service as at least one web service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114491A1 (en) * 2003-11-25 2005-05-26 Dennis Bushmitch SIP service for home network device and service mobility
US20050154785A1 (en) * 2004-01-09 2005-07-14 Reed Benjamin C. Method and system of mapping at least one web service to at least one OSGi service and exposing at least one local service as at least one web service

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FRANK SOMMERS: "Activatable Jini services, Part 1: Implement RMI activation", January 2001 (2001-01-01), pages 1 - 11, XP002453761, Retrieved from the Internet <URL:http://web.archive.org/web/20010111054700/www.javaworld.com/javaworld/jw-09-2000/jw-0915-jinirmi_p.html> [retrieved on 20071004] *
SUNDERAM V ET AL: "Lightweight self-organizing frameworks for metacomputing", HIGH PERFORMANCE DISTRIBUTED COMPUTING, 2002. HPDC-11 2002. PROCEEDINGS. 11TH IEEE INTERNATIONAL SYMPOSIUM ON 23-26 JULY 2002, PISCATAWAY, NJ, USA,IEEE, 23 July 2002 (2002-07-23), pages 113 - 122, XP010601167, ISBN: 0-7695-1686-6 *

Also Published As

Publication number Publication date
DE102006028012A1 (en) 2007-12-20
EP2035927A1 (en) 2009-03-18

Similar Documents

Publication Publication Date Title
DE102010029209B4 (en) A method for dynamically distributing one or more services in a network of a plurality of computers
DE19754640A1 (en) Procedure for coordinating network components
DE102010011658A1 (en) Application platform and method for operating a data processing device with such
DE112011102242T5 (en) Apparatus for processing a batch processing unit
DE102012009482A1 (en) A functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device
DE102017106260A1 (en) Method and apparatus for distributing tasks of Autosar operating system
EP1711892A1 (en) Method for operating an arrangement of several computers in case of a computer failure
WO2005055056A1 (en) Method for loading software modules
DE102010011652A1 (en) Application platform and method for operating a data processing device with such
DE102004030781A1 (en) SCADA system for process monitoring and data handling has client server arrangement providing low data transmission loads
EP0360135B1 (en) Method of handling interrupts in a data processing system
EP4002098A1 (en) Method for providing functionality of multiple microservices and / or functionality of a plurality of software containers using a cloud infrastructure, system, use system, computer program, and computer readable medium
WO2007147697A1 (en) Method for the operation of an application framework, and corresponding database
EP1681798B1 (en) Facultative logging
WO2002103516A2 (en) Method for initializing a distributed software architecture and an electronic system
WO2009087056A1 (en) Method for the management of tasks in a decentralized data network
DE2507405A1 (en) PROCEDURE AND ARRANGEMENT FOR SYNCHRONIZING THE TASKS IN PERIPHERAL DEVICES IN A DATA PROCESSING SYSTEM
WO2020078835A1 (en) Control unit for controlling an information system
WO2021037378A1 (en) Method for automatic marking, cluster work node, cluster, network, computer program and computer-readable medium
DE102005053275B4 (en) Highly available computer network system
EP1461699A2 (en) Method and device for managing resources in a computer system
DE10131135B4 (en) Method for operating a network node
EP1697846A2 (en) Device and method for controlling and commanding monitoring detectors in a node of a cluster system
DE102017201156A1 (en) Creation and execution of software modules
DE69905999T2 (en) Update a centralized event journal

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2007729478

Country of ref document: EP

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

Ref document number: 07729478

Country of ref document: EP

Kind code of ref document: A1