-
TECHNISCHER HINTERGRUND
-
1. Fachgebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Speicherverwaltungssystem und – verfahren,
insbesondere ein Speicherverwaltungssystem und ein Verfahren für
offene Plattformen.
-
2. Beschreibung des Stands
der Technik
-
Im
Rahmen der Weiterentwicklung des digitalen Zuhauses und der rasanten
Entwicklung des Internets konzentriert sich die Entwicklung von
Anwendungssoftware zunehmend auf Dienste, wie z. B. Sicherheit im Heimbereich,
medizinische Versorgung, Heimautomatisierung und audiovisuelle Unterhaltung.
Um die unterschiedlichen Serviceansprüche der Nutzer zu
erfüllen, die Installation und die Verwaltung von entfernten
Anwendungen zu erleichtern und Schwierigkeiten der Nutzer bei der
Installation und der Einstellung zu beseitigen, ist die Entwicklung
einer offenen Softwarearchitekturplattform von außerordentlicher
Wichtigkeit und Notwendigkeit. Beispielsweise ist die offene Dienstplattform,
die von der Vereinigung der Open Service Gateway Initiative (OsGi)
vorgeschlagen wurde eine dieser Lösungen.
-
Da
die offene Plattform eine offene Plattformarchitektur bietet, können,
je nach Anforderungen der Nutzer, Dienstanwendungen mit unterschiedlichsten
Eigenschaften dynamisch geladen werden, um die unterschiedlichsten
Dienste den Nutzern anzubieten. Da die Dienstanwendungen jedoch
dynamisch in die offene Plattform hinzugefügt werden können,
könnten speicherintensive Dienstanwendungen oder solche, die
mit den Fähigkeiten der Systemplattform inkompatibel sind,
geladen werden und so zu einer Ressourcenüberlastung oder
-Verknappung in der offenen Plattform führen.
-
Die
offene Plattform und die Anwendungen teilen sich einen Speicherplatz
einer virtuellen Maschine und der Speicherplatz wird für
die Bereitstellung der Dienste zugewiesen und genutzt. Sobald der
verfügbare Speicherplatz, der ursprünglich in
der virtuellen Maschine zugewiesen wurde, unzureichend für
die Erfordernisse an Speicher zur Ausführung der Dienste
ist, kann ein Speichermangel-Fehler ausgelöst werden und
der Teilprozess mit dem Fehler wird eingestellt. Aufgrund der offenen
und auf gemeinsame Nutzung von Diensten ausgerichteten Architektur
der offenen Plattform, können Instanzen, die durch den
eingestellten Teilprozess erzeugt wurden, weiterhin durch andere
Anwendungen aufgerufen werden, so dass das System den benutzten Speicher
nicht zurückfordern kann. Für das gesamte System
kann deswegen die Ausführungsleistung für andere
Anwendungen im System beeinträchtigt, oder im schlimmsten
Fall sogar die Ausführung von Dienstes unterbrochen werden,
was zu einer Instabilität des System führt.
-
Die
folgenden Dokumente und Patente sind Beispiele des Standes der Technik:
(1)
Surupa Biswas, Matthew Simpson, Rajeev Barua, "Memory
Overflow Protection for Embedded Systems using Run-time Checks,
Reuse and Compression," CASES'04, 22.–25. September
2004. (2)
ndrajit Poddar, Robbie John Minshall, "Memory
leck detection and analysis in WebSphere Application Server," http://www-128.ibm.com/developerworks/websphere/library/techinstances/0606_poddar/0606_poddar.html,
28. Juni 2006. (3)
Chen, D. Messer, A. Milojicic,
D. Sandhya Dwarkadas, "Garbage collector assisted memory
offloading for memory-constrained devices," Mobile Computing
Systems and Applications 2003, 9.–10. Oktober 2003.
(4)
US Patent No. 7,010,661
B2 entitled ”Efficient Service Management in Home
Gateways.” (5)
US Patent
No. 5,699,539 entitled ”Virtual memory management
system and method using data compression.” (6)
US Patent No. 6,950,874 entitled ”Method
and system for management of resource leases in an application framework
system.” (7)
US Patent
No. 6,151,688 entitled ”Resource management in
a clustered computer system.”
-
Gemäß der
in den oben genannten Dokumenten und Patenten des Standes der Technik
beschrieben Verfahren werden gewisse Mechanismen zur Speicherüberprüfung
hinzugefügt, um Speichermangel-Fehler zu vermeiden. Oder
Instanzen können bei deren Ausführung komprimiert
werden und andere Speicherplätze können gemeinsam
benutzt und so verwendet werden, dass genügend Speicherplatz
zur Verfügung steht. Ebenso wird das Konzept der Verteilung
herangezogen, um die Ressourcen wirkungsvoll zu verwenden und gemeinsam
zu nutzen. Allerdings kann der Stand der Technik das Problem von
unzureichenden Speicherressourcen nicht wirksam lösen und
erfüllt das grundlegende offene und einfache Prinzip des
Standards für offene Plattformen nicht. Zudem sind die
zuvor genannten Verfahren im Heimbereich nicht anwendbar.
-
Deswegen
ist die Bereitstellung eines Speicherverwaltungssystems und eines
Verfahrens für eine offene Plattform notwendig, welches
die oben dargestellten Probleme löst.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Dementsprechend
ist die vorliegende Erfindung auf ein Speicherverwaltungssystem
für eine offene Plattform gerichtet, welches eine lokale
offene Plattform umfasst. Die lokale offene Plattform umfasst eine
Zentralprozessor(CPU)-Überwachungseinheit, eine Speicher(MEM)-Überwachungseinheit,
eine Entdeckungseinheit, eine Verwaltungseinheit und eine Vermittlungseinheit.
Die CPU-Überwachungseinheit überwacht dynamisch
die augenblickliche CPU-Auslastung. Die Speicherüberwachungseinheit überwacht
dynamisch die augenblickliche Speicherausnutzung. Die Entdeckungseinheit
verteilt dynamisch Informationen über die CPU- und Speicherauslastung
im Internet und durchsucht das Internet nach zugänglichen
Informationen von wenigstens einer entfernten offenen Plattform.
Wenn der Speicher einen gewissen Grenzwert überschreitet
ermittelt die Verwaltungseinheit eine entfernte offene Plattform
und leitet eine standardisierte Dienstanfrage ein. Die entfernte
offene Plattform registriert eine standardisierte Dienst-Zugriffsschnittstelle
in der erweiterten Registrierungseinheit der lokalen offenen Plattform,
so dass das lokale Ende auf die entsprechenden standardisierten Dienstinstanzen
zugreifen kann, die von der lokalen Dienst-Registriereinheit der
entfernten offenen Plattform mittels der standardisierten Dienst-Zugriffsschnittstelle
bereitgestellt werden, und außerdem den Zugriff auf den
entsprechenden standardisierten Dienst erhält, der von
dem entfernten offenen Plattformkandidaten bereitgestellt wird.
-
Die
vorliegende Erfindung betrifft außerdem ein Speicherverwaltungsverfahren
für eine offene Plattform. Das Verfahren umfasst: dynamisches Überwachen
der augenblicklichen CPU- und Speicherausnutzung einer lokalen offenen
Plattform; dynamisches Verteilen der Informationen über
die CPU- und Speicherauslastung im Internet und Durchsuchen des
Internets nach zugänglichen Informationen über
zumindest eine entfernte offene Plattform; Bestimmen eines entfernten
offenen Plattformkandidaten, wenn der Speicher einen bestimmten
Grenzwert überscheitet und Einleiten einer standardisierten
Dienstanfrage; und Erzeugen einer entsprechend standardisierten
Dienst-Zugriffsschnittstelle zum Zugriff auf den standardisierten
Dienst der durch den entfernten offenen Plattformkandidaten bereitgestellt
wird.
-
Durch
das System und das Verfahren der vorliegenden Erfindung, können
Probleme, die durch Speichermangel in einer offenen Plattform verursacht
werden, ohne professionelle Verwaltung gelöst werden, sodass die
Stabilität während des Betriebs erhalten bleibt
und Probleme für Nutzer und Verwalter beseitigt werden.
Insbesondere kann das System und das Verfahren der vorliegenden
Erfindung auf eine gebräuchliche standardisierte Diensteinheit
zugreifen, die von der entfernten offenen Plattform bereitgestellt
wird. Somit kann die entsprechend standardisierte Diensteinheit
der lokalen offenen Plattform entladen werden, um die Freigabe von
deren Speicherplatz zu erzwingen. Folglich wird die Systemstabilität
aufrechterhalten. Darüber hinaus kann die Ausführung
von Dienstanwendungen unter diesen Umständen fortgesetzt
werden, so dass das System nicht neu gestartet werden braucht. Die
Benutzung dieser Services wird von den Nutzern wegen der höheren
Zuverlässigkeit bei der Anwendung im digitalen Lebensstil
geschätzt und die Nutzer haben eine starke Motivation zur
Nutzung von Produkten, die für den digitalen Lebensstil
relevant sind. Darin verkörpert sich schließlich
die Idee des bequemen digitalen Lebensstils.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
eine schematische Übersicht der Systemarchitektur des Speicherverwaltungssystems
und -verfahrens einer offenen Plattform gemäß der
vorliegenden Erfindung;
-
2 zeigt
eine schematische Übersicht des erfindungsgemäßen
Speicherverwaltungssystem für eine offene Plattform;
-
3 zeigt
eine schematische Übersicht des erfindungsgemäßen
Speicherverwaltungssystems für eine offene Plattform mit
unzureichendem Speicherplatz;
-
4 zeigt
ein schematisches Ablaufdiagramm des ersten Schritts des erfindungsgemäßen
Speicherverwaltungsverfahrens für eine offene Plattform;
-
5 zeigt
ein schematisches Ablaufdiagramm des zweiten Schritts des erfindungsgemäßen
Speicherverwaltungsverfahrens für eine offene Plattform;
-
6 zeigt
ein schematisches Ablaufdiagramm des dritten Schritts des erfindungsgemäßen
Speicherverwaltungsverfahrens für eine offene Plattform;
-
7 zeigt
ein schematisches Ablaufdiagramm des vierten Schritts des erfindungsgemäßen
Speicherverwaltungsverfahrens für eine offene Plattform;
-
8 zeigt
ein schematisches Ablaufdiagramm des fünften Schritts des
erfindungsgemäßen Speicherverwaltungsverfahrens
für eine offene Plattform;
-
9 zeigt
ein schematisches Ablaufdiagramm des sechsten Schritts des erfindungsgemäßen
Speicherverwaltungsverfahrens für eine offene Plattform;
-
10 zeigt
ein schematisches Aktivitätsflussdiagramm des Speicherverwaltungssystems
für eine offene Plattform gemäß einer
Ausführungsform der vorliegenden Erfindung;
-
11 zeigt
eine schematische Übersicht eines standardisierten Kommunikationsprotokolls
von der erfindungsgemäßen Entdeckungseinheit;
-
12 zeigt
eine schematische Übersicht der Implementierung der Vermittlungseinheit
durch den Aufruf entfernter Methoden (Remote Method Invocation (RMI))
gemäß der vorliegenden Erfindung; und
-
13 zeigt
eine schematische Übersicht der Softwaremodule für
eine Vermittlungseinheit in der Praxis gemäß der
vorliegenden Erfindung.
-
DETAILIERTE BESCHREIBUNG DER ERFINDUNG
-
1 zeigt
eine schematische Übersicht der Systemarchitektur des Speicherverwaltungssystems
und -verfahrens für eine offene Plattform gemäß der
vorliegenden Erfindung. Das System 10 benutzt das Speicherverwaltungssystem
für eine offene Plattform der vorliegenden Erfindung und
umfasst eine Vielzahl von Wohnungen 11, 12, 13 und
eine Vielzahl von Dienstanbietern 14, 15. Die
Dienstanbieter 14, 15 umfassen einen Server 141, 151 und
einen entfernten Verwalter 142, 152. In den Wohnungen
bzw. bei den Dienstanbietern befinden sich vielfältige
Geräte mit offenen Plattformen, wie z. B. Gateways für
Dienste im Heimbereich 111, 121, 131,
Kabelmodems, Digitalempfänger, Telefone für das
weltweite Netz und dergleichen. Solche Geräte können
auf unterschiedliche Wohnungen verteilt sein, wobei sie seriell
miteinander durch das Internet verbunden sind. Obwohl die Geräte
der Nutzer unterschiedliche Funktionen haben, sind alle Geräte
der Nutzer für offene Plattformen ausgebildet, und besitzen
die gleichen Instanzen für die standardisierten Diensteinheiten. Somit
wird, falls das Problem eines unzureichenden Speichers am lokalen
Ende auftritt, die grundlegende Idee der gemeinsam genutzten Dienste
in offenen Plattformen verwendet, um die entfernte offene Plattform
dazu zu bringen, entsprechende Instanzen für standardisierte
gemeinsame Diensteinheiten zu erzeugen. Weiterhin wird auf die standardisierte
Diensteinheit zugegriffen und die entsprechende standardisierte
Diensteinheit am lokalen Ende wird entfernt, um damit die Speicherfreigabe
zu erzwingen, damit das System den normalen Betrieb fortsetzen kann.
-
2 zeigt
eine schematische Übersicht vom Speicherverwaltungssystem
für eine offene Plattform gemäß der vorliegenden
Erfindung. Das erfindungsgemäße Speicherverwaltungssystem
weist eine lokale offene Plattform 20 auf. Die lokale offene
Plattform 20 umfasst eine CPU-Überwachungseinheit 21,
eine Speicherüberwachungseinheit 22, eine Vermittlungseinheit 23,
eine Entdeckungseinheit 24, eine Verwaltungseinheit 25,
eine Vielzahl von standardisierten Diensteinheiten 26 und
eine Vielzahl von benutzerdefinierten Einheiten 27.
-
Die
CPU-Überwachungseinheit 21 überwacht
dynamisch die augenblickliche CPU-Auslastung. Die Speicherüberwachung 22 überwacht
dynamisch die augenblickliche Speicherauslastung. Die Entdeckungseinheit 24 verteilt
dynamisch die Informationen der CPU- und Speicherauslastung ins
Internet und durchsucht das Internet nach zugänglichen
Informationen über wenigstens eine entfernte offene Plattform.
Die Verwaltungseinheit 25 ermittelt einen entfernten offenen
Plattformkandidaten wenn der Speicher einen gewissen Grenzwert überschreitet
und leitet eine standardisierte Dienstanfrage ein. Die Vermittlungseinheit 23 generiert eine
entsprechend standardisierte Dienst-Zugriffsschnittstelle gemäß einer
Anfrage der entfernten offenen Plattform, um der entfernten offenen
Plattform den Zugriff auf den standardisierten Dienst in der lokalen
offenen Plattform zu ermöglichen.
-
Die
lokale offene Plattform 20 umfasst außerdem eine
offene Plattform 28. Die offene Plattform 28 umfasst
eine lokale Dienst-Registrierungseinheit 281 und eine erweiterte
Dienst-Registrierungseinheit 282. Die offene Plattform
ist auf einer virtuellen Maschine 29 ausgebildet. Die lokale
offene Plattform 20 umfasst weiterhin ein Betriebssystem 30 und
Hardware 31.
-
Die
entfernte offene Plattform trägt eine standardisierte Dienst-Zugriffsschnittstelle
in der erweiterten Dienst-Registrierungseinheit 282 der
lokalen offenen Plattform 20 ein, so dass das lokale Ende
auf die entsprechend standardisierten Dienstvorgänge zugreifen
kann, die von der lokalen Dienst-Registrierungseinheit über die
entfernte offene Plattform durch die entsprechende standardisierte
Dienst-Zugriffschnittstelle bereitgestellt werden, und außerdem
den Zugriff auf einen entsprechend standardisierten Dienst des entfernten
offen Plattformkandidaten erhält.
-
3 zeigt
eine schematische Übersicht des erfindungsgemäßen
Speicherverwaltungssystems für eine offene Plattform mit
unzureichendem Speicherplatz. Neben der lokalen offenen Plattform 20 umfasst
das Speicherverwaltungssystem der vorliegenden Erfindung weiterhin
eine entfernte offene Plattform 50. Der Aufbau der entfernten
offenen Plattform 50 entspricht im wesentlichen dem der
lokalen offene Plattform 20, und umfasst eine CPU-Überwachungseinheit 51,
eine Speicherüberwachungseinheit 52, eine Vermittlungseinheit 53,
eine Entdeckungseinheit 54, eine Verwaltungseinheit 55,
eine Vielzahl von standardisierten Diensteinheiten 56 und
eine Vielzahl von benutzerdefinierten Einheiten 57.
-
Die
CPU-Überwachungseinheit 51 der entfernten offenen
Plattform 50 überwacht dynamisch die augenblickliche
CPU-Auslastung. Die Speicherüberwachung 52 überwacht
dynamisch die augenblickliche Speicherauslastung. Die Entdeckungseinheit 54 verteilt
dynamisch die Informationen der CPU- und Speicherauslastung ins
Internet, und durchsucht das Internet nach zugänglichen
Informationen über wenigstens eine entfernte offene Plattform.
Die Verwaltungseinheit 55 empfängt eine standardisierte
Dienstanfrage von der lokalen offenen Plattform. Die Vermittlungseinheit 53 generiert
einen entsprechend standardisierten Dienst, um der lokalen offenen
Plattform den Zugriff auf den standardisierten Dienst zu ermöglichen.
-
Entsprechend
umfasst die entfernte offene Plattform 50 eine offene Plattform 58.
Die offene Plattform 58 umfasst eine lokale Dienst-Registrierungseinheit 581 und
eine erweiterte Dienst-Registrierungseinheit 582. Die offene
Plattform ist auf einer virtuellen Maschine 59 ausgebildet.
Die lokale offene Plattform 50 umfasst weiterhin ein Betriebssystem 60 und
Hardware 61.
-
Der
Betrieb des Speicherverwaltungssystems für eine offene
Plattform und des entsprechenden Verfahrens gemäß der
vorliegenden Erfindung wird im Folgenden unter Bezugnahme auf die
beigefügten Zeichnungen beschrieben.
-
4 zeigt
ein schematisches Verfahrensablaufdiagramm des ersten Schritts des
erfindungsgemäßen Speieherverwaltungsverfahrens
für eine offene Plattform. Nachdem das System gestartet
ist, kann jede offen Plattform (z. B. die lokale offene Plattform 20 und
die entfernte lokale Plattform 50) direkt die fünf
Diensteinheiten, wie z. B. die CPU-Überwachungseinheiten 21, 51,
die Speicherüberwachungseinheiten 22, 52,
die Vermittlungseinheiten 23, 53, die Entdeckungseinheiten 24, 54 und
die Verwaltungseinheiten 25, 55 laden und betreiben.
Darüber hinaus, überwachen und speichern die CPU-Überwachungseinheiten 21, 51 und
die Speicherüberwachungseinheiten 22, 52 die
augenblickliche CPU- und Speicherauslastung im Hintergrund, wie dies
in Schritt 1 der 4 gezeigt
wird.
-
5 zeigt
ein schematisches Verfahrensablaufdiagramm des zweiten Schritts
des erfindungsgemäßen Speicherverwaltungsverfahrens
für eine offene Plattform. Die Entdeckungseinheiten 24, 54 befragen
dynamisch die CPU-Überwachungseinheiten 21, 51 und
die Speicherüberwachungseinheiten 22, 52 über
die augenblickliche CPU- und Speicherauslastung, wie gezeigt in
Schritt 2.1 der 5 und verteilen dynamisch die Informationen
ins Internet 40, wie gezeigt in Schritt 2.2 der 5.
-
6 zeigt
ein schematisches Verfahrensablaufdiagramm des dritten Schritts
des erfindungsgemäßen Speicherverwaltungsverfahrens
für eine offene Plattform. Nachdem die Informationen über
die CPU- und Speicherauslastung der individuellen offenen Plattform
ins Internet 40 verteilt worden sind, durchsuchen auch die
Entdeckungseinheiten 24, 54 dynamisch das Internet 40,
um zugänglichen Informationen von wenigsten einer entfernten
offenen Plattform abzufragen, wie im Schritt 3.1 der 6 gezeigt.
Anschließend wird die Informationen in dem lokalen Informationsverzeichnis 32 gespeichert
und die gespeicherte Informationen wird dynamisch aktualisiert,
wie in Schritt 3.2 der 6 gezeigt.
Das Informationsverzeichnis 32 speichert Informationen über
die IP-Adresse, die CPU-Auslastung, die Speicherauslastung und die
Time to live (TTL) von jeder entfernten offenen Plattform.
-
7 zeigt
ein schematisches Verfahrensablaufdiagramm des vierten Schritts
des erfindungsgemäßen Speicherverwaltungsverfahrens
für eine offene Plattform. Die Situation, dass ein System
normal gestartet und betrieben wird, und der dynamisch verwendete
Speicher im lokalen Ende einen Grenzwert überschreitet, ist
im Schritt 4.1 der 7 gezeigt.
Entsprechend der gespeicherten Informationen im Informationsverzeichnis 32,
wertet und gewichtet die Verwaltungseinheit die Informationen, wie
Lebenszeit (TTL), CPU-Auslastung, Speicherauslastung, jeder entfernten
offenen Plattform, um daraus einen entfernten offenen Plattformkandidaten
zu ermitteln, siehe Schritt 4.2 in 7. In dieser
Ausführungsform ist der entfernte potentielle offene Plattformkandidat
die entfernte offene Plattform 50.
-
Die
lokale Verwaltungseinheit 25 leitet eine standardisierte
Dienstanfrage über die entfernten Verwaltungseinheit 55 an
die entfernte offene Plattform 50, die dem Ergebnis der
Kandidatenermittlungen entspricht, siehe Schritt 4.3 der 7.
Nach dem Empfang der Anfrage, veranlasst die Verwaltungseinheit 55 der
entfernten offenen Plattform, dass die Vertretungseinheit 53 Instanzen
des standardisierten Dienste gemäß der Anfrage
erzeugt, siehe Schritt 4.4 in 7. Nach
Empfang der Anfrage von der Verwaltungseinheit 55 der entfernten
offenen Plattform, erzeugt die Vermittlungseinheit 53 der
entfernten offenen Plattform entsprechende Instanzen für
standardisierter Dienste in der lokalen Dienst Registriereinheit 581,
wie gezeigt in Schritt 4.5 der 7.
-
8 zeigt
ein schematisches Verfahrensablaufdiagramm des fünften
Schritts des erfindungsgemäßen Speicherverwaltungsverfahrens
für eine offene Plattform. Wenn bei der kontinuierlichen
Ausführung neuer Anwendungsprogramme an dem lokalen Ende
der von einem Anwendungsprogramm benötigte Speicherplatz die
verfügbare Speichergröße des Systems überschreitet,
siehe Schritt 5.1 der 8, wird
die Verwaltungseinheit 25 zuerst die entfernte Verwaltung
und den Nutzer über die relevanten Nachrichten informieren,
wie gezeigt in Schritt 5.2 der 8. Daher
braucht der Nutzer wegen der damit verbundenen Verzögerungen
nicht verärgert zu sein und der Verwalter kann die Information über
den unzureichenden Speicher am lokalen Ende erhalten.
-
Die
lokale Verwaltungseinheit 25 leitet dann eine tatsächliche
Anfrage für eine standardisierte Diensteinheit an die Verwaltungseinheit 55 der
entfernten offenen Plattform ein, wie gezeigt in Schritt 5.3 der 8. Nachdem
Empfang der Anfrage veranlasst die Verwaltungseinheit 55 der
entfernten offenen Plattform, dass die Vermittlungseinheit 53 in
der offenen Plattform eine entsprechend standardisierte Dienst-Zugriffschnittstelle
in der erweiterten Registrierungseinheit 282 der lokalen
offenen Plattform 20 erzeugt, welche die gegenwärtige
Anfrage einleitete, siehe Schritt 5.4 in 8.
-
Nachdem
die Anfrage von der Verwaltungseinheit 55 der entfernten
offenen Plattform 50 empfangen wurde, erzeugt die Vermittlungseinheit 53 eine
entsprechend standardisierte Dienst-Zugriffsschnittstelle in der erweiterte
Registrierungseinheit 282 der lokalen offenen Plattform 20,
welche die gegenwärtige Anfrage einleitete, damit die lokale
offene Plattform 20 diese nutzen kann, wie gezeigt in Schritt 5.5 der 8.
-
9 zeigt
ein schematisches Verfahrensablaufdiagramm des sechsten Schritts
des erfindungsgemäßen Speicherverwaltungsverfahrens
für eine offene Plattform. Nachdem die entfernte offene
Plattform 50 erfolgreich die standardisierte Dienstzugriffsschnittstelle
eingetragen hat, kann die lokale offene Plattform 20 auf
die standardisierten Dienstinstanzen, die von der lokalen Registrierungseinheit 581 der entfernten
offenen Plattform 50 durch die erweiterte Zugriffsschnittstelle
in die erweitere Registrierungseinheit 282 bereitgestellt worden
sind, und außerdem auf die standardisierten Dienste, die
von der entfernten offenen Plattform 50 angeboten werden,
zugreifen, siehe Schritt 6.1 in 9.
-
Nach
dem Zugriff auf den entsprechenden standardisierten Dienst der entfernten
offenen Plattform 50, wird die entsprechend standardisierte
Diensteinheit von der lokalen offen Plattform zur Speicherplatzfreigabe entladen,
wie gezeigt in Schritt 6.2 der 9. Nachdem
die gesamte Umwandlung erfolgreich erledigt wurde, beginnt die lokale
offene Plattform 20 auf die standardisierten Dienstinstanzen
der entfernten offenen Plattform 50 zuzugreifen, so dass
das System die Ausführung neuer Anwendungsprogramme ohne
Neustart im normalen Betrieb fortführen kann. Nachdem der
gesamte Umwandlungsvorgang abgeschlossen ist, informiert die Verwaltungseinheit 25 der
lokalen offenen Plattform 20 den Verwalter und den Nutzer,
ob die Umwandlung erfolgreich war oder nicht, wie gezeigt in Schritt 6.3 der 9.
Da die Speicherverwaltungsmethode für offene Plattformen
gemäß der vorliegenden Erfindung den Aufbau von
offenen Plattformen übernimmt, sind die zuvor erwähnten
austauschbaren standardisierten Diensteinheiten standardisierte
Diensteinheiten, die in jeder offenen Plattform verfügbar
und ausführbar sind, wie z. B. in einem offenen häuslichen
Dienstgateway.
-
Ein
derzeit auf den Markt erhältliches OSGi-Gateway für
Dienste im Heimbereich wird im Folgenden als Beispiel herangezogen,
um die Implementation der Systemarchitektur und das Verfahren gemäß der
vorliegenden Erfindung zu erläutern. Beispielsweise werden
Knopflerfish-OSGi-Middlewareprogramme für offene Dienste
auf vier Computer ausgeführt, um ein lokales Gerät
und drei entfernte Geräte zu simulieren. Nachdem alle virtuellen
Maschinen in Betrieb sind, wird jeder eine Speichergröße
von 18 Mbytes zugewiesen, und die Speichergrenze auf 16 Mbytes festgelegt. 10 zeigt
einen schematisches Aktivitätsflussdiagramm eines Speicherverwaltungsverfahrens
für eine offene Plattform gemäß einer
Ausführungsform der vorliegenden Erfindung, wobei die einzelnen
Schritte im Folgenden erläutert werden.
-
In
Schritt
1 verwenden die vier OSGi-Gateways für
Dienste im Heimbereich nach dem Start des Systems zwei Diensteinheiten,
nämlich die CPU-Überwachungseinheit und die Speicherüberwachungseinheit,
um im Hintergrund Informationen über die CPU- und Speicherauslastung
zu sammeln. Die Entdeckungseinheit benutzt ein standardisiertes
Kommunikationsprotokoll mit automatischer Entdeckungsfunktion, z.
B. das Service Location Protocol (SLP), das Universal Plug and Play
(UPnP) oder die Java Intelligent Network Infrastructure (Jini),
um die Informationen in das Internet zu verteilen und um Informationen über
die augenblicklich verfügbare entfernte offene Plattform
und ihre fernen Dienste zu sammeln, siehe
11. In
dieser Ausführung wird ein abgespecktes SLP für
das standardisierte Kommunikationsprotokoll mit einer automatischen
Entdeckungsfunktion in die Entdeckungseinheit implementiert. Die
gesammelten Informationen beinhalten die IP-Adresse, die CPU-Auslastung,
die Speicherauslastung usw.. Der Netzwerkbefehl ”fing” wird
indirekt benutzt, um die relevanten Informationen über
die Lebenszeit (TTL) zu erhalten, wobei die Informationen in das
Informationsverzeichnis
32 in jeden OSGi-Gateway für
Dienste im Heimbereich gespeichert werden, und weiterhin die Informationen
dynamisch im Informationsverzeichnis aktualisiert werden. In diesem
Aufbau werden nur drei Arten von Informationen gespeichert: die
CPU-Auslastung, die Speicherauslastung und die Lebenszeit (TTL),
die entsprechend 30%, 35% und 25% gewichtet sind, um die geeignete
entfernte offene Plattform zu ermittelt, wie in Tabelle 1 gezeigt.
| IP-Adresse | freier
Speicher (35%) | CPU-Last
(30%) | Lebenszeit
TTL (25%) |
| 140.96.194.1 | 12368
KB | 34,7% | 128 |
| 140.96.194.2 | 2872
KB | 27,4% | 128 |
| 140.96.194.3 | 6680
KB | 79,3% | 128 |
-
In
Schritt 2 wird, nachdem das System gestartet ist und sich
im normalen Betrieb befindet, einigen Diensteinheiten Speicher zugewiesen,
die dann vorsätzlich auf dem lokalen Ende gestartet werden,
wobei deren Speichergebrauch durch die virtuelle Maschine auf 15
Mbytes festgelegt ist. Anschließend wird einer Diensteinheit
ein Speicher von 2 Mbytes zugewiesen, die dann geladen wird, und
in diesem Moment kann die Speichergrenze von 16 Mbytes überschritten
werden, wie gezeigt in Schritt 2.1 der 10.
Gemäß der in dem im Schritt 1 dieser
Ausführungsform in Verbindung mit 10 erwähnten
Informationsverzeichnis gespeicherten Informationen, wertet und
gewichtet das lokale Ende die drei Arten von Informationen, nämlich
die CPU-Auslastung, die Speicherauslastung und die Lebenszeit (TTL), über
jede entfernte offene Plattform, um so den optimalen Kandidaten
für die entfernte offene Plattform zu ermitteln. In dieser
Ausführung wäre die IP-Adresse des Knadidaten
für die entfernten offene Plattform 140.96.194.1, d. h.
die erste entfernte Plattform.
-
Die
lokale offene Plattform leitet schließlich eine standardisierte
Dienstanfrage an das entfernte OSGi-Gateway für Dienste
im Heimbereich mit der IP-Adresse 140.96.194.1 durch die Verwaltungseinheit
ein. Ebenso werden in dieser Ausführung zwei weitere standardisierte
Diensteinheiten „Log” und „User Admin” als standardisierte
Diensteinheiten für die entfernte offene Plattform ausgewählt.
Sobald die Verwaltungseinheit der entfernten offenen Plattform die
Anfrage erhält, erstellt sie durch die Vermittlungseinheit
der Anfrage entsprechende Instanzen mit standardisierten Diensteinheiten
in der lokalen Dienst-Registrierungseinheit, siehe Schritt 2.2 der 10.
-
In
dieser Ausführung wird für die Implementierung
der Vermittlungseinheit die Methode des Aufrufs entfernter Methoden
(RMI) verwendet, siehe 12. In dieser Ausführung
werden die Enden A und B als lokales bzw. entferntes Ende genutzt.
Die Vertretungseinheit 23 in der lokalen offenen Plattform
umfasst eine Dienst-Registriereinheit von A 231, eine RMI-Registriereinheit
von A 232, und eine RMI-Registriereinheit von B 233.
Die Vermittlungseinheit 53 in der entfernten offenen Plattform
umfasst eine Dienst-Registriereinheit von B 531, eine RMI-Registriereinheit
von B 532, und eine RMI-Registriereinheit von A 533.
Die RMI-Technik unterstützt entfernte Registrierdienste
und bietet entfernten Dienstzugriff an, so dass durch die RMI-Technik,
das lokale Ende seine Dienstanwendungen in seiner eigenen Dienst-Registrierungseinheit
eintragen kann, und außerdem seine Dienstanwendungen in
die Registrierungseinheiten für entfernte Aufrufe von entfernten
Nutzern eintragen kann. Basierend auf der RMI-Technik kann das lokale
Ende nicht nur auf seine Dienstanwendungen, sondern auch auf Dienstanwendungen
anderer Nutzer durch die Dienst-Registrierungseinheiten für
entfernte Aufrufe zugreifen.
-
13 zeigt
eine schematische Übersicht der Softwaremodule für
eine Vermittlungseinheit in der Praxis gemäß der
vorliegenden Erfindung. Zum Beispiel umfasst die Vermittlungseinheit 23 der
lokalen offenen Plattform eine RMI-Handle 235 und eine
entfernte Dienst-Zugriffsschnittstelle 236. Das RMI-Handle
erfüllt die Hauptfunktionen der Vermittlungseinheit 23 zur
Unterstützung des entfernten Registrierungsdienstes und
bietet den entfernte Dienstzugriff an. Das entfernte OSGi-Gateway
für Dienste im Heimbereich kann seinen standardisierten
Dienst einer lokalen offenen Plattform durch die entfernte Dienst-Zugriffsschnittstelle 236 anbieten.
Schließlich werden in den beiden Dienst-Registriereinheiten,
namentlich der lokalen Dienst-Registrierungseinheit 281 und
der erweiterten Dienst-Registrierungseinheit 282 der lokalen
offenen Plattform, eine Vielzahl von Attributen 73, 74, 83, 84 verwendet,
um zu ermitteln, ob eine Vielzahl von Dienstvorgängen 71, 72, 81, 82 zu
den Dienstinstanzen der lokalen offenen Plattform oder zur Dienst-Zugriffsschnittstelle
der entfernten offenen Plattform gehören.
-
In
Schritt 3 wird, sobald ein neues Anwendungsprogramm, welches
so ausgelegt ist, dass es Speicherplatz von 2 Mbytes zugewiesen
bekommt, am lokalen Ende ausgeführt wird und dabei die
von dem Anwendungsprogramm benötigte Größe
an Speicherplatz die verfügbare Speichergröße
im System überschreitet, das erfindungsgemäße
Verfahren ausgeführt, um das Problem des unzureichenden
Speicherplatzes zu lösen. Bevor das Verfahren ausgeführt
wird, informiert die Verwaltungseinheit zunächst den entfernten
Verwalter und den Nutzer, wie in Schritt 3.1 der 10 dargestellt,
mit den relevanten Nachrichten so, dass der Verwalter und Nutzer
die Information über den unzureichenden Speicher am lokalen
Ende erhalten kann. Dann leitet das lokale Ende die standardisierte
Dienstanfrage zu dem entfernten OSGi-Gateway für Dienste
im Heimbereich mit der IP-Adresse 140.96.194.1 durch die Verwaltungseinheit
weiter. Nach Empfang der tatsächlichen Anfrage, registriert
die Verwaltungseinheit der entfernten offenen Plattform dementsprechend
die Zugriffsschnittstellen der „Log”- und „User
Admin”-Diensteinheiten auf die lokale offene Plattform
durch die Vermittlungseinheit, siehe Schritt 3.2 der 10.
Nachdem die entfernte offen Plattform die Zugriffschnittstellen
für die Instanzen der standardisierten Diensteinheit registriert
hat, startet die lokale offene Plattform den Zugriff auf die Instanzen der
standardisierten Diensteinheiten der entfernten offenen Plattform
durch die Zugriffsschnittstelle mit den Instanzen der standardisierten
Diensteinheiten. Danach werden die entsprechenden standardisierten
Diensteinheiten der lokalen offenen Plattform entladen, damit der
unzureichende Speicherplatz freigegeben wird, siehe Schritt 3.3 der 10.
-
In
Schritt 4 wird schließlich gemäß der
experimentellen Ergebnisse ein Speicherplatz von 1.7 Mbytes freigegeben,
nachdem die beiden Diensteinheiten „Log” und „User
Admin” in die lokale offene Plattform entladen wurden.
Sobald das lokale Ende mit dem Zugriff auf Instanzen der standardisierten
Diensteinheiten des entfernten Endes beginnt, wie gezeigt in Schritt 4 der 10,
kann das System mit der Ausführung des neuen, in Schritt 3 erwähnten
Anwendungsprogramms im normalen Betrieb, ohne das System neu starten
zu müssen, fortfahren. Nachdem alle Prozesse des Verfahrens
abgeschlossen sind, informiert die lokale offene Plattform den Verwalter
und den Nutzer, ob die Umwandlung erfolgreich war oder nicht.
-
Schließlich
sei noch klargestellt, dass die standardisierten Diensteinheiten
der Knopflerfish-OSGi-Middleware für offene Dienste in
dem entfernten OSGi-Gateway für Heimdienste durch erfindungsgemäße Vorgehensweise
registriert werden können. Die Diensteinheiten, auf die über
das entfernte OSGi-Gateway für Heimdienste zugegriffen
werden kann, umfassen: Bundle Registry, Declarative Services, JSDK
API, Log Service, Measurement, Metatype, Preferences, Misc. Utilities
Lib, kSOAP Service API, User Admin. Service, WireAdmin API, XML
API, Initial Provisioning und andere standardisierte Diensteinheiten.
Gemäß der Statistik über die experimentellen
Resultate kann Speicherplatz von etwa 5.24 Mbytes freigegeben werden,
was die Praktikabilität und Durchführbarkeit des
in der vorliegenden Erfindung offenbarten Speicherverwaltungssystem und
-verfahrens für eine offene Plattform belegt.
-
Das
System und das Verfahren der vorliegenden Erfindung können
Probleme im Zusammenhang mit unzureichendem Speicherplatz in einer
offenen Plattform in Abwesenheit eines professionellen Verwalters
lösen und dabei die Systemstabilität im Betrieb
aufrechterhalten und Unannehmlichkeiten für Nutzer und
Verwalter beseitigen. Das System und das Verfahren der vorliegenden
Erfindung können auf eine allgemeine standardisierte Diensteinheit
zugreifen, die von der entfernten offenen Plattform generiert wurde.
Die entsprechend standardisierte Diensteinheit in der lokalen offenen
Plattform wird entladen, um die Freigabe vom Speicherplatz zu erzwingen.
Auf diese Weise wird die Systemstabilität beibehalten.
Darüber hinaus kann die Ausführung von Dienstanwendungen
unter den Umständen weitergeführt werden, dass
das System nicht neu gestartet werden braucht. Die Benutzung dieser
Dienste wird von den Nutzern wegen der höheren Zuverlässigkeit
bei der Anwendung im digitalen Lebensstil geschätzt, und
die Nutzer haben eine starke Motivation zur Nutzung von Produkten,
die für den digitalen Lebensstil relevant sind. Darin verkörpert
sich schließlich die Idee des bequemen digitalen Lebensstils.
-
Während
Ausführungsformen der vorliegenden Erfindung veranschaulicht
und beschrieben worden sind, können noch vielfältige
Modifikationen und Verbesserungen vom Fachmann durchgeführt
werden. Die Ausführungsformen der vorliegenden Erfindung
wurden daher rein illustrativ und nicht im einschränkenden Sinn
beschrieben. Die vorliegende Erfindung soll daher nicht auf die
besondere hier veranschaulichte Form beschränkt werden,
sondern alle Modifikationen, die die Idee und den Umfang der vorliegenden
Erfindung beinhalten, liegen im Schutzbereich der beigefügten
Ansprüche.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - US 7010661
B2 [0005]
- - US 5699539 [0005]
- - US 6950874 [0005]
- - US 6151688 [0005]
-
Zitierte Nicht-Patentliteratur
-
- - Surupa Biswas,
Matthew Simpson, Rajeev Barua, ”Memory Overflow Protection
for Embedded Systems using Run-time Checks, Reuse and Compression,” CASES'04,
22.–25. September 2004 [0005]
- - ndrajit Poddar, Robbie John Minshall, ”Memory leck
detection and analysis in WebSphere Application Server,” http://www-128.ibm.com/developerworks/websphere/library/techinstances/0606_poddar/0606_poddar.html,
28. Juni 2006 [0005]
- - Chen, D. Messer, A. Milojicic, D. Sandhya Dwarkadas, ”Garbage
collector assisted memory offloading for memory-constrained devices,” Mobile
Computing Systems and Applications 2003, 9.–10. Oktober
2003 [0005]