-
Die
vorliegende Erfindung betrifft im Allgemeinen ein Verfahren durch
welches eine an einem mobilen Knoten enthaltene Datenbankkopie mit
einer entsprechenden Datenbankkopie, die auf einem Netzwerkteil
eines Kommunikationsnetzwerks enthalten ist, synchronisiert wird.
Im Speziellen betrifft die vorliegende Erfindung eine Vorrichtung
und ein zugehöriges
Verfahren, durch welches) die Initiierung einer Synchronisationssitzung
erleichtert werden soll, durch die der Datenbankinhalt der entsprechenden
Datenbanken, falls notwendig, in Übereinstimmung miteinander
gebracht werden soll.
-
Eine
Sitzungsstatus-Information wird an einem Gerät erzeugt, welches die Synchronisationssitzung
initiiert und die Sitzungsstatus-Information zu einem Empfängergerät kommuniziert.
Die Sitzungsstatus-Information identifiziert den Synchronisationsstatus
des initiierenden Geräts
und identifiziert die Synchronisationssitzung, sowie die Teile der
Daten, die während
der Synchronisationssitzung synchronisiert werden sollen.
-
HINTERGRUND DER ERFINDUNG
-
Viele
Aspekte der modernen Gesellschaft beruhen auf der Verfügbarkeit
von Kommunikationssystemen, über
welche Daten kommuniziert werden. Daten werden gemäß der Ausführung eines
Datenkommunikations-Dienstes kommuniziert. Kommunikationssysteme
sind im Allgemeinen entworfen, um zu versuchen, Daten schnell und
genau zu kommunizieren. Die Daten müssen bei einigen Kommunikationssystemen über erhebliche
Entfernungen kommuniziert werden, und manchmal trotz schlechter
Kommunikationsbedingungen.
-
Ein
Kommunikationssystem enthält
zumindest einen Satz von Kommunikationsstationen, die mittels eines
Kommunikationskanals untereinander verbunden sind. Eine erste der
Kommunikationsstationen bildet eine sendende Station, eine andere
der Kommunikationsstationen bildet eine empfangende Station. Kommunikationsdienste
werden durch die Kommunikation von Daten von der sendenden Station
zu der empfangenden Station bewirkt. Kommunikationsstationen, die
sowohl einen Sendeteil, als auch einen Empfangsteil enthalten, sind
zu Zweiweg-Kommunikationen fähig.
Das heißt,
die Kommunikationsstation sorgt für die Übermittlung von Daten von dort
weg, und sorgt für
den dortigen Empfang der Daten. Viele verschiedene Arten von Kommunikationsdiensten
werden in vielen verschiedenen Arten von Kommunikationssystemen
bewirkt, wobei Daten gemäß einer
Punkt-zu-Punkt- oder einer Punkt-zu-Mehrpunkt-Übermittlungen kommuniziert werden.
-
Verbesserungen
bestehender Kommunikationssysteme werden umgesetzt und neue Arten
von Kommunikationssystemen werden eingeführt, so wie es die Fortschritte
bei den Technologien zulassen. Als Ergebnis der Verwendung solcher
neuer und verbesserter Kommunikationssysteme werden neue Arten von
Kommunikationsdiensten ermöglicht.
-
Ein
Funkkommunikationssystem ist ein beispielhafter Typ eines Kommunikationssystems,
dessen Verwendung, um darüber
zu kommunizieren, allgemein eingesetzt wird. In einem Funkkommunikationssystem
werden Daten, die während
des Betriebes kommuniziert werden, auf Funkkanälen kommuniziert. Funkkanäle sie auf
einer Funkverbindung definiert, die sich zwischen den Kommunikationsstationen
des Funkkommunikationssystems erstreckt. Eine kabelgebunden Verbindung,
die herkömmlicher Weise
in einem kabelgebundenen Kommunikationssystem erforderlich ist,
wird unnötig.
-
Fortschritte
in den Technologien fallen mit Vereinigungen von Technologien zusammen.
Das heißt,
dass Technologiebereiche, die vorher getrennt waren, sich in zunehmender
Weise vereinigen. Und Fortschritte in einem Technologiebereich nützen auch
anderen Technologiebereichen. Ein weiterer der modernen Gesellschaft
innewohnender Aspekt ist zum Beispiel der Bedarf, Datenverarbeitungshandlungen
an vielen verschiedenen Typen von Daten durchzuführen. Wie es technologische
Fortschritte zulassen, können
zunehmend große
Datenmengen mit zunehmend schnellen Raten verarbeitet werden. Gemäß modernen
Datenverarbeitungstechniken können
große
Mengen von Daten gespeichert und verarbeitet werden.
-
Kommunikationssysteme,
einschließlich Funkkommunikationssystemen,
werden regelmäßig verwendet,
um darüber
Daten zu transportieren, die in der Folge durch Datenverarbeitungstechniken
verarbeitet werden. Und es werden Technologien, die für die Datenverarbeitung
verwendet werden, in zunehmender Weise während des Betriebs von Kommunikationssystemen
verwendet. Dementsprechend werden Technologien, über die Daten kommuniziert
werden sollen, in zunehmendem Maße in Datenverarbeitungssystemen
verwendet, um durch diese Daten zu verarbeiten. Es sind Kommunikationsgeräte und Systeme,
in denen die Geräte
verwendet werden, verfügbar, über die
verschiedene Datenverarbeitungsfunktionen und Kommunikationsdienste
durchgeführt werden.
Zusätzliche
Anwendungen und Dienste, die neue Datenverarbeitungs- und Kommunikationstechnologien
zur Anwendung bringen, werden wahrscheinlich in der Zukunft verfügbar sein.
-
Persönliche digitale
Assistenten (PDAs) sind tragbare Datenspeicher- und Verarbeitungsgeräte, die
von vielen Benutzern allgemein verwendet werden. Persönliche digitale Assistenten
haben typischerweise keine Abmessungen, die in Gehäuse gepackt
sind, um zu ermöglichen,
dass sie von einem Benutzer von Hand getragen werden. Tragbare digitale
Assistenten sind beispielhaft für
Datenverarbeitungsgeräte.
Datenbanken werden auf den persönlichen
digitalen Assistenten gespeichert, und die dort gespeicherten Daten
sind auf Abfrage durch einen Benutzer des Gerätes selektiv abrufbar. Die
an dem Gerät
gespeicherten Daten sind typischerweise in eine Abfolge von Datensätzen formatiert,
wobei jeder Datensatz ein oder mehrere Datenfelder enthält. In Folge
einer Auswahl durch den Benutzer werden Daten abgerufen und angezeigt,
oder auf andere Weise für
den Benutzer verfügbar
gemacht. Der Benutzer ist auch in der Lage, zu veranlassen, dass
eine ausgewählte
Sortierung, sowie andere Verarbeitungshandlungen an den Daten durchgeführt werden,
die in der Datenbank des persönlichen
digitalen Assistenten enthalten sind, oder diese auf eine andere
Weise ausbilden. Und der Benutzer ist typischerweise auch in der
Lage, die in den Datenbanken des Laufwerks gespeicherten Daten zu ändern, oder
diesen etwas hinzuzufügen.
-
Die
Fähigkeit,
eine Sicherheitskopie der Daten zu erstellen, die auf dem Datenspeicher- und Verarbeitungsgerät gespeichert
sind, erlaubt es, im Falle eines Verlusts der Daten auf dem Gerät die Daten wiederzuerlangen.
Es sind Verfahren vorgesehen, durch welche das Rücksichern der Daten durchgeführt werden
soll. Herkömmliche,
persönliche,
digitale Assistenten beispielsweise sehen eine Rücksicherung der Daten auf einen
Personal Computer oder einer anderen Computerstation vor, typischerweise mittels
eines fixen Kabels, oder einer anderen Kabelgebundenen Verbindung,
die dort dazwischen gebildet wird. Eine Kopie der Daten wird auf
dem Personal Computer gespeichert. Die dort gespeicherten Daten sind
typischerweise auch aktualisierbar, d.h. auf dem Personal Computer
austauschbar.
-
Wenn
die Daten an mehr als einem Standort gespeichert sind, z.B. auf
dem tragbaren Verarbeitungsgerät
und auf dem Personal Computer, führt eine
nachfolgende Änderung
an irgendeinem Teil der Daten, die auf irgendeiner der Standort
gespeichert sind, dazu, dass die Daten keine echten Kopien voneinander
mehr sind. Das heißt,
dass die an einzelnen Standorten gespeicherten Daten nicht mehr
vollständige
Kopien voneinander bilden. Hinzufügen, Löschen oder Ändern von irgendwelchen Datenteilen verursacht,
dass die an einem Standort gespeicherten Daten, nicht mehr vollständig mit
den Daten konform sind, die an den anderen der Standorte gespeichert
sind.
-
Um
die Daten wieder in Übereinstimmung zueinander
zu bringen, ist eine Synchronisation der Datenbanken, welche die
Daten enthalten, miteinander erforderlich. Synchronisations-Handlungen
werden beispielsweise während
nachfolgender Rücksicherungshandlungen
durchgeführt,
während
denen die an den entsprechenden Standorten gespeicherten Daten miteinander
verglichen werden. Und in Reaktion auf den Vergleich werden Teile
der Daten identifiziert, von denen erkannt wurde, dass sie nicht mehr
miteinander übereinstimmen.
Dann werden die Daten verändert,
um die Daten in Übereinstimmung zueinander
zu bringen.
-
Andere
tragbare Geräte
bieten eine Rücksicherung
der gespeicherten Daten auf eine Computerstation mittels einer Funk-Luftschnittstelle.
Daten Rücksicherungshandlungen
und Datensynchronisationshandlungen, die mittels einer Funk-Luftschnittstelle
durchgeführt
werden, sind jedoch problematischer, als Handlungen, die mittels
einer herkömmlichen
Kabelgebundenen Verbindung durchführbar sind. Begrenzungen in
der Bandbreite begrenzen die Kommunikationskapazität, die für Rücksicherungs- und
Synchronisationshandlungen zugewiesen werden kann. Herkömmliche
Verfahren, die von Kabelgebundenen Verbindungen verwendet werden,
um die Daten, die auf den entsprechenden Standorten gespeichert
sind, rückzusichern
und zu synchronisieren, verbrauchen, als eine allgemeine Regel,
eine unerträgliche
Bandbreite, wenn sie auf ein System angewendet werden, in dem diese
Handlungen mittels einer Funk-Luftschnittstelle durchgeführt werden.
-
Die
Synchronisations-Verankerung, d.h. Verfahren, durch welche die einzelnen
Standorte eine Synchronisations-Sitzung identifizieren, gemäß welcher
Daten Synchronisations-Handlungen
durchgeführt
werden, muss minimal sein, jedoch die Synchronisations-Sitzung an
den einzelnen Standorten hinreichend identifizieren. Die
EP 0917077A2 offenbart ein
System, um Daten zwischen einem Personal Computer und einem persönlichen
digitalen Assistenten unter Verwendung eines kabellosen Kommunikationsweges
zu synchronisieren.
-
Jedes
Verfahren, durch welches besser für eine Rücksicherung und Synchronisation
der Daten von dynamisch veränderbaren
Datenbanken mittels einer Funk-Luftschnittstelle gesorgt wird, wäre daher vorteilhaft.
-
Angesichts
dieser Hintergrundinformation, welche die Synchronisation von Dateninhalten
von Datenbanken mittels einer Funk-Luftschnittstelle betrifft, haben
sich die erheblichen Verbesserungen der vorliegenden Erfindung entwickelt.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung sieht demgemäß in vorteilhafter Weise eine
Vorrichtung vor, wie im unabhängigen
Anspruch 1 definiert, sowie ein zugehöriges Verfahren, wie im unabhängigen Anspruch
11 definiert, durch welche eine an einem mobilen Knoten enthaltene
Datenbank mit einer entsprechenden Datenbankkopie, die an einem
Netzwerkteil eines Kommunikationsnetzwerks enthalten ist, synchronisiert
werden soll.
-
Durch
den Betrieb einer Ausführungsform der
vorliegenden Erfindung wird ein Verfahren bereitgestellt, durch
welches die Initiierung einer Synchronisations-Sitzung erleichtert
wird, durch welche bei Bedarf der Datenbankinhalt der entsprechenden
Datenbanken in Übereinstimmung
zueinander gebracht werden soll.
-
In
einem Aspekt der vorliegenden Erfindung wird eine Sitzungsstatus-Information
an einem Gerät erzeugt,
welches die Synchronisationssitzung initiiert, und die Sitzungsstatus-Information zu einem Empfängergerät kommuniziert.
die Sitzungsstatus-Information identifiziert den Synchronisationsstatus
des initiierenden Gerätes,
und identifiziert die Synchronisations-Sitzung sowie die Teile der Daten, die
während
der Synchronisations-Sitzung synchronisiert werden sollen.
-
In
einem weiteren Aspekt der vorliegenden Erfindung wird eine Synchronisations-Sitzung durch einen
Synchronisations-Sitzungs-Initiator initiiert. Der Synchronisations-Sitzungs-Initiator ist entweder
von dem mobilen Knoten oder einem Netzwerkgerät, d. h. einen Synchronisationsserver,
gebildet. Sowohl der mobile Knoten als auch der Synchronisationsserver enthalten
Sitzungsstatus-Informationserzeuger. Das Gerät, an dem die Synchronisationssitzung
initiiert wird, bildet ein Datagram, welches die Sitzungsstatus-Information
enthält,
die der Synchronisationssitzung zugeordnet ist. Und, wenn das Datagram
einmal gebildet ist, wird das Datagram zu dem anderen der Geräte gesendet,
welches eine Partei der Synchronisationssitzung sein soll. Das Gerät, zu dem das
Datagram gesendet wird, bildet einen Synchronisationssitzungs- Empfänger. Die
Sitzungsstatus-Information identifiziert den Synchronisationsstatus des
Synchronisationsstatus-Initiators.
-
Die
Sitzungsstatus-Information enthält
einen Sitzungs-Identifizierungswert des Synchronisations-Sitzungs-Initiators.
Der Sitzungs-Identifizierungswert identifiziert eine laufende Nummer
vorheriger Synchronisations-Sitzungen, die von dem Synchronisations-Sitzungs-Initiator
initiiert wurden. Und, die Sitzungsstatus-Information enthält auch
einen erwarteten Sitzungs-Identifizierungswert. Der erwartete Sitzungs-Identifizierungswert
identifiziert eine als nächstes
erwartete Nummer von Sitzungen, die von dem Synchronisations-Sitzungs-Initiator
für den
Synchronisations-Sitzungs-Empfänger
erwartet werden würde,
wenn der Synchronisations-Sitzungs-Empfänger stattdessen der Synchronisations-Sitzungs-Initiator
wäre. Das
bedeutet, der erwartete Sitzungs-Identifizierungswert ist die Sitzungs-ID,
die von dem Sitzungs-Initiator an dem Punkt erwartet wird, an dem
der Synchronisatons-Sitzungs-Initiator die Synchronisations-Sitzung
initiiert. Die Werte des Sitzungs-Identifizierungs-Wertes und des
erwarteten Sitzungs-Identifizierungswertes werden als Synchronisations-Anker
verwendet.
-
In
einem weiteren Aspekt der vorliegenden Erfindung wird ein Formatierer
verwendet, um das Datagram zu bilden, dass von dem Synchronisations-Sitzungs-Initiator
zu dem Synchronisations-Sitzungs-Empfänger gesendet wird. Da wiederum
entweder der Netzwerkteil oder der mobile Knoten den Synchronisations-Sitzungs-Initiator
bilden, sind Datagram-Erzeuger sowohl an dem mobilen Knoten als auch
an dem Netzwerkteil enthalten. Der Datagram-Erzeuger formatiert
Daten in das Datagram-Format. Das Datagram-Format enthält einen Kopfteil,
welches Sitzungsstatus-Informationsfelder enthält. Die Sitzungsstatus-Informationsfelder
sind selektiv mit Werten des Sitzungs-Identifizierungswertes und
des erwarteten Sitzungs-Identifizierungswertes
besetzt. Der Formatierer besetzt selektiv andere Teile und Felder
des Datagrams mit anderer Information.
-
Zum
Beispiel ist ein anderer Teil des Datagrams mit Werten von Dateninhalten
besetzt, wie etwa Datenfelder, die gemäß der Synchronisationssitzung
synchronisiert werden sollen. Das Datagram wird gebildet, und dann
zu dem Synchronisations-Sitzungs-Empfänger gesendet. Wenn es zu dem
Synchronisations-Sitzungs-Empfänger
ausgeliefert wird, werden die in dem Datagram enthaltenden Daten
extrahiert. Die extrahierten Daten enthalten die Werte, die in den
Sitzungsstatus-Informationsfeldern in dem Kopfteil des Datagrams
enthalten sind. Dabei werden dem Synchronisations-Sitzungs-Empfänger Informationen
bereitgestellt, die mit dem Synchronisations-Status verbunden sind,
sowie die Werte des Sitzungs-ID-Wertes und des erwarteten Sitzungs-ID-Wertes,
die verwendet werden, um den Synchronisations-Sitzungs-Empfänger der
Sychronisations-Sitzung gemäß welcher
die Daten des Datagrams synchronisiert werden zu benachrichtigen.
-
In
diesen und in anderen Aspekten ist daher eine Vorrichtung, und ein
zugehöriges
Verfahren für ein
Funkkommunikationssystem bereitgestellt. Das Funkkommunikationssystem
hat einen Netzwerkteil, an dem eine Netzwerkkopie-Datenbank geführt wird, und
einen mobilen Knoten, an dem eine mobilknoten-Kopiedatenbank geführt wird.
Eine Synchronisationssitzung wird initiiert, über die Werte von Feldern synchronisiert
werden sollen, die an der Netzwerkkopie-Datenbank und an der mobilkopie-Datenbank
gebildet sind. Zumindest an einem ausgewählten aus dem Netzwerkteil
und dem mobilen Knoten ist ein Sitzungsstatus-Informationserzeuger enthalten. Der
Sitzungsstatus-Erzeuger bildet zumindest einen ersten Sitzungsstatus-Informationswert.
Der erste Sitzungsstatus-Informationswert identifiziert einen Synchronisationsstatus
von den zumindest ausgewählten
aus dem Netzwerkteil und dem mobilen Knoten, an dem der Sitzungsstatus-Erzeuger
enthalten ist. Anzeigen des zumindest ersten Sitzungsstatus-Informationswertes
werden zwischen dem Netzwerkteil und dem mobilen Knoten kommuniziert,
um die Synchronisationssitzung zu initiieren.
-
Ein
vollständigeres
Verständnis
der vorliegenden Erfindung und des Umfangs davon kann aus den beigefügten Zeichnungen,
die unten kurz zusammengefasst sind, aus der folgenden detaillierten
Beschreibung der momentan bevorzugten Ausführungsformen der Erfindung,
sowie den angefügten Ansprüchen erhalten
werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 stellt
ein funktionales Blockdiagramm eines Funkkommunikationssystems dar,
in dem eine Ausführungsform
der vorliegenden Erfindung betriebsfähig ist.
-
2 stellt
ein funktionales Blockdiagramm von Geräten dar, welche Teile des in 1 gezeigten Kommunikationssystems
bilden, und welche gemäß einer
Synchronisationssitzung Synchronisations-Parteien bilden.
-
3 stellt
ein Nachrichten-Abfolgediagramm dar, welches für eine Signalisierung repräsentativ
ist, die gemäß einer
Synchronisationssitzung während
des Betriebes des in den 1-2 gezeigten
Kommunikationssystems erzeugt wird.
-
4 stellt
ein weiteres Nachrichten-Abfolgediagramm dar, das ebenfalls für eine Signalisierung,
die während
des Betriebs des in den 1 und 2 gezeigten
Kommunikationssystems erzeugt wird, repräsentativ ist.
-
5 stellt
ein Verfahrens-Flussdiagramm dar, welches die Verfahrensschritte
des Betriebsverfahrens einer Ausführungsform der vorliegenden
Erfindung auflistet.
-
DETAILLIERTE
BESCHREIBUNG
-
Zuerst
Bezug nehmend auf 1 sorgt ein Funkkommunikationssystem,
allgemein mit 10 bezeichnet, für Kommunikationen zwischen
Kommunikationsstationen, die in dem Kommunikationssystem betriebsfähig sind.
Eine Funk-Luftschnittstelle ist zwischen einem Netzwerkteil des
Kommunikationssystems und mobilen Knoten ausgebildet, für die der
mobile Knoten 12 repräsentativ
ist. Funkkanäle
sind definiert und Kommunikationen werden zwischen dem Netzwerkteil
und dem mobilen Knoten mittels der Funkkanäle bewirkt.
-
Während des
Betriebs des Funkkommunikationssystems werden Daten gemäß der Ausführung von
Kommunikationsdiensten kommuniziert. Daten, die von dem mobilen
Knoten stammen, werden selektiv mittels eines Aufwärts-Verbindungskanals kommuniziert,
der auf einer Funk-Aufwärtsverbindung
der Funk-Luftschnittstelle definiert ist, die sich zwischen dem
mobilen Knoten und einem Netzwerkteil des Funkkommunikationssystems
erstreckt. Analog werden Daten, die von dem Netzwerkteil des Funkkommunikationssystem
stammen, mittels Abwärtsverbindungskanälen zu einem
mobilen Knoten kommuniziert, die auf einer Funk-Abwärtsverbindung der
Funk-Luftschnittstelle definiert sind, die sich zwischen dem Netzwerkteil
und dem mobilen Knoten erstreckt.
-
Der
Netzwerkteil des Kommunikationssystems ist funktional dargestellt.
Hier ist eine einzelne Basisstation 16 dargestellt. Eine
Basisstation 16 bildet einen Teil des Netzwerkteils. Und
die Basisstation definiert ein Abdeckungsgebiet, das als Zelle 18 bezeichnet
wird. Wenn der mobile Knoten sich innerhalb des Abdeckungsbereiches
befindet, der von einer Basisstation definiert ist, ist der mobile
Knoten im Allgemeinen in der Lage, mit der Basisstation zu kommunizieren,
mit der die Zelle verknüpft
ist. Aufgrund der Mobilität,
die dem mobilen Knoten gestattet ist, kann sich der mobile Knoten
zu anderen Zeiten in Abdeckungsbereichen befinden, die von anderen Zellen
gebildet werden, die von anderen Basisstationen definiert werden.
-
Der
Netzwerkteil des Kommunikationssystems enthält auch eine Server-und Relayeinrichtung 18.
Hier ist diese Einheit ein BlackberryTM Enterprise Server
und ein Relay. Und die Einrichtung erstreckt sich zu der Basisstation.
Die Einrichtung ist weiters zu einem Synchronisationsserver 24 gekoppelt. Während gezeigt
ist, dass das Relay/BES und der Server getrennte funktionale Einheiten
sind, sind die Funktionen, die durch solche Einheiten in einer Ausführungsform
durchgeführt
werden, zusammen auf einer gemeinsamen Einrichtung oder Plattform
enthalten. Der Netzwerkteil des Kommunikationssystems enthält auch
einen Administrations-(Admin)-Server 26. Der Administrations-Server
ist an den Synchronisationsserver gekoppelt. Der Administrations-Server
bietet dem Kommunikationssystem beispielsweise administrative Dienste.
Die administrativen Dienste bieten zum Beispiel eine administrative
Steuerung über
den Synchronisations-Server.
-
Der
Synchronisations-Server ist funktionell an Netzwerk-basierende Datenbanken
gekoppelt, deren Synchronisation während den Synchronisationshandlungen
durchgeführt
wird. Hier sind drei beispielhafte Datenbanktypen in der Figur gezeigt.
Eine Lotus Notes-Datenbank 28, eine Exchange-Anschlussstelle
für eine
auf Exchange basierende Datenbank 32, und eine Datenbank 34 einer
dritten Partei sind in der Figur gezeigt. Analog können andere Datenbanktypen
vertreten sein.
-
In
der beispielhaften Ausführung
haben die Datenbanken ein Textformat, hier ein Format einer erweiterbaren
Auszeichnungssprache (Extendable mark-up language, XML). Die in
den Datenbanken 28, 32 und 34 enthaltenden
Daten sind aus einer Vielzahl von Datenteilen gebildet, die in Datensätze formatiert
sind, welche Datenfelder aufweisen. Die Felder, aus denen eine Datenbank,
wie etwa die Datenbank 28, aufgebaut ist, enthalten zum
Beispiel Datensatzfelder, die selektiv mit Daten besetzt sind. Ausgewählte der
Datensatzfelder bilden Schlüsselfelder.
-
Entsprechende
Datenbanken sind an den mobilen Knoten gekoppelt, oder in diesem
enthalten. Die Datenbanken 38, 42 und 44 sind
an dem mobilen Knoten vertreten. Die Datenbank 38 entspricht
der LotusTM-Note Datenbank 28;
die Datenbank 42 entspricht der auf Exchange basierenden
Datenbank 32; und die Datenbank 44 entspricht
der Datenbank 34 einer dritten Partei. Das heißt, die
Datenbanken 28 und 38, 32 und 42,
und 34 und 44 sind Kopien voneinander, wenn auch
einzeln und asynchron aktualisierbar.
-
Gemäß des Betriebs
einer Ausführungsform der
vorliegenden Erfindung werden Synchronisations-Prozeduren durchgeführt, durch
welche die Datenbankinhalte, der entsprechenden Datenbanken in Übereinstimmung
zueinander gebracht werden. In dem Fall zum Beispiel, dass ein Datenbanksatz
einer Datenbank auf dem mobilen Knoten aktualisiert wird, verursachen
die Synchronisations-Prozeduren, dass der entsprechende Wert der
entsprechenden Datenbank, die an dem Netzwerk geführt wird,
in Übereinstimmung
damit gebracht wird.
-
Dabei
sind die Datenbanken, nach dem Abschluss der Synchronisationshandlungen,
in Übereinstimmung
miteinander, und die Daten, welche die Felder der entsprechenden
Datenbank-Kopien
besetzen, sind zueinander ident.
-
2 zeigt
nochmals Teile des Kommunikationssystems 10. Die Elemente
bilden Parteien einer Synchronisationssitzung, bei welcher Datenbanken, die
an dem mobilen Knoten bzw. dem Netzwerkteil geführt werden, miteinander synchronisiert
werden. Hier sind der mobile Knoten 12 und der Synchronisationsserver 24 als
Synchronisations-(sync)-Parteien identifiziert. Einheiten der entsprechenden
Elemente sind während
einer Synchronisationssitzung funktionsfähig, um Datenbankinhalte der
Datenbanken, die von den entsprechenden Elementen geführt werden,
oder dort enthalten sind, in Synchronisation miteinander zu bringen.
Während
einer Synchronisationssitzung werden Synchronisations(sync)-Datagramme
erzeugt, und zwischen den entsprechenden Synchronisationsparteien
kommuniziert. Eine der beiden Einheiten initiiert eine Synchronisationssitzung.
Die Synchronisationspartei, welche die Synchronisationssitzung beginnt,
wird als Synchronisationssitzungs-Initiator bezeichnet. Und die
andere Partei der Synchronisationssitzung wird als Synchronisationssitzungs-Empfänger bezeichnet.
-
Während einer
Synchronisationssitzung werden Synchronisations-Datagramme zwischen
den entsprechenden Synchronisationsparteien kommuniziert. Hier sind
die Synchronisations-Datagramme 48 und 52 repräsentativ
für Synchronisations-Datagramme,
die zwischen den entsprechenden Parteien der Synchronisations-Sitzung
kommuniziert werden. Das Gerät, welches
den Synchronisations-Sitzungs-Initiator bildet, sendet das erste
Synchronisations-Datagram
zu dem Synchronisations-Sitzungs-Datagram-Empfänger.
-
Jeder
der Synchronisationsparteien enthält die Vorrichtung 56 einer
Ausführungsform
der vorliegenden Erfindung. Die Vorrichtung enthält funktionale Elemente, die
in jeder gewünschten
Weise realisiert sein können,
zum Beispiel durch Algorithmen, die von einer Verarbeitungsschaltung
ausführbar sind.
Die Vorrichtung 56 enthält
einen Formatierer 58, der Daten in das Datagram formatiert.
Die Vorrichtung enthält
auch einen Synchronisations-Sitzungs-Status-Informations-Status-Erzeuger 62.
Der Synchronisations-Sitzungs-Status-Informations-Status-Erzeuger erzeugt
die Synchronisations-Sitzungs-Identifizierungswerte und die erwarteten
Sitzungs-Identifizierungswerte. Die von dem Sitzungsstatus-Informationserzeuger 62 gebildeten
Werte werden dem Formatierer bereitgestellt. Der Formatierer formatiert
die ihm von dem Sitzungsstatur-Informations-Erzeuger bereitgestellten
Werte in ein Sitzungsstatus-Informationsfeld
eines Kopfteils eines Datagrams, das von dem Formatierer gebildet
wird. Das Sitzungsstatus-Informationsfeld ist als Abschnitt 66 des
Datagrams 48 dargestellt. Die Vorrichtung 56, die
in der anderen der Synchronisationsparteien enthalten ist, enthält entsprechende
Strukturen, durch welche ein entsprechendes Feld des Datagrams besetzt
werden kann, welches in Folge während
der Synchronisationssitzung erzeugt wird.
-
Der
Synchronisationssitzungs-Status-Identifizierer ist eine einzigartige
Nummer, die eine Synchronisationssitzung identifiziert, die zwischen
zwei Synchronisationsparteien gebildet ist. Und der erwartete Sitzungsidentifizierer
ist ein Sitzungsidentifizierer, der von dem Synchronisations-Sitzungs-Initiator zu
dem Zeitpunkt erwartet wird, in dem die Synchronisationssitzung
dort initiiert wird. Der Synchronisationssitzungs-Identifizierer
und der erwartete Sitzungsidentifizierer werden als Synchronisationssitzungs-Anker
verwendet.
-
Eine
Synchronisationssitzung beginnt, wenn eine Synchronisationspartei,
welche den Sitzungsinitiator bildet, ein erstes Synchronisations-Datagram einer
bestimmten Sitzung sendet. Eine Synchronisationssitzung erfordert
jedoch keinen Verbindungsaufbau-Prozess zwischen den Synchronisationsparteien.
Das heißt,
das Übersenden
spezieller Synchronisations-Datagramme, um eine Synchronisationssitzung
zu beginnen, ist nicht erforderlich.
-
Die
Vorrichtung 56 enthält
weiters einen Extraktor 72, der, in Folge der Auslieferung
eines Synchronisations-Datagrams dorthin, arbeitet, um die Werte
in dem Sitzungs- Initiierungsfeld
zu extrahieren. Der Extraktor 72 ist hier bei der Vorrichtung 56 gezeigt,
die in der Synchronisationspartei enthalten ist, welche den Sitzungsempfänger bildet.
-
Beide
Parteien, d.h. entweder der mobile Knoten oder der Synchronisationsserver,
können eine
Synchronisationssitzung initiieren. Und beide Synchronisationsparteien
können
gleichzeitig Sitzungs-Initiatoren sein, gemäß einzelnen Synchronisationssitzungen.
Die Richtung des Datagrams wird wichtig, um zu identifizieren mit
welchen der einzelnen Synchronisationssitzungen das Datagram assoziiert
ist. Der Sitzungs-Identifizierungswert und die erwarteten Sitzungs-Identifizierungswerte
sind abgestimmte ganzzahlige Werte mit positiven oder negativen
Vorzeichen. Es wird eine Nomenklatur verwendet, um die einzelnen
Synchronisationsparteien zu identifizieren. Zum Beispiel ist der
Synchronisationsserver durch ganzzahlige Werte mit positiven Vorzeichen
identifiziert und der mobile Knoten hat ganzzahlige Werte mit negativen
Vorzeichen. Dabei enthält eine
Sitzung, die von dem Synchronisationsserver initiiert wurde, einen
positiven Sitzungs-Identifizierungswert. Und die Server-Synchronisationspartei hält einen
Sitzungs-Identifizierungswert von negativem Wert.
-
Das
allgemein mit 76 bezeichnete Nachrichten-Abfolgediagramm
in 3 zeigt an, dass der Synchronisationsserver 24 einen
Synchronisationssitzungs-Initiator bildet. Die an dem Synchronisationsserver
gebildete Synchronisations-Status-Information enthält einen
Wert von 10 als den aktuellen Sitzungs-Identifizierungswert. Und
der Wert von –10 bildet
den erwarteten Sitzungs-Identifizierungswert. Es wird ein Datagram
gebildet, und, wie von dem Abschnitt 78 dargestellt, zu
dem Synchronisationssitzungs-Empfänger gesendet, hier der mobile
Knoten 12 (gezeigt in 1). Die
Synchronisationsstatus-Information an dem Gerät enthält einen letzten Sitzungs-Identifizierungswert
von –9,
und einen erwarteten Sitzungs-Identifizierungswert von +10. eine
Sitzungsantwort, die von dem mobilen Knoten zu dem Synchronisationsserver
zurückgegeben
wird, wird durch Abschnitt 82 angezeigt. Das von dem Synchronisationssitzungs-Empfänger gebildete
Datagram enthält
die Sitzungsstatus-Informationswerte
als Teile des formatierten Datagrams.
-
4 zeigt
ein allgemein mit 86 bezeichnetes Nachrichtenabfolge-Diagramm.
Wiederum bildet der Synchronisationsserver 24 den Sitzungsinitiator, und
der mobile Knoten bildet den Sitzungsempfänger. Und die Synchronisationsstatus-Information
bei den entsprechenden Parteien weist die in der Figur gezeigten
Werte auf. Ein an dem Sitzungsinitiator gebildetes Datagram wird,
wie durch Abschnitt 88 angezeigt, zu dem Empfängergerät gesendet, das
von dem mobilen Knote gebildet wird. Eine Sitzungsantwort wird von
dem mobilen Knoten hergestellt und von dort gesendet, angezeigt
durch den Abschnitt 90. Hier wird die Antwort jedoch nicht
zu dem Synchronisations-Initiator ausgeliefert.
-
Ein
Zeitmesser an dem Sitzungs-Initiator läuft aus, ohne das der Synchronisationsserver
eine Antwort auf das anfängliche
Sitzungsdatagram, welches vorher von dem Synchronisationsserver
gesendet wurde, detektiert. Da es keine Antwort gab, ändert sich
der Wert der Synchronisationsstatus-Information nicht, und ein Datagram
wird nochmals gebildet und, wie durch den Abschnitt 92 angezeigt,
zu dem mobilen Knoten gesendet, der den Datenempfänger bildet.
Da der mobile Knoten vorher auf das vorhergesendete Datagram geantwortet
hat, ändert sich
der dort geführte
erwartete Sitzungs-Identifizierungswert. Aufgrund der Wiederübermittlung
des Datagrams, angezeigt durch dieselbe Sitzungsstatus-Information,
gibt der mobile Knoten jedoch, angezeigt durch den Abschnitt 94,
eine Kopie der vorhergesendeten Antwort zurück. Hier wird das Datagram zu
dem Synchronisationssitzungs-Initiator
zurückgegeben,
und zusätzliche
Synchronisationshandlungen fahren fort, falls notwendig.
-
5 zeigt
ein Verfahren-Flussdiagramm allgemein mit 102 bezeichnet,
welches für
das Betriebsverfahren einer Ausführungsform
der vorliegenden Erfindung repräsentativ
ist. Das Verfahren erleichtert die Initiierung einer Synchronisationssitzung,
durch welche Werte von Feldern synchronisiert werden sollen, die
von Datenbankkopien gebildet werden, welche an einem Netzwerkteil
und einem mobilen Knoten eines Funkkommunikationssystems aufrechterhalten
werden.
-
Als
erstes wird, wie dies durch Block 104 angezeigt, zumindest
ein erster Sitzungsstatus-Informationswert
zumindest an einem ausgewählten
von dem Netzwerkteil und dem mobilen Knoten gebildet. Der erste
Sitzungsstatus-Informationswert identifiziert einen Synchronisationsstatus
von zumindest dem ausgewählten
aus dem Netzwerkteil und dem mobilen Knoten, bei welchem der Sitzungsstatus-Informationswert
gebildet wird.
-
Dann
wird, wie durch den Block 106 angezeigt, der zumindest
erste Sitzungsstatus-Informationswert
zu dem verbleibenden von dem Netzwerkteil und dem mobilen Knoten
gesendet. Dabei wird der verbleibende von dem Netzwerkteil und dem
mobilen Knoten über
den Synchronisationsstatus von dem ausgewähltem aus dem Netzwerkteil
und dem mobilen Knoten informiert.
-
Dadurch
sind die Sitzungsstatus-Informationswerte sowohl dem mobilen Knoten
als auch dem Netzwerkteil bekannt, und der Synchronisationsbetrieb
kann beginnen.
-
Die
vorhergehenden Beschreibungen sind bevorzugte Beispiele, um die
Erfindung umzusetzen, und der Umfang der Erfindung sollte von dieser
Beschreibung nicht notwendigerweise begrenzt werden. Der Umfang
der vorliegenden Erfindung wird von den nachfolgenden Ansprüchen definiert: