DE60026800T2 - Kommunikationsverfahren für Datensynchronisierung und elektronische Vorrichtung dafür - Google Patents

Kommunikationsverfahren für Datensynchronisierung und elektronische Vorrichtung dafür Download PDF

Info

Publication number
DE60026800T2
DE60026800T2 DE60026800T DE60026800T DE60026800T2 DE 60026800 T2 DE60026800 T2 DE 60026800T2 DE 60026800 T DE60026800 T DE 60026800T DE 60026800 T DE60026800 T DE 60026800T DE 60026800 T2 DE60026800 T2 DE 60026800T2
Authority
DE
Germany
Prior art keywords
master
data
data synchronization
slave
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60026800T
Other languages
English (en)
Other versions
DE60026800D1 (de
Inventor
Kabushiki Kaisha Toshiba Sachio Kizu
Kabushiki Kaisha Toshiba Shigeyasu Natsubori
Kabushiki Kaisha Toshiba Toru Imai
Kabushiki Kaisha Toshiba Shinya Amano
Kabushiki Kaisha Toshiba Tetsuro Muranaga
Kabushiki Kaisha Toshiba Yoshiaki Takabatake
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE60026800D1 publication Critical patent/DE60026800D1/de
Publication of DE60026800T2 publication Critical patent/DE60026800T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electric Clocks (AREA)

Description

  • 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.

Claims (31)

  1. Ein Datensynchronisationsverfahren umfassend die Schritte: Übertragen eines Zertifikats von einem Haupt- bzw. Master-Gerät zu einem Folge- bzw. Slave-Gerät, wobei das Zertifikat andeutet, dass das Slave-Gerät zu einer Datensynchronisationsgruppe gehört, zu der das Master-Gerät gehört, sowie einer Priorität, die während der Datensynchronisation zum Lösen von Datenkonflikten einzusetzen ist, wodurch das Slave-Gerät als ein Mitglied der Datensynchronisationsgruppe, zu der das Master-Gerät gehört, registriert wird; Bestimmen ob oder nicht ein erstes Slave-Gerät und ein zweites Slave-Gerät, das in der Lage ist, mit dem zu derselben Datensynchronisationsgruppe gehörenden, ersten Slave-Gerät unter Verwendung des Zertifikats zu kommunizieren; und Ausführen einer Datensynchronisation zwischen dem ersten Slave-Gerät und dem zweiten Slave-Gerät gestützt auf die Priorität, falls das erste Slave-Gerät und das zweite Slave-Gerät zu derselben Datensynchronisationsgruppe gehören.
  2. Das Verfahren nach Anspruch 1, wobei das Registrieren ausgeführt wird, nachdem bestätigt worden ist, dass es kein anderes Gerät als das erste Master-Gerät und das Slave-Gerät gibt, das in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Registrierungsmode eingestellt ist.
  3. Das Verfahren nach Anspruch 1, wobei die Datensynchronisation zwischen einem Master-Gerät und einem oder mehreren Slave-Geräten, die zu derselben Synchronisationsgruppe gehören, oder zwischen wenigstens zwei Slave-Geräten, die zu derselben Synchronisationsgruppe gehören, ausgeführt wird.
  4. Das Verfahren nach Anspruch 1, wobei das Master-Gerät und Slave-Geräte vielfache Datentypen speichern und zu mehreren Datensynchronisationsgruppen, die jeweils für die vielfachen Datentypen definiert sind, gehören.
  5. Das Verfahren nach Anspruch 4, wobei das Registrieren ausgeführt wird, indem das Zertifikat und die Priorität von dem Master-Gerät, das zu einer gegebenen Synchronisationsgruppe gehört, die für einen gegebenen Datentyp definiert ist, zu dem Slave-Gerät, das zu der gegebenen Synchronisationsgruppe gehört, wobei das Zertifikat und die Priorität in Abhängigkeit vom gegebenen Datentyp eingestellt werden.
  6. Das Verfahren nach Anspruch 1, ferner umfassend das Übertragen von Daten, die zum Operieren als das Master-Gerät des Master-Geräts erforderlich sind, zu einem Slave-Gerät, das darauf gerichtet ist, ein Master-Privileg zu übertragen, wodurch das Master-Privileg auf das Slave-Gerät übertragen wird.
  7. Das Verfahren nach Anspruch 6, wobei das Übertragen des Master-Privilegs ausgeführt wird, nachdem bestätigt worden ist, dass es kein anderes Slave-Gerät verschieden von dem Master-Gerät und dem Slave-Gerät gibt, das in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Master-Privileg-Übertragungsmodus eingestellt ist.
  8. Das Verfahren nach Anspruch 1, ferner umfassend Austauschen der Priorität zwischen zu der gleichen Datensynchronisationsgruppe gehörenden Slave-Geräten.
  9. Das Verfahren nach Anspruch 8, wobei das Austauschen der Priorität ausgeführt wird, nachdem bestätigt worden ist, dass es kein Slave-Gerät verschieden von dem Master-Gerät und dem Slave-Gerät gibt, das in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Prioritätsaustauschmodus eingestellt ist.
  10. Das Verfahren nach Anspruch 1, ferner umfassend Freigeben des Master-Geräts oder Slave-Geräts aus der Datensynchronisationsgruppe, wobei, wenn das Master-Gerät freigegeben wird, das Master-Gerät eine Freigabeanweisung an ein Slave-Gerät überträgt, welches in der Lage ist, mit dem Master-Gerät zu kommunizieren, um sowohl das Slave-Gerät als auch das Master-Gerät freizugeben.
  11. Ein Verfahren nach Anspruch 4, wobei das Registrieren ausgeführt wird, indem das Zertifikat und die Priorität von dem durch einen Benutzer für einen gegebenen Datentyp eingestellten Master-Gerät übertragen wird, an das von dem Benutzer für einen gegebenen Datentyp eingestellte Slave-Gerät, wobei das Zertifikat und die Priorität in Abhängigkeit von dem Datentyp eingestellt werden.
  12. Ein elektronisches Gerät umfassend: eine Haupt- bzw. Master-Einheit, wenn ein eigenes Gerät durch einen Benutzer als ein Master eingestellt ist, konfiguriert zum Übertragen eines Zertifikat zu einem Slave-Gerät, wobei das Zertifikat andeutet, dass das Slave-Gerät zu einer Datengruppe gehört, zu der das Master-Gerät gehört, sowie einer Priorität, die zum Lösen von Datenkonflikten während der Datensynchronisation einzusetzen ist, wodurch das Slave-Gerät als ein Mitglied der Datensynchronisationsgruppe, zu der das Master-Gerät gehört, registriert wird; eine Slave-Einheit, wenn das eigene Gerät durch den Benutzer als der Slave eingestellt wird, konfiguriert, zum Empfangen des Zertifikats und der Priorität von der Master-Einheit; und eine Datensynchronisationseinheit (16, 17), konfiguriert zum Bestimmen unter Verwendung des Zertifikats, ob oder nicht das eigene Gerät und ein anderes Gerät, das in der Lage ist, mit dem eigenen Gerät zu kommunizieren, zu der gleichen Datensynchronisationsgruppe gehört, und Ausführen der Datensynchronisation zwischen dem eigenen Gerät und dem anderen Gerät gestützt auf die Priorität, falls das eigene Gerät und das andere Gerät zu der gleichen Datensynchronisationsgruppe gehören.
  13. Ein Slave-Gerät umfassend: einen Empfänger (11, 12), von einem Master-Gerät für eine Datensynchronisationsgruppe konfiguriert zum Empfangen eines Zertifikats, das andeutet, dass das Slave-Gerät zu der Datensynchronisationsgruppe gehört, zu der das Master-Gerät gehört, sowie einer Priorität, die zum Lösen von Datenkonflikten während der Datensynchronisation einzusetzen ist; einen Speicher (18), konfiguriert zum Speichern des empfangenen Zertifikats und der Priorität; eine Zertifizierungseinheit (15), konfiguriert zum Bestimmen, unter Verwendung des in dem Speicher gespeicherten Zertifikats, wenn eine Synchronisationsanfrage von einem anderen Gerät empfangen wird, ob oder nicht das andere Gerät und das Slave-Gerät zu derselben Datensynchronisationsgruppe gehören; und eine Synchronisationseinheit (17), konfiguriert zum Ausführen von Datensynchronisation, gestützt auf der in dem Speicher gespeicherten Priorität, zwischen dem anderen Gerät und dem Slave-Gerät, wenn die Zertifizierungseinheit feststellt, dass das andere Gerät und das Slave-Gerät zu der gleichen Datensynchronisationsgruppe gehören.
  14. Das Gerät nach Anspruch 13, wobei der Speicher (18) konfiguriert ist zum Speichern des empfangenen Zertifikats und der Priorität, nachdem bestätigt worden ist, dass es kein Gerät verschieden von dem Master-Gerät und dem Slave-Gerät gibt, das in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Registrierungsmodus eingestellt ist.
  15. Das Gerät nach Anspruch 13, wobei das andere Gerät ein Master-Gerät oder eine oder mehrere Slave-Geräte umfasst.
  16. Das Gerät nach Anspruch 13, wobei das Master-Gerät und das Slave-Gerät dazu angepasst sind, vielfältige Datentypen zu speichern und zu vielfältigen, jeweils für die vielfältigen Datentypen definierten Datensynchronisationsgruppen zu gehören.
  17. Das Verfahren nach Anspruch 16, wobei der Speicher (18) konfiguriert ist zum Speichern des Zertifikats und der Priorität von dem Master-Gerät, das zu einer gegebenen, für einen gegebenen Datentypen definierten Synchronisationsgruppe gehört, wobei das Zertifikat und die Priorität in Abhängigkeit von dem gegebenen Datentyp eingestellt werden.
  18. Das Gerät nach Anspruch 13, wobei der Empfänger (11, 12) konfiguriert ist zum Empfangen von Daten, die zum Operieren als das Master-Gerät des Master-Geräts benötigt werden, wodurch ein Master-Privileg auf das Slave-Gerät übertragen wird.
  19. Das Gerät nach Anspruch 18, wobei das Übertragen des Master-Privilegs ausgeführt wird, nachdem bestätigt worden ist, dass es kein Slave-Gerät verschieden von dem Master-Gerät gibt, und dass das Slave-Gerät in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Master-Privileg-Übertragungsmodus eingestellt ist.
  20. Das Gerät nach Anspruch 13, ferner umfassend eine Austauscheinheit, konfiguriert zum Austauschen der Priorität zwischen einem anderen, zu der gleichen Datensynchronisationsgruppe gehörenden Slave-Gerät.
  21. Das Gerät nach Anspruch 20, wobei das Austauschen der Priorität ausgeführt wird, nachdem bestätigt worden ist, dass es kein Slave-Gerät verschieden von dem Master-Gerät und dem Slave-Gerät gibt, das in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Prioritätsaustauschmodus eingestellt ist.
  22. Ein Datensynchronisationsverfahren für ein Slave-Gerät, umfassend die Schritte: Empfangen eines Zertifikats von einem Haupt- bzw. Master-Gerät für eine Datensynchronisationsgruppe, wobei das Zertifikat andeutet, dass das Slave-Gerät zu der Datensynchronisationsgruppe gehört, zu der das Master-Gerät gehört, sowie einer Priorität, die zum Lösen von Datenkonflikten während der Datensynchronisation einzusetzen ist; Abspeichern des empfangenen Zertifikats und der Priorität; Bestimmen, unter Verwendung des gespeicherten Zertifikats, wann eine Synchronisationsanfrage von einem anderen Gerät empfangen wird, ob oder nicht das andere Gerät und das Slave-Gerät zu der gleichen Datensynchronisationsgruppe gehören; und Ausführen einer Datensynchronisation zwischen dem anderen Gerät und dem Slave-Gerät gestützt auf die gespeicherte Priorität, wenn bestimmt worden ist, dass das andere Gerät und das Slave-Gerät zu dergleichen Datensynchronisationsgruppe gehören.
  23. Das Verfahren nach Anspruch 22, umfassend den Schritt des Abspeicherns des empfangenen Zertifikats und der Priorität, nachdem bestätigt worden ist, dass es kein Gerät anders als das Master-Gerät und das Slave-Gerät gibt, das dazu in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Registrierungsmodus eingestellt ist.
  24. Das Verfahren nach Anspruch 22, wobei das andere Gerät ein Master-Gerät und eine oder mehrere Slave-Geräte umfasst.
  25. Das Verfahren nach Anspruch 22, wobei das Master-Gerät und die Slave-Geräte zu mehreren Datensynchronisationsgruppen gehören, und das umfasst Speichern in dem Master-Gerät und dem Slave-Gerät von vielfältigen, für jedes der vielfältigen Datensynchronisationsgruppen definierten Typen von Daten.
  26. Das Verfahren nach Anspruch 25, umfassend Speichern des Zertifikats und der Priorität, die von dem zu einer gegebenen, für einen gegebenen Datentyp definier ten Synchronisationsgruppe gehörenden Master-Gerät, wobei das Zertifikat und die Priorität in Abhängigkeit von dem gegebenen Datentyp eingestellt werden.
  27. Das Verfahren nach Anspruch 22, umfassend Empfangen von Daten, die für ein Slave-Gerät benötigt werden zum Operieren als das Master-Gerät von dem Master-Gerät, zum Übertragen eines Master-Privilegs auf das Slave-Gerät.
  28. Das Verfahren nach Anspruch 27, wobei das Übertragen des Master-Privilegs ausgeführt wird, nachdem bestätigt worden ist, dass es kein anderes Slave-Gerät verschieden von dem Master-Gerät und dem Slave-Gerät gibt, das in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Master-Privileg-Übertragungsmodus eingestellt ist.
  29. Das Verfahren nach Anspruch 22, ferner umfassend das Austauschen der Priorität zwischen einem anderen, zu der gleichen Datensynchronisationsgruppe gehörenden Slave-Gerät.
  30. Das Verfahren nach Anspruch 29, wobei das Austauschen der Priorität ausgeführt wird, nachdem bestätigt worden ist, dass es kein Slave-Gerät gibt verschieden von dem Master-Gerät und dem Slave-Gerät, das in der Lage ist, mit dem Master-Gerät zu kommunizieren, und in einen Prioritätsaustauschmodus eingestellt ist.
  31. Ein Speichermedium, das computerlesbare Anweisungen trägt zum Steuern eines Computers, um ein Verfahren nach einem der Ansprüche 1 bis 11 und 22 bis 30 auszuführen.
DE60026800T 1999-11-19 2000-11-17 Kommunikationsverfahren für Datensynchronisierung und elektronische Vorrichtung dafür Expired - Fee Related DE60026800T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP33023599A JP3963417B2 (ja) 1999-11-19 1999-11-19 データ同期処理のための通信方法および電子機器
JP33023599 1999-11-19

Publications (2)

Publication Number Publication Date
DE60026800D1 DE60026800D1 (de) 2006-05-11
DE60026800T2 true DE60026800T2 (de) 2006-08-31

Family

ID=18230383

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60026800T Expired - Fee Related DE60026800T2 (de) 1999-11-19 2000-11-17 Kommunikationsverfahren für Datensynchronisierung und elektronische Vorrichtung dafür

Country Status (5)

Country Link
US (2) US6732144B1 (de)
EP (1) EP1111527B1 (de)
JP (1) JP3963417B2 (de)
KR (1) KR100405746B1 (de)
DE (1) DE60026800T2 (de)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0022632D0 (en) * 2000-09-15 2000-11-01 Koninkl Philips Electronics Nv Method of, and signalling system for, transferring data
US7051069B2 (en) 2000-09-28 2006-05-23 Bea Systems, Inc. System for managing logical process flow in an online environment
US20020104011A1 (en) * 2001-02-01 2002-08-01 Bechtel Bwtx Idaho, Llc Systems and methods for employing opportunistic data transfer to create a dynamically mobile data communication system
KR100402792B1 (ko) * 2001-02-09 2003-10-22 삼성전자주식회사 단말기와 서버간의 개인정보 동기화방법
CN1264377C (zh) * 2001-03-30 2006-07-12 三菱电机株式会社 便携信息终端、无线通信系统及连接确立方法
US7499948B2 (en) * 2001-04-16 2009-03-03 Bea Systems, Inc. System and method for web-based personalization and ecommerce management
US20020176412A1 (en) * 2001-04-24 2002-11-28 Andras Racz Signaling free, self learning scatternet scheduling using checkpoints
US7177950B2 (en) * 2001-04-26 2007-02-13 Microsoft Corporation Synchronization and recovery of peers in a peer to peer environment
US7392546B2 (en) * 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
JP2004532590A (ja) * 2001-06-12 2004-10-21 リサーチ イン モーション リミテッド 証明書の管理および送信のシステムおよび方法
WO2002101605A2 (en) 2001-06-12 2002-12-19 Research In Motion Limited System and method for compressing secure e-mail for exchange with a mobile data communication device
AU2002317062A1 (en) * 2001-06-12 2002-12-23 Research In Motion Limited Method for processing encoded messages for exchange with a mobile data communication device
WO2003007570A1 (en) * 2001-07-10 2003-01-23 Research In Motion Limited System and method for secure message key caching in a mobile communication device
US7170861B2 (en) * 2001-07-31 2007-01-30 Texas Instruments Incorporated Distributed device identifier numbering and total device counting algorithm with smart time division multiplexed serial port
BRPI0211756B1 (pt) * 2001-08-06 2016-09-06 Blackberry Ltd sistema e método para processar mensagens codificadas
CN1291333C (zh) * 2001-09-05 2006-12-20 松下电器产业株式会社 同步消息处理方法
JP4644998B2 (ja) * 2001-09-28 2011-03-09 ブラザー工業株式会社 認証システム、認証装置およびサービス提供装置
EP1442397A4 (de) * 2001-10-24 2006-11-15 Bea Systems Inc Datensynchronisation
US20060090200A1 (en) * 2002-04-11 2006-04-27 International Business Machines Corp Computer, computer security setting method, and program
US7725560B2 (en) * 2002-05-01 2010-05-25 Bea Systems Inc. Web service-enabled portlet wizard
JP2004046302A (ja) * 2002-07-08 2004-02-12 Nec Corp 複数の情報機器間におけるデータ同期方法、当該方法を実行する情報処理装置、および当該方法を実行するためのプログラム
FR2851709A1 (fr) * 2002-12-31 2004-08-27 Activia Networks Systeme, serveur et procede fournissant des ressources de synchronisation a un reseau de communications comprenant des serveurs de services
US7653930B2 (en) 2003-02-14 2010-01-26 Bea Systems, Inc. Method for role and resource policy management optimization
US8831966B2 (en) 2003-02-14 2014-09-09 Oracle International Corporation Method for delegated administration
US7591000B2 (en) * 2003-02-14 2009-09-15 Oracle International Corporation System and method for hierarchical role-based entitlements
US7840614B2 (en) 2003-02-20 2010-11-23 Bea Systems, Inc. Virtual content repository application program interface
US20040167868A1 (en) * 2003-02-20 2004-08-26 Bea Systems, Inc. System and method for a virtual content repository
US20040167880A1 (en) * 2003-02-20 2004-08-26 Bea Systems, Inc. System and method for searching a virtual repository content
US7293286B2 (en) * 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US7810036B2 (en) * 2003-02-28 2010-10-05 Bea Systems, Inc. Systems and methods for personalizing a portal
US20040230679A1 (en) * 2003-02-28 2004-11-18 Bales Christopher E. Systems and methods for portal and web server administration
KR100605219B1 (ko) * 2003-05-30 2006-07-31 엘지전자 주식회사 홈 네트워크 시스템
US7660833B2 (en) * 2003-07-10 2010-02-09 Microsoft Corporation Granular control over the authority of replicated information via fencing and unfencing
US9207905B2 (en) 2003-07-28 2015-12-08 Sonos, Inc. Method and apparatus for providing synchrony group status information
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US7756825B2 (en) * 2003-07-31 2010-07-13 Microsoft Corporation Synchronization peer participant model
US7143117B2 (en) * 2003-09-25 2006-11-28 International Business Machines Corporation Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match
US20050251852A1 (en) * 2003-10-10 2005-11-10 Bea Systems, Inc. Distributed enterprise security system
US20050102510A1 (en) * 2003-10-10 2005-05-12 Bea Systems, Inc. Delegation in a distributed security system
US7487537B2 (en) * 2003-10-14 2009-02-03 International Business Machines Corporation Method and apparatus for pervasive authentication domains
US20050138211A1 (en) * 2003-12-19 2005-06-23 Mobile Action Technology Inc. Data synchronization system with data security and proxy capabilities
JP2005276094A (ja) * 2004-03-26 2005-10-06 Hitachi Ltd 分散ストレージ装置のファイル管理方法及び分散ストレージシステム並びにプログラム
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US7774601B2 (en) 2004-04-06 2010-08-10 Bea Systems, Inc. Method for delegated administration
US7236990B2 (en) * 2004-04-13 2007-06-26 Bea Systems, Inc. System and method for information lifecycle workflow integration
JP4622300B2 (ja) * 2004-05-07 2011-02-02 日本電気株式会社 情報共有システムおよび情報共有用プログラム
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
CA2528080A1 (en) * 2004-07-30 2006-01-30 Research In Motion Limited Method and apparatus for synchronizing contact data stores
US20060036849A1 (en) * 2004-08-09 2006-02-16 Research In Motion Limited System and method for certificate searching and retrieval
US9094429B2 (en) 2004-08-10 2015-07-28 Blackberry Limited Server verification of secure electronic messages
US7631183B2 (en) * 2004-09-01 2009-12-08 Research In Motion Limited System and method for retrieving related certificates
US7549043B2 (en) 2004-09-01 2009-06-16 Research In Motion Limited Providing certificate matching in a system and method for searching and retrieving certificates
US7640428B2 (en) * 2004-09-02 2009-12-29 Research In Motion Limited System and method for searching and retrieving certificates
US7395280B2 (en) * 2004-11-10 2008-07-01 International Business Machines Corporation Incrementally sychronizing occasionally-connected mobile databases, preserving horizontal filter scope consistency by using client pre-image
US8346843B2 (en) * 2004-12-10 2013-01-01 Google Inc. System and method for scalable data distribution
US7587596B2 (en) * 2005-02-24 2009-09-08 International Business Machines Corporation Method and apparatus for updating information stored in multiple information handling systems
US7634514B2 (en) * 2005-05-09 2009-12-15 Microsoft Corporation Synchronizing file system directories
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
KR100640401B1 (ko) * 2005-07-13 2006-10-30 삼성전자주식회사 모바일 이메일 서버와 클라이언트 단말 간 동기 유지방법과 시스템 및 그 단말
US20070073638A1 (en) * 2005-09-26 2007-03-29 Bea Systems, Inc. System and method for using soft links to managed content
US7818344B2 (en) 2005-09-26 2010-10-19 Bea Systems, Inc. System and method for providing nested types for content management
US7752205B2 (en) 2005-09-26 2010-07-06 Bea Systems, Inc. Method and system for interacting with a virtual content repository
US7917537B2 (en) 2005-09-26 2011-03-29 Oracle International Corporation System and method for providing link property types for content management
US7953734B2 (en) 2005-09-26 2011-05-31 Oracle International Corporation System and method for providing SPI extensions for content management system
US8769033B2 (en) * 2006-03-03 2014-07-01 Microsoft Corporation Identifying changes to media-device contents
US7814161B2 (en) 2006-06-23 2010-10-12 Research In Motion Limited System and method for handling electronic mail mismatches
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
JP2008085789A (ja) * 2006-09-28 2008-04-10 Olympus Corp モバイル機器システムおよびモバイル機器
US7949837B2 (en) * 2006-10-05 2011-05-24 Waratek Pty Ltd. Contention detection and resolution
US8463852B2 (en) 2006-10-06 2013-06-11 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
US20080155054A1 (en) * 2006-12-22 2008-06-26 Samsung Electronics Co., Ltd Apparatus and method for setting data in portable communication system
US7620659B2 (en) * 2007-02-09 2009-11-17 Microsoft Corporation Efficient knowledge representation in data synchronization systems
JP5014214B2 (ja) * 2007-06-27 2012-08-29 株式会社リコー ネットワーク同期システム及び情報処理装置
US8161137B2 (en) * 2009-01-16 2012-04-17 At&T Intellectual Property I., L.P. Environment delivery network
US8798610B2 (en) * 2010-03-26 2014-08-05 Intel Corporation Method and apparatus for bearer and server independent parental control on smartphone, managed by the smartphone
JP2011223339A (ja) * 2010-04-09 2011-11-04 Sharp Corp 電子会議システム、電子会議運用方法、コンピュータプログラム、および会議運用端末
US20120009916A1 (en) * 2010-07-09 2012-01-12 T-Mobile Austria Gmbh Method for synchronizing data within mobile communities
US8983902B2 (en) * 2010-12-10 2015-03-17 Sap Se Transparent caching of configuration data
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
JP5778478B2 (ja) 2011-05-23 2015-09-16 ルネサスエレクトロニクス株式会社 データ処理システム
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US8886166B2 (en) * 2012-06-04 2014-11-11 Avago Technologies General Ip (Singapore) Pte. Ltd. System to identify whether a text message is from a trusted source
JP5967198B2 (ja) * 2012-07-04 2016-08-10 富士通株式会社 システム、情報処理装置、取得方法および取得プログラム
JP2014033371A (ja) * 2012-08-03 2014-02-20 Sharp Corp 情報共有システム、端末装置、切替方法及びプログラム
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
GB2507104A (en) 2012-10-19 2014-04-23 Nicoventures Holdings Ltd Electronic inhalation device
JP6053476B2 (ja) * 2012-11-28 2016-12-27 三菱電機株式会社 計算機
US9077759B2 (en) 2013-01-18 2015-07-07 Apple Inc. Conflict resolution for keychain syncing
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US9307508B2 (en) 2013-04-29 2016-04-05 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US20150095679A1 (en) 2013-09-30 2015-04-02 Sonos, Inc. Transitioning A Networked Playback Device Between Operating Modes
US9300647B2 (en) 2014-01-15 2016-03-29 Sonos, Inc. Software application and zones
US9313591B2 (en) 2014-01-27 2016-04-12 Sonos, Inc. Audio synchronization among playback devices using offset information
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US20150324552A1 (en) 2014-05-12 2015-11-12 Sonos, Inc. Share Restriction for Media Items
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
EP3114625A1 (de) 2014-09-24 2017-01-11 Sonos, Inc. Soziale medienverbindungsempfehlungen basierend auf wiedergabeinformationen
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
DE102015105595A1 (de) * 2015-04-13 2016-10-13 Huf Hülsbeck & Fürst Gmbh & Co. Kg Sicherung von Zugriffen auf Fahrzeuge
US10198182B2 (en) 2015-05-31 2019-02-05 Apple Inc. Synchronization and verification groups among related devices
US10079880B2 (en) 2015-06-07 2018-09-18 Apple Inc. Automatic identification of invalid participants in a secure synchronization system
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10419422B2 (en) 2015-07-06 2019-09-17 Apple Inc. Combined authorization process
US10270597B2 (en) 2015-07-06 2019-04-23 Apple Inc. Combined authorization process
US11444766B2 (en) 2015-07-06 2022-09-13 Apple Inc. Combined authorization process
GB201517089D0 (en) 2015-09-28 2015-11-11 Nicoventures Holdings Ltd Vaping heat map system and method for electronic vapour provision systems
GB201517092D0 (en) * 2015-09-28 2015-11-11 Nicoventures Holdings Ltd Feature synchronisation system and method for electronic vapour provision systems
GB201517094D0 (en) 2015-09-28 2015-11-11 Nicoventures Holdings Ltd Feature synchronisation system and method for electronic vapour provision systems
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
KR20170092877A (ko) * 2016-02-04 2017-08-14 삼성전자주식회사 기능 동기화 방법 및 이를 지원하는 전자 장치
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
KR102665231B1 (ko) 2023-11-27 2024-05-21 주식회사 낭만 클라이언트 단말들과 서버 간에 데이터를 공유하는 통신 방법

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4016541A (en) * 1972-10-10 1977-04-05 Digital Equipment Corporation Memory unit for connection to central processor unit and interconnecting bus
JPH0783368B2 (ja) * 1985-03-27 1995-09-06 株式会社日立製作所 多元情報伝送システム
US5333299A (en) * 1991-12-31 1994-07-26 International Business Machines Corporation Synchronization techniques for multimedia data streams
US5666530A (en) * 1992-12-02 1997-09-09 Compaq Computer Corporation System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between
FI95976C (fi) * 1994-02-25 1996-04-10 Nokia Telecommunications Oy Verkkojärjestely
US5729735A (en) * 1995-02-08 1998-03-17 Meyering; Samuel C. Remote database file synchronizer
US5790791A (en) * 1995-05-12 1998-08-04 The Boeing Company Apparatus for synchronizing flight management computers where only the computer chosen to be the master received pilot inputs and transfers the inputs to the spare
US5978813A (en) * 1995-09-25 1999-11-02 International Business Machines Corporation System for providing synchronization between a local area network and a distributing computer environment
JPH09223060A (ja) * 1996-02-15 1997-08-26 Nec Corp 情報処理装置と携帯端末機のデータ同期化システム
US5758069A (en) * 1996-03-15 1998-05-26 Novell, Inc. Electronic licensing system
US5890156A (en) * 1996-05-02 1999-03-30 Alcatel Usa, Inc. Distributed redundant database
US5799306A (en) * 1996-06-21 1998-08-25 Oracle Corporation Method and apparatus for facilitating data replication using object groups
JP2002500787A (ja) * 1997-05-01 2002-01-08 フィーニックス テクノロジーズ リミテッド ネットワーク・システムにおけるデータボリュームの分散ミラーリング
WO1999008190A1 (en) * 1997-08-07 1999-02-18 Bell Communications Research, Inc. Process control monitor system and method
US6034621A (en) * 1997-11-18 2000-03-07 Lucent Technologies, Inc. Wireless remote synchronization of data between PC and PDA
US6295541B1 (en) * 1997-12-16 2001-09-25 Starfish Software, Inc. System and methods for synchronizing two or more datasets
EP0926608B1 (de) * 1997-12-24 2004-03-10 Nortel Networks Limited Verteilte dauerhafte Speicher für Benutzer- Anbieter- Systeme mit manchmal unterbrochenen Verbindungen
JPH11249874A (ja) * 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムにおける同期処理方法および記録媒体
JP4187302B2 (ja) * 1998-03-25 2008-11-26 富士通株式会社 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体
US6253209B1 (en) * 1998-07-07 2001-06-26 International Business Machines Corporation Method for parallel, remote administration of mirrored and alternate volume groups in a distributed data processing system
US6301658B1 (en) * 1998-09-09 2001-10-09 Secure Computing Corporation Method and system for authenticating digital certificates issued by an authentication hierarchy
US6311205B1 (en) * 1998-10-19 2001-10-30 International Business Machines Corporation Persistent user groups on servers managed by central servers
US6269406B1 (en) * 1998-10-19 2001-07-31 International Business Machines Corporation User group synchronization to manage capabilities in heterogeneous networks
US6477543B1 (en) * 1998-10-23 2002-11-05 International Business Machines Corporation Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US6460051B1 (en) * 1998-10-28 2002-10-01 Starfish Software, Inc. System and methods for synchronizing datasets in a communication environment having high-latency or other adverse characteristics
US6449622B1 (en) * 1999-03-08 2002-09-10 Starfish Software, Inc. System and methods for synchronizing datasets when dataset changes may be received out of order
US6247135B1 (en) * 1999-03-03 2001-06-12 Starfish Software, Inc. Synchronization process negotiation for computing devices
US6457062B1 (en) * 1999-04-08 2002-09-24 Palm, Inc. System and method for synchronizing multiple calendars over wide area network
US6466236B1 (en) * 1999-04-08 2002-10-15 Palm, Inc. System and method for displaying and manipulating multiple calendars on a personal digital assistant
US6553037B1 (en) * 1999-04-08 2003-04-22 Palm, Inc. System and method for synchronizing data among a plurality of users via an intermittently accessed network
US6308201B1 (en) * 1999-04-08 2001-10-23 Palm, Inc. System and method for sharing data among a plurality of personal digital assistants
US6430576B1 (en) * 1999-05-10 2002-08-06 Patrick Gates Distributing and synchronizing objects
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
US6401104B1 (en) * 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
US6636897B1 (en) * 1999-09-28 2003-10-21 Microsoft Corporation Selective information subset synchronization based on single user action
US6275859B1 (en) * 1999-10-28 2001-08-14 Sun Microsystems, Inc. Tree-based reliable multicast system where sessions are established by repair nodes that authenticate receiver nodes presenting participation certificates granted by a central authority
US6421686B1 (en) * 1999-11-15 2002-07-16 International Business Machines Corporation Method of replicating data records
US6611860B1 (en) * 1999-11-17 2003-08-26 I/O Controls Corporation Control network with matrix architecture
US6611849B1 (en) * 2000-09-29 2003-08-26 Palm Source, Inc. System for synchronizing databases on multiple devices utilizing a home base

Also Published As

Publication number Publication date
JP2001147849A (ja) 2001-05-29
KR20010051738A (ko) 2001-06-25
EP1111527B1 (de) 2006-03-22
EP1111527A2 (de) 2001-06-27
US20040179511A1 (en) 2004-09-16
US6732144B1 (en) 2004-05-04
KR100405746B1 (ko) 2003-11-14
EP1111527A3 (de) 2004-05-06
DE60026800D1 (de) 2006-05-11
JP3963417B2 (ja) 2007-08-22

Similar Documents

Publication Publication Date Title
DE60026800T2 (de) Kommunikationsverfahren für Datensynchronisierung und elektronische Vorrichtung dafür
DE60317123T2 (de) Verfahren zur Sicherung von Kommunikation über ein Netzwerk
DE60105643T2 (de) Verfahren und vorrichtung zur verbindung von endgeräten über ein ad-hoc funkkommunikationsnetzwerk
DE602004012485T2 (de) Vorrichtung, Verfahren und Rechnerprogramm zur Verwaltung von digitalen Zertifikaten
DE60022622T2 (de) Verfahren zur übertragung von mehrfachen datenobjekten zu drahtlosen endgeräten
DE602005003301T2 (de) Verfahren zum Aufbau einer Verbindung zwischen Peer-Gruppen
DE60210177T2 (de) Bandbreitenorientierte Neukonfigurierung von drahtlosen Ad-Hoc-Netzen
DE60214927T2 (de) Verfahren und Gerät zum Aufbauen einer Kommunikationsgruppe
DE60222227T2 (de) Kommunikationssystem, drahtlose Kommunikationsvorrichtung und Kommunikationsverfahren
DE602005000943T2 (de) Verfahren und Vorrichtung zur sicheren Übertragung von Inhalten mit Urheberschutz
DE602005000704T2 (de) System zur Verarbeitung von kryptographischen Schlüsseln für einen drahtlosen Access point
EP2131363B1 (de) Videobearbeitungssystem, Videobearbeitungsserver und Kommunikationsendgerät
DE112015004699B4 (de) Über mehrere Sites verteiltes Sicherheitssystem
DE60309228T2 (de) Funkkommunikationssystem mit hoher Sicherheit
DE69829346T2 (de) Ein-/Ausgabevorrichtung für ein Peripheriegerät
DE60308601T2 (de) Verfahren und System zur Authentifizierung von Kommunikationsendgeräten
DE10226304A1 (de) Tokengesteuerte Bildung von drahtlosen Arbeitsgruppen
DE10296466T5 (de) Protokoll für ein sich selbst organisierendes Netzwerk, das eine logische Spann-Baum-Zentralverbindung verwendet
DE60131765T2 (de) Verfahren zur verbindung mehrerer kommunikationsbusse mit drahtlosen verbindungen
DE112004002946B4 (de) Drahtloses Netzsystem
DE60038298T2 (de) Computer-Software Produkt und Verfahren für eine Kommunikationseinheit und eine Hilfsmitteleinheit für ein nicht kontrolliertes Kommunikationsnetz
DE102014225538A1 (de) Verwaltungsvorrichtung und verwaltungsverfahren für eine verwaltungsvorrichtung
DE112015003792T5 (de) System und Verfahren zur Verwaltung von sicheren Kommunikationen in einem Ad-hoc-Netzwerk
DE102008036453A1 (de) Verfahren zum Versenden von Daten und Kommunikationseinrichtung
DE60301899T2 (de) Netzmanagementsystem, verwaltete Vorrichtung, Managementvorrichtung und Programm

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee