EP1438658A2 - Verfahren zum aktuellhalten von software auf verschiedenen endgeräten - Google Patents

Verfahren zum aktuellhalten von software auf verschiedenen endgeräten

Info

Publication number
EP1438658A2
EP1438658A2 EP02774441A EP02774441A EP1438658A2 EP 1438658 A2 EP1438658 A2 EP 1438658A2 EP 02774441 A EP02774441 A EP 02774441A EP 02774441 A EP02774441 A EP 02774441A EP 1438658 A2 EP1438658 A2 EP 1438658A2
Authority
EP
European Patent Office
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
EP02774441A
Other languages
English (en)
French (fr)
Inventor
Josef Weiss
Werner Dorrer
Thomas Röck
Andreas Mayerhofer
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 AG
Original Assignee
Siemens AG
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 AG filed Critical Siemens AG
Publication of EP1438658A2 publication Critical patent/EP1438658A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • a unique address of the terminal, to which the software and the software status is to be transferred is transmitted to the software so that it is also reliably transferred to the correct destination.
  • This address can either already be saved or can be entered by the user.
  • JAVA is used as the runtime environment.
  • FIGS. 1 and 2 show a first simple example for keeping software sof or software states current on several end devices PEC, PAL.
  • a user has, for example, a desktop computer PEC and, on the other hand, also a handheld device PAL.
  • PAL handheld device
  • each of these devices PAL, PEC no longer runs its own software for a specific application, such as for contact management, which is then used on each of the devices PEC for each new or changed entry.
  • PAL would have to be adjusted again on the other device, but the user "only" has an executable software application for the respective specific application, which is transferred between the individual devices PEC, PAL on request.
  • the master agent After the requested software (the master agent) has received the requests, it then initiates the necessary steps for its migration to the other end device.
  • FIGS. 3 and 4 Another specific exemplary embodiment of the invention is illustrated with reference to FIGS. 3 and 4 in connection with Internet telephony (VoIP, “Voice over Internet Protocol”).
  • VoIP Internet telephony
  • the communication agent sof follows him when prompted for the new terminal PAL.
  • a special sequence of events must occur so that the communication is not interrupted during this migration of the agent until the initialization routines have expired.
  • the agent sof copies itself to the new PAL device and takes all necessary steps (searching for audio and video devices, such as a sound card, camera, etc., testing the devices found, preparing and occupying the communication ports such as SIP or RTP ports) so that the signaling can be switched.
  • the original agent remains on the first terminal PEC until this has been successfully done and maintains the connection with the remote terminal CLI.
  • the desktop computer PEC is no longer involved in the communication; this now runs directly from the handheld computer PAL to the remote terminal CLI, as if communication had been started directly between the two terminals PAL, CLI.
  • the signaling of the “new” agent with the corresponding software of the remote station CLI takes place again, for example, via the SIP protocol, and the subsequent transmission of data as part of the communication then takes place, for example, via the RTP - Protocol as explained above instead.

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 wird, 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

Beschreibung
Verfahren zum Aktuellhalten von Software auf verschiedenen Endgeräten
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 Anwen- der 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 Be- arbeitung 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, be- trachtet, 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 zu- mindest einem der Endgeräte ablaufenden Software über das
Kommunikationsnetzwerk an das zweite Endgerät übertragen wird, und
b) eine auf dem zweiten Endgerät ablaufende, der Software auf dem ersten Endgerät entsprechende Software mit dem über- tragenen, 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, uss 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 si- chergestellt 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 Soft- wareserver 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 ge- wä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 Endge- rä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 Class- file 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 Class- file 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ön- liehen Geräten lokal abzuspeichern, um den Ladevorgang zu beschleunigen, wobei man aber Versionsänderungen dann auf allen Geräten extra mitziehen ü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 Kommunikations- netzwerk 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 beispiels- weise 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 ge- gebenenfalls 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 Soft- wareserver 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 Figuren 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 bei- spielsweise ü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 Kontaktver- waltung, 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 Agenten- Software 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 Ξoftwarezustandes auf ein anderes Endgerät wird dabei übli- cherweise 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 er- folgt, 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 An- forderungen empfangen hat, veranlasst dieser dann die notwen- digen 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 sof auf 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 wei- terlä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 Software- agenten 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 loka- 1er 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 Zwischenre- sultate 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: Intelli- gente 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 ord- nungsgemäß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 ge- sperrt, 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 Lauf- zeitumgebung 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 pro- zessorspezifische 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 Animationsfunktio- nen.
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. Ver- schiedene 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 an- deres 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 ei- nes 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 Anforde- rung erzeugt werden kann.
Ein wichtiger Punkt bei der Verwendung von Softwareagenten sof ist, 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 ge- wü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 Figuren 3 und 4 im Zusammenhang mit der In- ternettelefonie (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 Benut- zers 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 Anrufweiter- leitung 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 Figuren 3 und 4 sowie zusätzlich mit der Figur 5, die den Lebenszyklus eines Softwareagenten zeigt, näher erläutert werden soll. Dabei beziehen sich die in Klam- mern ( ) 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 Benutzer- Informationen, 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 Agen- ten 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 Audiosi- gnale (4). An dieser Stelle soll gleich darauf hingewiesen werden, dass oben angeführte Probleme nicht nur bei der Tele- fonie auftreten, sondern generell bei sogenannten Multi- Media-Verbindungen. Darunter ist beispielsweise die Übertragung von Video- bzw. Fernsehbildern, Tonübertragungen, Bild- telefonie 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 Bildte- lefonie, so werden zusätzlich zu den Audiodaten des Telefo- nats 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 Multicast- aber 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" (ΞSRC) . 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 Signalisie- rung 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 been- det 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ückge- schickt, (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 ent- sprechende 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, Mobilfunk- gerä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 Endge- raten wird es mit der Erfindung weiters auf einfache Weise möglich, eine Administration von Telefonbüchern, Adressenlisten und anderen Aufzeichnungen oder Einstelllungen 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

Patentansprüche
1. Verfahren zum Aktuellhalten von Software (sof) auf verschiedenen Endgeräten (PEC, PAL) , welche an ein Kommunikationsnetzwerk (NET) angebunden sind, über welches diese mitein- ander 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 , d a d u r c h g e k e n n z e i c h n e t , 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 Soft- wäre 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 Soft- wäre (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 Lauf zeitumgebung 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 Da- tenverbindungen ist.
EP02774441A 2001-10-04 2002-10-01 Verfahren zum aktuellhalten von software auf verschiedenen endgeräten Withdrawn EP1438658A2 (de)

Applications Claiming Priority (3)

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
DE10148875 2001-10-04
PCT/DE2002/003726 WO2003032156A2 (de) 2001-10-04 2002-10-01 Verfahren zum aktuellhalten von software auf verschiedenen endgeräten

Publications (1)

Publication Number Publication Date
EP1438658A2 true EP1438658A2 (de) 2004-07-21

Family

ID=7701318

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02774441A Withdrawn EP1438658A2 (de) 2001-10-04 2002-10-01 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
WO2010082077A1 (en) * 2009-01-19 2010-07-22 Telefonaktiebolaget L M Ericsson (Publ) Mobile specialized software code update
JP5675807B2 (ja) * 2009-08-12 2015-02-25 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 動的なrtcpリレー
US8938518B2 (en) * 2012-01-16 2015-01-20 International Business Machines Corporation Transferring applications and session state to a secondary device

Family Cites Families (5)

* 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
DE10014390C2 (de) * 2000-03-23 2002-02-21 Siemens Ag Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO03032156A2 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE60014234T2 (de) System und Verfahren zum Ermöglichen von Fehlertolerante Systeme
DE102004053597B4 (de) Verfahren zum automatischen Erzeugen und/oder Steuern einer Telekommunikations-Konferenz mit einer Vielzahl von Teilnehmern, Telekommunikations-Konferenz-Endgerät und Telekommunikations-Konferenz-Servereinrichtung
DE60132232T2 (de) Servicefähige technologie
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
DE602004009947T2 (de) Netzwerkentität zur verbindung von sip-endpunkten verschiedener fähigkeiten
EP3357218A1 (de) Verfahren zur industriellen kommunikation über tsn
EP2036293B1 (de) Erweiterung des CSTA Protokolls zum vollständigen VoIP Protokoll
DE10361704A1 (de) Vorrichtung und Verfahren zum Aufbauen einer Verbindung in einem aus mobilen Knoten gebildeten Funknetzwerk
DE602004010345T2 (de) Verfahren und Einrichtung zur Migration zu einem alternativen Call Controller
WO2003032156A2 (de) Verfahren zum aktuellhalten von software auf verschiedenen endgeräten
DE10345051B4 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
WO2012084249A1 (de) Verfahren zur integration von funktionen eines telekommunikationsnetzes in ein datennetz
EP1330139B1 (de) Aufbau einer Kommunikationsverbindung zwischen einem Mobilfunk-Kommunikationsendgerät und einem gemäss des IP Protokolls arbeitenden Kommunikationsendgerät
EP1853046B1 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
DE102006002434B3 (de) Verfahren und Server zum Herstellen einer Kommunikationsverbindung zwischen Kommunikationsendgeräten
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
EP1661357B1 (de) Verfahren und vorrichtung zum umgang mit änderungen der netzwerkadresse bei mobiler datenübertragung
EP1452041B1 (de) Verfahren und netzvorrichtung zum bereitstellen von insbesondere personalisierten kommunikationsdiensten in einem kommunikationssystem
EP2649751B1 (de) Verfahren und system zur überwachung eines kommunikationssystems
EP2375852B1 (de) Kommunikationsendgerät und Verfahren zur Datenübertragung zwischen einem Kommunikationsendgerät und einem Kommunikationssystem in einem Datennetz
DE102005046171A1 (de) Verfahren zum Aufrufen von Applikationsservern mit unterschiedlicher Betriebsart durch ein IP Multimedia Subsystem
WO2007028701A1 (de) Verfahren zum gezielten blockieren von diensten in einem ip multimedia subsystem
DE102008059522A1 (de) Vorrichtung und Verfahren zur automatischen Umleitung des VolP-Telefonverkehrs bei Netzstörungen in ein Mobilfunknetz

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040227

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SK TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20060530