[go: up one dir, main page]

DE10148875A1 - Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten - Google Patents

Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten

Info

Publication number
DE10148875A1
DE10148875A1 DE10148875A DE10148875A DE10148875A1 DE 10148875 A1 DE10148875 A1 DE 10148875A1 DE 10148875 A DE10148875 A DE 10148875A DE 10148875 A DE10148875 A DE 10148875A DE 10148875 A1 DE10148875 A1 DE 10148875A1
Authority
DE
Germany
Prior art keywords
software
terminal
pal
sof
pec
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.)
Withdrawn
Application number
DE10148875A
Other languages
English (en)
Inventor
Werner Dorrer
Andreas Mayerhofer
Thomas Roeck
Josef Weis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Corp
Original Assignee
Siemens Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Corp filed Critical Siemens Corp
Priority to DE10148875A priority Critical patent/DE10148875A1/de
Priority to PCT/DE2002/003726 priority patent/WO2003032156A2/de
Priority to US10/491,526 priority patent/US20040237078A1/en
Priority to EP02774441A priority patent/EP1438658A2/de
Priority to BR0213061-0A priority patent/BR0213061A/pt
Priority to CNA028197542A priority patent/CN1564979A/zh
Publication of DE10148875A1 publication Critical patent/DE10148875A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Aktuellhalten von Software (sof) auf verschiedenen Endgeräten (PEC, PAL), welche an ein Kommunikationsnetzwerk (NET) angebunden sind, über welches diese miteinander kommunizieren können. Auf Anforderung wird der Softwarezustand der einem der Endgeräte (PEC) ablaufenden Software (sof) über das Kommunikationsnetzwerk (NET) an das zweite Endgerät (PAL) übertragen, und eine auf dem zweiten Endgerät (PAL) ablaufende, der Software (sof) auf dem ersten Endgerät (PEC) entsprechende Software wird mit dem übertragenen Softwarezustand versehen, läuft, und auf dem zweiten Endgerät (PAL) in dem zuletzt auf dem ersten Endgerät (PEC) aktuellen Zustand weiter. Bei der verwendeten Software handelt es sich beispielsweise um eine Agentensoftware.

Description

  • Die Erfindung betrifft ein Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten, welche an ein Kommunikationsnetzwerk angebunden sind, über welches diese miteinander kommunizieren können.
  • Moderne Anwender verfügen in der Regel über verschiedene Geräte wie Personal-Computer, etwa Desktop- und/oder Laptop- Computer, Mobilfunkgeräte, Handheld-Computer, etc. In der Regel besteht dabei der Wunsch, auf all diesen Geräten die jeweils aktuellsten Daten zur Verfügung zu haben. So laufen beispielsweise auf den angeführten Geräten Softwareprogramme für die Verwaltung von Daten ab, etwa betreffend Kontaktinformationen oder Terminaufzeichnungen des Anwenders.
  • Ein neuer Eintrag beispielsweise in die Terminkalender-Software seines Handheld-Computers macht es nun für einen Anwender notwendig, dass er in einer relativ aufwändigen Prozedur all seine zusätzlichen Geräte, auf denen er diese Daten ebenfalls in ihrer aktuellsten Version nutzen möchte, auf den letzten Stand bringen muss. Dazu sind in der Regel die Geräte über üblicherweise von Gerät zu Gerät unterschiedliche Schnittstellen miteinander zu verbinden. Vorteilhaft ist es auch, wenn auf den abzugleichenden Geräten dieselbe Software läuft, um den Updateprozess einfach und unproblematisch zu gestalten.
  • Nachteilig an dieser Vorgangsweise ist nun, wie die Praxis zeigt, dass einerseits der ständig notwendige Updatevorgang von vielen Anwendern als mühsam empfunden und diese Updates daher oftmals nur unregelmäßig durchgeführt werden, was häufig zu sich voneinander unterscheidenden Datensätzen auf den unterschiedlichen Geräten führt.
  • Andererseits tritt zumeist auch noch der Fall auf, dass die unterschiedlichen Geräte unter verschiedenen Betriebssystemen laufen, mit unterschiedlichen Softwareprogrammen für die Bearbeitung etwa eines Kontaktdatensatzes, sodass hier der Updatevorgang zusätzlich noch erschwert wird und oftmals Informationen bei einem Abgleichen der Daten verloren gehen.
  • Die oben genannten Probleme treten aber nicht nur bei den für viele Benutzer einsichtigen Fällen der Termin- und Datenverwaltung auf, sondern grundsätzlich auch bei jeder Änderung an der Software selbst, die ein Benutzer durchführt. Werden beispielsweise auf dem Desktop-Computer bestimmte Einstellungen an einer Software verändert, so müssen diese auf dem Laptop- Computer wiederum separat von dem Benutzer eingestellt werden, damit auf beiden Computern dieselbe Konfiguration benutzt werden kann.
  • In diesem Zusammenhang soll gleich vorweg eine Begriffsdefinition vorgenommen werden. Der eingangs eingeführte Begriff "Softwarezustand" bezieht sich in diesem Dokument einerseits auf tatsächliche Zustände betreffend die Software, d. h. Konfigurationsänderungen etc. an der Software selbst, andererseits sind darunter aber auch beispielsweise "Zustände" von Daten, die mit der entsprechenden Software bearbeitet, betrachtet, etc. werden können, zu verstehen. In diesem Sinne befindet sich beispielsweise eine Terminverwaltungssoftware "X" mit den Datensätzen "A" und "B" in einem anderen Softwarezustand als dieselbe Terminverwaltungssoftware "X" mit den Datensätzen "A", "B" und "C".
  • Es ist eine Aufgabe der Erfindung, für oben genannte Probleme eine Lösung anzugeben.
  • Diese Aufgabe wird mit einem eingangs erwähnten Verfahren dadurch gelöst, dass erfindungsgemäß
  • a) auf Anforderung zumindest der Softwarezustand der auf zumindest einem der Endgeräte ablaufenden Software über das Kommunikationsnetzwerk an das zweite Endgerät übertragen wird, und
    • a) eine auf dem zweiten Endgerät ablaufende, der Software auf dem ersten Endgerät entsprechende Software mit dem übertragenen, aktuellen Softwarezustand versehen wird und auf dem zweiten Endgerät in dem zuletzt auf dem ersten Endgerät aktuellen Zustand weiterläuft.
  • Mit Hilfe des erfindungsgemäßen Verfahrens wird einfach der aktuellste Softwarezustand auf ein anderes gewünschtes Gerät transferiert, wo eine der auf dem ursprünglichen Gerät ablaufenden Software entsprechende Software mit dem aktuellen Zustand versehen wird und dann in dem letzten Zustand weiterläuft.
  • Besonders vorteilhaft ist es, wenn die der Software auf dem ersten Endgerät entsprechende Software auf dem zweiten Endgerät von einem Speicherort auf das zweite Endgerät übertragen wird.
  • Während eine Übertragung des varianten Teiles der Software, die oben auch als "Softwarezustand" bezeichnet wird, für ein Aktuellhalten unbedingt notwendig ist, muss eine Übertragung der Software an sich, d. h. des invarianten, ablauffähigen Teiles der Software, nicht unbedingt stattfinden. Allerdings bringt die Übertragung eines "Mit- oder Nachziehens" der Software an sich auf das zweite Endgerät - unabhängig davon, von welchem Ort die Software auf das zweite Endgerät gelangt - die Vorteile, dass die Software nur auf einem Gerät "installiert" werden muss, was naturgemäß den entsprechenden Aufwand verringert, und auf besonders zuverlässige Weise sichergestellt ist, dass die Software auf dem jeweils gewünschten Endgerät in ihrem aktuellsten Zustand und auch in der selben Software-Version wie auf dem ursprünglichen Gerät abläuft.
  • Beispielsweise wird als Speicherort der Software ein Softwareserver verwendet, der an das Kommunikationsnetz angebunden ist. Auf diesem ist die Software zentral gespeichert bzw. wird bei Anforderung auf diesem erzeugt und kann bei Bedarf auf das jeweils gewünschte Endgerät übertragen werden.
  • Es kann aber auch vorgesehen sein, dass als Speicherort der Software das Endgerät, auf welchem die Software ursprünglich abläuft, verwendet wird. Auf diese Weise wird bei einem Wechsel zwischen zwei Endgeräten eine Unabhängigkeit von einem zentralen Server erreicht.
  • Ein technisch einfach zu realisierende Übertragung ist gewährleistet, wenn bei dem erfindungsgemäßen Verfahren in Schritt a) der Softwarezustand in eine Nachricht verpackt wird, welche an das zweite Endgerät übermittelt wird.
  • Besonders einfach lässt sich das Verfahren realisieren wenn als Software eine Agentensoftware verwendet wird. Eine solche Software verfügt über spezielle Eigenschaften, die weiter unten in der Beschreibung detailliert erläutert werden. Aufgrund dieser Eigenschaften eignen sich Agenten für die Verwendung in dem erfindungsgemäßen Verfahren besonders gut.
  • Damit die Software rasch und zuverlässig auf das neue Endgerät transferiert wird, ist es von Vorteil, wenn die Nachricht weiters noch den Speicherort der Software enthält, von wo die Software dann auf das gewünschte neue Endgerät transferiert wird. Im Falle von Softwareagenten ist es dabei nur notwendig, dass die Nachricht zumindest den Namen der Hauptklasse und den Speicherort der Klassendefinitionen des Agenten enthält. Nachdem die Nachricht gelesen wurde, kann im Falle von Agentensoftware der entsprechende, zumindest eine oder auch mehrere Agent/Agenten dann aus diesen Angaben auf dem zweiten Endgerät erzeugt und mit dem Softwarezustand versehen werden und dann ablaufen.
  • Die Klassendefinitionen sind kompilierter JAVA Code. Üblicherweise wird der Code jeder Klasse in einem eigenen Classfile abgespeichert. Er liegt dort in einer genormten binären Form vor, die von jedem Interpreter gelesen werden kann. Wird das Programm gestartet, übersetzt der Interpreter das Classfile in rechnerspezifischen Maschinencode und erzeugt das Programm. Immer wenn er dabei eine neue Klasse anlegen muss, holt er sich deren Definition von ihrem Speicherort.
  • Die Hauptklasse ist jene Klasse, von welcher aus ein Interpreter Schritt für Schritt die Pfade zu allen Klassen findet, die er braucht um den Agenten zu erzeugen.
  • Möglich wäre es auch die Klassendefinitionen auf den persönlichen Geräten lokal abzuspeichern, um den Ladevorgang zu beschleunigen, wobei man aber Versionsänderungen dann auf allen Geräten extra mitziehen müsste.
  • Damit ein Benutzer bei einem Wechsel auf das neue Endgerät seine Software im aktuellen Softwarezustand nachziehen kann, ist grundsätzlich vorgesehen, dass die Anforderung mittels des ersten Endgerätes, auf welchem die Software abläuft, abgesetzt wird.
  • Alternativ oder zusätzlich ist es aber auch möglich, dass die Anforderung von dem zweiten Endgerät über das Kommunikationsnetzwerk an das erste Endgerät gestellt wird, wo sie an die Software übermittelt wird, und diese dann die entsprechenden Schritte für einen Transfer auf das neue Endgerät setzt.
  • Bei der Anforderung wird dabei eine eindeutige Adresse des Endgerätes, an welches die Software und der Softwarezustand zu transferieren ist, an die Software übermittelt, damit diese auch zuverlässig an den richtigen Bestimmungsort transferiert werden. Diese Adresse kann entweder bereits abgespeichert oder aber auch extra von dem Benutzer eingegeben werden.
  • Bei Verwendung des Internets als Kommunikationsnetz wird als Adresse eine IP-Adresse des Endgerätes verwendet.
  • Damit bei einem Transfer auf dem neuen Endgerät immer der aktuellste Zustand abläuft, ist vorgesehen, dass nach Einlangen der Anforderung die Software auf dem ersten Endgerät in ihrem Ablauf angehalten und diese bzw. der Softwarezustand an das zweite Endgerät transferiert wird.
  • Gewisse Anwendungen, etwa bei einer Telefonverbindung, welche mit der Software realisiert ist, ist es notwendig, dass während des Transfers die Verbindung aufrecht gehalten wird. Aus diesem Grund ist es zumindest in solchen Fällen zweckmäßig, wenn eine Kopie der Software mit ihrem aktuellen Softwarezustand erzeugt und diese Kopie auf das zweite Endgerät transferiert wird, und nicht beispielsweise gleich die gesamte Software von einem Endgerät auf das andere transferiert wird.
  • Erst bei einem ordnungsgemäßen Ablauf der Software auf dem zweiten Endgerät wird dann der Ablauf der Software auf dem ersten Gerät beendet.
  • Damit der letzte, aktuelle Softwarezustand nicht verloren geht, wird bei einem Abschalten aller Endgeräte bzw. einem Deaktivieren der Software auf allen Endgeräte, die beispielsweise einem Benutzer zugeordnet sind, der letzte, aktuelle Zustand über das Kommunikationsnetz an einen an das Kommunikationsnetzwerk angebundenen Softwareserver übermittelt und von diesem abgespeichert.
  • Bei einem neuerlichen Aktivieren eines der Endgeräte und gegebenenfalls einer entsprechenden Anforderung wird dann die ohnehin auf dem Softwareserver abgespeicherte Software auf das Endgerät übertragen - bzw. bei einer Agentensoftware die Software erzeugt und auf das Endgerät übertragen -, zusätzlich der gespeicherte Softwarezustand übertragen, und die Software mit diesem versehen, sodass sie im aktuellsten Zustand weiterlaufen kann.
  • Damit eine reibungsloser Ablauf der Software auf verschiedenen, in der Regel unterschiedlichen Endgeräten gewährleistet ist, ist es notwendig, dass auf den Endgeräten und dem Softwareserver die gleiche Laufzeitumgebung für die Software verwendet wird.
  • Bei einer konkreten Ausführungsform der Erfindung wird als Laufzeitumgebung JAVA verwendet.
  • Die Software, die im Zusammenhang mit der Erfindung verwendet wird, kann grundsätzlich eine beliebige Software, etwa eine Textverarbeitung etc. sein. Besonders günstig ist die Erfindung beispielsweise anzuwenden, wenn die Software eine Software zur Realisierung von Sprachverbindungen und/oder Datenverbindungen ist, da in diesem Fall eine Verbindung ohne Unterbrechung der Verbindung zwischen zwei Endgeräten übergeben werden kann.
  • Im folgenden ist die Erfindung an Hand der Zeichnung näher erläutert. In dieser zeigen
  • Fig. 1 und Fig. 2 ein grundsätzliches System zum Durchführen des erfindungsgemäßen Verfahrens,
  • Fig. 3 und Fig. 4 ein System zum Durchführen eines erfindungsgemäßen Verfahrens im Zusammenhang mit einer Voice-over-IP-Verbindung von Endgeräten eines Benutzers mit einer Gegenstelle, und
  • Fig. 5 den Lebenszyklus eines im Rahmen der Erfindung verwendeten Softwareagenten.
  • Die Fig. 1 und 2 zeigen ein erstes einfaches Beispiel für das aktuell Halten von Software sof bzw. Softwarezuständen auf mehreren Endgeräten PEC, PAL. Ein Benutzer verfügt beispielsweise über einen Desktop-Computer PEC und andererseits auch noch über einen Handheld-Device PAL. Gemäß der grundsätzlichen Idee der Erfindung läuft nun nicht mehr wie bisher üblich auf jedem dieser Geräte PAL, PEC eine eigene Software für eine bestimmte Anwendung, wie etwa für eine Kontaktverwaltung, die dann bei jedem neuen oder geänderten Eintrag auf einem der Geräte PEC, PAL auf dem anderen Gerät wieder abzugleichen wäre, sondern der Benutzer "verfügt" nur noch über eine lauffähige Softwareapplikation für den jeweiligen bestimmten Anwendungsfall, die zwischen den einzelnen Geräten PEC, PAL auf Anforderung hin transferiert wird.
  • Die gegenständliche Software sof ist im ausgeschalteten Zustand der Endgeräte PEC, PAL auf einem Softwareserver SSE in einer diesem zugeordneten Speichereinrichtung SSD abgelegt. Setzt der Benutzer nun etwa seinen Desktop-Computer PEC in Betrieb, so wird entweder durch eine entsprechende Eingabe des Benutzers oder automatisch eine Anforderung an den Softwareserver SSE übermittelt und die gewünschte Software sof, etwa eine Kontaktverwaltung, wird in dem zuletzt aktuellen Zustand an den Desktop-Computer PEC übermittelt.
  • Für die Kommunikation der einzelnen Endgeräte PEC, PAL und Server SSE sind diese über ein Kommunikationsnetzwerk NET miteinander verbindbar. Dabei ist unter dem Begriff "Kommunikationsnetzwerk" naturgemäß auch der Fall zu verstehen, dass beispielsweise der Server an ein Festnetz angebunden ist, während eines oder mehrere der Endgeräte etwa an ein Mobilfunknetz angebunden sind, und die Verbindung dann über dieses Netzwerk hergestellt wird.
  • Möchte nun der Benutzer die Software sof auf einem anderen Endgerät, beispielsweise seinem Handheld PAL verwenden, so wird einfach an den Desktop-Computer PEC eine entsprechende Anforderung übermittelt und die Software sof wird über das Kommunikationsnetzwerk NET an den Handheld PAL übermittelt.
  • Bei einer vorteilhaften Ausführungsform der Erfindung wird, wie weiter unten noch eingehend erläutert, die sogenannte Agententechnologie verwendet. Bei der auf einem Endgerät ablaufenden Software handelt es sich dann um "Agentenprogramme". Im weiteren Text wird zumeist die Terminologie verwendet, dass die jeweilige Software eine Agentensoftware ist. In der Praxis ist es aber in der Regel so, dass diese Agentensoftware aus mehreren "Agenten" besteht, einem Masteragenten und einem oder mehreren Slaveagenten. Diese können mit dem Masteragenten kommunizieren und sind für die Erledigung spezieller Aufgaben vorgesehen, während der Masteragent unter anderem die Kommunikation "nach Außen" erledigt, sodass von Außen betrachtet die Software auch als eine "einzige" Software erscheint.
  • Grundsätzlich kann ein Agent sich selbst bewegen oder von einem anderen Agenten oder einer Agentenplattform bewegt werden. Die Anforderung zur Übertragung der Software und des Softwarezustandes auf ein anderes Endgerät wird dabei üblicherweise durch eine Eingabe in die Software - bzw. im Agentenbild in den Masteragenten - abgesetzt, und zwar auf dem Gerät, auf dem die Software aktuell abläuft.
  • Allerdings kann auch vorgesehen sein, dass die Anforderung von Außen etwa durch Eingabe auf einem anderen Endgerät erfolgt, etwa in einen andern Agenten, der dann den entsprechend gewünschten Agenten von dem gewünschten Endgerät auf das anfordernde Endgerät holt.
  • Nachdem die angeforderte Software (der Masteragent) die Anforderungen empfangen hat, veranlasst dieser dann die notwendigen Schritte für seine Migration auf das andere Endgerät. Die Kommunikation selbst erfolgt vorzugsweise über das Internet NET, als Übertragungsprotokoll für die Software sof wird das TCP/IP-Protokoll ("Transmission Control Protocol/Internet Protocol") verwendet.
  • Dabei wird nach dem Einlangen der Anforderung die Software sofauf dem Desktop-Computer in ihrem aktuellen Zustand mit all ihren Parametern, Einstellungen etc. angehalten ("eingefroren") und in diesem Zustand an das zweite Endgerät PAL übertragen, wo es dann in dem zuletzt aktuellen Zustand weiterläuft.
  • Wie oben bereits angesprochen, basiert bei einer vorteilhaften Ausführungsform der Erfindung die verwendete Software, die zwischen den einzelnen Endgeräten bzw. Servern ausgetauscht wird, auf der sogenannten Agententechnologie, welche sich für die Erfindung auf grund der im folgenden angeführten Eigenschaften von Agenten als besonders zweckmäßig erweisen. Unter einem Softwareagenten versteht man ein Programm, das einen Auftrag annimmt und diesen selbständig ausführt bzw. benutzerdefinierte Aufgaben autonom erfüllt. Mobile Softwareagenten sind Programme in Form von autonomen Objekten, die in einem Netz heterogener Rechner - typischerweise Intranets oder Teilen des Internets - umherwandern und dabei im Auftrag eines Nutzers Dienste verrichten bzw. Aufgaben erfüllen. Ein Softwareagent entscheidet dabei selbstständig, aufgrund lokaler Gegebenheiten, ob, wann und wohin er gegebenenfalls migrieren möchte. Bei der schwachen Migration wird der dynamische Prozesszustand des Softwareagenten an bestimmten stabilen Programmpunkten auf Wunsch des Softwareagenten vom Agentensystem eingefroren und zusammen mit Kontextinformationen und einem variablen Datenteil in eine zu versendende Nachricht verpackt. Am Zielort wird der Prozesszustand wieder aufgetaut und der Agent läuft an der unterbrochenen Stelle nahtlos weiter. Bei der starken Migration wird der dynamische Prozesszustand des Softwareagent vom Agentensystem an einem beliebigen Programmpunkt eingefroren und zusammen mit Kontextinformationen und einem variablen Datenteil in eine zu versendende Nachricht verpackt. Am Zielort wird der Prozesszustand wieder aufgetaut und der Agent läuft an der unterbrochenen Stelle nahtlos weiter.
  • Zur Verrichtung seiner Arbeit interagiert ein Softwareagent mit der jeweiligen lokalen Umgebung - dem Agentensystem, das ihn gerade beherbergt, dabei kann er auch mit anderen lokal vorhandenen oder entfernten Softwareagenten kooperieren. Ferner kann ein Softwareagent mit seinem an einem anderen Ort residierendem Auftraggeber kommunizieren, etwa um Zwischenresultate abzuliefern oder neue Daten und Instruktionen anzufordern. Letzteres stellt allerdings ein eher seltenes Ereignis dar, da Softwareagenten vom Konzept her in der Lage sind, weitestgehend autonom zu handeln.
  • Die den Softwareagenten zugrundeliegende Technologie wird in der US 5 603 031 bzw. der EP 0 634 719 beschrieben. Im Zusammenhang mit Softwareagenten sind weiters folgende Dokumente der Öffentlichkeit vorgestellt worden:
    "Walter Brenner, Rüdiger Zarnekow, Hartmut Wittig: Intelligente Softwareagenten. Grundlagen und Anwendungen, Springer Verlag Berlin, 1998"; "Stan Franklin, Art Gaesser: Is it an Agent, or just a Program? A Taxonomy for Autonomous Agents.
  • Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Institute for Intelligent Systems, University of Memphis Springer-Verlag 1996". Bei einer Verwendung von Softwareagenten ist es daher auch möglich, dass nicht der Softwareagent sof im Original verschickt wird, sondern dass dieser vorerst eine Kopie mit dem aktuellen Softwarezustand von sich erzeugt und diese an das zweite Endgerät PAL übermittelt. Nachdem dieser "Klon" des originalen Agenten sof festgestellt hat, dass ihm ein ordnungsgemäßes Funktionieren in der neuen Umgebung möglich ist, vernichtet er das Original auf dem Desktop-Computer PEC. Der Softwarezustand kann nur unmittelbar beim Klonen und Verschicken weitergegeben werden, aber nicht mehr danach. Nach dem Klonen wird daher das Original für alle Eingaben gesperrt, damit der Softwarezustand konsistent bleibt.
  • Der Klon stellt nun eine exakte Kopie des Originals dar, und auf diese Weise ist zuverlässig sichergestellt, dass keine Informationen, Einstellungen, etc. bei einer Übermittlung verloren gehen.
  • Voraussetzung für das Funktionieren der Erfindung ist lediglich, dass die verwendeten Endgeräte über die gleiche Laufzeitumgebung für die Agentensoftware verfügen, sodass diese auf den verschiedenen Geräten ablauffähig ist, und auch die gleiche Agentenplattform ist notwendig. Beispielsweise wird als Laufzeitumgebung das bekannte JAVA verwendet.
  • Üblicherweise sind die Agenten selbst JAVA-Programme und benötigen überall JAVA als Laufzeitumgebung. Zur Kommunikation von Agenten verschiedener Systeme sind genormte Schnittstellen ihrer Plattformen notwendig, über die diese interagieren können.
  • Java ist eine von Sun entwickelte objektorientierte Programmiersprache für Internet-Anwendungen. Java ähnelt der Programmiersprache C++, verzichtet allerdings auf dessen prozessorspezifische Anpassungen. Sie dient der Erstellung von plattformunabhängigen Applets-Anwendungsteilen, die lediglich einen Interpreter sowie bestimmte Browser voraussetzen, so beispielsweise Netscape Navigator, Oracle PowerBrowser, Mosaic von Spyglass und Sun Hot Java. Java unterstützt u. a. Text-, Hypertext-, Grafik-, Audio- und Animationsfunktionen.
  • Agenten sind vollständige Applikationen und benötigen nur den Interpreter nicht aber einen Browser.
  • Natürlich sind aber auch andere geeignete Laufzeitumgebungen verwendbar und die Erfindung nicht auf JAVA eingeschränkt. Ein großer Vorteil, der sich aus obigem ergibt, ist jener, dass völlig plattformunabhängig Software zwischen einzelnen Endgeräten transferiert und auch betrieben werden kann. Verschiedene Betriebssysteme auf den einzelnen Endgeräten stellen somit kein Hindernis für das Funktionieren der Erfindung dar.
  • Gemäß der Erfindung ist vorgesehen, dass die gesamte Software in ihrem aktuellsten Zustand von einem Gerät PEC auf ein anderes Gerät PAL des Benutzers übertragen wird. In der Regel wird dabei spätestens wenn die Software auf dem "neuen" Gerät zu laufen beginnt, die Software auf dem ursprünglichen Gerät ihren Dienst beenden.
  • Die Software kann grundsätzlich auch auf mehreren Geräten eines Benutzers parallel laufen, aber nicht im gleichen Softwarezustand. Auch kann der Softwarezustand nicht unter laufenden Programmen ausgetauscht werden. Sinnvollerweise wird die Software allerdings immer nur auf einem Gerät pro Benutzer ablaufen.
  • Nach dem Beenden der Software auf allen Endgeräten PEC, PAL des Benutzers bzw. nach dem Beenden der Software auf allen Endgeräten wird der Softwarezustand der Software sof wiederum über das Internet NET an den Softwareserver SSE übertragen und in dessen Speichereinrichtung SSD im aktuellsten Zustand abgespeichert. Die Software selbst wird nicht auf dem Agentenserver SSE abgespeichert, da auf diesem ohnehin die Klassendefinition der jeweiligen Agenten abgelegt sind und der Agent selbst wieder leicht bei einer entsprechenden Anforderung erzeugt werden kann.
  • Ein wichtiger Punkt bei der Verwendung von Softwareagenten sofist, dass neben den Endgeräten PEC, PAL natürlich auch der Softwareserver SSE eine Laufzeitumgebung für Softwareagenten bietet. Bei der aller ersten Verwendung einer gewünschten Software kann sich ein Benutzer beispielweise über das Internet NET bei einem solchen Softwareagentenserver SSE über eine entsprechende Internetseite einen gewünschten Softwareagenten - im Rahmen der von dem Anbieter vorgesehenen Grenzen - erzeugen. Als Beispiel sei hier nochmals die oben bereits erwähnte Kontaktverwaltung angeführt, die sich der Benutzer nach bestimmten Kriterien - beispielsweise, welche grundsätzlichen Einträge vorhanden sein sollen, wie Name, Adresse, Rufnummern, etc. - erstellt. Auch die Eingabe von Daten ist hier in der Regel bereits möglich. Der "fertige" Softwareagent wird dann über das Internet auf das jeweilige Endgerät des Benutzers transferiert, wo er wie oben bereits ausgeführt, transferiert etc. wird.
  • Ein weiteres konkretes Ausführungsbeispiel der Erfindung ist noch an Hand der Fig. 3 und 4 im Zusammenhang mit der Internettelefonie (VoIP, "Voice over Internet Protocol") dargestellt.
  • Ein grundsätzliches Problem bei der Telefonie, das auch bei VoIP gegeben ist, ist jenes, dass während eines Telefonats die Verbindung zwischen verschiedenen Endgeräten eines Benutzers nicht ohne weiteres weitergegeben werden kann. Beginnt beispielsweise der Benutzer ein VoIP-Gespräch mit seinem Desktop PEC und möchte dieses dann mit seinem Handheld PAL, der mit dem Internet etwa über eine Funkschnittstelle in Verbindung steht, weiterführen, dann muss er dazu üblicherweise die Gesprächsverbindung abbrechen und wieder neu aufbauen. Falls auf den beiden Endgeräten PEC, PAL der selbe Standard implementiert ist, ist grundsätzlich auch eine Anrufweiterleitung möglich. Allerdings ist insbesondere bei so unterschiedlichen Geräten wie Desktop- und Handheldcomputer, die in der Regel auch unterschiedliche Anwendungen und Betriebssysteme aufweisen, dies nur selten der Fall.
  • Dieses Problem kann mit der Erfindung auf einfache und für den Benutzer komfortable Weise gelöst werden, was im folgenden an Hand der Fig. 3 und 4 sowie zusätzlich mit der Fig. 5, die den Lebenszyklus eines Softwareagenten zeigt, näher erläutert werden soll. Dabei beziehen sich die in Klammern ( ) gesetzten Bezugszeichen (Zahlen) jeweils auf die Fig. 5.
  • Auf eine Anforderung eines Benutzers hin - beispielsweise über seinen Desktop-Computer PEC - wird der Agent sof erzeugt (1); zu diesem Zeitpunkt erhält der Agent auch alle Benutzerinformationen, wie Einstellungen, Informationen über vorangegangene Anrufe, und "Movement History", welche die Adressen aller Rechner, auf denen der Agent schon gelaufen ist, enthält, damit sie in Zukunft bequem in einer Liste ausgewählt werden können, vom Agentenserver SSE. Anschließend wird der Agent sof auf den Desktop PEC des Benutzers übertragen (2), wo er dann abläuft. Von diesem Zeitpunkt an ist der Agent sof, bei dem es sich ja in diesem Fall um ein Kommunikationsprogramm handelt, im Stande, eine Verbindung zu einem anderen Endgerät herzustellen oder entgegenzunehmen, falls dies von dem Benutzer gewünscht ist.
  • Wie nun in der Fig. 3 zu entnehmen, werden im Falle eines Gesprächs mittels des Agenten sof in einem ersten Schritt die Anrufparameter über ein Signalisierungsprotokoll sip mit der Gegenstelle CLI ausgehandelt (3). Die Kommunikation des Agenten sof findet dabei mit einem anderen Agenten sof' oder einer Kommunikationsanwendung auf dem Client-Computer CLI statt.
  • Beispielsweise findet die Kommunikation wie der Fig. 3 zu entnehmen ist über einen Proxy-Server PRO unter Verwendung des "Session Initiation Protokolls" (SIP) sip statt. Das "Session Initiation Protocol" (SIP) ist ein von der Internet Engineering Task Force (IETF) vorgeschlagener Standard für die Übertragung von Echtzeitdaten über paketgestützte Netze. Das SIP-Protokoll ist funktional vergleichbar dem H.323 Protokoll und kann interaktive Kommunikationsdienste aufbauen, verändern und terminieren. Die SIP-Informationen können über TCP oder UDP ("User Datagram Protocol")transportiert werden. SIP besitzt eine offene internetbasierende Struktur und ermöglicht CLASS-Features ("Custom Local Area Signalling Service") wie etwa die Übermittlung der Identität des Anrufers oder die Anrufweiterleitung in IP-basierten Netzen. SIP ist verantwortlich für die Gesprächssignalisierung, das Lokalisieren von Anwendern und die Registrierung. Die Dienstgüte, Verzeichniszugriffe und die Sitzungsprozeduren werden von anderen Protokollen übernommen.
  • Nach der Signalisierung beginnt die Übertragung der Audiosignale (4). An dieser Stelle soll gleich darauf hingewiesen werden, dass oben angeführte Probleme nicht nur bei der Telefonie auftreten, sondern generell bei sogenannten Multi- Media-Verbindungen. Darunter ist beispielsweise die Übertragung von Video- bzw. Fernsehbildern, Tonübertragungen, Bildtelefonie etc. zu verstehen, bei welchen ein Echtzeit- Datenstrom über das Internet NET an ein Endgerät eines Benutzers übertragen und dort ausgegeben wird. Auch in diesem Fall ist es nicht oder nur unter sehr speziellen Fällen möglich, das Endgerät zu wechseln, ohne die Verbindung, über welche der Datenstrom übermittelt wird, zu unterbrechen und dann von dem neuen Endgerät wieder neu aufzubauen.
  • Handelt es sich daher bei der beispielhaften Verbindung zwischen dem Desktop PEC und dem Client-Computer CLI um Bildtelefonie, so werden zusätzlich zu den Audiodaten des Telefonats noch Videodaten übertragen (4). Die Verbindung wird dabei mittels eines entsprechenden Verbindungsprotokolls rtp, beispielsweise des RTP-Protokolls ("Real Time Protocol"), abgewickelt.
  • Das RTP-Protokoll wurde von der Audio-Video Transport Group der IETF entwickelt und ist Bestandteil von H.323. Es liegt auf der Anwendungsschicht und kann netzwerkbasierte Video- oder Audiokommunikation abwickeln. Zur Unterscheidung der Medien unterscheidet RTP zwischen verschiedenen Codierungsformaten, so dass die übertragenen Daten anwendungsunabhängig verwendet werden können. Das Real Time Protocol (RTP) basiert auf einer Ende-zu-Ende-Verbindung und unterstützt Multicastaber auch Unicast-Verbindungen. Es erkennt und korrigiert fehlende, doppelte oder in falscher Reihenfolge empfangene Datenpakete mittels einer 16-Bit-Sequenznummer. Zur Synchronisation von Audio oder Video verwendet das Protokoll einen Zeitstempel, der von dem jeweiligen RTP-Profil vorgegeben wird. Um die Datenquelle eindeutig identifizieren zu können hat der RTP-Header ein 32 Bit langes Datenfeld "Synchronisation Source Identifier" (SSRC). In dem zweiten optionalen 32-Bit-Datenfeld, dem "Content Source Identifier" (CSRC), werden die Quelladressen der SSCRs eingetragen. Die Statusinformationen der Quellen werden durch das RTCP-Protokoll, das Bestandteil von RTP ist, durch periodisches Senden rückgemeldet.
  • Wechselt nun der Benutzer sein Endgerät PEC, folgt ihm der Kommunikationsagent sof auf eine entsprechende Aufforderung hin auf das neue Endgerät PAL. Damit die Kommunikation während dieser Migration des Agenten sof nicht unterbrochen wird, bis dass die Initialisierungsroutinen abgelaufen sind, muss eine spezielle Abfolge von Ereignissen eintreten.
  • Zuerst kopiert sich der Agent sof selbst auf das neue Endgerät PAL und setzt alle notwendigen Schritte (Suchen von Audio- und Videogeräten, wie Soundkarte, Kamera usw., Testen der gefundenen Geräte, Bereitmachen und Belegen der Kommunikationsports wie SIP- oder RTP-Ports), damit die Signalisierung umschaltet werden kann. Der Original-Agent verbleibt dabei solange auf dem ersten Endgerät PEC, bis dies erfolgreich geschehen ist und hält solange die Verbindung mit der Gegenstelle CLI aufrecht. Nachdem der neue Agent sof, d. h. der Klon des ursprünglichen Agenten, seine Initialisierung beendet hat, überträgt er das weiterlaufende Gespräch auf das neue Endgerät PAL (5). Danach beendet der alte Agent seinen Dienst, und der neue Agent sof, der eine identische Kopie des alten Agenten darstellt, setzt die Dienste und die Gesprächsverbindung fort. Auf diese Weise kann zuverlässig verhindert werden, dass Unterbrechungen in der Verbindung auftreten. Genau genommen transferiert der neue Agent selbst mittels einer SIP-Nachricht(REINVITE) an den Gesprächspartner das laufende Gespräch zu sich. Danach terminiert er den "alten" Agenten, welcher dann nur noch dafür sorgt, dass auch die "alten" Slaves terminiert werden.
  • Nach erfolgtem Transfer ist der Desktop-Computer PEC nicht mehr in die Kommunikation eingebunden; diese läuft nun direkt von dem Handheld-Computer PAL zu der Gegenstelle CLI, als ob die Kommunikation direkt zwischen den beiden Endgeräten PAL, CLI aufgenommen worden wäre.
  • Wie dabei der Fig. 4 zu entnehmen ist, findet dabei die Signalisierung des "neuen" Agenten mit der entsprechenden Software der Gegenstelle CLI wiederum beispielsweise über das SIP-Protokoll statt, die anschließend Übertragung von Daten im Rahmen der Kommunikation findet dann etwa über das RTP- Protokoll wie oben ausgeführt statt.
  • Schließt nach der Beendigung des Gesprächs (6) ein Benutzer die Anwendung oder schaltet er das Endgerät PAL aus, ohne den Agenten sof nochmals auf ein anderes Endgerät zu übertragen, so wird der Softwarezustand zum Agentenserver SSE zurückgeschickt, (7) der Agent vernichtet und der letzte, aktuelle Agentenzustand wird auf dem Agentenserver abgespeichert (8). Durch die Verwendung einer einheitlichen Laufzeitumgebung wie beispielsweise JAVA wird eine vollständige Unabhängigkeit vom Endgerät erreicht. Einzige Voraussetzung ist, dass die entsprechende Laufzeitumgebung für die Softwareagenten auf dem Endgerät ablauffähig ist. Die jeweiligen Agenten können dann zwischen den verschiedensten Endgeräten problemlos transferiert werden und insbesondere auf diesen auch ablaufen.
  • Dieselbe Software kann daher auf unterschiedlichsten Geräten, wie Personal Computer (PC), PocketPC, HandheldPC, Mobilfunkgeräte, etc. ablaufen. Als Network Layer Protokoll wird in der Regel das Internet Protocol verwendet, der Anschluss an das IP-Netz kann stationär oder mobil (wireless) sein.
  • Neben der oben eingehend erläuterten Funktionalität des "Übergebens" von Multimedia-Verbindungen zwischen zwei Endgeräten wird es mit der Erfindung weiters auf einfache Weise möglich, eine Administration von Telefonbüchern, Adressenlisten und anderen Aufzeichnungen oder Einstellungen an einem beliebigen persönlichen Gerät durchzuführen, wobei diese Änderungen dann für alle persönlichen Geräte ihre Gültigkeit besitzen.

Claims (18)

1. Verfahren zum Aktuellhalten von Software (sof) auf verschiedenen Endgeräten (PEC, PAL), welche an ein Kommunikationsnetzwerk (NET) angebunden sind, über welches diese miteinander kommunizieren können, dadurch gekennzeichnet, dass
a) auf Anforderung zumindest der Softwarezustand der auf zumindest einem der Endgeräte (PEC) ablaufenden Software (sof) über das Kommunikationsnetzwerk (NET) an das zweite Endgerät (PAL) übertragen wird, und
b) eine auf dem zweiten Endgerät (PAL) ablaufende, der Software (sof) auf dem ersten Endgerät (PEC) entsprechende Software mit dem übertragenen, aktuellen Softwarezustand versehen wird und auf dem zweiten Endgerät (PAL) in dem zuletzt auf dem ersten Endgerät (PEC) aktuellen Zustand weiterläuft.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die der Software (sof) auf dem ersten Endgerät (PEC) entsprechende Software auf dem zweiten Endgerät (PAL) von einem Speicherort (PAL, SSE, SSD) auf das zweite Endgerät (PAL) übertragen wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass als Speicherort der Software (sof) ein Softwareserver (SSE) verwendet wird.
4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass als Speicherort der Software (sof) das Endgerät (PEC), auf welchem die Software (sof) ursprünglich abläuft, verwendet wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass in Schritt a) der Softwarezustand in eine Nachricht verpackt wird, welche an das zweite Endgerät (PAL) übermittelt wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass als Software eine Agentensoftware verwendet wird.
7. Verfahren nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass die Nachricht weiters noch den Speicherort der Software (sof) bzw. im Falle von Softwareagenten (sof) zumindest den Namen der Hauptklasse und den Speicherort der Klassendefinitionen des Agenten enthält.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Anforderung von dem zweiten Endgerät (PAL) über das Kommunikationsnetzwerk (NET) an das erste Endgerät (PEC) gestellt wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Anforderung mittels des ersten Endgerätes (PEC), auf welchem die Software (sof) abläuft, abgesetzt wird.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass bei der Anforderung eine eindeutige Adresse des Endgerätes (PAL), an welches die Software (sof) und der Softwarezustand zu transferieren ist, an die Software (sof) übermittelt wird.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass als Adresse eine IP- Adresse des Endgerätes (PAL) verwendet wird.
12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass nach Einlangen der Anforderung die Software (sof) auf dem ersten Endgerät (PEC) in ihrem Ablauf angehalten und diese bzw. der Softwarezustand an das zweite Endgerät (PAL) transferiert wird.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass eine Kopie der Software mit ihrem aktuellen Softwarezustand erzeugt und diese Kopie auf das zweite Endgerät (PAL) transferiert wird.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass bei einem ordnungsgemäßen Ablauf der Software auf dem zweiten Endgerät (PAL) der Ablauf der Software (sof) auf dem ersten Gerät (PEC) beendet wird.
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass bei einem Abschalten aller Endgeräte (PEC, PAL) bzw. einem Deaktivieren der Software (sof) auf allen Endgeräte (PEC, PAL) diese bzw. der letzte, aktuelle Zustand über das Kommunikationsnetz (NET) an einen an das Kommunikationsnetzwerk (NET) angebundenen Softwareserver (SSE) übermittelt und von diesem abgespeichert wird.
16. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass auf den Endgeräten (PEC, PAL) und dem Softwareserver (SSE) die gleiche Laufzeitumgebung für die Software (sof) verwendet wird.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass als Laufzeitumgebung JAVA verwendet wird.
18. Verfahren nach einem der Ansprüche 1 bis 17, dadurch gekennzeichnet, dass die Software eine Software zur Realisierung von Sprachverbindungen und/oder Datenverbindungen ist.
DE10148875A 2001-10-04 2001-10-04 Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten Withdrawn DE10148875A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10148875A DE10148875A1 (de) 2001-10-04 2001-10-04 Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten
PCT/DE2002/003726 WO2003032156A2 (de) 2001-10-04 2002-10-01 Verfahren zum aktuellhalten von software auf verschiedenen endgeräten
US10/491,526 US20040237078A1 (en) 2001-10-04 2002-10-01 Method for updating software in different terminals
EP02774441A EP1438658A2 (de) 2001-10-04 2002-10-01 Verfahren zum aktuellhalten von software auf verschiedenen endgeräten
BR0213061-0A BR0213061A (pt) 2001-10-04 2002-10-01 Processo para a atualização de software em diversos equipamentos terminais
CNA028197542A CN1564979A (zh) 2001-10-04 2002-10-01 更新不同终端上软件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10148875A DE10148875A1 (de) 2001-10-04 2001-10-04 Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten

Publications (1)

Publication Number Publication Date
DE10148875A1 true DE10148875A1 (de) 2003-04-24

Family

ID=7701318

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10148875A Withdrawn DE10148875A1 (de) 2001-10-04 2001-10-04 Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten

Country Status (6)

Country Link
US (1) US20040237078A1 (de)
EP (1) EP1438658A2 (de)
CN (1) CN1564979A (de)
BR (1) BR0213061A (de)
DE (1) DE10148875A1 (de)
WO (1) WO2003032156A2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7839987B1 (en) 2001-11-01 2010-11-23 Callwave, Inc. Methods and systems for creating a dynamic call log and contact records
US7818734B2 (en) * 2005-01-21 2010-10-19 Callwave, Inc. Methods and systems for transferring data over a network
US7965825B1 (en) 2005-05-02 2011-06-21 Callwave, Inc. Methods and systems for transferring voice messages and faxes over a network
JP4548307B2 (ja) * 2005-10-31 2010-09-22 ソニー株式会社 分離型処理装置及びそのソフトウエアの版更新方法
US8121626B1 (en) 2006-06-05 2012-02-21 Callwave, Inc. Method and systems for short message forwarding services
US8601460B2 (en) * 2007-07-25 2013-12-03 International Business Machines Corporation Systems and methods for firmware cloning
US8667479B2 (en) 2009-01-19 2014-03-04 Telefonaktiebolaget L M Ericsson (Publ) Mobile specialized software code updated
KR101439709B1 (ko) * 2009-08-12 2014-09-15 코닌클리즈케 케이피엔 엔.브이. 동적 실시간 전송 제어 프로토콜 중계 방법 및 시스템
US8938518B2 (en) * 2012-01-16 2015-01-20 International Business Machines Corporation Transferring applications and session state to a secondary device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1136896A2 (de) * 2000-03-23 2001-09-26 Siemens Aktiengesellschaft Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167253A (en) * 1995-01-12 2000-12-26 Bell Atlantic Network Services, Inc. Mobile data/message/electronic mail download system utilizing network-centric protocol such as Java
US6161193A (en) * 1998-03-18 2000-12-12 Lucent Technologies Inc. Methods and apparatus for process replication/recovery in a distributed system
US6614781B1 (en) * 1998-11-20 2003-09-02 Level 3 Communications, Inc. Voice over data telecommunications network architecture
US6529504B1 (en) * 1999-06-02 2003-03-04 Sprint Communications Company, L.P. Telecommunications service control point interface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1136896A2 (de) * 2000-03-23 2001-09-26 Siemens Aktiengesellschaft Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems

Also Published As

Publication number Publication date
EP1438658A2 (de) 2004-07-21
WO2003032156A3 (de) 2003-12-31
WO2003032156A2 (de) 2003-04-17
BR0213061A (pt) 2004-09-28
US20040237078A1 (en) 2004-11-25
CN1564979A (zh) 2005-01-12

Similar Documents

Publication Publication Date Title
DE69615225T2 (de) Verteilte architektur für dienste eines telefonsystems
DE60210343T2 (de) Persönlicher benutzer-agent
DE69921062T2 (de) Fernsprechkonferenzgerät und -verfahren
DE602004009947T2 (de) Netzwerkentität zur verbindung von sip-endpunkten verschiedener fähigkeiten
DE60307211T2 (de) Graphisches Proxy für weniger fähige Benutzerendgeräte
DE60132232T2 (de) Servicefähige technologie
EP3357218A1 (de) Verfahren zur industriellen kommunikation über tsn
DE102012001394A1 (de) Gemeinsamer Medienzugang für Echtzeit-Erst- und Drittparteisteuerung
EP3162018A1 (de) Verfahren zum aufbau einer für die übermittlung von medienströmen geeigneten kommunikationsverbindung von einem ersten rtc-client zu einem zweiten rtc-client
DE102005016587B4 (de) Verfahren zum Bilden einer gemeinsamen Kommunikationssitzung, Verfahren zum Bilden einer ersten Kommunikationssitzung und einer zweiten Kommunikationssitzung aus einer gemeinsamen Kommunikationssitzung und Kommunikationssitzungs-Steuerungs-Server
DE10148875A1 (de) Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten
DE10345051B4 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
WO2005039139A1 (de) Behandlung von early media-daten i
DE102006031080A1 (de) Verfahren und Kommunikationsendgerät zum Bereitstellen von VoIP
EP1853046B1 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
EP2340641B1 (de) Übertragen von ticker-information im multimediabereich
DE102004030290A1 (de) Aufbau einer Verbindung für den Austausch von Daten eines IP-basierten Dienstes
DE10148873B4 (de) Verfahren zum Realisieren eines Verbindungsaufbaus zwischen über ein Kommunikationsnetzwerk verbindbaren Endgeräten
EP3959850B1 (de) Verfahren zum bereitstellen von verbindungsherstellungsdaten sowie anordnung mit einer mehrzahl von kommunikationsservern und einem vermittler
DE60207056T2 (de) System und Verfahren zur Datenteilung von einem WAP-Endgerät
EP2260635B1 (de) Verfahren und adressserver zur steuerung eines kommunikationsendgerätes mittels eines datenverarbeitungsgerätes
DE102005013919B4 (de) Verfahren zum rechnergestützten Verwalten einer Telekommunikations-Konferenz und Telekommunikations-Konferenz-Servereinrichtungen
DE60310220T2 (de) System und Verfahren zum Aufrufen eines Anwendungsprogramms von einem WAP-Endgerät im gemeinsamen Zugriffsverfahren
DE102005046171A1 (de) Verfahren zum Aufrufen von Applikationsservern mit unterschiedlicher Betriebsart durch ein IP Multimedia Subsystem
EP1833192A1 (de) Übergabe des Zugriffs auf eine serverbasierte Anwendungssitzung an ein Kommunikationsendgerät

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal