-
Die
vorliegende Erfindung bezieht sich auf ein Kommunikationsverfahren
zum synchronen Verarbeiten von Daten zwischen einer Vielzahl von
Geräten
und einem elektronischen Gerät
dafür.
Insbesondere bezieht sich die vorliegende Erfindung auf ein Kommunikationsverfahren
und auf ein elektronisches Gerät,
die so abgeändert
worden sind, dass Daten in einem drahtlosen oder verdrahteten Netzwerk
synchronisiert werden, so dass eine Netzwerkkonfiguration dynamisch
verändert
wird.
-
In
den letzten Jahren können
außer
in einem Personalcomputer auch in einem tragbaren Informationsverarbeitungsendgerät, wie einem
tragbaren mobilen Telefon, einem Palm-Top-Computer oder einer Armbanduhr, persönliche Daten,
wie eine Telefonnummer, (Adress)-Verzeichnis, Zeitplandaten, eine
Aufgabenliste oder eine E-Mail verwaltet und gespeichert werden.
Bei Verwenden dieser Funktionalität werden Daten durch Verwendung
von duplizierten Daten gemeinsam benutzt zur Verwendung der gleichen
Daten zu Hause oder außerhalb
genauso wie im Büro
zwischen elektronischen Geräten,
wie einem Personalcomputer oder einem tragbaren Informationsverarbeitungsendgerät. Als eine
Technik zum Aufrechterhalten von Übereinstimmung einer Vielzahl
von gemeinsam benutzten Daten ist eine Datensynchronisationsverarbeitung
bekannt. Beispielsweise in dem Fall, wo ein Versuch gemacht wird,
persönliche
Daten, wie ein Adressverzeichnis oder einen Zeitplan in einem Personalcomputer
und einem tragbaren Informationsverarbeitungsendgerät gemeinsam
zu benutzen, wird Datenduplizierung erzeugt, und Originaldaten werden
in dem Host gehalten und die duplizierten Daten werden in jedem
von dem Host verschiedenen Gerät
gehalten. In dem Fall, wo eine Veränderung dieser Datenelemente
auftritt, werden die veränderten
Daten zwischen diesen Geräten
ausgetauscht, wobei die Konsistenz der Daten aufrecht erhalten wird.
Dieses Verfahren wird als Datensynchronisation bezeichnet.
-
Als
ein typisches Computerprogramm für
die Datensynchronisation ist Intelli Sync (Intelli Sync User's Guide Rev 3.1 Puma
TECHNOLOGY 1999) bekannt. Dieses ermöglicht Datensynchronisation zwischen
Personalcomputern oder zwischen einem Personalcomputer und einem
tragbaren Informationsverarbeitungsendgerät. Dieses Programm ermöglicht Datensynchronisation
zwischen zwei Personalcomputern, einem Personalcomputer und einem tragbaren
Informationsverarbeitungsendgerät,
oder einem Personalcomputer und zwei tragbaren Informationsverarbeitungsendgeräten.
-
Im
Fall dieses Systems muss jedoch ein Gerät, das als ein Server dient,
in der Datensynchronisationsverarbeitung mit einbezogen werden.
In dem Fall, wo drei oder mehrere Geräte Daten teilen, gilt eine
Beschränkung
dahingehend, dass Datensynchronisation nicht zwischen zwei von einem
Server verschiedenen Geräten
ausgeführt
werden können. Daher
kann, beispielsweise in dem Fall, wo ein mit einem Netzwerk verbundener
Personalcomputer als ein Server eingesetzt wird, wodurch verursacht
wird, dass zwei tragbare Informationsverarbeitungsendgeräte die duplizierten
Daten enthalten, Datensynchronisationsverarbeitung durch diese von
einem Server verschiedenen, tragbaren Informationsverarbeitungsendgeräte nicht
ausgeführt
werden, selbst wenn ein Versuch unternommen wird, duplizierte Daten
zu verwenden, nachdem diese in einem tragbaren Informationsverarbeitungsendgerät außerhalb durch
das andere tragbare Informationsverarbeitungsendgerät verändert worden
sind. Anders ausgedrückt
wird die herkömmliche
Datensynchronisationsverarbeitung zwischen dem Server und dem Client
auf eine Eins-zu-Eins Weise ausgeführt. Es ist nicht möglich, die
Datensynchronisationsverarbeitung auf eine Eins-zu-Vielzahl Weise
auszuführen.
-
Weiterhin
ist es im allgemeinen erforderlich, Kommunikationseinstellungen
für eine
Datensynchronisationspartei, Einstellungen bezüglich des Typs der Synchronisationsdaten
oder Einstellungen für
ein Verfahren zum Lösen
eines Problems während
eines Datenkonflikts bereitzustellen. Diese Einstellungen werden
in bekannter Weise durch einen Benutzer bereitgestellt, der ein
Eingabegerät
eines Personalcomputers oder eines tragbaren Informationsverarbeitungsendgeräts durch
den Einstellungsschirm, der auf einer Anzeigevorrichtung des Personalcomputers
oder tragbaren Informationsverarbeitungsendgeräts angezeigt wird, bedient
und Daten eingibt. Dies bedeutet, dass mindestens die Anzeigevorrichtung
und die Eingabevorrichtung des tragbaren Endgeräts erforderlich sind. Daher
ist es in dem herkömmlichen
Verfahren aufgrund einer für
ein Gerät,
wie beispielsweise eine Armbanduhr mit einer Gerätegröße, spezifischen Beschränkung sehr schwierig,
Einstellungen für
die Datensynchronisation in einem Gerät mit nur einer begrenzten
Eingabevorrichtung oder Anzeigevorrichtung bereitzustellen.
-
Dementsprechend
ist es eine Aufgabe der vorliegenden Erfindung, ein Kommunikationsverfahren
und elektronische Geräte
bereitzustellen, die Datensynchronisation zwischen beliebigen Geräten ermöglichen,
ohne einen Server zu erfordern.
-
EP-A-0926608
offenbart ein Verfahren zum Aufrechterhalten gegenseitiger Übereinstimmung zwischen
an Knoten in einem Netzwerk gespeicherten Kopien von Daten, wobei
die Knoten einen Serverknoten umfassen, und einer Anzahl von Client-Knoten an über mobile
Telefonverbindungen angeschlossenen, entfernten Orten, wie einem
Laptop-Computer, wobei die Knoten intermittierend verbunden werden.
-
Infolge
einer erneuten Verbindung zwischen den entfernten Client-Knoten
und einem anderen der Knoten wird Zeitstempel-Information auf an
dem anderen Knoten zwischengespeicherten Objekten zu dem entfernten
Client-Knoten gesendet. An dem entfernten Client-Knoten wird die
Zeitstempel-Information
mit entsprechenden sich auf die lokale Kopie beziehenden Informationen
verglichen, um zu bestimmen, ob jede der zwischengespeicherten Objekte
aktueller als die lokale Kopie ist. Die zwischengespeicherten Objekte
werden entsprechend dem Ergebniss des Vergleichs auf der Grundlage
der lokalen Kopie aktualisiert. Diese erneute Synchronisation zwischen
Gleichartigen (Englisch: Peer-to-Peer Resynchronisation) bedeutet,
dass der Server den Ablauf nicht überwachen und steuern muss,
so dass das System zum Handhaben mehrer Clients leichter vergrößert bzw.
hochskaliert werden kann.
-
Das
Dokument "Enclaves:
Enabling Secure Collaboration Over The Internet", Li Gong, IEEE Journal of Selected
Areas in Communications, IEEE Inc. New York, Vol. 15, Nr. 3, 1.
April 1997, offenbart eine Gruppe von Zusammenarbeitenden bzw. Kollaborateuren,
die dynamisch ein sicheres, virtuelles Teilnetz ausbilden können, in
dem Prioritäten
für die Gruppenmitglieder
zur sicheren gemeinschaftlichen Bearbeitung von Dateien zugeordnet
werden.
-
Die
Erfindung schlägt
ein Datensynchronisationsverfahren wie in den Ansprüchen 1 und
22 definiert und ein elektronisches Gerät bzw. ein Slave-Gerät, wie in
den Ansprüchen
12 bzw. 13 definiert, vor. Deren vorteilhafte Ausführungsformen
werden in den entsprechenden abhängigen
Ansprüchen
definiert.
-
Nach
der vorliegenden Erfindung wird ein Kommunikationsverfahren zum
Synchronisieren von Daten zwischen einer Vielzahl beliebiger Vorrichtungen
unter Verwendung eines drahtlosen oder verdrahteten Netzwerks bereitgestellt,
wobei das Kommunikationsverfahren einen Mitgliederregistrierungsschritt
und einen Datensynchronisationsschritt umfasst. In dem Mitgliederregistrierungsschritt überträgt ein Gerät, das von
einem Benutzer als ein Master spezifiziert worden ist, ein Zertifikat,
das andeutet, dass der Slave zu einer Datensynchronisationsgruppe,
die eine Datensynchronisationsverarbeitung ausführt, gehört und eine Priorität, die verwendet
werden soll, wenn der Slave die Datensynchronisationsverarbeitung
ausführt,
zu einem Gerät,
das von dem Benutzer als ein Slave spezifiziert worden ist, und
dann wird der Slave als ein Mitglied der Datensynchronisationsgruppe
registriert. In dem Datensynchronisationsschritt wird unter Verwendung
des Zertifikats bestimmt, ob oder nicht ein Slave und einer oder
mehrere andere Slaves, die zum Ausführen drahtloser oder verdrahteter
Kommunikation in der Lage sind, zu der gleichen Datensynchronisationsgruppe
gehören,
und die Datensynchronisationsverarbeitung wird über eine drahtlose oder verdrahtete
Kommunikation entsprechend der Priorität zwischen den Slaves, die als
zu der gleichen Datensynchronisationsgruppe gehörig bestimmt worden sind, durchgeführt.
-
In
diesem Kommunikationsverfahren wird, abgesehen von dem Datensynchronisationsschritt der
tatsächlichen
Verarbeitung der Datensynchronisation, der Mitgliederregistrierungsschritt
zum Zweck des Spezifizierens eines Zielgeräts für die Datensynchronisation
bereitgestellt. Bei diesem Mitgliederregistrierungsschritt werden
das Zertifikat und die Priorität
von einem Gerät,
das als der Master spezifiziert ist, zu einem Gerät, das als
der Slave spezifiziert ist, übertragen,
wobei der Slave als ein Mitglied der Datensyn chronisationsgruppe
registriert sein kann. Das Zertifikat und die Priorität werden
jedem Mitglied bereitgestellt, wodurch die Datensynchronisation
zwischen den Slaves leicht ausgeführt werden kann, selbst wenn
der Master abwesend ist, so lange diese Geräte in der gleichen Datensynchronisationsgruppe registriert
sind.
-
In
diesem Fall wird die Frage, ob oder nicht die Slaves, die in der
Lage sind, drahtlose oder verdrahtete Kommunikation auszuführen, zu
der gleichen Gruppe gehören,
durch den Austausch des Zertifikats zwischen den Slaves bestimmt.
Dadurch kann Datensynchronisation zwischen den Slaves zuverlässig und
sicher ausgeführt
werden, selbst wenn ein Master nicht existiert. In dem Fall, wo
während
der Datensynchronisationsverarbeitung ein Konflikt zwischen Slaves
auftritt, kann ein derartiger Konflikt durch die Priorität, die jedem
Slave beim Mitgliederregistrierungsschritt zugewiesen wurde, gelöst werden.
Daher kann jeder Slave nur das Zertifikat und die Priorität, die jedem
Slave selbst zugewiesen ist, halten, was es überflüssig macht, Daten oder dergleichen,
die eine Kommunikationspartei für
die Datensynchronisation oder dergleichen betreffen, einzustellen.
Daher kann ein Gerät
eingesetzt werden, das nur seine begrenzte Eingabevorrichtung und
Anzeigevorrichtung aufweist, als ein Gerät, das zur Synchronisation
ausgewählt
worden ist. Wie in einem verdrahteten oder drahtlosen Netzwerk,
so dass eine Netzwerkkonfiguration dynamisch verändert wird, selbst in einem
Fall des Einsatzes in einer Umgebung, die es schwierig macht, Daten
zum statischen Spezifizieren einer Kommunikationspartei für die Datensynchronisation
bereitzustellen, kann ferner ein Gerät, das eine derartige Datensynchronisationspartei
ist, zuverlässig
spezifiziert werden.
-
Der
Datensynchronisationsschritt kann zwischen einem Master und einem
oder mehreren beliebigen Slaves mit einem Zertifikat, das andeutet,
dass diese Slaves zu derselben Gruppe gehören, als auch zwischen Slaves
ausgeführt
werden.
-
Darüber hinaus
besteht keine Notwendigkeit, einen Master und einen Slave durch
Geräte
zu spezifizieren, und ein beliebiges Gerät kann als ein Master oder
Slave der Datensynchronisationsgruppe durch Daten spezifiziert werden,
die auf die Datensynchronisation ausgerichtet sind. Ein Gerät kann für eine Menge
von Daten als ein Slave der Datensynchronisationsgruppe auftreten
oder kann für
eine andere Datenmenge als ein Master der Datensynchronisationsgruppe
auftreten. Alternativ kann ein Gerät als ein Slave für zwei Datensynchronisationsgruppen entsprechend
zweier verschiedener Sätze
verschiedener Daten auftreten.
-
In
dem Fall, wo ein Master und ein Slave mithin einzeln durch auf die
Synchronisation ausgerichtete Daten spezifiziert sind, wird der
Mitgliederregistrierungsschritt ebenfalls zwischen einem Gerät, das als
ein Master der Datensynchronisationsgruppe für die ausgerichteten Daten
für die
Datensynchronisationsverarbeitung spezifiziert ist, und einem Gerät, das als
ein Slave des Masters spezifiziert ist. Daher wird zur Übertragung
des Zertifikats und genauso der Priorität ein Master, der eine Übertragungsquelle
ist, und ein Slave, der ein Übertragungsziel
ist, durch Daten eingestellt, und entsprechend werden das Zertifikat
und die Priorität
durch Daten eingestellt.
-
Zusätzlich zu
dem vorgenannten Teilnehmer-Registrierungsschritt und dem Daten-Synchronisationsschritt
kann ein Master-Privileg-Übertragungsschritt
bereitgestellt werden, wobei nur die Masterfunktion auf ein anderes
Gerät übertragen werden
kann, während
die Funktion und Konfiguration der aktuellen Datensynchronisationsgruppe
intakt gehalten werden. Folglich kann ein neu gekauftes Gerät als ein
Master eingesetzt werden und ein Slave kann vorübergehend außerhalb
als ein Master eingesetzt werden.
-
Darüber hinaus
ist es bevorzugt, dass ferner ein Prioritätsaustauschschritt des Austauschs
einer Priorität
zwischen Slaves bereitgestellt wird. Auf diese Weise kann die in
dem Mitgliederregistrierungsschritt registrierte Priorität später verändert werden, und
die Datensynchronisationsverarbeitung kann zwischen Slaves flexibler
erzielt werden.
-
Der
Master-Privileg-Übertragungsschritt
und Prioritätsaustauschschritt
werden genauso ausgeführt,
nachdem festgestellt worden ist, dass kein von den beiden obigen
Geräten
verschiedenes Gerät
in einem Modus zum Ausführen
der obigen Schritte eingestellt sind.
-
Um
ein Mitglied der Datensynchronisationsgruppe leicht zu verändern oder
dergleichen ist es bevorzugt, ferner einen Mitgliederregistrierung-Freigabeschritt
zum Freigeben eines Masters oder eines Slaves aus der Datensynchronisationsgruppe
bereitzustellen. Der Slave-Freigabeschritt kann durch dieses Slavegerät alleine
ausgeführt
werden. Jedoch wird der Master-Freigabeschritt in wünschenswerter Weise
zusammen mit dem Mitgliederregistrierung-Freigabeschritt eines mit
dem Master kommunizierend verbundenen Slaves ausgeführt. Auf
diese Weise kann eine Vielzahl von Geräten einschließlich eines
Masters aus der Datensynchronisationsgruppe in einem Vorgang freigegeben
werden.
-
Darüber hinaus
setzt ein herkömmliches
Datensynchronisierungsverfahren eine Eins-zu-Eins Kabelverbindung,
eine Eins-zu-Eins Verbindung mit dem Server über ein Modem, oder eine Eins-zu-Eins Verbindung
mit dem Server durch Infrarotstrahlung voraus. Dies ist, weil ein
Kommunikationsteilnehmer für
die Datensynchronisation eindeutig spezifiziert werden kann.
-
Wenn
jedoch die Datensynchronisation in einem verdrahteten Netzwerk vom
Bus-Typ oder in einem drahtlosen Netzwerk frei von einer Direktivität bzw. Richtungsabhängigkeit
ausgeführt
wird, ist es, anders als beim Fall der Eins-zu-Eins Verbindung,
erforderlich, einen Teilnehmer für
die Datensynchronisation unter den Geräten in einem Netzwerk durch
irgendein beliebiges Verfahren eindeutig zu identifizieren. Darüber hinaus
ist in dem Fall eines drahtlosen oder verdrahteten Netzwerks, bei
dem eine Netzwerkkonfiguration dynamisch verändert wird, die Netzwerkadresse
jedes Geräts
nicht festgesetzt, und eine Netzwerkadresse wird während der
Netzwerkverbindung oder dergleichen häufig zugeordnet. Darum kann
die Netzwerkadresse eines Kommunikationsteilnehmers nicht als eine
statische Identifizierungsinformation zum Spezifizieren eines Kommunikationsteilnehmers
für die
Datensynchronisation verwendet werden. Daher ist es in einem Draht-
oder drahtlosen Netzwerk, in dem die Konfiguration auch dynamisch
verändert
wird, erforderlich, eine neue Technologie einzuführen, um es zu ermöglichen,
einen Teilnehmer für
die Datensynchronisation eindeutig zu identifizieren.
-
Obwohl
dies bei einer Eins-zu-Eins Verbindung nicht vorausgesetzt ist,
besteht bei einem verdrahteten Netzwerk vom Bus-Typ oder einem drahtlosen
Netzwerk frei von Direktivität
eine Möglichkeit, dass
in dem gleichen Netzwerk, insbesondere in einem drahtlosen Netzwerk,
ein von einem Gerät
für die
Datensynchronisation verschiedenes Gerät, bei spielsweise eine böswillige
Dritt-Partei existiert. Daher ist es erforderlich, Datensicherheit
sicherzustellen und gleichzeitig zu verhindern, dass Daten aufgrund
von Computer-Hacking oder dergleichen lecken. Insbesondere besteht
in einem drahtlosen Netzwerk eine große Möglichkeit, dass ein Gerät nur innerhalb
der Reichweite von drahtloser Kommunikation bereitgestellt ist,
wobei das Gerät
leicht in dem Netzwerk partizipieren kann. Daher ist Datensicherheit
wichtig. Zusätzlich
besteht, ohne Böswilligkeit eine
Gefahr, dass Daten, die in einem von dem für die Synchronisation ausgerichteten,
verschiedenen Gerät
enthalten sind, dasjenige Gerät,
das innerhalb der Reichweite der drahtlosen Kommunikation existiert, fehlerhafterweise
oder unbeabsichtigt durch die Datensynchronisationsverarbeitung
zwischen Geräten über drahtlose
Kommunikation verändert
wird.
-
Nach
der vorliegenden Erfindung wird eine ungewünschte Datensynchronisation
am Auftreten gehindert, weil der Teilnehmer der Datensynchronisation
leicht identifiziert werden kann, indem das Zertifikat zwischen
den Geräten
ausgetauscht wird.
-
Diese
Zusammenfassung der Erfindung beschreibt nicht notwendigerweise
alle notwendigen Merkmale, so dass die Erfindung auch als eine Unter- bzw.
Teilkombination dieser beschriebenen Merkmale sein kann.
-
Die
Erfindung wird vollständiger
aus der folgenden ausführlichen
Beschreibung verstanden, wenn diese zusammen mit den beigefügten Zeichnungen
genommen wird, bei denen gilt:
-
1 ist
eine Ansicht, die einen in einem Kommunikationsverfahren nach einer
Ausführungsform
der vorliegenden Er findung eingesetzten Mitglieder-Registrierungsschritt
und einen Datensynchronisationsschritt veranschaulicht;
-
2 ist
eine Ansicht, die ein Beispiel von nach der vorliegenden Ausführungsform
eingesetzten Datensätzen
für jedes
Gerät zeigt;
-
3 ist
ein Blockdiagramm, das die Konfiguration jedes nach der vorliegenden
Ausführungsform
eingesetzten Geräts
darstellt;
-
4 ist
eine Ansicht, die ein Beispiel zeigt, wenn Funktionen, die in jedem
nach der vorliegenden Ausführungsform
eingesetzten Gerät
bereitgestellt sind, durch den Kommunikationsmodus klassifiziert werden;
-
5 ist
eine Ansicht, die den Austausch von Master- und Slave-Daten während der
Datensynchronisation-Mitgliederregistrierung
nach der vorliegenden Ausführungsform
zeigt;
-
6 ist
ein Ablaufdiagramm, das das Verfahren für die Masterverarbeitung während des
Datensynchronisationsmitglieder-Registrierungsschritts nach der
vorliegenden Ausführungsform zeigt;
-
7 ist
ein Ablaufdiagramm, das Abläufe für die Slaveverarbeitung
während
der Datensynchronisationsmitglieder-Registrierung nach der vorliegenden
Ausführungsform
zeigt;
-
8 ist
eine Ansicht, die ein Beispiel des Kommunikationsmodus während des
Zertifikataustauschs und Synchronisationsvorgangs in der vorliegenden
Ausführungsform
zeigt;
-
9 ist
eine Ansicht, die ein anderes Beispiel des Kommunikationsmodus während des
Zertifikatdatenaustauschs und des Synchronisationsvorgangs in der
vorliegenden Ausführungsform
zeigt;
-
10 ist
eine Ansicht, die ein Beispiel der Verarbeitung zum Zeitpunkt eines
Datenkonflikts in der vorliegenden Ausführungsform zeigt;
-
11 ist
ein Ablaufdiagramm, das Abläufe zur
Master-Deklarationsverarbeitung
in der vorliegenden Ausführungsform
zeigt;
-
12 ist
ein Ablaufdiagramm, das Abläufe der
Slave-Verarbeitung in Datensynchronisationsmitglieder-Freigabeverarbeitung
nach der vorliegenden Ausführungsform
zeigt;
-
13 ist
ein Ablaufdiagramm, das Abläufe zur
Master-Verarbeitung
in der Datensynchronisationsmitglieder-Freigabeverarbeitung nach
der vorliegenden Ausführungsform
zeigt;
-
14 ist
eine Ansicht, die einen Master- und Slave-Datenaustausch in der Master-Privileg-Übertragungsverarbeitung nach
der vorliegenden Ausführungsform
zeigt;
-
15 ist
ein Ablaufdiagramm, das Abläufe zur
Master-Verarbeitung
während
der Master-Privileg-Übertragungsverarbeitung
nach der vorliegenden Ausführungsform
zeigt;
-
16 ist
ein Ablaufdiagramm, das Abläufe zur
Slave-Verarbeitung
während
der Master-Privileg-Übertragungsverarbeitung
nach der vorliegenden Ausführungsform
zeigt;
-
17 ist
eine Ansicht, die Datenaustausch zwischen Geräten während des Prioritätsaustauschs in
der vorliegenden Ausführungsform
zeigt;
-
18 ist
ein Ablaufdiagramm, das Abläufe für die Geräteverarbeitung
in der Prioritätsaustauschverarbeitung
nach der vorliegenden Ausführungsform
zeigt;
-
19 ist
ein Zeitablaufdiagramm, das den Einstellmodus und den Ausführungsmodus,
angewendet auf die vorliegende Ausführungsform, zeigt;
-
20 ist
eine Ansicht, die ein Beispiel einer Schnittstelle einer Armbanduhr,
bei der das Kommunikationsverfahren nach der vorliegenden Ausführungsform
angewendet wird, zeigt; und
-
21 ist
eine Ansicht, die ein Beispiel einer Schnittstelle eines tragbaren
Informationsendgeräts, bei
der das Kommunikationsverfahren nach der vorliegenden Ausführungsform
angewendet wird, zeigt.
-
Eine
bevorzugte Ausführungsform
eines Kommunikationsverfahrens zur Datensynchronisationsverarbeitung
nach der vorliegenden Erfindung wird jetzt mit Bezugnahme auf die
beigefügten
Zeichnungen beschrieben.
-
Erste Ausführungsform
-
Im
Folgenden wird eine Ausführungsform
eines Verfahrens und einer Vorrichtung zum synchronen Verarbeiten
von Daten nach der vorliegenden Erfindung mit Bezugnahme auf die
beigefügten
Zeichnungen beschrieben.
-
Datensynchronisationsgruppe
-
Datensynchronisation
bezeichnet die Verarbeitung zum vollständigen Synchronisieren der
vielfältigen
Sätze der
duplizierten Daten in dem Fall, wo ein Teil der duplizierten Daten,
unabhängig
in Bezug auf die mehreren Sätze
der duplizierten Daten, asynchron aktualisiert wird. Zum Beispiel
wird angenommen, dass ein Satz von Daten (Datensatz), den ein Gerät A aufweist,
in einem Gerät
B dupliziert ist. Synchronisationsverarbeitung entspricht der Verarbeitung
zum Synchronisieren der Datensätze
der Geräte
A und B miteinander. Wenn ein partielles Datenfeld des Datensatzes,
den das Gerät
A aufweist, verändert
wird, wird ein partielles Datenfeld des Datensatzes, den das Gerät B aufweist,
während
der nächsten Synchronisationsverarbeitung
aktualisiert.
-
Wenn
das gleiche Datenfeld der Datensätze der
Geräte
A und B während
und nach der vorhergehenden Synchronisationsverarbeitung verändert wird,
dann ist es zum Synchronisieren dieser Datenfelder erforderlich,
auszuwählen,
welches der Datenfeldwerte eine höhere Priorität aufweist.
Wenn das Datum in dem gleichen Datenfeld bei einer Vielzahl von
Geräten
während
oder nach der Synchronisationsverarbeitung verändert wird, wird dies als Datenkonflikt
bezeichnet.
-
In
der vorliegenden Erfindung wird, anders als beim herkömmlichen
Verfahren, die Datensynchronisationsverarbeitung zwischen Informationsgeräten nicht
als Eins-zu-Eins Verarbeitung zwischen einem Server und einem Client
ausgeführt.
Diese Verarbeitung wird auf der Grundlage einer Datensynchronisationsgruppe
ausgeführt,
die ausschließlich für die Synchronisationsverarbeitung
zusammengestellt wird. Unter den Informationsgeräten, die in der Lage sind,
Datenkommunikation drahtlos oder unter Verwendung einer Leitung
auszuführen,
wird einer Gruppe, die aus den eine Datensynchronisation ausführenden
Geräten
aufgebaut ist, als eine Datensynchronisationsgruppe (oder Netzwerk)
bezeichnet. Insbesondere entspricht eine Datensynchronisationsgruppe,
die aus Geräten
besteht, die Datensynchronisationsverarbeitung ausführen sollten,
einer Datensynchronisationsgruppe. In diesem Fall kann eine derartige
Datensynchronisationsgruppe nicht immer stets durch Geräte konfiguriert
werden, und eine beliebige Datensynchronisationsgruppe kann durch
jeden Datensatz, der Datensynchronisation ermöglicht konfiguriert werden.
Insbesondere kann jedes Informationsgerät die Datensynchronisationsgruppe
durch die Anzahl der Datensätze,
die verwaltet werden können,
konfigurieren.
-
Darüber hinaus
können
die Informationsgeräte
ein Gerät
sein, das für
beschränkte
Anwendungen eingesetzt wird, wie eine Armbanduhr, oder ein Gerät mit einer
Vielzahl von Funktionen, wie ein Personalcomputer. Diese Informationsgeräte sind
nicht beschränkt
und nicht begrenzt durch ihre Größen oder
die Typen oder Funktionalität
der Eingabe-/Ausgabevorrichtungen
oder der Anzeigegeräte
und dergleichen. Die Datensynchronisationsgruppe wird durch eine
Vielzahl von Informationsgeräten
konfiguriert. Ein Gerät,
das eine Datensynchronisationsgruppe konfiguriert, wird als ein
Mitglied der Datensynchronisationsgruppe bezeichnet.
-
Eine
Datensynchronisationsgruppe ist ein permanentes Konzept. Datensynchronisationsverarbeitung
wird durch ein Mitglied der im voraus konfigurierten Datensynchronisationsgruppe
ausgeführt,
anders als in einem Fall, bei dem eine Datenkonfigurationsgruppe
jedes Mal, wenn eine Datensynchronisationsverarbeitung ausgeführt wird,
konfiguriert wird.
-
Kommunikation
in der Datensynchronisationsgruppe
-
Ein
Kommunikationsverfahren in einer Datensynchronisationsgruppe umfasst
einen Mitglieder-Registrierungsschritt und einen Datensynchronisationsschritt. 1 zeigt
ein Beispiel.
-
Der
Mitglieder-Registrierungsschritt ist ein Schritt, der auszuführen ist,
wenn ein Mitglied zu einer Datensynchronisationsgruppe hinzugefügt wird. Bei
diesem Mitgliederregistrierungsschritt werden ein Zertifikat und
eine Priorität
von einem Gerät,
das durch einen Benutzer als ein Master spezifiziert wird, zu einem
Gerät,
das der Benutzer neu als einen Slave registrieren möchte, übertragen.
Das Zertifikat deutet an, dass ein Gerät, das es erhält, zu der
gleichen Datensynchronisationsgruppe (dem gleichen Daten synchronisationsnetzwerk)
wie der Master gehört.
D.h. das Zertifikat entspricht einer Gruppen-ID oder dergleichen.
Die Priorität
wird verwendet, wenn ein Gerät,
das sie erhält,
Datensynchronisationsverarbeitung ausführt, und wird zum Beheben bzw.
Auflösen
von Datenkonflikten eingesetzt.
-
Der
Datensynchronisationsschritt ist ein Schritt, der Datensynchronisationsverarbeitung
zwischen einer Vielzahl von beliebigen Mitgliedern, die eine datensynchrone
Gruppe bilden, ausführt.
-
In 1 bezeichnet
M einen Master einer Datensynchronisationsgruppe. Der Master M ist
ein Kern der Datensynchronisationsgruppe. In einer Datensynchronisationsgruppe
existiert nur ein Master und weist ein Privileg dahingehend auf,
dass er ein Mitglied zu der Datensynchronisationsgruppe hinzufügen kann.
S1 bis S4 bezeichnen
Slaves der Datensynchronisationsgruppe. Ein oder mehrere Slaves existieren
in einer Datensynchronisationsgruppe. Datensynchronisationsmitglieder-Registrierung
wird zwischen den Slaves und dem Master M in der Datensynchronisationsgruppe
ausgeführt,
wobei der Slave ein Mitglied der Datensynchronisationsgruppe wird.
-
Ein
Master und ein Slave können
nicht immer durch Geräte
spezifiziert werden, und ein beliebiges Gerät kann entsprechend der Datensätze als
ein Master oder Slave der Datensynchronisationsgruppe spezifiziert
werden. Daher kann ein Gerät
als ein Slave der Datensynchronisationsgruppe in Bezug auf einen
Satz von Daten auftreten, oder er kann in Bezug auf einen anderen
Satz von Daten als ein Master der Datensynchronisationsgruppe auftreten.
Alternativ kann ein Gerät
entsprechend zweier verschiedener Typen von Daten je weils als Slave
von zwei Datensynchronisationsgruppen auftreten.
-
Mitgliederregistrierungsschritt
-
Der
Mitgliederregistrierungsschritt wird durch Ausführen einer Eins-zu-Eins Kommunikation
zwischen einem Gerät,
das ein Master einer Datensynchronisationsgruppe ist, und einem
Slave, der neu in der Datensynchronisationsgruppe teilnimmt, ausgeführt. Zwei
Mitglieder konfigurieren die Datensynchronisationsgruppe an einer
Stufe, bei der in dem Master M ein erster Slave S1 registriert
ist. Anschließend
wird der Mitgliederregistrierungsschritt ähnlich zwischen dem Master
M und jedem der Slaves S2 bis S4 in ähnlicher
Weise sequentiell durchgeführt,
um neu registriert zu werden, wobei die Anzahl der die Datensynchronisationsgruppe
bildenden Mitglieder sich jeweils um 1 erhöht. Der Mitgliederregistrierungsschritt
wird nicht bei jeder Datensynchronisierung ausgeführt. Wenn
ein Gerät
einmal als Mitglied registriert ist, ist ein registriertes Gerät kontinuierlich Mitglied
der Datensynchronisationsgruppe, es sei denn, dass das Gerät explizit
freigestellt worden ist. Datensynchronisationsverarbeitung kann
zwischen den Mitgliedern in der gleichen Datensynchronisationsgruppe
zu jeder Zeit ausgeführt
werden.
-
Datensynchronisationsschritt
-
Bei
dem Datensynchronisationsschritt wird ein Datum zwischen den Mitgliedern,
die zu einer Datensynchronisationsgruppe gehören, synchronisiert. Hierbei
können
alle Mitglieder die Datensynchronisationsverarbeitung zur gleichen
Zeit ausführen,
oder es können
beliebige Mitglieder die Datensynchronisation ausführen. Zusätzlich kann
der Master M in die Datensynchronisationsverarbeitung einbezogen
werden oder auch nicht. Nach der vorliegenden Erfindung kann Datensynchronisationsverarbeitung
zwischen Slaves ausgeführt
werden. Eine Vielzahl von Synchronisationsvorgängen, die von anderen Mitgliedern
konfiguriert werden, können
zu einer beliebigen Zeit unabhängig
ausgeführt
werden, und eine Vielzahl dieser Synchronisationsvorgänge können gleichzeitig
an anderen Stellen ausgeführt
werden.
-
Wie
in 1 gezeigt wird beispielsweise, in dem Fall, wo
nur der Master M und der Slave S1 eine Datensynchronisationsgruppe
bilden, der Datensynchronisationsschritt zwischen diesen beiden
Geräten,
nämlich
zwischen dem Master M und dem Slave S1,
ausgeführt
werden. Alternativ kann in einem Zustand, bei dem ein Slave S2 neu registriert wird, der Datensynchronisationsschritt
zwischen dem Master M und dem Slave S1,
zwischen dem Master M und dem Slave S2,
zwischen dem Slave S1 und dem Slave S2 oder zwischen dem Master M und den Slaves S1 und S2 ausgeführt werden.
Im Folgenden wird der Synchronisationsschritt zwischen zwei beliebigen Geräten, unabhängig ob
Master oder Slave, in ähnlicher
Weise ausgeführt.
-
Mitgliederkonfiguration
-
Jetzt
werden mit Bezugnahme auf 2 und 3 die
Daten- und funktionellen Strukturen, die jedem der Master- und Slavegeräte eingestellt
werden, beschrieben.
-
Einstelldaten
zum Einstellen der Datensynchronisationsgruppe, die jedes Gerät speichert,
einschließlich
Master-/Slave-Spezifikationsdaten, Identifizierungsdaten, Zertifikatsdaten,
Prioritätsdaten und
einem Zählerwert.
-
Das
Master-/Slave-Spezifikationsdatum ist wie ein Flag und sein ursprünglicher
Wert wird zurückgesetzt.
Wenn ein Gerät
als ein Master oder Slave registriert wird, wird das entsprechende
Flag gesetzt. Das Identifizierungsdatum bezeichnet ein Datum zum
eindeutigen Spezifizieren eines Mitglieds in einer Datensynchronisationsgruppe
und wird als ein Schlüssel
zum Erzeugen von Zertifikatsdaten verwendet. Die Synchronisationsgruppe
wird durch Datentypen definiert und daher unterscheiden sich die Identifizierungsdaten
in Abhängigkeit
von dem in einem Gerät
eingestellten Datentyp. Das Identifikationsdatum wird in jedem Gerät erzeugt,
wenn ein Gerät
einer Datensynchronisationsgruppe als ein Slave registriert wird
oder wenn ein Gerät
durch eine später beschriebene
Masterdeklaration als ein Master betrieben wird.
-
Das
Zertifikatsdatum entspricht dem vorgenannten Zertifikat und wird
eingesetzt, um zu bestätigen
bzw. zertifizieren, dass ein Gerät
zu einer Datensynchronisationsgruppe gehört.
-
Beispielsweise
sei während
der Datensynchronisation angenommen, dass es durch ein Verschlüsselungssystem
mit einem öffentlichen
Schlüssel
authentifiziert wird, ob ein Gerät
zu der gleichen Datensynchronisationsgruppe und zu der Verschlüsselung
der Synchronisationsdaten nach dem Authentifizieren gehört, oder
nicht. Das Identifizierungsdatum und das Zertifikatsdatum werden
in einem Authentifizierungs- und
Verschlüsselungssystem
wie folgt eingesetzt.
-
Zunächst erzeugt
jeder Master und Slave einen geheimen Schlüssel und einen öffentlichen Schlüssel. Ein
Paar von diesem geheimen Schlüssel und
diesem öffentlichen
Schlüssel
entspricht dem Identifizierungsdatum jedes Geräts. Wenn das Identifizierungsdatum
zu einem anderen Gerät übertragen
wird, dann wird nur der öffentliche
Schlüssel,
der Teil des Identifizierungsdatums ist, übertragen. Wen während der
Datensynchronisationsgruppen-Registrierung, ein Slave einen öffentlichen
Schlüssel
an einen Master als das Identifizierungsdatum weiterleitet, gibt
der Master diesen öffentlichen
Schlüssel
des Slaves als ein Zertifikat zurück, nachdem der öffentliche
Schlüssel
durch seinen eigenen geheimen Schlüssel verschlüsselt worden
ist. Auf diese Art weist der Slave einen eigenen geheimen Schlüssel und öffentlichen
Schlüssel;
und ein von dem Master und dem öffentlichen
Schlüssel
des Masters zertifiziertes Zertifikat auf. Hierin werden dieses
Zertifikat und der öffentliche
Schlüssel
des Masters als Zertifikatsdatum bezeichnet.
-
Wenn
während
der tatsächlichen
Authentifizierung und Verschlüsselung
ein Gerät,
das eine Authentifizierung ausführt,
ein Zertifikat von dem Gegenstück
bzw. Gegenstück
erhält,
wird dieses Zertifikat durch den eigenen öffentlichen Schlüssel des Masters
entschlüsselt.
Wenn das Zertifikat korrekt entschlüsselt wird, bedeutet dies,
dass das Gerät
des Gegenstücks
zu der gleichen Datensynchronisationsgruppe gehört. Dann wird der öffentliche
Schlüssel
des Gegenstücks
aus dem entschlüsselten
Datum extrahiert und das Synchronisationsdatum mittels des extrahierten öffentlichen
Schlüssels
des Gegenstücks
verschlüsselt
und übertragen,
wobei das Synchronisationsdatum sicher übertragen werden kann.
-
Das
Zertifikatsdatum kann zuverlässig
bestätigen,
dass jedes Gerät
zu einer Datensynchronisationsgruppe gehört. Dieses Datum kann durch
vielfältige
andere, wohl bekannte Verfahren erzeugt werden, ohne auf das vorgenannte
Verfahren beschränkt zu
sein. Das Prioritätsdatum
wird wie oben beschrieben zum Beheben von Konflikten der Datensynchronisierung
eingesetzt. Das Datum wird zum Feststellen eines Vor gängers bzw.
einer Präzedenz
(insbesondere Priorität)
zum Auflösen
derartiger Datenkonflikte verwendet.
-
Der
Zählerwert
ist ein zum Zählen
der Anzahl der von einem Master registrierten Slaves verwendetes
Datum und bestimmt die Priorität
des Slaves. Die höchste
Priorität
des Masters ist 1. Der Zählerwert wird
jedes mal, wenn ein Slave registriert wird, hochgezählt, und
die Prioritäten "2", "3", ... werden den Slaves
in der Reihenfolge der Registrierung zugeordnet. Dieser Zähler wird
nur vom Master benutzt.
-
Wie
oben beschrieben, wird die Datensynchronisationsgruppe von jedem
Datensatz konfiguriert. Daher werden die Master-/Slave-Spezifikationsdaten, Zertifizierungsdaten,
Identifikationsdaten, Prioritätsdaten
und der Zählerwert
bereitgestellt und von jedem Datensatz verwaltet. Das heißt, in einem Gerät mit einer
Vielzahl von Datensätzen
werden die Zertifizierungsdaten, Identifizierungsdaten, Prioritätsdaten
und der Zählerwert
nicht in einer eindimensionalen Weise verwaltet, sondern sie werden
in einer zweidimensionalen Weise verwaltet, nämlich durch jeden Datensatz
wie in 2 gezeigt. 2 zeigt
ein Beispiel, wenn ein Gerät
zu drei Datensynchronisationsgruppen gehört, entsprechend dreier jeweils
entsprechender Datensatztypen, d.h. "Adressenverzeichnis", "Zeit" und "E-Mail". In diesem Fall wird
in einem Gerät
mit diesen drei Datensatztypen von jedem Datensatz verwaltet, ob
das Gerät
als ein Master oder ein Slave operiert. Der Zählerwert ist nur gültig für einen
Datensatz der Datensynchronisationsgruppe, die einen Master betreibt.
Des Weiteren wird der vorgenannte Mitgliederregistrierungsschritt durch
die Datensynchronisationsgruppe ausgeführt, wobei die Zertifikatsdaten,
Identifikationsdaten, Prioritätsdaten
und der Zählerwert
in jedem Datensatz jeweils voneinander unabhängig sind. Die konfigurierenden Identifikationsdaten
für den
geheimen Schlüssel
und für
den öffentlichen
Schlüssel
werden in dem Mitgliederregistrierungsschritt erzeugt, beispielsweise
indem zufällige
Zahlen eingesetzt werden. Der Wert der Identifikationsdaten wird
kontinuierlich weiter gepflegt, bis er aus der Datensynchronisationsgruppe,
in der ein Gerät
als ein Mitglied in dem Mitgliederregistrierungsschritt registriert
worden ist, entfernt worden ist.
-
In
dem Fall, wo von jedem Datensatz gesetzte Daten in einer Datensynchronisationsgruppe
verwaltet werden, wenn man jeder der Funktionen einschließlich Datensynchronisationsmitglieder-Registrierung,
Datensynchronisations-Verarbeitung, Master-Deklaration, Datensynchronisationsmitglieder-Freigabe, Master-Privileg-Transfer
und Prioritäts-Austausch
ausführt,
wird auf diese Weise ein Schritt derart ausgeführt, dass ein Benutzer einen Zieldatensatz
aus den Datensätzen
in der in 2 gezeigten Zeilenrichtung bzw.
Reihenrichtung auswählen
kann, um einen für
die Verarbeitung beabsichtigten Datensatz zu spezifizieren.
-
3 zeigt
den funktionalen Aufbau eines jeden Geräts. Diese Netzwerkkonfiguration
wird als ein Beispiel bereitgestellt, bei dem ein Gerät als ein Master
und ein Slave konfiguriert werden kann.
-
Wie
in 3 gezeigt, enthält jedes Gerät ein Kommunikationsgerät 11,
einen Kommunikationscontroller 12, eine Geräteeingabe-/Ausgabevorrichtung 13,
einen Geräteeingabe-/Ausgabecontroller 14,
eine Authentifizierungseinheit 15, eine Datensynchronisationsgruppeneinstellungs-
und Verwaltungseinheit 16, eine Datensynchronisationsverarbeitungseinheit 17 und
eine Speichervorrichtung 18 für synchrone Daten.
-
Das
Kommunikationsgerät 11 führt Kommunikation
mit einem anderen Gerät über eine
drahtlose oder verdrahtete Kommunikation aus. Dieses Gerät 11 überträgt Daten
zu einem anderen Gerät
und empfängt
Daten von einem derartigen anderen Gerät. Als eine drahtlose Kommunikation
kann beispielsweise eine Kommunikation mit elektrischen Wellen,
die frei von einer Richtungsabhängigkeit
bzw. Direktivität
ist, wie "Bluetooth" verwendet werden. Weiterhin
kann als ein verdrahtetes Netzwerk ein LAN vom Bustyp, wie "Ethernet", verwendet werden. Sowohl
in der drahtlosen als auch in der verdrahteten Kommunikation kann
die Netzwerkkonfiguration nicht statisch bestimmt werden. Die vorliegende
Erfindung ist auf einem Netzwerk anwendbar, so dass die Netzwerkkonfiguration
dynamisch verändert
wird.
-
Der
Kommunikationscontroller 12 steuert Datenempfang und/oder Übertragung.
Der Controller 12 enthält
jeweils eine Funktion zum Überprüfen von Daten
und eine Anfrage, die von dem Kommunikationsgerät 11 empfangen worden
ist; eine Funktion zum Übertragen
und Empfangen einer Verarbeitungsanfrage und einer Antwort von dem
Geräteeingabe-/Ausgabecontroller 14;
eine Funktion zum Ausführen
einer Datenübertragung
und Empfangsanfrage an das Kommunikationsgerät 11; und eine Funktion
zum Übertragen
und Empfangen einer Anfrage und einer Antwort von der Authentifizierungseinheit 15,
der Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 und
der Datensynchronisationsverarbeitungseinheit 17.
-
Die
Geräteeingabe-/Ausgabevorrichtung 13 ist
als eigenständiges
Gerät eine
Benutzerschnittstelle und ist ein Eingabegerät oder ein Ausgabegerät.
-
Der
Geräteeingabe-/Ausgabecontroller 14 steuert
Datenanfrage und Übertragung
und/oder Empfang in Bezug auf die Gerät eingabe-/Ausgabevorrichtung 13.
Der Controller 14 enthält
eine Funktion zum Überprüfen von
Daten und einer von der Geräteingabe-/Ausgabevorrichtung 13 empfangenen Anfrage;
eine Funktion zum Ausführen
einer Verarbeitungsanfrage an den Kommunikationscontroller 12;
eine Funktion zum Empfangen der Verarbeitungsanfrage von dem Kommunikationscontroller 12; eine
Verwaltungsfunktion zum Schreiben, Lesen, und Löschen von Daten in Bezug auf
die Speichervorrichtung 18 für synchrone Daten; und eine
Funktion zum Ausführen
einer Anfrage und einer Antwort an die Datensynchronisationsgruppeneinstellungs-
und Verwaltungseinheit 16.
-
Die
Authentifizierungseinheit 15 authentifiziert von einem
anderen Gerät
empfangene Zertifizierungsdaten in Antwort auf eine Authentifizierungsanfrage
des Kommunikationscontrollers 12 durch Korrelieren der
Daten mit Zertifizierungsdaten des eigenen Geräts, wobei die Daten von einem
Zertifizierungsdaten-Verwaltungscontroller 161 durch die Datensynchronisationsgruppeneinstellungs-
und Verwaltungseinheit 16 besessen bzw. gehalten werden.
Die Einheit 15 bestimmt, ob ein anderes Gerät zu seiner
Datensynchronisationsgruppe gehört
oder nicht, d.h. ob beide der eigenen und anderen Geräte zu derselben
Datensynchronisationsgruppe gehören oder
nicht.
-
Die
Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 verwaltet
allgemein Einstellungen der Datensynchronisationsgruppe. Die Einheit 16 enthält einen
Zertifikatsdaten-Verwaltungscontroller 161 und einen Prioritäts-Verwaltungscontroller 162.
Die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 verwaltet
eigene Einstellungen, indem sie den Zertifizierungsdate-Verwaltungscontroller 161 und
den Prioritäts-Verwaltungscontroller 162 verwendet.
Die Einheit 16 überträgt Daten
oder eine Verarbeitungsanfrage an den Kommuni kationscontroller 12,
die Authentifizierungseinheit 15, den Geräteeingabe-/Ausgabecontroller 14,
die Datensynchronisationsverarbeitungseinheit 17, den Prioritäts-Verwaltungscontroller 162 und
den Zertifizierungsdaten-Verwaltungscontroller 161.
-
Der
Zertifizierungsdaten-Verwaltungscontroller 161 weist einen
Bereich zum Speichern von Zertifizierungsdaten, die von einem Master
als eigenständiges
Gerät zertifiziert
sind, und einen Bereich zum Speichern von Identifikationsdaten,
der ein Ursprung für
die Zertifizierungsdaten ist, auf. Der Controller 161 verwaltet
Zertifizierungsdaten und Identifikationsdaten zum Erzeugen derartiger
Zertifizierungsdaten. Der Controller 161 enthält Funktionen zum
Erzeugen, Löschen
und Retten der Zertifizierungsdaten und der Identifizierung, die
eine Quelle für
die Zertifizierungsdaten aufgrund einer Anfrage von der Datensynchronisationsgruppeneinstellungs- und
Verwaltungseinheit 16 ist.
-
Der
Prioritätsverwaltungscontroller 162 weist als
eigenständiges
Gerät einen
Bereich zum Speichern von Prioritätsdaten; einen Bereich zum
Speichern eines Zählerwerts,
wenn eine Priorität
in einem Meister herausgegeben wird; sowie eine Zählervorrichtung
auf. Der Controller 162 enthält eine Funktion zum Verarbeiten
von Anfragen zum Erzeugen, Setzen, Löschen und Übertragen von Prioritätsdaten von
der Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 und
eine Funktion zum Zurücksetzen
und Erhöhen
der Zählervorrichtung.
-
Der
Datensynchronisationscontroller 17 führt Synchronisationsverarbeitung
für einen
Datensatz aus, der zur Synchronisation bestimmt ist (Synchronisationsdaten).
Der Controller 17 enthält
eine Funktion zum Lesen, Schreiben und Löschen von Daten, die für die Synchronisationsdatenspeichervor richtung 18 relevant
sind; eine Funktion zum Lösen
von Datenkonflikten im Hinblick auf die Priorität der eigenen Vorrichtung und
die von anderen Synchronisationsgeräten; sowie eine Funktion zum
Verarbeiten einer Anfrage von dem Kommunikationscontroller 12 und
zum Ausliefern von Daten.
-
Die
Synchronisationsdatenspeichervorrichtung 18 speichert Synchronisationsdaten
und weist einen Bereich zum Speichern von Daten auf.
-
Die
Konfiguration dieses Gerätes
wird als ein Beispiel bereitgestellt, wenn ein Gerät als ein
Master und ein Slave konfiguriert werden kann. Diese Konfiguration
kann ein Gerät
(Mitglied) enthalten, das nur als ein Slave konfiguriert werden
kann oder ein Gerät (Mitglied)
das nur als ein Master konfiguriert werden kann. In diesem Fall
kann eine Konfiguration bereitgestellt werden, bei der für einen
Slave und einen Master erforderlichen Funktionen oder Konfigurationen
eliminiert sind. Beispielsweise können eine Zertifikatsdatenerzeugungsfunktion
und eine Zählervorrichtung
und ihre Steuerfunktionen und dergleichen nur zu einem als ein Master
betriebenen Gerät
bereitgestellt werden und diese sind nicht für ein nur als ein Slave funktionierendes
Gerät erforderlich.
-
Im
Folgenden wird die Datensynchronisationsgruppen-Verwaltung und der Betrieb beschrieben.
-
Zunächst werden
mit Bezugnahme auf 4 alle von jedem Gerät in einer
Datensynchronisationsgruppe besessenen Funktionen beschrieben.
-
Ein
Gerät,
das eine Datensynchronisationsgruppe konfigurieren kann, enthält eine
Gesamtheit von sechs Funktionen. Das Gerät enthält eine Funktion, die auszuführen ist,
ohne mit anderen Geräten Kommunikation
auszuführen;
eine Funktion, die eine Eins-zu-Eins-Kommunikation zwischen einem
Gerät und
einem anderen Gerät
erfordert; und eine Funktion, die Kommunikation zwischen einem Gerät und einer
Vielzahl von Geräten
(die tatsächlich
aus einer Vielzahl von Eins-zu-Eins-Kommunikationen
besteht) erfordert. Die "Masterdeklaration"-Funktion ist eine
eigenständige
(Englisch: Stand Alone) Funktion, die ausgeführt wird, ohne dass Kommunikation
mit einem anderen Gerät
ausgeführt
wird. Die "Datensynchronisationsmitglieder-Registrierung", die "Master-Privileg-Übertragung" und die "Prioritätsaustausch"-Funktion werden in Eins-zu-Eins-Kommunikation
verarbeitet. Die "Datensynchronisations"-Funktion wird zwischen
zwei oder mehreren Geräten
ausgeführt.
Die "Datensynchronisationsmitglieder-Freigabe"-Funktion ist eine
eigenständige Funktion
in einem Slave und eine Funktion, die durch Kommunikation mit einem
oder mehreren Slaves in einem Master verarbeitet wird. Im Folgenden
werden diese Funktionen ausführlich
beschrieben. Diese Funktionen können
von einer Datensynchronisationsgruppe ausgeführt werden. Wenn eine Funktion gelesen
wird, ist es erforderlich, einen Identifizierungscode der Datensynchronisationsgruppe
zu spezifizieren.
-
(1) Datensynchronisationsmitglieder-Registrierung
-
In
dem Fall, wo ein neues Mitglied zu der Datensynchronisationsgruppe
hinzugefügt
wird, wird "Datensynchronisationsmitgliederregistrierung"-Verarbeitung ausgeführt. Diese
Verarbeitung wird ausgeführt,
um den oben genannten Mitgliederregistrierungsschritt zu erzielen.
Die Verarbeitung wird durch Ausführen
von Datenkommunikation zwischen einem Master einer Datensynchronisationsgruppe
und einem Mitglied, das neu als ein Slave hinzugefügt werden
soll, ausgeführt.
Der Master und das neu registrierte Mitglied müs sen miteinander über einen
drahtlosen oder verdrahteten Kommunikationskanal kommunizieren können, während Leistung
bzw. Netzspannung zugeführt
wird. Der Benutzer ruft die "Datensynchronisationsmitglieder"-Funktion sowohl
in dem Master als auch in dem zu registrierenden Mitglied auf. Danach
werden sowohl der Master als auch das zu registrierende Mitglied
in einen Mitgliederregistrierungsmodus gesetzt. Zum Eintreten des
Mitgliederregistrierungsmodus werden Benutzerinteraktion und ausschließliche Steuerung
durch ein anderes Gerät
verwendet, wobei der Benutzer den Registrierungsschaltknopf sowohl
in dem Master als auch in dem neuen Mitglied beispielsweise niederdrückt, und
Registrierung wird nur erlaubt, wenn mindestens zwei Geräte im Mitgliederregistrierungsmodus
existieren und Sicherheitsauthentifizierung während der Registrierung bereitgestellt
wird. Es ist möglich,
zu bestimmen, ob nur zwei Geräte
in dem Mitgliederregistrierungsmodus existieren oder nicht, indem
beispielsweise von dem Master eine Antwort auf einen Sammelruf überprüft wird.
Dies verhindert die zufällige
Registrierung eines Geräts,
das von einer böswilligen
dritten Partei innerhalb der Reichweite der elektrischen Wellen
besessen wird.
-
Die
effektive Kommunikationsreichweite bedeutet, dass sich ein Gerät innerhalb
der Reichweite von drahtloser Kommunikation in einem drahtlosen Netzwerk
befindet. In einem verdrahteten Netzwerk bedeutet dieser Bereich
ein begrenzter Netzwerkbereich, wie beispielsweise ein Teil- bzw.
Subnetzwerk, in dem Sammelrufen wirksam ist. Insbesondere wird in
dem Bereich, in dem eine Möglichkeit
besteht, dass eine dritte Partei die Kommunikation unter der Bedingung
empfängt,
dass ein beliebiges von den nur zwei Geräten verschiedenes Gerät existiert,
d.h. ein Gerät,
für das
Mitgliederregistrierung beabsichtigt ist, und ein Master, die beide
in den Mitgliederregistrierungsmodus gesetzt sind, die Datensynchronisationsmitglieder-Registrierung
gestartet.
-
Als
nächstes
wird eine Funktion zum Registrieren eines Datensynchronisationsmitglieds
ausführlich
beschrieben. In 5 wird eine Master- und Slave-Kommunikationsverarbeitung
gezeigt, die zusammen mit der Synchronisationsmitgliederregistrierung
auszuführen
ist.
-
Zunächst übertragen
sowohl der Master M als auch der Slave S zu dem Gegenstück eine
Anfrage zum Registrieren eines Datensynchronisationsmitglieds, und
dann teilt der Master dem Slave seine Identität mit. In diesem Zustand weist
der Master alle eingestellten Daten, aber der Slave nur Identifikationsdaten
auf. Wenn der Slave die Mitteilung empfängt, überträgt er die Identifikationsdaten
zu dem Master. Der Master überträgt zu dem
Slave die unter Verwendung der Identifizierungsdaten und der Prioritätsdaten
erzeugten Zertifizierungsdaten für
diesen Slave, und die Kommunikationsverarbeitung ist beendet.
-
Jetzt
wird der Verarbeitungsschritt in jedem Gerät ausführlich beschrieben. In 6 wird
der Schritt der Masterverarbeitung gezeigt, wenn ein Mastergerät ein Slavegerät als ein
Mitglied der Datensynchronisationsgruppe registriert. Eine Beschreibung
wird mit Bezugnahme auf 3 gegeben.
-
Wenn
ein Benutzeraufruf der "Datensynchronisationsmitglieder-Registrierungs"-Funktion zu dem Geräteeingabe/-ausgabecontroller 14 übertragen wird
(Schritt S11), wird zunächst
die derzeitige Einstellung der Datensynchronisationsgruppe (ob das eigene
Gerät ein
Master oder Slave ist) bei der Datensynchronisationsgruppeneinstellungs-
und Verwaltungseinheit 16 bestimmt (Schritt S12). Wenn das
eigene Gerät
durch eine später
beschriebene Masterdeklarations funktion als ein Master eingestellt ist,
wird der Benutzer zu einer Anfrage zum Ausführen der Registrierungsverarbeitung
aufgefordert. Wenn es als ein Slave eingestellt ist, wird die Verarbeitung
beendet. In dem Fall, wo nichts eingestellt ist (d.h. leere Daten
spezifiziert werden), operiert das Gerät als ein neu registriertes
Mitglied, was später beschrieben
wird (7).
-
In
dem Fall, wo das eigene Gerät
als ein Master eingestellt ist, überträgt das Kommunikationsgerät 11,
wenn die Geräteeingabe-/Ausgabevorrichtung 13 eine
Anfrage zum Ausführen
einer Registrierungsverarbeitung von dem Benutzer empfängt (Schritt
S13), eine Anfrage zum Registrieren eines Datensynchronisationsmitglieds
in der Art eines Sammelrufs (Schritt S14). Dann wartet das Kommunikationsgerät 11 auf
eine Registrierungsanfrage von einem neuen Mitglied. Auch wenn dies
nicht gezeigt ist, endet in dem Fall, wo eine Registrierungsanfrage nicht
innerhalb einer vorbestimmten Zeit ausgeführt wird, die Verarbeitung
mit Zeitablauf (Englisch: „Time Out"). Wenn eine Registrierungsanfrage
von einem neuen Mitglied empfangen wird (Schritt S15) bestimmt das
registrierte Gerät,
ob nur zwei Geräte, d.h.
das eigene Gerät
und ein neues Mitglied, die Registrierung benötigen oder nicht (Schritt S16).
Insbesondere nachdem eine Anfrage zum Registrieren eines Datensynchronisationsmitglieds
zwischen dem eigenen Gerät
und dem Gegenstück übertragen
worden ist, wenn nur ein Gegenstück
eine derartige Anfrage zum Registrieren eines Datensynchronisationsmitglieds überträgt, wird
bestimmt, dass nur zwei Geräte,
d.h. das eigene Gerät
und neue Mitglied, an der Registrierung teilnehmen.
-
In
dem Fall, wo ein beliebiges anderes, von den nur zwei Geräten, d.h.
dem eigenen Gerät
und neuen Gerät,
verschiedenes Gerät
an der Registrierung teilnehmen („Nein" beim Schritt S16), wird die Verarbeitung
beendet. In dem Fall wo nur zwei Geräte an der Registrierung teilnehmen
(„Ja" beim Schritt S16),
teilt das Kommunikationsgerät 11 dem
neuen Mitglied seine Identität
mit (Schritt S17). Dann erzeugt, wenn Identifizierungsdaten, die
eine Quelle von Zertifikatsdaten von dem neuen Mitglied durch das
Kommunikationsgerät 11 empfangen
werden (Schritt S18), die Datensynchronisationsgruppeneinstellungs-
und Verwaltungseinheit 16 auf der Grundlage dieser Daten
die Zertifikatsdaten und die Prioritätsdaten, die zu dem neuen Mitglied
weiterzuleiten sind, (Schritte S19 und S20). Weiterhin wird der
Wert des die Anzahl der registrierten Geräte zählenden Zählers um 1 erhöht (Schritt
S21).
-
Zum
Schluss überträgt das Kommunikationsgerät 11 die
erzeugten Zertifikatsdaten und die Prioritätsdaten an das neue Mitglied
(Schritte S22 und S23). Obwohl der Zählerwert als die Prioritätsdaten
verwendet wird, kann die Priorität
nach jedem beliebigen System bestimmt werden so lange ein Vorrang
definiert werden kann, indem bei jeder Herausgabe verschiedene Werte
erzeugt werden, wodurch ein eindeutiges Beurteilen der Priorität unter
diesen erzeugten Werten möglich
gemacht wird.
-
Nun
wird in 7 der Schritt der Verarbeitung
eines neuen Mitglieds gezeigt, wenn ein gewünschtes, neu in einer Datensynchronisationsgruppe
teilnehmendes Gerät
(Mitglied) als ein Datensynchronisationsgruppenmitglied von einem
Mastergerät
registriert wird. Eine Beschreibung erfolgt mit Bezugnahme auf 3.
-
Wenn
die Geräteeingabe-/-ausgabevorrichtung 13 die
Benutzeranfrage für "Datensynchronisationsmitglieder-Registrierung" empfängt, wie
im Fall der 6, wird die aktuelle Datensynchronisationsgruppeneinstellung
von der Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 bestimmt.
In dem Fall, wo das eigene Gerät
als ein Master eingestellt wird, wird die vorgenannte "Datensynchronisationsmitglied-Registrierung" (6)
ausgeführt.
Im Fall, wo das eigene Gerät
als ein Slave eingestellt wird, endet die Verarbeitung. Wenn eine
Datensynchronisationsgruppe nicht eingestellt ist (leere Daten werden
als ein Master oder Slave spezifiziert), wird der Benutzer zu einer
Anfrage zum Ausführen der
Registrierungsverarbeitung aufgefordert. Wenn der Benutzer eine
Anfrage zur Ausführung
von Registrierungsverarbeitung an die Geräteeingabe-/-ausgabevorrichtung 13 (Schritt
S31) richtet, empfängt
das Kommunikationsgerät 11 eine
Registrierungsanfrage von dem Master (Schritt S32) und überträgt eine
derartige Registrierungsanfrage zu dem Master (Schritt S33). Auch
wenn dies nicht gezeigt ist, im Fall, wo innerhalb einer vorbestimmten Zeitdauer
keine Antwort von dem Master vorliegt, endet die Verarbeitung mit
Zeitablauf. Nachdem die Registrierungsanfrage zu dem Master übertragen
worden ist, bestimmt das registrierte Gerät ob nur zwei Geräte, d.h.
das eigene Gerät
und der Master, an der Registrierung teilnehmen oder nicht (Schritt
S34). Im Fall, wo nur zwei Geräte
an der Registrierung teilnehmen, wartet das eigene Gerät auf die
Master-Mitteilung des Gegenstücks.
Auf diese Weise wird bestimmt, dass der Gegenstück ein Master ist (Schritt S35),
die Datensynchronisationseinstellungs- und Verwaltungseinheit 16 erzeugt
Identifizierungsdaten, die eine Quelle der Zertifikatsdaten sind
(Schritt S36), und überträgt die Daten
an den Master (Schritt S37).
-
Wenn
das Kommunikationsgerät 11 auf
die Zertifikatsdaten und Prioritätsdaten
von dem Master wartet und sie empfängt, werden die Zertifikatsdaten und
Prioritätsdaten
von der Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 eingestellt,
und die Registrierungsverarbeitung ist beendet (Schritte S38 und
S39).
-
Bei
der Registrierungsverarbeitung eines Datensynchronisationsmitglieds
ist es erforderlich, einen Datensatz des gleichen Typs zwischen
dem Master, der die Zertifikatsdaten und Priorität herausgibt, und dem neuen
Mitglied, das zu registrieren ist, zu teilen. In dem Fall, wo ein
Versuch gemacht wird, Datensätze
von verschiedenen Typen zu registrieren, ist es erforderlich, die
Registrierung zu sperren. Dieser Vergleichsschritt kann ausgeführt werden,
indem überprüft wird,
ob die Bezeichner 01, 02, und 03 im voraus an ein Adressverzeichnis,
eine Zeit und einen Zeitplan, beispielsweise während der "Übertragung
einer Anfrage zum Registrieren eines Datensynchronisationsmitglieds" (Schritt S14) und
während
einer "Übertragung
einer Anfrage zum Registrieren eines Datensynchronisationsmitglieds" (Schritt S33) zugewiesen
sind oder nicht, dieser Bezeichner zwischen dem Master und dem neuen
Mitglied übertragen
wird, und überprüft wird,
ob die Bezeichner zueinander identisch sind, oder nicht.
-
Wenn
einmal gewährleistet
ist, dass ein Master und ein Slave, die zu einer Datensynchronisationsgruppe
gehören,
sowie ein Slave einen Datensatz vom gleichen Typ aufweisen, ist
es authentifiziert, ob der Master und der Slave zu derselben Datensynchronisationsgruppe
gehören
oder nicht, wenn eine andere Funktion verwendet wird. Somit besteht keine
Möglichkeit,
dass Datensätze
der verschiedenen Typen gleichzeitig bestehen. Selbst in einem Gerät, das eine
Vielzahl von Datensätzen
aufweist, konfigurieren die Datensätze in diesem Gerät entsprechend
andere vollständige
unabhängige
Datensynchronisationsgruppen, und die Datensätze von verschiedenen Typen
und Verarbeitung bestehen nicht gleichzeitig.
-
(2) Datensynchronisationsverarbeitung
-
Im
Folgenden wird Datensynchronisationsverarbeitung beschrieben.
-
Wenn
ein Master in einer Datensynchronisationsgruppe Zertifikatsdaten
und Prioritätsdaten überträgt durch
Datensynchronisationsmitgliedregistrierungsverarbeitung an jedes
Mitglied, kann die tatsächliche
Datensynchronisationsverarbeitung zwischen beliebigen Mitgliedern
(selbst ohne Eingreifen eines Masters) ausgeführt werden, indem mindestens
zwei Datensätze
verwendet werden.
-
Während der
Synchronisationsverarbeitung authentifizieren die zu der gleichen
Datensynchronisationsgruppe gehörenden
Mitglieder zunächst
ihre Identitäten
zueinander und führen
dann die Datensynchronisation aus. Datensätze, die nicht miteinander
in Konflikt sind, werden entsprechend zusammengefügt. In dem
Fall, wo ein Konflikt mit einigen Datensätzen auftritt, werden die Daten
mit der höchsten
Priorität
als Daten zum Beheben bzw. Lösen
eines Konflikts verwendet.
-
Wie
in 8 gezeigt, wird angenommen, dass eine Datensynchronisationsgruppe
aus fünf
Mitgliedern A, B, C, D und E besteht, wobei das Mitglied A ein Master
ist.
-
In
dem Fall, wo Datensynchronisationsverarbeitung ausgeführt wird,
wenn alle Mitglieder vorhanden sind, überträgt ein Mitglied eigene Zertifikatsdaten
an ein anderes Mitglied, empfängt
Zertifikatsdaten von dem Gegenstück
und diese authentifiziert ihre Identität miteinander. Beim Übertragen
und Authentifizieren von Zertifikatsdaten wird ein Verfahren für alle Mitglieder,
die Zertifikatsdaten zu/von allen Gegenstücken bzw. Gegenstücks übertragen/empfangen
bereitgestellt, wodurch individuelle Mitglieder ihre empfangenen
Zertifikatsdaten zum Authentifizieren ihrer Identitäten verwenden.
Insbesondere kann unter den Mitgliedern A bis E die Übertragung/Empfang
von Zertifikatsdaten und die Authentifizierung entsprechend der
Anzahl von Kombinationen von zwei verschiedenen Mitgliedern ausgeführt werden.
-
Alternativ
können,
wie in 9 gezeigt, Zertifikatsdatenübertragung/-empfang und Authentifizierung
nur zwischen einem Mitglied mit der höchsten Priorität (das Mitglied
A in diesem Fall) und einem anderen Mitglied ausgeführt werden.
Insbesondere wird ein Verfahren bereitgestellt, bei dem die Paare
der Mitglieder, wie A und B, A und C, und A und D, sowie A und E
(das Mitglied A dient als ein Server) dabei die Authentifizierung
ausführen.
Nachdem jedes der Mitglieder A bis E als ein Mitglied der gleichen
Datensynchronisationsgruppe authentifiziert worden ist, überträgt/empfängt ein
Mitglied bei der tatsächlichen Datensynchronisationsverarbeitung
mit der höchsten Priorität (das Mitglied
A im vorliegenden Fall) Synchronisationsdaten in einem Datenfeld
an/von allen anderen Mitgliedern, überprüft einen Konflikt, behebt einen
derartigen Konflikt auf der Grundlage der Priorität und verändert Daten,
so dass das Mitglied die Synchronisationsdaten in dem nächsten Datenfeld sequentiell
verarbeiten kann.
-
Ein
Konflikt während
der Datensynchronisationsverarbeitung tritt, wie in 10 gezeigt,
in dem Fall auf, wo die Mitglieder A, C und E nicht bezüglich eines
Datenfelds "x" verändert worden
sind, jedoch von den Mitgliedern B und D besessene Daten seit der
vorhergehenden Synchronisationsverarbeitung aktualisiert worden
sind. Ein Mittel zum Lösen
derartiger Datenkonflikte ist es, von dem Mitglied B mit der höchsten Priorität besessene
Daten zu verwenden. Obwohl das Mitglied A die höchste Priorität der fünf aufweist,
ist dies weil Daten nur in den Mitgliedern B und D Daten verän dert werden.
Selbst wenn Daten nicht verändert
werden, kann während
der Synchronisationsverarbeitung ein Konflikt unter Verwendung der
von dem Mitglied A mit der höchsten
Priorität
besessenen Daten gelöst
werden.
-
Als
nächstes
wird angenommen, dass nur die Mitglieder A, B und C in dieser Datensynchronisationsgruppe
Datensynchronisation ausführen.
Eine derartige Situation kann auftreten, wenn die Mitglieder D und
E nicht eingeschaltet sind oder wenn nur die Mitglieder A, B und
C nach außen
getragen werden und die Datensynchronisation außerhalb ausgeführt wird.
Authentifizierung und Datensynchronisation werden in der gleichen
Weise wie oben beschrieben ausgeführt. Dann wird angenommen,
dass Daten, die von den Mitgliedern B und C besessen werden, miteinander
in Konflikt sind (d.h., es sei angenommen, dass die Daten in dem
gleichen Datenfeld, das von den Mitgliedern B und C besessen wird, während und
nach der vorhergehenden Synchronisation aktualisiert worden sind).
Ein derartiger Konflikt wird unter Verwendung der Daten eines Mitglieds mit
der höchsten
Priorität
der Mitglieder B und C behoben. Infolgedessen werden die von den
Mitgliedern A, B und C besessenen Daten miteinander synchronisiert.
Es sei angenommen, dass die verbleibenden Mitglieder D und E die
Datensynchronisation an einem anderen Ort ausführen. Wie das mit den Mitgliedern
A, B und C der Fall ist, wenn ein Konflikt auftritt, wird ein derartiger
Konflikt unter Verwendung der Daten mit der höchsten Priorität der Mitglieder
D und E behoben, und die Mitglieder D und E unterziehen sich der
Datensynchronisation.
-
Wie
oben beschrieben, kann Datensynchronisationsverarbeitung genauso
gut zwischen Slaves ausgeführt
werden, wie zwischen einem Master und einem oder mehreren beliebigen
Slaves, von denen jeder ein Zertifikat aufweist, das andeutet, dass
sie zu derselben, die Datensynchronisationsverar beitung ausführenden
Datensynchronisationsgruppe gehören.
Auch in diesem Fall werden Zertifikatsdaten zwischen den Geräten, die
zum Ausführen
von drahtloser oder verdrahteter Kommunikation in der Lage sind,
wobei bestimmt wird, dass diese Geräte zu derselben Datensynchronisationsgruppe
gehören.
So kann die Datensynchronisation sicher ausgeführt werden, indem nur die Zertifikatsdaten
verwendet werden, ohne spezifische Daten zum eindeutigen Spezifizieren
des Gegenstücks
aufzuweisen.
-
Datensynchronisationsverarbeitung
kann beispielsweise wie folgt ausgeführt werden.
- (a)
Ein Gerät,
das in einen Datensynchronisationsverarbeitungsmodus gesetzt ist, überträgt eine
Datensynchronisationsverarbeitungsanfrage in der Art eines Sammelrufs
an andere Geräte, die
innerhalb eines kommunizierbaren Abstands existieren;
- (b) Ein Zertifikat wird zwischen diesen Geräten übertragen, und es wird authentifiziert,
ob diese miteinander zu derselben Datensynchronisationsgruppe gehören oder
nicht; und
- (c) Wenn die obigen Geräte
zu derselben Datensynchronisationsgruppe gehören, wird die Datensynchronisation
der entsprechenden Datensätze in Übereinstimmung
mit jeder Priorität
ausgeführt.
-
Anders
als bei der Registrierungsverarbeitung eines Datensynchronisationsmitglieds
wie in den 6 und 7 beschrieben,
besteht im Fall der Datensynchronisationsverarbeitung keine Beschränkung, dass
nur zwei Geräte,
d.h. ein Master und ein Mitglied, das zur neuen Registrierung beabsichtigt
ist, vorhanden sind. Datensynchronisationsverarbeitung kann zwischen
zwei oder mehreren beliebigen Geräten, die innerhalb eines kommunizierbaren
Bereichs existieren, ausgeführt
werden, vorausgesetzt, dass sie zu dersel ben Datensynchronisationsgruppe
gehören.
Alle zu synchronisierenden Geräte
können
in einen Datensynchronisationsverarbeitungsmodus versetzt werden;
nur ein Gerät
kann in einen Datensynchronisationsverarbeitungsmodus von dem Benutzer
gesetzt worden sein und ein anderes Gerät, das eine Datensynchronisationsverarbeitungsanfrage
von diesem Gerät
erhält,
kann aufgrund dieser Anfrage automatisch in den Datensynchronisationsverarbeitungsmodus
eintreten.
-
Zusätzlich kann
bei tatsächlicher
Datensynchronisationsverarbeitung der Benutzer einen Datensatz spezifizieren,
der für
die Datensynchronisationsverarbeitung in den Datensätzen, bei
denen Datensynchronisationsgruppen eingestellt sind, beabsichtigt
ist. Alternativ wird bestimmt, ob Geräte, die zu derselben Datensynchronisationsgruppe
in Bezug auf alle Datensätze,
für die
die Datensynchronisationsgruppe eingestellt ist, gehören, wobei
diese synchronisierenden Verarbeitungen für die zu derselben Datensynchronisationsgruppe
gehörenden
Datensätze
gleichzeitig ausgeführt
werden. Authentifizierungsdaten existieren in jedem Datensatz, für den die Datensynchronisationsgruppe
eingestellt ist. Daher werden beispielsweise alle Authentifizierungsdaten miteinander
ausgetauscht, wodurch es möglich
gemacht wird, eine Datensynchronisationsgruppe, zu der sowohl das
Gegenstück-Gerät als auch
das eigene Gerät
gehören,
zu überprüfen. Selbstverständlich wird
der jedem Datensatz zugeordnete Bezeichner übertragen, wobei eine zu authentifizierende
Datensynchronisationsgruppe spezifiziert werden kann.
-
(3) Master-Deklaration
-
Im
Folgenden wird eine "Master-Deklaration"-Funktion zum Einstellen
des eigenen Geräts
als ein Master einer Datensynchronisationsgruppe beschrieben.
-
In
dem Fall, wo eine Datensynchronisationsgruppe neu konstituiert wird,
ist es erforderlich, ein Mitglied als einen Master des Netzwerks
zu bestimmen. Die "Master-Deklaration"-Funktion wird bereitgestellt,
um dies zu erzielen. Die "Master-Deklaration" kann eine Einstellung
bereitstellen, wobei nur ein Mitglied mit einem nicht zu irgendeiner
Datensynchronisationsgruppe gehörenden
Datensatz ein Master einer Datensynchronisationsgruppe, die die
Mitglieder aufbauen werden, sein kann. D.h., ein Gerät, das bereits
als ein Slave eingestellt ist, kann nicht in einen Master verändert werden.
Diese Einstellung wird durch ein alleinstehendes Gerät bereitgestellt und
Kommunikation mit einem anderen Mitglied wird nicht ausgeführt.
-
In
der bestehenden Datensynchronisationsgruppe kann die "Master-Deklaration" nicht ausgeführt werden,
indem ein Mitglied, das nicht zu der Datensynchronisationsgruppe
gehört,
oder ein Mitglied, das als ein Slave eingestellt worden ist, in
einen Master verändert
wird oder indem vorübergehend "Datensynchronisationsmitglied-Freigabe" für einen
Slave zum Entfernen des Slaves aus der Datensynchronisationsgruppe
ausgeführtwird,
danach wieder als ein Master hinzugeführt wird. Dies ist zum Gewährleisten
von Sicherheit erforderlich. In letzterem Fall wird eine andere,
neue Datensynchronisationsgruppe definiert, in der ein "Master-Deklaration" ausführendes
Mitglied als ein Master eingestellt wird. Die "Master-Deklaration" wird nur jedes Mal dann verwendet,
wenn eine neue Datensynchronisationsgruppe gebildet wird.
-
In 11 wird
der Verarbeitungsschritt der "Master-Deklaration" gezeigt, in der
ein neues Mitglied als ein Master einer neuen Datensynchronisationsgruppe
durch die "Master-Deklaration" eingestellt wird.
-
Wenn
der Benutzer zunächst
eine Operation des Aufrufens der "Master-Deklaration"-Funktion für einen Datensatz durch die
Geräteeingabe-/-ausgabevorrichtung 13 (Schritt
S41) ausführt, überprüft die Datensynchronisationsgruppeneinstellungs-
und Verwaltungseinheit 16 die aktuelle Einstellung des
eigenen Geräts
in der Datensynchronisationsgruppe (Schritt S42). Im Fall, wo das
Gerät als
ein Master oder Slave eingestellt worden ist, wird die Verarbeitung
beendet. Wenn keine Datensynchronisationsgruppe definiert ist (d.h.,
falls leere Daten als ein Master oder Slave spezifiziert worden
sind), erzeugt die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 auf
einer Datensynchronisationsgruppe Identifizierungsdaten (Schritt
S43) und erzeugt auf der Grundlage der erzeugten Identifizierungsdaten
Authentifizierungsdaten (Schritt S44).
-
Weiterhin
wird in der Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 ein Prioritätszähler zurückgesetzt
und der ursprüngliche Wert
des Zählers
wird als für
die eigene Priorität
bezeichnende Prioritätsdaten
(Schritte S45 und S46) eingestellt. Dann wird der Zähler erhöht und die
Verarbeitung wird beendet.
-
(4) Datensynchronisationsmitglieder-Freigabe
-
"Datensynchronisationsmitglieder-Freigabe" wird ausgeführt, wenn
ein registriertes Gerät
aus einer Datensynchronisationsgruppe freigegeben wird. Dieser Vorgang
unterscheidet sich für
einen Master bzw. einen Slave, und daher wird eine Beschreibung getrennt
gegeben.
-
Zuerst
wird eine Beschreibung in Bezug auf den Fall gegeben, bei dem ein
Slave aus einer Datensynchronisationsgruppe freigegeben wird. Diese Funktion
wird verwendet, wenn ein in einer Datensynchronisationsgruppe teilnehmender
Sla ve verwendet wird, während
der Slave von den Mitgliedern der Synchronisationsgruppe ausgeschlossen
wird, oder wenn ein Slave-Gerät
gelöscht
wird. Die "Datensynchronisationsmitglieder-Freigabe" ist ein eigenständiger Vorgang,
und Kommunikation mit einem Master oder einem anderen Gerät ist nicht
erforderlich. Die bestehende Datensynchronisationsgruppe wird durch
diese Funktion nicht beeinflusst. Die von dem freigegebenen Slave
besessenen Prioritätsdaten
werden vakant, weil sie in der "Datensynchronisationsmitglieder-Registrierung" nicht wiederverwendet
werden. Jedoch bedeutet dies nicht, dass die Konsistenz der Datensynchronisationsgruppe
nicht zerstört
wird.
-
In 12 wird
der Verarbeitungsschritt gezeigt, wenn "Datensynchronisationsmitglieder-Freigabe" in einem Slave ausgeführt wird.
-
Zuerst
bestimmt die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 die derzeitige
Einstellung des eigenen Geräts
in der Datensynchronisationsgruppe (Schritt S52), wenn ein Benutzer
in Bezug auf einen Datensatz eine Anfrage für "Datensynchronisationsmitglieder-Freigabe" an die Geräteeingabe-/-ausgabevorrichtung 13 ausführt (Schritt
S51). Wenn das eigene Gerät
ein Slave ist, löscht
die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 die
entsprechenden Prioritätsdaten,
Zertifikatsdaten und Authentifizierungsdaten (Schritte S53, S54
und S55). Dieses Freigeben wird von jeder Synchronisationsgruppe ausgeführt und
daher werden Netzwerkidentifizierungsdaten ebenfalls spezifiziert,
wenn die Freigabefunktion aufgerufen wird.
-
In
dem Fall, wo ein Master aus der Datensynchronisationsgruppe freigegeben
wird, wird, wenn ein Slave existiert, der derzeit mit dem Master
kommuniziert, wenn "Datensyn chronisationsmitglieder-Freigabe" ausgeführt wird,
dieser Slave ebenfalls von der Datensynchronisationsgruppe freigegeben. Dies
ist, weil der Master im allgemeinen einen Slave trennt, ohne sein
Master-Privileg zu übertragen, wenn
der Master es wünschte,
den Slave aus der Datensynchronisationsgruppe freizugeben. Zusätzlich wird
nur ein kommunizierend verbundener Slave aus der Datensynchronisationsgruppe
gleichzeitig freigegeben, weil nicht angenommen wird, dass immer
alle Mitglieder in der Datensynchronisationsgruppe aufgrund der
Tatsache anwesend sind, dass der Master nicht alle Mitglieder in
der Datensynchronisationsgruppe erfassen kann, und der Tatsache,
dass der Slave aufgrund eines Kaufs eines neuen Geräts, eines
Ausschließens,
eines Fehlers, eines Diebstahls oder dergleichen an einem anderen
Ort angeordnet wird. In diesem Fall nimmt ein Slave, der nicht am
Ort existiert, immer noch in der vorhergehenden Datensynchronisationsgruppe
teil, und die Datensynchronisation kann zwischen den nicht am Ort
existierenden Slaves ausgeführt
werden. Kann jedoch in diesem Fall, ein Datensynchronisationsgruppenmitglied
nicht vergrößert werden
durch erneutes Ausführen
einer Datensynchronisationsmitglieder-Registrierung, weil ein Master nicht
länger
existiert.
-
In 13 wird
der Verarbeitungsschritt gezeigt, wenn "Datensynchronisationsmitglieder-Freigabe" in einem Master
ausgeführt
wird. Wenn ein Benutzer eine Anfrage für "Datensynchronisationsmitglieder-Freigabe" in Bezug auf einen
Datensatz der Geräteeingabe-/-ausgabevorrichtung 13,
wie in 12 beschrieben ausführt, bestimmt
die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 die
aktuelle Datensynchronisationsgruppe. In dem Fall, wo das eigene
Gerät ein Master
ist, sucht dieses Gerät
einen derzeit kommunizierenden bzw. kommunizierbaren Slave (Schritt S61).
Dies kann aufgrund einer Antwort des Slaves in Bezug auf Daten,
die in der Art eines Sammelrufs übertragen
wer den, bestimmt werden. Dann überträgt das eigene
Gerät eine
Anfrage für "Datensynchronisationsmitglieder-Freigabe" und die Masterzertifikatsdaten
zu einem Slave innerhalb des derzeit kommunizierbaren Bereichs (Schritte
S62 und S63).
-
Der
Slave, der diese Anfrage empfängt,
führt eine
Authentifizierung durch, indem er die Masterzertifikatsdaten verwendet
und dann seine eigenen Einstellungen zurücksetzt, wie bei der "Datensynchronisationsmitglieder-Freigabe" in dem Slave.
-
Der
Master löscht
dann die Prioritätsdaten, die
Zertifikatsdaten, die Identifizierungsdaten und den Zählerwert
der eigenen Vorrichtung, der Zähler wird
zurückgesetzt
und die Verarbeitung wird beendet (Schritte S64 bis S67).
-
(5) Master-Privileg-Übertragung
-
Die "Master-Privileg-Übertragungs"-Funktion ermöglicht es
einer Datensynchronisationsgruppe, in der existierenden Datensynchronisationsgruppe
kontinuierlich intakt zu bestehen, und ermöglicht es dem derzeitigen Master,
nur das Privileg des Masters auf ein anderes Mitglied (Slave) zu übertragen.
Diese Funktion wird verwendet, wenn man versucht, ein Master-Privileg
auf ein anderes Gerät
zu übertragen, während die
Funktionen und Konfiguration der Datensynchronisationsgruppe aufrecht
erhalten werden, einschließlich
Fällen,
in denen man versucht, ein neu gekauftes Gerät als einen Master der bestehenden
Datensynchronisationsgruppe zu spezifizieren; ein Master-Gerät freizugeben;
das derzeitige Mastergerät
in ein neues Gerät
zu verändern;
und man versucht, vorübergehend "Datensynchronisationsmitglieder-Registrierung" außerhalb
durchzuführen,
wenn ein nicht mobiler Desktop-PC als ein Master spezifiziert wird.
Dies bedeutet, dass die Slave- und Master-Privilegien in der be stehenden
Datensynchronisationsgruppe ausgetauscht werden. Alternativ kann
das Master-Privileg auf ein anderes nicht in der Datensynchronisationsgruppe
enthaltenes Mitglied übertragen
werden, indem die Privilegien zusammen mit "Datensynchronisationsmitglieder-Registrierung" automatisch ausgetauscht
werden.
-
Bei
diesem Vorgang wird die "Master-Privileg-Übertragungs"-Funktion von einem Master und jedem
Slave-Gerät,
das das Master-Privileg überträgt, aufgerufen.
In einem Verfahren ähnlich
der "Datensynchronisationsmitglieder-Registrierung" werden die von einem
Master gehaltenen Einstelldaten auf einen Slave übertragen, und die von dem
Slave gehaltenen Einstelldaten werden auf den Master übertragen.
Die von sowohl dem Master als auch dem Slave gehaltenen Daten werden
intakt ausgetauscht. Einzelne Mitglieder weisen keine Daten betreffend
anderer Geräte
untereinander auf, und daher beeinflussen diese einzelnen Mitglieder
nicht die in einer anderen Datensynchronisationsgruppe. Daher kann
die Verarbeitung sicher und einfach wie in der "Datensynchronisationsmitglieder-Registrierung" ausgeführt werden.
-
Im
Folgenden wird die "Master-Privileg-Übertragungs"-Funktion ausführlich beschrieben.
-
An
dieser Stelle werden die auszuführende Master-
und Slave-Kommunikationsverarbeitung zusammen mit der "Master-Privileg-Übertragungs"-Verarbeitung mit
Bezugnahme auf 14 beschrieben.
-
Zuerst übertragen
sowohl der Master und der Slave eine Master-Privileg-Anfrage untereinander. Wenn
sie diese Anfrage beide erhalten, übertragen sie Zertifikatsdaten
zur Geräteauthentifizierung. Nach
der Authentifizierungsverarbeitung überträgt der Master die Identifizierungsdaten,
die Prioritätsdaten
und den Zählerwert
zu dem Slave. Alternativ überträgt das Slave
die Prioritätsdaten
und die Identifizierungsdaten und die Kommunikationsverarbeitung
ist abgeschlossen.
-
Nun
werden die Verarbeitungsschritte in jedem Gerät ausführlich beschrieben. 15 zeigt
die Verarbeitungsschritte in einem Mastergerät, das die "Master-Privileg-Übertragungs"-Funktion aufweist. Eine
Beschreibung wird mit Bezugnahme auf 3 gegeben.
-
Wenn
die Geräteeingabe-/Ausgabevorrichtung 13 die "Master-Privileg-Übertragungs"-Anfrage von dem
Benutzer empfängt
(Schritt S71) beurteilt die Datensynchronisationsgruppeneinstellungs-
und Verwaltungseinheit 16 die aktuelle Einstellung des
eigenen Geräts
in der Datensynchronisationsgruppe (Schritt S72). Wenn das Gerät ein Master
ist, wartet die Geräteeingabe-/Ausgabevorrichtung 13 kontinuierlich
auf eine Anfrage zum Ausführen
der Verarbeitung von dem Benutzer. Wenn die Geräteingabe-/Ausgabevorrichtung 13 eine
Anfrage zum Ausführen
der Verarbeitung empfängt
(Schritt S73), überträgt das Kommunikationsgerät 11 eine
Anfrage zur Master-Privileg-Übertragungsverarbeitung
in der Art eines Sammelaufrufs (Schritt S74). Dann wartet das Kommunikationsgerät 11 auf
eine Anfrage für eine
derartige Übertragungsverarbeitung
von dem Gegenstück-Gerät. Wenn
eine derartige Anfrage von dem Gegenstück-Gerät eintritt (Schritt S75) bestimmen
das Kommunikationsgerät 11 und
der Kommunikationscontroller 12, ob nur das eigene Gerät und das
Gegenstück-Gerät die Master-Privileg-Übertragungsverarbeitung
ausführen
oder nicht (Schritt S76). Im Fall der affirmativen Bestimmung („Ja" beim Schritt S76) überträgt das Kommunikationsgerät 11 Zertifikatsdaten
an das Gegenstück-Gerät (Schritt S77).
Die Abfolge der Schritte der Übertragung
von Zertifikatsdaten und des Bestimmens der Anzahl der ausführenden
Geräte
kann umgekehrt werden. Wenn das Kommunikati onsgerät 11 die
Zertifikatsdaten von dem Gegenstück-Gerät empfängt (Schritt S78),
authentifizieren die Authentifizierungseinheit 15 und die
Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 das
Gegenstück-Gerät und bestimmen,
dass das Gegenstück-Gerät in der
gleichen Datensynchronisationsgruppe als der Master existiert (Schritt
S79). Wenn die Authentifizierung fehlschlägt, endet die Verarbeitung
(„Nein" beim Schritt S79).
Wenn die Authentifizierung erfolgreich ist („Ja" beim Schritt S79) übertragen die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16,
der Kommunikationscontroller 12 und das Kommunikationsgerät 11 die
Identifizierungsdaten, die Prioritätsdaten und den von dem eigenen
Gerät besessenen
Zählerwert
auf den Slave (Schritte S80, S81 und S82). Dann empfängt das
Kommunikationsgerät 11 die
Prioritätsdaten
und die Identifizierungsdaten von dem Slave (Schritte S83 und S84).
Die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 setzt
die von dem Slave empfangenen Prioritätsdaten, Zertifizierungsdaten
und Identifizierungsdaten als eigene Prioritätsdaten, Zertifikatsdaten und
Identifizierungsdaten (Schritt S85) und setzt den Zähler zurück. Dann endet
die Verarbeitung (Schritt S86). Auf diese Art und Weise wird ein
Gerät,
das ein Master gewesen ist, als ein Slave-Gerät spezifiziert.
-
Die
Zeitpunkte der Übertragung
der Prioritätsdaten,
des Zählerwerts,
der Zertifikatsdaten und der Identifizierungsdaten, die von dem
eigenen Gerät besessen
werden. (Schritte S77, S80, S81 und S82) und diejenigen des Empfangens
der Prioritätsdaten, der
Zertifikatsdaten und der Identifizierungsdaten von einem Slave (Schritte
S78, S83 und S84) können nach
einer beliebigen Abfolge ausgeführt
werden.
-
Slave-Vorgänger sind
im allgemeinen ähnlich
wie ein Master-Vorgang.
Die Verarbeitungsschritte werden in 16 gezeigt.
-
Wenn
die Geräteeingabe-/Ausgabevorrichtung 13 eine "Master-Privileg-Übertragung"-Anfrage vom Benutzer
empfängt,
wie in 15 beschrieben, beurteilt die
Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 die
aktuellen Einstellungen des eigenen Geräts in der Datensynchronisationsgruppe.
Im Fall, wo diese Einstellung nicht bereitgestellt wird, endet die
Verarbeitung. Wenn das Gerät
ein Master ist, wird der vorgenannte Master-Vorgang ausgeführt. Im
Fall, wo es als ein Slave bestimmt wird, wartet die Geräteeingabe-/Ausgabevorrichtung 13 auf
eine Anfrage zum Ausführen
der Master-Privileg-Übertragungsverarbeitung
vom Benutzer. Wenn der Benutzer die Master-Privileg-Übertragungsverarbeitung für die Geräteingabe-/Ausgabevorrichtung 13 ausführt (Schritt
S91), empfängt das
Kommunikationsgerät 11 eine
Master-Privileg-Übertragungsanfrage
von einem Master (Schritt S92) und überträgt die Master-Privileg-Transferanfrage
zu einem Master (Schritt S93). Dann, beim Schritt S94, überprüfen das
Kommunikationsgerät 11 und der
Kommunikationscontroller 12 die Anzahl der Geräte, die
eine Master-Privileg-Transfer-Verarbeitung ausführen können. Im
Fall, wo nur ein Gerät
verschieden von dem eigenen Gerät
ausführen
können („Ja" beim Schritt S94),
geht es zu den folgenden Schritten.
-
Zuerst
werden die Zertifikatsdaten mit dem Master ausgetauscht (Schritte
S95 und S96). Dann authentifizieren die Authentifizierungseinheit 15 und die
Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 das
Gegenstück
(Schritt S97). Nach der Authentifizierung endet die Verarbeitung
im Fall, wo das Kommunikationsgegenstück nicht ein Master der Datensynchronisationsgruppe,
zu der das eigene Gerät
gehört,
ist („Nein" beim Schritt S97).
In dem Fall, wo das Gegenstück
der Master ist („Ja" beim Schritt S97),
werden die von dem Master besessenen Prioritätsdaten, Zählerwert und Identifikationsdaten
von dem Kom munikationsgerät 11 empfangen
(Schritte S99, S100 und S101). Dann, nachdem die Prioritätsdaten
und die Identifikationsdaten, die von dem eigenen Gerät besessen
werden, von dem Kommunikationsgerät 11 übertragen
worden sind (Schritte S101 und S102), setzt die Datensynchronisationseinstellungs-
und Verwaltungseinheit 16 die empfangenen Identifikationsdaten,
Zertifikatsdaten, Prioritätsdaten
sowie den Zählerwert
des Masters als eigene Daten (Schritte S103 und S104), und die Verarbeitung
endet.
-
Der
Datensynchronisationsgruppen-Master kann durch jeden Datensatz eingestellt
werden. In dem Fall, wo ein Mastergerät eine Vielzahl von Datensätzen aufweist,
kann die Master-Privileg-Transfer-Verarbeitung nur für eingestellte
Daten, die einen bestimmten, von einem Benutzer spezifizierten Datensatz
betreffen, ausgeführt
werden. Natürlich
können,
wenn ein als ein Übertragungsziel
spezifiziertes Slave-Gerät
eine Vielzahl von Datensätzen
aufweist, die Masterprivilegien, die alle vom Master-Gerät besessenen
Datensätze
betreffen, auf einmal auf ein Slave-Gerät übertragen werden.
-
(6) Prioritätsaustausch
-
Eine "Prioritätsaustausch"-Funktion tauscht die
von zwei Slaves besessenen Prioritäten miteinander aus. Wenn ein
Konflikt während
der Datensynchronisation auftritt, wird ein derartiger Konflikt
gelöst,
indem Daten auf einem Mitglied mit seiner höheren Priorität verwendet
werden. Die Priorität
wird von dem Master in der Registrierungsreihenfolge zugeordnet.
Daher kann ein Fall auftreten, bei dem der Benutzer bewirken möchte, dass
die Daten auf einem später
registrieren Slave den Daten auf einem früher registrierten Slave vorausgehen.
Obwohl die Priorität während der
Datensynchronisationsmitglieder-Registrierung ausgewählt wird,
braucht der Master oder der Slave eine Anzeige schnittstelle zum
Auswählen der
Priorität.
Hier sind die Geräte
in der Registrierungsreihenfolge zum Zweck der Vereinfachung der Verarbeitung
nummeriert, so dass Prioritäten
ausgetauscht werden können.
Zur Zeit des "Prioritätsaustauschs" kann die Verarbeitung
nur ausgeführt
werden, wenn lediglich zwei Geräte
eingestellt sind, genauso wie dies mit "Datensynchronisationsmitglieder-Registrierung" oder "Master-Privileg-Übertragung" der Fall ist.
-
Nun
wird der Kommunikationsverarbeitungsschritt, wenn die Prioritäten zwischen
Slaves ausgetauscht werden, mit Bezugnahme auf 17 beschrieben.
-
Zunächst übertragen
Slaves, die die Prioritäten
austauschen wollen, eine Prioritätsaustauschanfrage
zueinander. Wenn ein Slave eine derartige Anfrage empfängt, übertragen
beide von ihnen Zertifikatsdaten zueinander. Nachdem bestimmt worden ist,
dass die Slaves zu der gleichen Datensynchronisationsgruppe gehören, tauschen
beide Prioritätsdaten
aus, und die Kommunikationsverarbeitung endet.
-
In 18 wird
der Verarbeitungsschritt des "Prioritätsaustauschs" in jedem die Priorität austauschenden
Slave-Gerät
veranschaulicht.
-
Wenn
die Geräteeingabe-/Ausgabevorrichtung 13 eine "Prioritätsaustausch"-Anfrage vom Benutzer
empfängt
(Schritt S101), beurteilt die Datensynchronisationsgruppeneinstellungs-
und Verwaltungseinheit 16 die aktuelle Einstellung des
eigenen Geräts
in der Datensynchronisationsgruppe. Im Fall, wo die Einstellung
nicht bereitgestellt wird, oder im Fall eines Masters endet die
Verarbeitung. Im Fall eines Slaves, wartet die Geräteingabe-/Ausgabevorrichtung 13 auf
eine Anfrage zum Ausführen der
Verarbeitung von dem Benutzer. Wenn die Geräteeingabe-/Ausgabevorrichtung 13 eine
An frage zum Ausführen
der Verarbeitung empfängt
(Schritt S103), überträgt das Kommunikationsgerät 11 eine
Anfrage zur Verarbeitung des "Prioritätsaustauschs" in der Art eines
Sammelrufs und wartet auf eine derartige Anfrage zur Verarbeitung
des "Prioritätsaustauschs" vom Gegenstück, das
die Priorität
austauscht. Dann, wenn das Kommunikationsgerät 11 eine Anfrage
zur Verarbeitung des "Prioritätsaustauschs" vom Gegenstück empfängt (Schritt
S105), bestimmt der Kommunikationscontroller 12 die Anzahl
der Geräte,
die momentan den "Prioritätsaustausch" ausführen können (Schritt
S105), indem die Daten vom Kommunikationsgerät 11 verwendet werden
(Schritt S106). Im Fall, wo nur ein von dem eigenen Gerät verschiedenes
Gerät den "Prioritätsaustausch" ausführen kann („Ja" beim Schritt S106),
empfangen und/oder übertragen
die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16,
der Kommunikationscontroller 12 und das Kommunikationsgerät 11 Zertifikatsdaten
von- und/oder zueinander (Schritte S10 und S108). Wenn drei oder
mehrere Geräte
innerhalb eines kommunizierbaren Abstands ausführend sein können („Nein" beim Schritt 106),
wird die Verarbeitung beendet.
-
Nachdem
Zertifikatsdaten übertragen und/oder
empfangen worden sind, authentifizieren die Authentifizierungseinheit 15 und
die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 das
Gegenstück
der Kommunikation auf der Grundlage der vom Kommunikationsgerät 11 empfangenen
Authentifizierungsdaten (Schritt S109). Wenn authentifiziert ist,
dass das Gegenstück-Gerät ein Mitglied
der gleichen Synchronisationsgruppe ist („Ja" beim Schritt S109) überträgt das eigene Gerät eigene
Prioritätsdaten,
und empfängt
die Prioritätsdaten
des Gegenstücks
(Schritte S110 und S111). Dann überschreibt
die Datensynchronisationsgruppeneinstellungs- und Verwaltungseinheit 16 ihre
eigene Priorität
erneut mit der empfangenen Priorität und beendet die Verarbeitung
(Schritt S112).
-
In
dem Fall, wo ein Gerät
als ein Slave der Datensynchronisationsgruppe funktioniert, wobei
das Gerät
eine Vielzahl von Datensätzen
aufweist, kann die in 18 angezeigte Verarbeitung für einen
Datensatz ausgeführt
werden, indem der Prioritätsaustausch
durch den Benutzer spezifiziert ist.
-
(7) Verfahren zum Einstellen
eines Geräts
-
Während jedes
der "Datensynchronisationsmitglieder-Registrierung"-, "Prioritätsaustausch"-, und "Master-Privileg-Übertragungs"-Vorgangs ist es erforderlich, die Sicherheit
der auszuführenden
Datenkommunikation zusammen mit der Einstellung zu gewährleisten.
Daher werden, vor dem Austauschen der tatsächlich gesetzten Daten, zwei
Geräte,
die zum Einstellen beabsichtigt sind, dazu gebracht, dass sie zum
Ausführen
der Verarbeitung angefragt werden. Nachdem bestimmt worden ist,
ob nur zwei Geräte
zum Ausführen
der Verarbeitung in einem Kommunikationsabstand erforderlich sind
oder nicht, ist dann zu bestimmen, ob eine derartige Einstellung fortgesetzt
wird oder nicht. Eine Abfolge dieser Vorgänge wird in größerer Genauigkeit
beschrieben.
-
In
Zusammenhang mit diesen Vorgängen weist
jedes Gerät
einen Einstellmodus und einen Ausführungsmodus auf. Der Einstellmodus
dient zum Spezifizieren von Aufrufsfunktionen einschließlich "Datensynchronisationsmitglieder-Registrierung", "Prioritätsaustausch" und "Master-Privileg-Übertragung". Der Ausführungsmodus
dient zum Beginnen der tatsächlichen
Verarbeitung einer in dem Einstellmodus aufgerufenen Funktion und
zum Durchführen der
Datenkommunikation mit dem eingestellten Gegenstück, je nach Erfordernis. Daher
bedeutet dieser Ausführungsmodus
eine Anfrage zum Ausführen
von Verarbeitung.
-
In
dem Fall, wo ein Benutzer versucht, "Datensynchronisationsmitglieder-Registrierung", "Prioritätstausch" oder "Master-Privileg-Übertragung" auszuführen, wie
in 19 gezeigt, versetzt der Benutzer zwei zum Einstellen
beabsichtigte Geräte
(Geräte
1 und 2) in den Einstellmodus. Dann bestimmt jedes Gerät, welche
Funktion aufgerufen wird, und bestimmt, ob die aufgerufene Funktion
in der momentanen Einstellung des eigenen Geräts gültig ist oder nicht. Beispielsweise
im Fall, wo der Benutzer versucht, "Datensynchronisationsmitglieder-Registrierung" auszuführen, bestimmt
der Benutzer, dass die aufgerufene Funktion die "Datensynchronisationsmitglieder-Registrierung" ist, und bestimmt,
ob das eigene Gerät
ein Master, Slave oder keines ist oder nicht. Wenn die aufgerufene
Funktion gültig
ist, kann es in den Ausführungsmodus übergehen.
Die Bedienung des Benutzers ist für den momentanen Modus, zum Übergang
in den Ausführungsmodus
erforderlich.
-
Der
Benutzer versetzt gleichzeitig zwei Geräte in den für dieselbe Funktion relevanten
Ausführungsmodus
(genau genommen ist ein Fehler Δt von etwa
einer Sekunde erlaubt). Bei einem Schritt, bevor die Kommunikation
mit dem Gegenstück
in dem Ausführungsmodus
hergestellt ist, wartet das Gerät
auf Daten, die den Ausführungsmodus
von einem anderen Gerät
andeuten. Nachdem jedes Gerät
die Daten empfangen hat, überträgt sie jedes
Gerät zu
einem Übertragungskanal.
Während
dieser Datenübertragung
kann beispielsweise eine Daten-Sammelruf-Übertragung mit vorbestimmten
Zeitintervallen wiederholt werden. Wenn jedes Gerät die Daten empfängt, die
der Ausführungsmodus
des Gegenstücks
andeutet, nachdem bestimmt ist, dass kein anderes in diesen Modus
eintretendes Gerät
existiert und die Geräte
1 und 2 miteinander kommunizieren, wird die Kommunikation der Einstelldaten
begonnen. Bei der Kommunikation der Einstelldaten werden Daten verschlüsselt, um
die Sicherheit zu gewährleisten,
indem ein Verschlüsselungssystem,
wie das vorgenannte Verschlüsselungssystem
mit öffentlichem Schlüssel, verwendet
wird. In dem Fall, wo irgendein anderes in den Ausführungsmodus
eintretendes Gerät
existiert, wird Kommunikation bezüglich der Einstelldaten nicht
ausgeführt,
und die Verarbeitung wird unterbrochen und beendet.
-
Ein
Verfahren zum Konfigurieren einer Datensynchronisationsgruppe und
die Funktionen von jedem Gerät
sind vorstehend beschrieben worden. Im Folgenden wird ein spezifisches
Beispiel zum Bereitstellen von Geräten, die eine Datensynchronisationsgruppe
bilden, beschrieben.
-
20 zeigt
ein Beispiel, wenn ein System für
dieses Kommunikationsverfahren bei einer Armbanduhr angewendet wird,
und 21 zeigt ein Beispiel, wenn dieses System bei
einem tragbaren Informationsverarbeitungsendgerät angewendet wird.
-
In
der in 20 gezeigten Armbanduhr, sind mit
der Datensynchronisation zugeordnete Bereiche zwei an der linken
Seite des Zeichenbretts (Englisch: Character Board) bestehenden
Schaltknöpfe,
und vier Anzeigebereiche im oberen Teil eines Uhr-Anzeigebereichs.
Die zwei Schaltflächen
enthalten eine obere linke Schaltfläche, die zum Anweisen einer
Anfrage zum Ausführen
jeder Funktion zum Einstellen einer Datensynchronisationsgruppe
und zum Anweisen des Starts der Datensynchronisationsverarbeitung
verwendet wird; und eine untere linke Schaltfläche zum Auswählen jeder
Funktion zum Einstellen einer Datensynchronisationsgruppe. Die Anzeigebereiche
enthalten einen Modusanzeigebereich zum Anzeigen jeder Funktion
zum Einstellen einer Datensynchronisationsgruppe; einen Anzeigebereich
zum Anzeigen eines einen Master oder einen Slave repräsentierenden
Zeichens M oder S; ein Anzeigebereich, der einen numerischen Wert
der Prioritätsdaten
andeutet; und einen Anzeigebereich, der an deutet, ob eine Datensynchronisationsgruppe
aktuell eingestellt ist oder nicht. Für eine Beschreibung der Verwendung
werden im folgenden Abläufe
zum Ausführen
von zwei typischen Funktionen ("Datensynchronisationsmitglieder-Registrierung" und "Datensynchronisationsverarbeitung") besprochen.
-
Zuerst
wird hier die "Datensynchronisationsmitglieder-Registrierung" beschrieben. Die
untere linke Schaltfläche
wird zum Aufrufen eines "Datensynchronisationsmitglieder-Registrierungs"-Modus verwendet.
Der Modusanzeigebereich zeigt an, dass die "Datensynchronisationsmitglieder-Registrierungs"-Funktion aufgerufen
worden ist. Wenn dieser Aufruf gültig
ist, drückt
der Benutzer die obere linke Schaltfläche nieder und führt eine
Anfrage für "Datensynchronisationsmitglieder-Registrierung" aus. Wenn diese
Armbanduhr von einem gegebenen Master als ein Mitglied registriert
ist, werden in diesem Beispiel die ähnlichen Vorgänge ebenfalls
in dem Master ausgeführt.
Wenn die vorgenannte "Datensynchronisationsmitglieder-Registrierungs-Verarbeitung" erfolgreich ist,
während
beide Geräte
die Anfrage ausführen,
ist die Registrierungsverarbeitung vervollständigt. Im Fall der "Datensynchronisationsverarbeitung" wird die obere linke
Schaltfläche zuerst
niedergedrückt,
wobei eine Funktion zum Starten der Synchronisationsverarbeitung
ausgeführt wird.
Wenn ein oder mehrere Geräte
zu der gleichen, in einem Kommunikationsbereich bestehenden Synchronisationsgruppe
gehören
und die Synchronisationsverarbeitung ausführen kann, wird die Datensynchronisationsverarbeitung
tatsächlich
gestartet. Der Start der Datensynchronisationsverarbeitung kann von
jedem beliebigen, die entsprechende Funktion aufrufenden Gerät ausgeführt werden
oder kann von allen die Datensynchronisationsverarbeitungsstartfunktionen
aufrufenden Geräten
gleichzeitig ausgeführt
werden, wobei alle diese Geräte
tatsächlich
zu dieser Zeit für
die Datensynchronisationsverarbeitung beabsichtigt sind.
-
Ein
Datensatz, den die Armbanduhr aufweist, ist allgemein beschränkt auf
Zeitdaten (Uhrzeitdaten). Daher ist ein für die Datensynchronisationsverarbeitung
mit der Armbanduhr beabsichtigtes Gerät ein Gerät, das zu einer Datensynchronisationsgruppe
gehört
hinsichtlich Zeitdaten (Uhrzeitdaten) in den Geräten, die in einem Bereich,
der mit der Armbanduhr kommunizieren kann, existieren.
-
In 21 wird
ein Beispiel eines Schirms zum Einstellen von Datensynchronisation
eines tragbaren Informationsverarbeitungsendgeräts gezeigt. Hier wird ein Beispiel
für einen
Schirm zum Einstellen von Datensynchronisation bezüglich Zeitdaten
gezeigt. Dieser Schirm besteht aus einem "Einstell-Menü" zum Aufrufen jeder bereitgestellten
Funktion im oberen linken Teil; einen Anzeigebereich, der zum Anzeigen
der aktuellen Einstellungen eingestellt ist; und einen Ausführungsschaltknopf
zum Starten der Datensynchronisationsverarbeitung, wobei die Schaltfläche unten
links bereitgestellt ist. Im Fall, wo ein Versuch unternommen wird,
Datensynchronisation mit einem Gerät auszuführen, das in dem Bereich existiert,
der mit dem tragbaren Informationsverarbeitungsendgerät kommunizieren
kann, und zu der gleichen Datensynchronisationsgruppe, die in der
Lage ist, Synchronisationsverarbeitung auszuführen, gehört, wird ein Synchronisationsschaltknopf
unten rechts niedergedrückt,
wobei die Datensynchronisationsverarbeitung aufgerufen wird. Zusätzlich wird die "Datensynchronisationsmitglieder-Registrierung" aus dem Einstellmenü ausgewählt, wobei
der Datensynchronisationsmitglieder-Registrierungsschirm angezeigt
wird. Der auf diesem Bildschirm bereitgestellte Schaltknopf wird
niedergehalten, wodurch die Funktion zur Datensynchronisationsmitglieder-Registrierung
in der gleichen Weise ausgeführt
werden kann wie im vorhergehenden Beispiel der Armbanduhr.
-
Wie
oben beschrieben worden ist, besteht nach dem Kommunikationsverfahren
der vorliegenden Ausführungsform
keine Notwendigkeit, Einstelldaten bezüglich eines Kommunikationsgegenstücks für die Datensynchronisierung
bereitzustellen. Im Prinzip kann die Datensynchronisationsverarbeitung sicher
und zuverlässig
durch ein Zertifikat (Zertifikatsdaten) und eine Priorität ausgeführt werden.
Daher kann Datensynchronisationsverarbeitung zwischen beliebigen
Slaves ausgeführt
werden, ohne einen Master zu erfordern. Insbesondere ist die vorliegende
Erfindung für
eine Anwendung in einem Gerät
bevorzugt, das drahtlose Kommunikation außerhalb ausführt. Darüber hinaus
wird die Synchronisationsverarbeitung eines zu der gleichen Datensynchronisationsgruppe
gehörenden
Datensatzes automatisch auf anderen Geräten, die in einem kommunizierbaren
Abstand existieren, ausgeführt
indem der Start der Synchronisationsverarbeitung instruiert wird.
Daher kann, in einem Gerät
mit nur einer beschränkten Benutzerschnittstelle,
wie einer Armbanduhr oder einem tragbaren Mobilfunktelefon, wobei
das Gerät
in seiner Einstellung bezüglich
eines Kommunikationsgegenstücks
schwierig ist, die Datensynchronisation mittels einer Datensynchronisationsgruppe
ebenfalls leicht ausgeführt
werden, wobei ein Gruppenmitglied dynamisch verändert wird.
-
Obwohl
beispielsweise jede Ausführungsform
einzeln beschrieben worden ist, kann eine Vielzahl von Ausführungsformen
je nach Erfordernis miteinander kombiniert werden. Das Kommunikationsverfahren
nach der vorliegenden Ausführungsform kann
durch ein Computerprogramm realisiert werden. Daher ist das Computerprogramm
auf einem Computer lesbaren Aufnahmemedium, wie einer CD-ROM, aufgezeichnet
und wird dann in den Computer eingeführt, oder das Computerprogramm
wird auf ein Aufnahmemedium, wie eine ROM, aufgenommen und dann
lediglich in einem elektronischen Gerät eingebaut, was es ermöglicht,
einen Effekt ähnlich dem
der vor liegenden Ausführungsform
unter Verwendung eines allgemeinen elektronischen Geräts zu erzielen.
-
Wie
vorstehend beschrieben worden ist, ist es nach der vorliegenden
Erfindung möglich,
ein Kommunikationsverfahren und ein elektronisches Gerät bereitzustellen,
das Datensynchronisation zwischen beliebigen Geräten ermöglicht, ohne einen Server zu
erfordern. Es ist möglich,
Datensynchronisation auszuführen
mit einem Gerät,
das kein begrenztes Eingabegerät
und kein Ausgabegerät
aufweist. Es ist möglich,
Kommunikation zur Datensynchronisation sicher auszuführen zwischen
beliebigen Geräten
in einem verdrahteten oder drahtlosen Netzwerk, wobei sich eine
Netzwerkkonfiguration dynamisch verändert. Beim Austauschen von
Einstellungsdaten zwischen Geräten
führen
nur zwei bestimmte Geräte
Einstellungsvorgänge
gleichzeitig aus, nachdem die Anwesenheit von zwei Einstellgeräten gewährleistet
worden ist, wodurch die Einstellung sicher ausgeführt werden
kann.