DE102006005840B4 - A method of processing a data set together, and a network system and a communication system for performing the method - Google Patents

A method of processing a data set together, and a network system and a communication system for performing the method Download PDF

Info

Publication number
DE102006005840B4
DE102006005840B4 DE200610005840 DE102006005840A DE102006005840B4 DE 102006005840 B4 DE102006005840 B4 DE 102006005840B4 DE 200610005840 DE200610005840 DE 200610005840 DE 102006005840 A DE102006005840 A DE 102006005840A DE 102006005840 B4 DE102006005840 B4 DE 102006005840B4
Authority
DE
Germany
Prior art keywords
data
user
uhn1
nodes
node
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
DE200610005840
Other languages
German (de)
Other versions
DE102006005840A1 (en
Inventor
Collin Rogowski
Helmut Hoffer Von Ankershoffen
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.)
Combots Product GmbH and Co KG
Original Assignee
Combots Product GmbH and Co KG
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 Combots Product GmbH and Co KG filed Critical Combots Product GmbH and Co KG
Priority to DE200610005840 priority Critical patent/DE102006005840B4/en
Priority to PCT/EP2007/001079 priority patent/WO2007090645A1/en
Publication of DE102006005840A1 publication Critical patent/DE102006005840A1/en
Application granted granted Critical
Publication of DE102006005840B4 publication Critical patent/DE102006005840B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren zum gemeinsamen Bearbeiten einer Datenmenge (V) durch mindestens zwei Nutzer (U1; U2) mittels von ihnen bedienbaren Verarbeitungseinheiten (PC1; PC2) und mittels Zugriff auf Nutzer-Knoten (EUN, UHN), die jeweils einem der Nutzer (U1, U2) zugeordnet sind und die über ein Netzwerksystem (20) miteinander verbindbar sind, wobei die zu bearbeitende Datenmenge (V) in mindestens einem der Nutzer-Knoten (EUN1, UHN1) gespeichert wird, mit folgenden Schritten:
– Herstellen von Datenverbindungen zwischen einer oder mehrerer der Verarbeitungseinheiten (PC1; PC2) und den jeweils zugeordneten Nutzer-Knoten (EUN1, UHN1; EUN2, UHN2);
– Vervielfältigen der Datenmenge (V) und Speichern der vervielfältigten Datenmenge (V, V' V') in mindestens einem derjenigen miteinander verbundenen Nutzer-Knoten (UHN1; UHN2, EUN2), in denen die Datenmenge (V) nicht gespeichert ist;
– Bearbeiten der Datenmenge (V) und/oder mindestens einer vervielfältigten Datenmenge (V, V' V') durch mindestens einen der Nutzer (U1) in zumindest einem der ihm zugeordneten Nutzer-Knoten (EUN1);
– Prüfen, ob eine...
Method for jointly processing a data volume (V) by at least two users (U1; U2) by means of processing units (PC1; PC2) which can be operated by them and by accessing user nodes (EUN, UHN), each one of the users (U1, U2 ) and which can be connected to one another via a network system (20), wherein the amount of data (V) to be processed is stored in at least one of the user nodes (EUN1, UHN1), comprising the following steps:
- establishing data connections between one or more of the processing units (PC1; PC2) and the respectively assigned user nodes (EUN1, UHN1, EUN2, UHN2);
- duplicating the amount of data (V) and storing the multiplied amount of data ( V , V ' V') in at least one of the interconnected user nodes (UHN1, UHN2, EUN2) in which the amount of data (V) is not stored;
- Editing the amount of data (V) and / or at least one duplicated amount of data ( V , V ' V') by at least one of the users (U1) in at least one of its associated user node (EUN1);
- Check if a ...

Figure 00000001
Figure 00000001

Description

Die Erfindung betrifft ein Verfahren, ein Netzwerksystem und ein Kommunikationssystem zum gemeinsamen Bearbeiten einer Datenmenge durch mehrere Nutzer mit Hilfe von mehreren Verarbeitungseinheiten.The The invention relates to a method, a network system and a communication system for the joint processing of a data volume by several users with the help of several processing units.

In „Practical experiences of designing a distributed collaborative system"; Okubo, T., Matsutsuka, T. Nomura, Y., Hara, H., Uehara, S., Fujitsu Labs. Ltd.; Enterprise Distributed Object Computing Conference, 2000. EDOC 2000. Proceedings. Fourth International wird ein Projektinformations-Management-System beschrieben, das Java-Anwendungen einsetzt und auf dem modellbasierten, dezentralen, gemeinschaftlichem Arbeitsunterstützungskonzept basiert.In "Practical experiences of designing a distributed collaborative system "; Okubo, T., Matsutsuka, T. Nomura, Y., Hara, H., Uehara, S., Fujitsu Labs. Ltd .; Enterprise Distributed Object Computing Conference, 2000. EDOC 2000. Proceedings. Fourth International becomes a project information management system describing Java applications and relying on the model-based, decentralized, collaborative work support concept.

In Netzwerksystemen ist es üblich, dass die Nutzer sich an örtlich voneinander getrennten Verarbeitungseinheiten, wie z.B. an Personalcomputern, befinden und an einem gemeinsamen Projekt arbeiten. Dabei müssen die zu dem jeweiligen Projekt gehörigen Datenmengen, wie z.B. Textdokumente, Grafiken, Tabellen oder Datenbankeinträge, gemeinsam bearbeitet werden können, also von jedem Nutzer ergänzt bzw. geändert werden können. Dies erfordert es, dass jeder der Nutzer Zugriff zu den jeweils aktuellsten Daten bzw. Datenmengen hat.In Network systems it is common that users turn to locally separate processing units, e.g. at personal computers and work on a joint project. The must belonging to the respective project Data sets, such as Text documents, graphics, tables or database entries, edited together can be So supplemented by every user or changed can be. This requires that each of the users have access to each one has the most recent data or data sets.

Die Speicherung der Daten bzw. Datenmengen kann zentral oder auch dezentral erfolgen. Insbesondere können die Daten dezentral verteilt auf Speichereinrichtungen in den Verarbeitungseinheiten gespeichert sein. Wenn aber die Daten bzw. Datenmengen auf mehrere dezentrale Speichereinrichtungen verteilt sind, dann muss sichergestellt werden, dass jede Verarbeitungseinheit per Datenverbindung auch Zugriff auf die entsprechenden Speichereinrichtungen der anderen Verarbeitungseinheiten hat und jeweils die aktuellsten Daten zur Verfügung stehen.The Storage of data or data volumes can be centralized or decentralized respectively. In particular, you can the data is distributed decentrally to storage devices in the processing units be saved. But if the data or data sets to several distributed storage devices are distributed, then it must be ensured be that each processing unit via data connection also access to the corresponding memory devices of the other processing units and the latest data is available.

Sind die Verarbeitungseinheiten örtlich sehr weit voneinander entfernt, so erfolgt die Datenverbindung zwischen den Verarbeitungseinheit und den entsprechenden Speichereinrichtungen üblicherweise über ein weit gespanntes Netzwerk, wie z.B. das Internet und dergleichen. Ein solches Netzwerk kann fehleranfällig sein, so dass der jederzeitige Zugriff auf die dezentralen Speichereinrichtungen durch die Verarbeitungseinheiten nicht mit zufrieden stellender Sicherheit gewährleistet werden kann. Zudem ist es bei einem Ausfall von Speichereinrichtungen keinem der Nutzer möglich, auf alle Daten, insbesondere auf alle aktuellen Daten, zugreifen zu können und somit an dem entsprechenden Projekt mitarbeiten zu können. Dieses Problem stellt sich auch bei einer zentralen Datenspeicherung.are the processing units locally very far apart, the data connection between the processing unit and the corresponding memory devices usually via a wide-spread network, such as the internet and the like. Such a network can be prone to error, leaving the person at any time Access to the decentralized storage devices by the processing units can not be guaranteed with satisfactory safety. moreover it is in case of failure of storage devices none of the users possible, to access all data, in particular all current data to be able to and thus to be able to work on the corresponding project. This Problem also arises with a central data storage.

Es ist daher Aufgabe der vorliegenden Erfindung ein Verfahren, ein Netzwerksystem und ein Kommunikationssystem zur Verfügung zu stellen, bei dem mehrere Nutzer gemeinsam Daten einer Datenmenge mit Hilfe von Verarbeitungseinheiten bearbeiten können, wobei der Zugang zu der gemeinsam bearbeiteten Datenmenge bzw. deren Daten durch jede Verarbeitungseinheit gegen einen Ausfall in dem Netzwerk sehr zuverlässig gewährleistet werden kann.It Therefore, an object of the present invention is a method Network system and a communication system available too in which multiple users share data in a dataset with the help of processing units, where access to the jointly processed data volume or its data by each processing unit against a failure in the network very reliable guaranteed can be.

Diese Aufgabe wird durch das Verfahren nach Anspruch 1 sowie durch das Netzwerksystem bzw. das Kommunikationssystem nach einem der nebengeordneten Ansprüche gelöst.These The object is achieved by the method according to claim 1 and by the Network system or the communication system for one of the siblings claims solved.

Gemäß einem ersten Aspekt der vorliegenden Erfindung ist ein Verfahren zum gemeinsamen Bearbeiten einer Datenmenge durch mehrere Nutzer mittels von ihnen bedienbaren Verarbeitungseinheiten vorgesehen, die auf ein Netzwerksystem zugreifen. Das Netzwerksystem umfasst mehrere den Verarbeitungseinheiten bzw. den Nutzern jeweils zugeordnete Nutzer-Knoten, die über das Netzwerksystem miteinander verbindbar sind, wobei die Datenmenge in mindestens einem der Nutzer-Knoten gespeichert wird. Das Verfahren umfasst folgende Schrittes

  • – Herstellen von Datenverbindungen zwischen einer oder mehrerer der Verarbeitungseinheiten und den jeweils zugeordneten Nutzer-Knoten;
  • – Vervielfältigen der Datenmenge und Speichern der vervielfältigten Datenmenge in mindestens einem derjenigen miteinander verbundenen Nutzer-Knoten, in denen die Datenmenge nicht gespeichert ist;
  • – Bearbeiten der Datenmenge und/oder mindestens einer vervielfältigten Datenmenge durch mindestens einen der Nutzer in zumindest einem der ihm zugeordneten Nutzer-Knoten;
  • – Prüfen, ob eine der Datenmengen bearbeitet worden ist;
  • – Synchronisieren der Nutzer-Knoten zum Datenabgleich einer bearbeiteten Datenmenge mit zumindest einer noch nicht bearbeiteten Datenmenge.
According to a first aspect of the present invention, a method for jointly processing a data volume by a plurality of users by means of processing units which can be operated by them and which access a network system is provided. The network system comprises a plurality of user nodes respectively assigned to the processing units or the users, which can be connected to one another via the network system, the amount of data being stored in at least one of the user nodes. The method comprises the following step
  • - establishing data connections between one or more of the processing units and the respectively assigned user nodes;
  • - duplicating the amount of data and storing the duplicated amount of data in at least one of the interconnected user nodes in which the amount of data is not stored;
  • - editing the amount of data and / or at least one duplicated amount of data by at least one of the users in at least one of its associated user nodes;
  • - Check if one of the datasets has been processed;
  • Synchronizing the user nodes to reconcile a processed data set with at least one unprocessed data set.

Das erfindungsgemäße Verfahren hat den Vorteil, dass es die Bearbeitung von gemeinsamen Daten ermöglicht, ohne dass die möglicherweise voneinander entfernt angeordneten Verarbeitungseinheiten permanent Zugriff zu einer gemeinsamen Speichereinrichtung haben müssen. Die gemeinsam zu bearbeitende Datenmenge wird dazu als Ganzes oder zumindest in Teilen mehrfach (zumindest zweifach) in den, den jeweiligen Verarbeitungseinheiten zugeordneten Nutzer-Knoten gespeichert, deren Daten so miteinander synchronisiert werden, dass jedem Nutzer an einer entsprechenden Verarbeitungseinheit die jeweils aktuellsten Daten zur Verfügung stehen. Fällt einer der Nutzer-Knoten aus, so können die Nutzer der übrigen Verarbeitungseinheiten die gemeinsamen Daten weiterhin bearbeiten.The method according to the invention has the advantage that it enables the processing of common data without the possibly remote processing units having to have permanent access to a common memory device. The amount of data to be jointly processed is stored as a whole or at least partially several times (at least twice) in the user nodes assigned to the respective processing units whose data are synchronized with one another so that the most up-to-date data is available to each user at a corresponding processing unit stand. If one of the user nodes fails, the users of the other processing units can continue to process the shared data.

Mit dem vorgeschlagenen Verfahren ist also ein besonders sicherer Datenabgleich möglich. Insbesondere das Synchronisieren der Nutzer-Knoten kann mindestens einen der folgenden Vorgänge umfasst:

  • – Aktualisieren der Datenmenge in dem ersten der Nutzer-Knoten durch die Daten in einem zweiten der Nutzer-Knoten;
  • – Aktualisieren der Datenmenge in dem zweiten Nutzer-Knoten durch die Daten des ersten Nutzer-Knotens;
  • – Hinzufügen von Daten des Nutzer-Knotens zur der Datenmenge des zweiten Nutzer-Knotens und das Hinzufügen von Daten des zweiten Nutzer-Knotens zu der Datenmenge des ersten Nutzer-Knotens.
With the proposed method, therefore, a particularly secure data synchronization is possible. In particular, synchronizing the user nodes may include at least one of the following operations:
  • Updating the amount of data in the first of the user nodes by the data in a second one of the user nodes;
  • Updating the amount of data in the second user node by the data of the first user node;
  • Adding data from the user node to the data set of the second user node and adding data from the second user node to the data set of the first user node.

Besondere Vorteile ergeben sich aus den Unteransprüchen, die bevorzugte Ausgestaltungen der Erfindung betreffen:
Demnach werden vorzugsweise jedem Nutzer mindestens zwei Nutzer-Knoten zugeordnet, von denen einer als End-Nutzer-Knoten eingerichtet wird, der ein auf der Verarbeitungseinheit des Nutzers laufendes Client-Programm umfasst, und von denen einer als Nutzer-Heimat-Knoten eingerichtet wird, der ein auf einer Netzwerkeinheit des Netzwerksystems laufendes Server-Programm umfasst, mit dem das Client-Programm zusammenarbeitet.
Particular advantages emerge from the subclaims which relate to preferred embodiments of the invention:
Accordingly, preferably each user is assigned at least two user nodes, one of which is set up as an end user node comprising a client program running on the user's processing unit, and one of which is set up as a user home node, comprising a server program running on a network unit of the network system with which the client program cooperates.

Außerdem umfasst das Synchronisieren vorzugsweise mindestens einen der folgenden Vorgänge:

  • – Aktualisieren der noch nicht bearbeiteten Datenmenge in einem der Nutzer-Knoten, insbesondere in einem ersten Nutzer-Heimat-Knoten, durch Datenabgleich mit der bearbeiteten Datenmenge in einem anderen der Nutzer-Knoten, insbesondere in einem ersten End-Nutzer-Knoten,
  • – Aktualisieren der noch nicht bearbeiteten oder aktualisierten Datenmenge in einem der Nutzer-Knoten, insbesondere in einem zweiten Nutzer-Heimat-Knoten, durch Datenabgleich mit der bearbeiteten und/oder aktualisierten Datenmenge in einem anderen der Nutzer-Knoten, insbesondere in einem ersten Nutzer-Heimat-Knoten,
  • – Aktualisieren der noch nicht bearbeiteten oder aktualisierten Datenmengen in einem der Nutzer-Knoten, insbesondere in einem zweiten End-Nutzer-Knoten, durch Datenabgleich mit der bearbeiteten und/oder aktualisierten Datenmenge in einem anderen der Nutzer-Knoten, insbesondere in einem zweiten Nutzer-Heimat-Knoten.
In addition, the synchronization preferably includes at least one of the following operations:
  • Updating the unprocessed data volume in one of the user nodes, in particular in a first user home node, by matching the processed data volume in another of the user nodes, in particular in a first end user node,
  • Updating the not yet processed or updated data volume in one of the user nodes, in particular in a second user home node, by comparing the processed and / or updated data volume in another of the user nodes, in particular in a first user node home node,
  • Updating the data sets which have not yet been processed or updated in one of the user nodes, in particular in a second end user node, by comparing the processed and / or updated data volume in another of the user nodes, in particular in a second user home node.

In diesem Zusammenhang ist es vorteilhaft wenn das Aktualisieren der Datenmenge in einem der Nutzer-Knoten mindestens einen der folgenden Vorgänge umfasst:

  • – Einfügen von Daten aus der bearbeiteten Datenmenge bzw. aus der aktualisierten Datenmenge in die noch nicht aktualisierte Datenmenge;
  • – Löschen von Daten in der noch nicht aktualisierten Datenmenge in Abhängigkeit von Daten-Löschungen, die in der bearbeiteten Datenmenge bzw. in der bereits aktualisierten Datenmenge erfolgt sind;
  • – Ersetzen von Daten in der noch nicht aktualisierten Datenmenge in Abhängigkeit von Daten-Ersetzungen, die in der bearbeiteten Datenmenge bzw. in der bereits aktualisierten Datenmenge erfolgt sind;
  • – Angabe von Zeigern, die auf die Bearbeitung bzw. die Aktualisierung von Daten hinweisen, und Zuordnen der Zeiger zu der noch nicht aktualisierten Datenmengen.
In this context, it is advantageous if the updating of the dataset in one of the user nodes comprises at least one of the following operations:
  • - insert data from the processed data set or from the updated data set into the not yet updated data set;
  • - deleting data in the not yet updated data set as a function of data deletions that have taken place in the processed data set or in the already updated data set;
  • - Replacing data in the not yet updated dataset depending on data substitutions made in the processed dataset or in the already updated dataset;
  • - Indication of pointers that indicate the processing or updating of data, and assignment of the pointers to the not yet updated data sets.

Außerdem wird vorzugsweise der Datenabgleich, insbesondere das Aktualisieren der Datenmengen, durchgeführt, indem die Datenmengen mit Kennungen, insbesondere mit Versions- Kennungen und/oder Zeigern, versehen werden, die die Aktualität der letzten Daten-Änderung angeben, insbesondere den letzen Daten-Stand, die letzte Daten-Einfügung, die letzte Daten-Löschung, die letzte Daten-Ersetzung und/oder die letzten Daten-Version angeben.In addition, will preferably the data synchronization, in particular the updating of Datasets, performed, by the data sets with identifiers, in particular with version identifiers and / or Pointers will be provided indicating the timeliness of the last data change Specify, in particular the last data state, the last data insertion, the last data deletion, specify the last data replacement and / or the last data version.

In diesem Zusammenhang werden vorzugsweise die Versions-Kennungen bzw. Zeiger in Form von Vektoren definiert und in einem Algorithmus (Versions-Tracker) verarbeitet. Die Kennungen umfassen vorzugsweise Speicheradressen Zeitstempel, Prüfsummen (Checksum) und/oder Hinweise auf Dokumenten-Eigenschaften, wie Autor, Editor-System, Verarbeitungsendgerät, Sprache usw.In In this context, preferably the version identifiers or pointers defined in the form of vectors and in an algorithm (version tracker) processed. The identifiers preferably include memory addresses Timestamps, checksums (Checksum) and / or references to document properties, such as author, Editor system, processing terminal, language, etc.

Bevorzugt wird die Datenverbindung zwischen den jeweiligen Nutzer-Knoten, insbesondere zwischen den Nutzer-Heimat-Knoten, als permanente oder zumindest als quasi-permanente Datenverbindung hergestellt.Prefers becomes the data connection between the respective user nodes, especially between the user home nodes, as permanent or at least produced as a quasi-permanent data connection.

Außerdem wird das Verbinden der Nutzer-Knoten vorzugsweise so durchgeführt, dass die Nutzer-Knoten ihre jeweiligen Adressen an eine Verbindungsteuereinheit übermitteln, sobald die jeweilige Verarbeitungseinheit mit dem entsprechenden Nutzer-Knoten verbunden ist, und wobei die Verbindungssteuereinheit den Verbindungsaufbau zwischen den Nutzer-Knoten steuert.In addition, will connecting the user nodes preferably performed so that the user nodes transmit their respective addresses to a connection control unit, once the respective processing unit with the appropriate user node is connected, and wherein the connection control unit the connection establishment controls between the user nodes.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Netzwerksystem zum gemeinsamen Bearbeiten einer Datenmenge vorgesehen. Das Netzwerksystem umfasst mehrere, miteinander verbindbare Nutzer-Knoten, wobei jeder der Nutzer-Knoten folgende Komponenten umfasst:

  • – eine Schnittstelle (Verbindungsschnittstelle) zum Verbinden mit einem anderen Nutzer-Knoten bzw. mit einer zugeordneten Verarbeitungseinheit;
  • – eine Speichereinheit zum Speichern zumindest der gemeinsam zu bearbeitenden Daten, also der ganzen Datenmenge oder Teilen daraus;
  • – eine Synchronisationseinheit zum Durchführen einer Synchronisation der miteinander verbundenen Nutzer-Knoten mittels Datenabgleich einer bearbeiteten Datenmenge mit zumindest einer noch nicht bearbeiteten Datenmenge, d.h. insbesondere mittels Datenabgleich und Aktualisierung der Daten in den Nutzer-Knoten.
In accordance with another aspect of the present invention, a network system is provided for concurrently processing an amount of data. The network system includes a plurality of interconnectable user nodes, each of which User node includes the following components:
  • - An interface (connection interface) for connecting to another user node or with an associated processing unit;
  • A memory unit for storing at least the data to be processed together, that is to say the entire data volume or parts thereof;
  • - A synchronization unit for performing a synchronization of the interconnected user node by means of data synchronization of a processed amount of data with at least one unprocessed amount of data, ie in particular by means of data synchronization and updating the data in the user node.

Weiterhin kann ein Verbindungsdetektor vorgesehen sein, um festzustellen, ob eine Verarbeitungseinheit über eine entsprechende Datenverbindung mit dem Nutzer-Knoten verbunden ist, wobei die Synchronisationseinheit gestaltet ist, eine Synchronisation der Daten in den Nutzer-Knoten, deren Verbindungsdetektoren eine Verbindung zu der entsprechenden Verarbeitungseinheit festgestellt haben, mit den Daten anderer Nutzer-Knoten durchzuführen.Farther a connection detector may be provided to determine whether a processing unit over a corresponding data connection is connected to the user node is, wherein the synchronization unit is designed, a synchronization of the data in the user nodes whose connection detectors are one Established connection to the corresponding processing unit have to do with the data of other user nodes.

Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung ist eine Verbindungssteuereinheit vorgesehen, die mit dem Nutzer-Knoten des Netzwerksystems verbindbar ist und die Nutzer-Knoten so ansteuert, dass sich die Nutzer-Knoten über das miteinander verbinden.According to one another embodiment the present invention provides a connection control unit which is connectable to the user node of the network system and the user node is controlled so that the user nodes on the connect with each other.

Weiterhin können die Synchronisationseinheiten der Nutzer-Knoten so gestaltet sein, dass das Synchronisieren mindestens einem der folgenden Vorgänge ausgeführt wird: Aktualisieren der Datenmenge in dem ersten der Nutzer-Knoten durch die Daten eines zweiten der Nutzer-Knoten; Aktualisieren der Datenmenge in dem zweiten Nutzer-Knoten durch die Daten des ersten Nutzer-Knotens; Hinzufügen von Daten des ersten Nutzer-Knotens zu der Datenmenge des zweiten Nutzer-Knotens und Hinzufügen von Daten des zweiten Nutzer-Knotens zu der Datenmenge des ersten Nutzer-Knotens.Farther can the synchronization units of the user nodes are designed to be synchronized at least one of the following operations: Refresh the Amount of data in the first of the user nodes by the data of a second the user node; Updating the dataset in the second user node the data of the first user node; Add data from the first user node to the dataset of the second user node and adding Data of the second user node to the data amount of the first user node.

Außerdem umfasst das Netzwerksystem vorzugsweise ein gesichertes Kern-Netz mit einer Verbindungssteuereinheit, die jeweils zwei der Nutzer-Heimat-Knoten ansteuert, um diese Nutzer-Heimat-Knoten direkt nach dem Peer-To-Peer-Prinzip miteinander zu verbinden.It also includes the network system preferably has a secured core network with a connection control unit, the two each of the user home nodes drives to these user home nodes directly according to the peer-to-peer principle connect to.

Die Synchronisationseinheiten der Nutzer-Knoten sind vorzugsweise so gestaltet, dass sie das Synchronisieren mindestens gemäß einem der folgenden Vorgänge auszuführen:

  • – Einfügen von Daten aus der bearbeiteten Datenmenge bzw. aus der aktualisierten Datenmenge in die noch nicht aktualisierte Datenmenge;
  • – Löschen von Daten in der noch nicht aktualisierten Datenmenge in Abhängigkeit von Daten-Löschungen, die in der bearbeiteten Datenmenge bzw. in der bereits aktualisierten Datenmenge erfolgt sind;
  • – Ersetzen von Daten in der noch nicht aktualisierten Datenmenge in Abhängigkeit von Daten-Ersetzungen, die in der bearbeiteten Datenmenge bzw. in der bereits aktualisierten Datenmenge erfolgt sind;
  • – Angabe von Zeigern, die auf die Bearbeitung bzw. die Aktualisierung von Daten hinweisen, und Zuordnen der Zeiger zu der noch nicht aktualisierten Datenmengen.
The synchronization units of the user nodes are preferably configured to perform the synchronization according to at least one of the following operations:
  • - insert data from the processed data set or from the updated data set into the not yet updated data set;
  • - deleting data in the not yet updated data set as a function of data deletions that have taken place in the processed data set or in the already updated data set;
  • - Replacing data in the not yet updated dataset depending on data substitutions made in the processed dataset or in the already updated dataset;
  • - Indication of pointers that indicate the processing or updating of data, and assignment of the pointers to the not yet updated data sets.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Kommunikationssystem mit einem solchen Netzwerksystem und mit Verarbeitungseinheiten, die jeweils mit einem der Nutzer-Knoten des Netzwerksystems verbindbar sind, vorgesehen. In den Verarbeitungseinheiten, die vorzugsweise Personal-Computer oder mobile Datenendgeräte bzw. Kommunikationsendgeräte sind, sind jeweils einer der End-Nutzer-Knoten eingerichtet, die wiederum jeweils einem der Nutzer-Heimat-Knoten des Netzwerksystems zugeordnet und mit diesem verbindbar sind. Weiterhin können die Verarbeitungseinheiten so gestaltet sein, dass die Datenmenge in der Speichereinheit des verbundenen Nutzer-Knotens als Dateien in der Verarbeitungseinheit bereitgestellt ist.According to one Another aspect of the present invention is a communication system with such a network system and with processing units, each connectable to one of the user nodes of the network system are provided. In the processing units, preferably Personal computer or mobile data terminals or communication terminals are each one of the end user nodes in turn, each one of the user home nodes assigned to the network system and can be connected to this. Farther can the processing units should be designed so that the amount of data in the storage unit of the connected user node as files in the processing unit is provided.

Die Erfindung die sich daraus ergebenden Vorteile werden nachfolgend anhand von bevorzugten Ausführungsbeispielen und der beigefügten Zeichnungen näher erläutert:The Invention, the resulting advantages will be hereinafter based on preferred embodiments and the accompanying drawings explained in more detail:

1 zeigt schematisch den Aufbau eines erfindungsgemäßen Kommunikationssystems. 1 shows schematically the structure of a communication system according to the invention.

2 zeigt den Aufbau des Kommunikationssystems in näheren Details. 2 shows the structure of the communication system in more detail.

In der 1 ist ein Ausführungsbeispiel für ein erfindungsgemäßes Kommunikationssystem 10 dargestellt, in welchem miteinander kommunizierende End-Nutzer (im Weiteren auch Benutzer oder kurz Nutzer genannt), über ein Netzwerksystem Zugriff auf Datenmengen bzw. Daten haben, die gemeinsam bearbeit werden können. Die 1 zeigt im Wesentlichen die logische Struktur des Kommunikationssystems, auf die hier zunächst eingegangen wird. Anhand der 2, die auch die physikalische Struktur des Systems wiedergibt, wird dann auch auf die physikalischen System-Komponenten und deren Funktionen eingegangen.In the 1 is an embodiment of a communication system according to the invention 10 represented, in which inter-communicating end-users (hereinafter also referred to as users or short users), have access to data sets or data via a network system, which can be edited together. The 1 shows essentially the logical structure of the communication system, which will be discussed here first. Based on 2 , which also reflects the physical structure of the system, will then also discuss the physical system components and their functions.

Die 1 zeigt beispielhaft für mehrere Nutzer zwei miteinander kommunizierende Nutzer U1 und U2. Jedem Nutzer ist ein End-Nutzer-Knoten (sog. EndUserNode) EUN1 bzw. EUN2 zugewiesen, der an ein bereit gestelltes Netzwerksystem 20 angeschlossen wird, das vorzugsweise als ein Internetgestütztes Overlay-Network ausgebildet ist. Die End-Nutzer-Knoten EUN1 und EUN2 sind logische Netzwerk-Instanzen, die nutzerseitig in den Verarbeitungseinheiten bzw. Endgeräten der Nutzer realisiert sind. Im gezeigten Beispiel sind dies Personal-Computer PC1 bzw. PC2, in denen Client-Programme laufen, die die Funktion für den jeweiligen End-Nutzer-Knoten EUN1 bzw. EUN2 ausführen.The 1 shows exemplary for multiple users two communicating users U1 and U2. Each user is assigned an end user node (so-called EndUserNode) EUN1 or EUN2, which is connected to a provided network system 20 is connected, which is preferably designed as an Internet-based overlay network. The end user nodes EUN1 and EUN2 are logical network entities that are implemented on the user side in the processing units or terminals of the users. In the example shown, these are personal computers PC1 and PC2 in which run client programs that perform the function for the respective end-user node EUN1 or EUN2.

Die logische Struktur des gezeigten Netzwerksystems 20 selbst umfasst mehrere netzseitige Knoten bzw. Netzwerkeinheiten 21, insbesondere Nutzer-Heimat-Knoten UHN, sog. UserHomeNodes, die wiederum zu jeweils einem der End-Nutzer-Knoten EUN korrespondieren. Die Nutzer-Heimat-Knoten UHN1 und UHN2 sind also ebenfalls logische Netzwerk-Instanzen, die aber netzseitig in dortigen Komponenten, insbesondere Servern, realisiert sind. In dem hier gezeigten Beispiel laufen dort Server-Programme, die die Funktion für den jeweiligen Heimat-Nutzer-Knoten UHN1 bzw. UHN2 ausführen.The logical structure of the network system shown 20 itself includes several network-side nodes or network units 21 , in particular user home nodes UHN, so-called UserHomeNodes, which in turn correspond to one of the end user nodes EUN. The user home nodes UHN1 and UHN2 are therefore also logical network instances, but these are implemented on the network side in local components, in particular servers. In the example shown here, there run server programs that perform the function for the respective home user node UHN1 or UHN2.

Die Netzwerkeinheiten 21, insbesondere die verbundenen Server, bilden ein gesichertes Kern-Netz TCS, eines sog. TrustedSystemCore, so dass für die Nutzer U1 und U2 über ihre Knoten EUN1 und UHN1 bzw. UHN2 und EUN2 eine gesicherte und direkte Kommunikation aufgebaut werden kann.The network units 21 , in particular the connected servers, form a secured core network TCS, a so-called TrustedSystemCore, so that secure and direct communication can be established for the users U1 and U2 via their nodes EUN1 and UHN1 or UHN2 and EUN2.

Bevor die Figuren-Beschreibung weiter fortgeführt wird, sollen die verwendeten Begriffe und Bezeichnungen näher erläutert werden:
Unter einer gesicherten Kommunikation wird hier insbesondere eine durch Verschlüsselung gegen Abhören und Missbrauch gesicherte Kommunikation verstanden. Unter direkte Kommunikation wird hier insbesondere eine Kommunikation über eine Punkt-zu-Punkt-Verbindung (PeerToPeer) zwischen zwei Knoten, insbesondere End-Nutzer-Knoten, verstanden.
Before the figure description is continued, the terms and designations used are explained in more detail:
Under a secure communication is understood in particular a secured by encryption against eavesdropping and misuse communication. Direct communication here means, in particular, communication via a point-to-point connection (PeerToPeer) between two nodes, in particular end-user nodes.

Dabei wird mit End-Nutzer-Knoten hier der jeweilige nutzerseitiger Knoten bezeichnet, der als logische Netzwerk-Instanz einem Endnutzer zugewiesen ist, damit dieser auf das Netzwerk zugreifen kann, um Netzwerkdienste zu nutzen. Wie zuvor gesagt, ist der jeder End-Nutzer-Knoten im wesentlichen durch eine auf einem Endgerät des Nutzers installierte Anwendungs-Software, insbesondere eine Client-Software, realisiert. Der Nutzer kann dann per Client-Software die vom Netzwerk, insbesondere von den dortigen Servern, bereit gestellten Netzwerkdienste nutzen. Hier sind vor allem Kommunikationsdienste im weitesten Sinne gemeint, also jede Art von Informations- bzw. Datenaustausch zwischen zwei oder mehreren End-Nutzern, die im Weiteren auch Kommunikationspartner genannt werden. Als Beispiele für solche Kommunikationsdienste sind insbesondere Telefonie, Messaging, File-Sharing bzw. Window-Sharing zu nennen.there with End User Node here is the respective user-side node which is assigned to an end user as a logical network instance is to allow it to access the network to network services to use. As stated previously, each end-user node is essentially one by one on a terminal application software installed by the user, in particular client software, realized. The user can then use client software from the network, especially from the local servers, provided network services use. Here are above all communication services in the broadest sense meant, so any kind of information or data exchange between two or more end users, who are also communication partners to be named. As examples of such communication services are in particular telephony, messaging, To name file sharing or window sharing.

Mit Heimat-Knoten wird hier der netzwerkseitige Knoten bezeichnet, der als logische Netzwerk-Instanz mit einem End-Nutzer-Knoten korrespondiert, und somit auch dem jeweiligen Endnutzer zugewiesen ist. Jeder Heimat-Knoten ist im Wesentlichen durch eine im Netzwerk installierte Software, insbesondere auf einem Server installierte Server-Software, realisiert. Der Heimat-Nutzer-Knoten bzw. der Server steht also mit dem End-Nutzer-Knoten bzw. dem Client des Nutzers in Verbindung.With Home node is here called the network-side node, the as a logical network instance corresponds to an end-user node, and thus assigned to the respective end user. Every home node is essentially by a software installed in the network, in particular server software installed on a server. The home user node or the server is thus with the end user node or the client the user's connection.

In dem anhand der 1 gezeigten Beispiel korrespondieren also die Knoten EUN1 und UHN1 miteinander, die dem ersten Nutzer U1 zugewiesen sind. Ebenso korrespondieren die Knoten EUN2 und UHN2 miteinander, welche dem zweiten Nutzer U2 zugewiesen sind. Jeder Nutzer hat also mindestens einen „End-Nutzer-Knoten" und einen zugehörigen „Nutzer-Heimat-Knoten". Mit der Bezeichnung „Nutzer-Heimat-Knoten" soll zum Ausdruck gebracht werden, dass es sich um denjenigen Knoten handelt, der netzseitig für den jeweiligen Nutzer zuständig ist. In diesen oder über diese „Nutzer-Heimat-Knoten" werden insbesondere die Nutzerdaten des jeweiligen Nutzers verwaltet. Somit verwaltet der UHN1 die Daten des ersten Nutzers und der UHN2 die Daten des zweiten Nutzers.In the basis of the 1 Thus, the nodes EUN1 and UHN1 correspond to each other, which are assigned to the first user U1. Likewise, the nodes EUN2 and UHN2 correspond to each other, which are assigned to the second user U2. Each user thus has at least one end user node and one associated user home node. The term "user home node" is intended to express that it is the node that is responsible for the respective user on the network side, in which or via these "user home nodes" in particular the user data of the user managed by the respective user. Thus, the UHN1 manages the data of the first user and the UHN2 the data of the second user.

Für das eigentliche Kern-Netz TSC bilden die UHN und weitere Netzknoten 21 (wie z.B. Relais-Knoten oder redundante Knoten) die wesentlichen Netzwerkeinheiten, über welche direkte und sichere Kommunikationsverbindungen vorzugsweise zwischen jeweils zwei Nutzern bzw. deren End-Nutzer-Knoten EUN aufgebaut werden. In der 1 sind beispielhaft zwei EUN, nämlich der erste End-Nutzer-Knoten EUN1 und der zweite End-Nutzer-Knoten EUN2, dargestellt, die netzwerkseitig mit dem entsprechenden ersten Nutzer-Heimat-Knoten UHN1 bzw. mit dem zweiten Nutzer-Heimat-Knoten UHN2 in Verbindung stehen. Bei Ausfall eines Heimat-Knotens kann seine Funktion von einem anderen Netzknoten übernommen werden, was später noch eingehend beschrieben wird.For the actual core network TSC form the UHN and other network nodes 21 (Such as relay nodes or redundant nodes), the essential network units, via which direct and secure communication connections are preferably established between each two users or their end-user node EUN. In the 1 are exemplified two EUN, namely the first end user node EUN1 and the second end user node EUN2, the network side with the corresponding first user home node UHN1 and with the second user home node UHN2 in Connection stand. If a home node fails, its function can be taken over by another network node, which will be described in detail later.

Bezüglich der Netzwerkstruktur sind alle Knoten einschließlich der EUN wie auch der UHN als logische Netzwerkeinheiten zu sehen, die durch Implementierung von entsprechender Software auf geeigneten Hardware-Einheiten, insbesondere auf Nutzer-Endgeräten bzw. Servern, realisiert sind.Regarding the Network structure are all nodes including the EUN as well as the UHN can be seen as a logical network units through implementation of appropriate software on suitable hardware units, in particular on user terminals or servers, are realized.

Die Nutzer-Endgeräte sind in dem hier in 1 gezeigten Beispiel zwei Personal-Computer PC1 bzw. PC2. Es können aber auch jede andere Art von Endgerät eingesetzt werden, wie etwa Laptops oder Mobilkommunikationsgeräte, die die entsprechende Software verarbeiten; sie werden daher auch Verarbeitungseinheiten genannt. Im Unterschied dazu werden alle Einheiten, die zu dem eigentlichen Netzwerksystem 20 gehören, also die Server und andere im Kern-Netz Netzwerk TSC integrierte Einheiten, als Netzwerkeinheiten bezeichnet.The user terminals are in the here in 1 example shown two personal computer PC1 or PC2. But it can also be used any other type of terminal, such as laptops or mobile communication devices that process the appropriate software; They are therefore also called processing units. In contrast, all units that are the actual network system 20 include, ie the servers and other units integrated in the core network TSC, called network units.

Zu den End-Nutzer-Knoten EUN1 und EUN2 ist zu sagen, dass jedem von ihnen mindestens eine der Verarbeitungseinheiten PC1 bzw. PC2 zugeordnet ist, wobei die Verarbeitungseinheit ein herkömmliches Endgerät sein kann, wie beispielsweise ein Personalcomputer, ein Mobiltelefon, ein PDA (Personal-Digital-Assistent) oder ein sonstiges Endgerät sein kann, das eine (nicht gezeigte) Eingabe- und Ausgabeeinheit aufweist, die es einem Nutzer ermöglicht, Daten einzugeben und zu modifizieren. Hier wird insbesondere eine Nutzeroberfläche (Desktop) eingesetzt, auf dem der Nutzer per Maussteuerung (Klicks sowie Drag&Drop mittels einer PC-Maus) die Kommunikation mit dem Partner steuern kann und z.B. per Drag&Drop eine Übertragung von Dateien mit Texten, Bildern und dgl. Veranlassen kann.To the end user node EUN1 and EUN2 is to say that each of associated with them at least one of the processing units PC1 or PC2 is, wherein the processing unit may be a conventional terminal, such as a personal computer, a mobile phone, a PDA (Personal digital assistant) or another terminal can have an input and output unit (not shown), which allows a user Enter and modify data. Here is a particular user interface (Desktop), on which the user is controlled by mouse (clicks as well as drag and drop using a PC mouse) can control the communication with the partner and e.g. Drag & Drop a transfer of Can cause files with texts, pictures and the like.

Bei der vorliegenden Erfindung geht es insbesondere darum, den Nutzern die Möglichkeit zu verschaffen, gemeinsam auf Daten einer Datenmenge zugreifen zu können und diese bearbeiten zu können. Das sind beispielsweise Textdaten einer Dokumenten-Datei, wie etwa eine WORD*-Datei, oder Bilddaten in Form eines Fotos oder einer Grafik, wie etwa eine JPG-Datei bzw. eine GIF-Datei, oder auch Nutzdaten in Form einer Tabelle, wie etwa eine EXCEL*-Datei, oder auch eine Datenbank-Datei, wie etwa eine ACCESS*-Datei (*Die Bezeichnungen WORD, EXCEL und ACCESS sind eingetragene Marken der Firma Microsoft Inc., USA). Bei einem gemeinsamen Zugriff auf eine Datenmenge bzw. Datei wird durch die erfindungsgemäße Lösung sichergestellt, dass die Daten-Änderungen, welche die Nutzer oder auch das System selbst durchführen, möglichst konfliktfrei abgeglichen werden. Bei eventuell auftretenden Konflikten erfolgt eine vom System gesteuerte automatische Konfliktlösung. Oder das System macht zumindest einen Vorschlag für die Nutzer, die den Konflikt dann durch manuelle Eingabe lösen können.at The present invention is particularly concerned with the users the possibility to collectively access data of a dataset too can and edit them. These are, for example, text data of a document file, such as a WORD * file, or image data in the form of a photo or a Graphic, such as a JPG file or a GIF file, or user data in the form of a table, such as an EXCEL * file, or even a Database file, such as an ACCESS * file (* the words WORD, EXCEL and ACCESS are registered trademarks of Microsoft Inc., USA). When there is a shared access to a dataset or file ensured by the solution according to the invention, that the data changes, which the users or the system itself perform, as free of conflict as possible be matched. If any conflicts occur a system-controlled automatic conflict resolution. Or The system makes at least a suggestion for the users who have the conflict then solve by manual input can.

In der 1 ist beispielhaft eine Datenmenge in Form eines Dokumentes V dargestellt, auf das die Nutzer U1 und U2 über ihr jeweiliges Endgerät PC1 bzw. PC2 Zugriff haben. Das Dokument bzw. der Datei-Inhalt (Volume) wird vervielfältig, so dass es in mehrfachen Kopien bzw. Versionen V und V und V' und V' vorhanden ist, die jeweils auf einem der Knoten EUN1, UHN1, UHN2 bzw. EUN2 gespeichert sind. Diese Versionen V, V, V', V' bzw. Vervielfältigungen können sich aufgrund der Daten-Änderungen voneinander unterscheiden. Jedoch sorgt die Erfindung für eine stetige sowie zeitnahe Synchronisation und einen möglichst konfliktfreien Datenabgleich, um die Datei-Inhalte Versionen V bis V' auf denselben Daten-Stand zu bringen, in dem auch die letzten Änderungen berücksichtigt sind.In the 1 By way of example, an amount of data in the form of a document V is shown, to which the users U1 and U2 have access via their respective terminal PC1 or PC2. The document or file content (volume) is duplicated so that it exists in multiple copies or versions V and V and V ' and V', each stored on one of the nodes EUN1, UHN1, UHN2 and EUN2, respectively are. These versions V, V , V ' , V' or duplications may differ due to the data changes. However, the invention provides a steady and timely synchronization and conflict-free as possible data reconciliation to bring the file contents versions V to V 'on the same data state, in which the last changes are taken into account.

Zu jeder Datei gibt es also Vervielfältigungen bzw. Versionen. Die Daten sind also mehrfach gespeichert, vorzugsweise sowohl in den End-Nutzer-Knoten EUN wie auch in den Heimat-Nutzer-Knoten UHN gespeichert. Wie oben gesagt, können die Datei-Inhalte in unterschiedlichen Versionen V bis V' bzw. Varianten vorliegen. Bei zwei Nutzern kann es also in den Knoten EUN1 und UHN1 sowie EUN2 und UHN2 vier unterschiedliche Versionen V, V, V', V' geben. Ist der Datenabgleich vollzogen, so sind die Versionen identisch, d.h. es liegen dann vier Kopien bzw. Klone mit demselben Daten-Inhalt vor. In den Knoten können jeweils alle Daten eines Dokuments einschließlich der bereits vorgenommen Änderungen gespeichert sein, so dass auch historische Daten vorliegen, um bestimmte Änderungen wieder rückgängig machen zu können. Es können aber auch weniger Daten gespeichert sein, z.B. nur die geänderten Daten bzw. Datenänderungen, wobei die Gesamtdaten der Datei zentral im Netzwerksystem 20 oder nur auf einem der Knoten gespeichert sind. Es gäbe dann nur eine vollständige Datei, die vorzugsweise am Speicherort eines Nutzers, d.h. in einem seiner Knoten EUN oder UHN gespeichert ist. Die übrigen Knoten hätten dann nur Änderungsdaten oder auch nur Zeiger, die auf den eigentlichen Speicherort zeigten. Dadurch wird das benötigte Speichervolumen klein gehalten. Auch andere Aufteilung der Daten-Speicherung ist möglich, insbesondere die Aufteilung in Teildatenmengen, die auf die Knoten verteilt werden und nur im Bedarfsfall wieder zu der gesamten Datenmenge (Gesamt-Datei bzw. Gesamt-Dokument) zusammen gefügt werden.For each file, there are duplications or versions. The data are thus stored multiple times, preferably stored both in the end user node EUN and in the home user node UHN. As stated above, the file contents may be in different versions V to V 'or variants. For two users, there may be four different versions V, V , V ' , V' in the nodes EUN1 and UHN1 as well as EUN2 and UHN2. If the data comparison is completed, the versions are identical, ie there are then four copies or clones with the same data content. In the nodes, all the data of a document including the changes already made can be stored in each case, so that historical data is present in order to be able to undo certain changes. However, less data may also be stored, eg only the changed data or data changes, the overall data of the file being centrally located in the network system 20 or only stored on one of the nodes. There would then only be a complete file, which is preferably stored in the location of a user, ie in one of its nodes EUN or UHN. The remaining nodes would have only modification data or just pointers pointing to the actual location. As a result, the required storage volume is kept small. Also, other division of data storage is possible, in particular the division into partial datasets, which are distributed to the nodes and only in case of need to put together again to the total amount of data (total file or total document).

In allen genannten Fällen umfasst jeder Knoten zumindest eine Mindest-Datenmenge, die für die eigentliche Synchronisation bzw. den Datenabgleich benötigt werden.In all mentioned cases Each node includes at least a minimum amount of data necessary for the actual Synchronization or data synchronization are needed.

Diese Mindest-Datenmenge wird hier auch als Synchronisationsvolumen V, V, V', V' bezeichnet. Damit sind im wesentlichen Angaben über die letzte oder eine Anzahl von letzten Datenbearbeitungen gemeint, die insbesondere in Form von Änderungsvermerken und Löschungsvermerken, den Datenstand in den Knoten und seine Änderungen dokumentieren bzw. anzeigen. Die Angaben zeigen auch an, wenn Daten zur Zeit nur auf einem Knoten gespeichert sind, aber noch nicht mit den anderen Knoten abgeglichen bzw. synchronisiert worden sind. Diese Vorgehensweise hat besondere Vorteile für Änderungen, welche Nutzer an Dokumenten vornehmen während ihr End-Nutzer-Knoten nicht mit dem Netzwerk verbunden ist, d.h. wenn diese Nutzer „offline" sind.This minimum amount of data is also referred to here as the synchronization volume V, V , V ' , V'. This essentially refers to information about the last or a number of recent data processes, which document or display the data status in the nodes and their changes, in particular in the form of amendment comments and cancellation comments. The indications also indicate when data is currently stored on only one node but has not yet been synchronized or synchronized with the other nodes. This procedure has special advantages for Changes that users make to documents while their end-user node is not connected to the network, that is, when those users are "offline."

Durch folgendes Beispiel soll anhand der 1 der Datenabgleich verdeutlicht werden:
Der erste Nutzer U1 erstellt zunächst ein neues Dokument in Form eines Briefes oder er bearbeitet ein bereits vorliegendes Dokument. Die entsprechende Datei ist lokal auf seinem Endgerät PC1 gespeichert, d.h. der ersten End-Benutzer-Knoten EUN1 verfügt über eine Datei in einer ersten Version V mit dem entsprechenden Dokumenten-Inhalt. Sofern der benutzerseitige Knoten EUN1 bereits mit dem netzseitigen Knoten UHN1 verbunden ist, erfolgt sofort ein Datenabgleich, so dass in beiden Knoten EUN1 und UHN1 derselbe Daten-Inhalt gespeichert ist. Somit liegt auf EUN1 die Original-Version V und auf UHN1 eine identische Kopie bzw. eine geklonte Version V.
The following example is based on the 1 the data comparison will be clarified:
The first user U1 first creates a new document in the form of a letter or processes an existing document. The corresponding file is stored locally on its terminal PC1, ie the first end user node EUN1 has a file in a first version V with the corresponding document content. If the user-side node EUN1 is already connected to the network-side node UHN1, a data synchronization takes place immediately, so that the same data content is stored in both nodes EUN1 and UHN1. Thus on EUN1 the original version V and on UHN1 an identical copy and a cloned version V respectively.

Damit auch der zweite Nutzer U2 über diese aktuelle Version verfügen kann, erfolgt im Netzwerksystem 20 bei Bedarf oder auch quasi-permanent ein Datenabgleich mit dem zweiten Nutzer-Heimat-Knoten UHN2 des zweiten Nutzers U2 sowie mit seinem End-Nutzer-Knoten EUN2, sofern der zweite Nutzer online ist. Auf dem UHN2 liegt dann eine Version V' und auf dem EUN2 eine Version V', die beide mit der Original-Version V identisch sind. Der zweite Nutzer bekommt also auf seinem Endgerät PC2 eine Kopie bzw. einen Klon V', der der Original-Version V entspricht. Wenn der zweite Nutzer Daten-Änderungen vornimmt, so erfolgt der Datenabgleich in umgekehrter Reihenfolge.In order for the second user U2 to have this latest version as well, it is done in the network system 20 if necessary or quasi-permanently a data comparison with the second user home node UHN2 of the second user U2 and its end user node EUN2, if the second user is online. On the UHN2 there is a version V ' and on the EUN2 a version V', which are both identical to the original version V. The second user thus gets on his terminal PC2 a copy or a clone V ', which corresponds to the original version V. When the second user makes data changes, the reconciliation is done in reverse order.

Sofern die Nutzer U1 und U2 online sind und alle Knoten mit dem Netzwerk verbunden sind bzw. nicht ausfallen, treten im Regelfall keine besonderen Konflikte auf. Es kann lediglich der besondere Fall eintreten, dass beide Nutzer gleichzeitig Daten-Änderungen vornehmen, so dass entschieden werden muss, welche Daten-Version als aktuelle Version gelten soll. Dieser Konflikt tritt auch auf, wenn zumindest einer der Nutzer Daten-Änderungen vornimmt während er offline ist bzw. wenn einzelne Knoten ausfallen sollten und ein spontaner Datenabgleich nicht möglich ist.Provided the users U1 and U2 are online and all nodes are connected to the network are connected or fail, usually occur no special conflicts on. It can only happen the special case that both Users simultaneously data changes make, so that must be decided, which data version should be considered the current version. This conflict also occurs if at least one of the users makes data changes while he is is offline or if individual nodes should fail and a spontaneous data reconciliation not possible is.

Zur Lösung solcher oder ähnliche Konfliktfälle werden bei der Synchronisation bzw. beim Datenabgleich vorzugsweise Versions-Kennungen bzw. Zeiger in Form von Vektoren definiert und in einem Algorithmus verarbeitet.to solution such or similar conflicts are preferred during synchronization or during data synchronization Defined version identifiers or pointers in the form of vectors and processed in an algorithm.

Im Weiteren wird nun auch auf die 2 Bezug genommen, die im Detail den Aufbau des Netzwerks mit den darin implementierten Heimat-Nutzer-Knoten UHN sowie den Aufbau der Verarbeitungseinheiten mit den darin implementierten Benutzer-End-Knoten EUN zeigt:
Die Verarbeitungseinheiten PC1, PC2 für die EUN sowie die Server für die UHN weisen jeweils eine Schnittstelle IF auf, über die eine Datenverbindung von dem jeweiligen End-Nutzer-Knoten EUN1 bzw. EUN2 zu dem zugeordneten Nutzer-Heimat-Knoten UHN1 bzw. UHN2 hergestellt werden kann. Die Verbindung erfolgt über eine herkömmliche Datenverbindung, die z.B. eine LAN-Verbindung, eine Telefon-Verbindung, eine herkömmliche Internetanbindung, eine Leitungsverbindung und dgl. sein kann. Allerdings wird die Verbindung durch eine Verschlüsselung abgesichert.
In addition, now on the 2 Reference is made, which shows in detail the structure of the network with the home user nodes UHN implemented therein and the structure of the processing units with the user end nodes EUN implemented therein:
The processing units PC1, PC2 for the EUN and the servers for the UHN each have an interface IF, via which a data connection is established from the respective end user node EUN1 or EUN2 to the assigned user home node UHN1 or UHN2 can be. The connection is via a conventional data connection, which may be, for example, a LAN connection, a telephone connection, a conventional Internet connection, a line connection and the like. However, the connection is secured by encryption.

Häufig sind die Verarbeitungseinheiten PC1, PC2 nur zeitweise, z.B. auf Wunsch des jeweiligen Nutzers U1 bzw. U2 mit dem entsprechenden Heimat-Knoten UHN1, UHN2 verbunden. Es kann jedoch auch vorgesehen sein, dass die Verarbeitungseinheiten PC1, PC2 mit dem entsprechenden Heimat-Knoten UHN1, UHN2 dauerhaft, zu vorgegebenen Zeiten oder abhängig von einer sonstigen Regel verbunden werden.Frequently the processing units PC1, PC2 only temporarily, e.g. by request of the respective user U1 or U2 with the corresponding home node UHN1, UHN2 connected. However, it can also be provided that the processing units PC1, PC2 with the corresponding home node UHN1, UHN2 permanently, at given times or depending on be connected to another rule.

Das Netzwerksystem 20 kann als ein paket-orientiertes Netzwerksystem 20 ausgebildet sein, bei dem Daten von einer Netzwerkeinheit 21 zu einem nächsten abhängig von einer Adresse übertragen werden können. Die Netzwerkeinheiten bzw. Netzknoten, insbesondere die Heimat-Knoten UHN1 und UHN2, zwischen denen die Daten ausgetauscht werden, werden mit Hilfe einer Verbindungssteuereinheit 22 identifiziert. Diese kann Teil eines Dienste-Knotens SN (ServiceNode) sein, der für den Verbindungsaufbau und für weitere Netzfunktionen Dienste bereitgestellt ist.The network system 20 can be considered a packet-oriented network system 20 be formed, in which data from a network unit 21 can be transmitted to a next depending on an address. The network units or network nodes, in particular the home nodes UHN1 and UHN2, between which the data is exchanged, are determined by means of a connection control unit 22 identified. This can be part of a service node SN (ServiceNode), which is provided for the connection establishment and for further network functions services.

Jeder der Heimat-Knoten UHN1, UHN2 umfasst einen Verbindungsdetektor 211, eine Speichereinheit 212, eine Datenschnittstelle 213 und eine Synchronisationseinheit SYNC. Die Speichereinheiten 212 der Heimat-Knoten UHN1, UHN2 dienen zum Speichern gemeinsamer Daten, die in allen Speichereinheiten der Heimat-Knoten UHN1, UHN2 zueinander synchronisiert gehalten werden. Wie bereits zuvor erläutert wurde, kann die Synchronisation der gemeinsamen Daten permanent zwischen den Nutzereinheiten UHN1, UHN2 durchgeführt werden oder sie kann gemäß einer weiteren Ausführungsform abhängig davon durchgeführt werden, ob eine Datenverbindung mit der entsprechenden Verarbeitungseinheit PC1, PC2 besteht.Each of the home nodes UHN1, UHN2 comprises a connection detector 211 , a storage unit 212 , a data interface 213 and a synchronization unit SYNC. The storage units 212 The home nodes UHN1, UHN2 serve to store common data which is kept synchronized with each other in all the memory units of the home nodes UHN1, UHN2. As has already been explained above, the synchronization of the common data can be performed permanently between the user units UHN1, UHN2 or, according to another embodiment, it can be carried out depending on whether there is a data connection with the corresponding processing unit PC1, PC2.

Die Datenschnittstelle 213 der Heimat-Knoten UHN1, UHN2 dient dazu, den Heimat-Knoten UHN1, UHN2 mit weiteren durch die Verbindungssteuereinheit 22 identifizierten Heimat-Knoten UHN1, UHN2 des Netzwerksystems 20 zu verbinden, so dass eine Datenkommunikation mit einem oder mehreren weiteren Heimat-Knoten möglich ist. Dadurch können auch mehr als zwei Nutzer miteinander kommunizieren und gemeinsam auf Daten zugreifen und verarbeiten.The data interface 213 the home node UHN1, UHN2 serves to connect the home node UHN1, UHN2 with others through the connection control unit 22 identified home nodes UHN1, UHN2 of the network system 20 so that data communication with one or more other home nodes is possible. Thereby More than two users can communicate with each other and access and process data together.

Gemeinsame Daten, die über die Verarbeitungseinheiten PC1, PC2 durch verschiedene Nutzer bearbeitet werden sollen, werden in zumindest einem der jeweiligen Verarbeitungseinheit zugeordneten Nutzer-Knoten, also für PC1 in dem jeweiligen End-Nutzer-Knoten EUN1 und/oder dem Heimat-Knoten UHN1 gespeichert. Die Daten stehen nach Aufbau der Datenverbindung zu dem jeweiligen End-Nutzer-Knoten EUN1 oder EUN2 der entsprechenden Verarbeitungseinheit PC1 bzw. PC2 zur Verfügung. Dazu müssen die gemeinsamen Daten zwischen den entsprechenden Heimat-Knoten UHN1 bzw. UHN2 synchronisiert werden.common Data over the processing units PC1, PC2 processed by different users be in at least one of the respective processing unit assigned user node, ie for PC1 in the respective end user node EUN1 and / or the home node UHN1 stored. The data is up Establishment of the data connection to the respective end user node EUN1 or EUN2 of the corresponding processing unit PC1 or PC2 available. To have to the shared data between the corresponding home nodes UHN1 or UHN2 are synchronized.

Die Verbindungssteuereinheit 22 des Netzwerksystems 20 definiert diejenigen netzseitigen Knoten, hier UHN1 und UHN2, in denen gemeinsame Daten, die für die kommunizierenden Verarbeitungseinheiten PC1, PC2 zugänglich sein sollen, gespeichert sind. Die Verbindungssteuereinheit 22 definiert also, zwischen welchen nutzerseitigen Knoten EUN1, EUN2 eine Verbindung hergestellt werden soll, um die Synchronisation der gemeinsamen Daten durchzuführen. Die Verbindungssteuereinheit 22 ist in einem Dienste-Knoten SN integriert, sie kann alternativ auch in einem oder mehreren der andern Knoten, insbesondere in einem Heimat-Knoten UHN1 oder UHN2 integriert sein.The connection control unit 22 of the network system 20 defines those network-side nodes, here UHN1 and UHN2, in which common data to be accessible to the communicating processing units PC1, PC2 is stored. The connection control unit 22 defines, therefore, between which user-side nodes EUN1, EUN2 a connection is to be made to perform the synchronization of the common data. The connection control unit 22 is integrated in a service node SN, it may alternatively also be integrated in one or more of the other nodes, in particular in a home node UHN1 or UHN2.

Die Synchronisation der Daten in den Speichereinheiten 212 der netzseitigen Knoten UHN1, UHN2 erfolgt mit Hilfe der dortigen Synchronisationseinheiten SYNC. Dasselbe gilt für die (nicht dargestellten) Speichereinheiten in den nutzerseitigen Knoten EUN1, EUN2. Die Synchronisation wird durch die dortigen Synchronisationseinheiten SYNC durchgeführt. Dazu prüft die Synchronisationseinheit SYNC eines jeden Knotens (z.B. im EUN1), ob Unterschiede zum Daten-Stand der weiteren Knoten (z.B. UHN1) vorliegen. Die Daten bzw. Daten-Versionen V bis V' werden analysiert und hinzugefügte bzw. aktualisierte Daten in die Speichereinheit desjenigen Nutzer-Knotens übertragen, dessen Version aktualisiert werden muss.The synchronization of the data in the storage units 212 the network-side node UHN1, UHN2 takes place with the aid of the local synchronization units SYNC. The same applies to the storage units (not shown) in the user-side nodes EUN1, EUN2. The synchronization is performed by the local synchronization unit SYNC. For this purpose, the synchronization unit SYNC of each node (eg in EUN1) checks whether there are differences to the data status of the other nodes (eg UHN1). The data or data versions V to V 'are analyzed and added or updated data in the storage unit of the user node whose version must be updated.

Werden Unterschiede in den Version festgestellt, dann erfolgt der Datenabgleich so, dass in jedem Knoten die dort noch nicht gespeicherten gemeinsamen Daten entsprechend ergänzt bzw. aktualisiert werden. Beispielsweise können der Speichereinheit 212 des ersten Nutzer-Knotens UHN1 hinzugefügte und aktualisierte Daten an die Speichereinheit 212 des zweiten Nutzer-Knotens UHN2 übertragen werden, so dass die dort vorliegenden gemeinsamen Daten mit den entsprechend hinzugefügten bzw. aktualisierten Daten aus dem ersten netzseitigen Nutzer-Knoten UHN1 ergänzt, bzw. aktualisiert werden.If differences in the version are detected, then the data synchronization takes place in such a way that the shared data that has not yet been stored there are correspondingly supplemented or updated in each node. For example, the storage unit 212 the first user node UHN1 added and updated data to the storage unit 212 of the second user node UHN2 are transmitted, so that the common data present there with the added or updated data from the first network-side user node UHN1 supplemented or updated.

Um das Netzwerksystem 20 möglichst zu entlasten, kann die Synchronisierung abhängig von dem Aufbau der Datenverbindung zwischen einer der Verarbeitungseinheiten PC1, PC2 und dem entsprechenden Heimat-Knoten durchgeführt werden. Z.B. kann beim Aufbau der Datenverbindung zwischen jeder der Verarbeitungseinheiten PC1, PC2 und dem entsprechenden netzseitigen Nutzer-Knoten UHN1, UHN2 eine Verbindung zwischen dem ersten Heimat-Knoten und den übrigen Heimat-Knoten hergestellt werden, um die in dem ersten Heimat-Knoten gespeicherten gemeinsamen Daten zu aktualisieren, d.h. auf den neuesten Stand zu bringen. Ist die Synchronisation abgeschlossen, so können über die erste Verarbeitungseinheit PC1 diese Daten bearbeitet werden und stehen nach dem Trennen der Datenverbindung zwischen der ersten Verarbeitungseinheit PC1 und dem ersten Heimat-Knoten UHN1 anderen Heimat-Knoten zur Verfügung, sobald diese mit ihrer entsprechenden Verarbeitungseinheit verbunden werden. Selbstverständlich kann auch vorgesehen sein, dass während des Bestehens der Datenverbindung zwischen der jeweiligen Verarbeitungseinheit PC1 und dem jeweiligen Heimat-Knoten UHN1, die durch die Verbindungsdetektor 211 festgestellt wird, in regelmäßigen Zeitabständen oder Nutzerdefiniert eine Synchronisation mit den übrigen Heimat-Knoten durchgeführt werden kann.To the network system 20 As far as possible, the synchronization can be performed depending on the structure of the data connection between one of the processing units PC1, PC2 and the corresponding home node. For example, in establishing the data connection between each of the processing units PC1, PC2 and the corresponding network-side user node UHN1, UHN2, a connection between the first home node and the remaining home nodes can be made to the common ones stored in the first home node Updating data, ie updating it. Once the synchronization has been completed, these data can be processed via the first processing unit PC1 and are available to other home nodes after the data connection between the first processing unit PC1 and the first home node UHN1 has been disconnected, as soon as they are connected to their corresponding processing unit , Of course, it can also be provided that, during the existence of the data connection between the respective processing unit PC1 and the respective home node UHN1, which are detected by the connection detector 211 is determined at regular intervals or user-defined synchronization with the other home nodes can be performed.

Das Netzwerksystem 20 kann eine Anzahl von Heimat-Knoten UHN1, UHN2 umfassen, wobei mit Hilfe von Auswahldaten definiert wird, welche der Heimat-Knoten UHN1, UHN2 die gemeinsamen Daten miteinander synchronisieren, so dass der Nutzerkreis, der Zugriff auf die gemeinsamen Daten erhalten kann, durch die Auswahldaten definiert wird. Die Auswahldaten könnten der Verbindungssteuereinheit 22 vorgegeben sein oder in einer Kennung bestehen, die den gemeinsamen Daten in den Speichereinheiten der Heimat- Knoten zugeordnet ist. D.h., gemeinsame Daten in den Heimat-Knoten, die die gleiche Kennung aufweisen, werden durch die Verbindungssteuereinheit 22 identifiziert und die Synchronisation der so identifizierten gemeinsamen Daten in den dadurch bestimmten Heimat-Knoten UHN1, UHN2 durchgeführt, während andere Daten und/oder andere Heimat-Knoten UHN1, UHN2 von der Synchronisation ausgenommen werden.The network system 20 may comprise a number of home nodes UHN1, UHN2, wherein it is defined by means of selection data which of the home nodes UHN1, UHN2 synchronize the common data with each other so that the user group which can obtain access to the common data is enabled by the Selection data is defined. The selection data could be the connection control unit 22 be predetermined or exist in an identifier that is assigned to the common data in the storage units of the home node. That is, common data in the home nodes having the same identifier is used by the connection control unit 22 identifies and synchronizes the thus identified common data in the thereby determined home node UHN1, UHN2 performed while other data and / or other home nodes UHN1, UHN2 are excluded from the synchronization.

Die Anzahl der Verarbeitungseinheiten PC1, PC2 und der möglichen Heimat-Knoten UHN1, UHN2 ist bei dem erfindungsgemäßen Kommunikationssystem 10 nicht beschränkt. Fällt einer der Heimat-Knoten in dem Netzwerksystem 20 aus, so ist die diesem Heimat-Knoten zugeordnete Verarbeitungseinheit PC1, PC2 zwar von dem Zugriff auf die entsprechenden Daten abgeschnitten, jedoch können die Nutzer der anderen Verarbeitungseinheiten über ihren jeweiligen Heimat-Knoten weiterhin auf die gemeinsamen Daten zugreifen und diese bearbeiten, da die gemeinsamen Daten direkt in dem Heimat-Knoten gespeichert sind.The number of processing units PC1, PC2 and the possible home nodes UHN1, UHN2 is in the communication system according to the invention 10 not limited. If one of the home nodes in the network system 20 Although the processing unit PC1, PC2 assigned to this home node is indeed cut off from the access to the corresponding data, it can however be ignored The users of the other processing units continue to access and manipulate the shared data via their respective home node because the shared data is stored directly in the home node.

Die gemeinsamen Daten, die in dem jeweiligen Heimat-Knoten gespeichert sind, sind beispielsweise als Dateien organisiert, z.B. als Dateien in einem bestimmten Dateiverzeichnis. Die jeweilige Speichereinrichtung kann beispielsweise eine herkömmliche Datenspeichereinheit in Form einer Festplatte oder allgemein eines Speicher sein, der Daten in Form eines herkömmlichen Dateisystems aufweist. Die Verarbeitungseinheiten PC1, PC2 sind vorzugsweise so gestaltet, dass sie beim Aufbau der Datenverbindung die gemeinsamen Dateien in der Speichereinheit des zugehörigen Nutzer-Knotens UHN1, UHN2 auf der entsprechenden Ausgabeeinheit darstellen und lokal bearbeiten können, insbesondere so, als wäre es ein Dateiverzeichnis, das in einer weiteren, lokalen Speichereinheit (nicht gezeigt) der jeweiligen Verarbeitungseinheit gespeichert wäre.The shared data stored in the respective home node are organized as files, e.g. as files in a specific directory. The respective storage device For example, a conventional Data storage unit in the form of a hard disk or generally one Memory that has data in the form of a conventional file system. The processing units PC1, PC2 are preferably designed that when setting up the data connection the shared files in the storage unit of the associated User node UHN1, UHN2 on the corresponding output unit represent and edit locally, in particular, as would it be a file directory stored in another local storage device (not shown) of the respective processing unit would.

Hiermit kann ein Nutzer der Verarbeitungseinheit PC1, PC2 die gemeinsamen Daten so bearbeiten, als wären sie auf einer lokalen Festplatte gespeichert. Beim Bearbeiten von bestehen Daten kann mit Hilfe eines sog.Herewith a user of the processing unit PC1, PC2 the common Edit data as if it were they are stored on a local hard drive. When editing exist data can with the help of a so-called.

Versionsverfolgers, der entweder in der Verarbeitungseinheit PC1, PC2 oder in dem entsprechend zugeordneten Heimat-Knoten UHN1, UHN2 vorgesehen sein kann, die Änderungen verfolgt werden. Kommt es zu gleichzeitigem Bearbeiten der gemeinsamen Daten, so kann über einen entsprechenden Zeitcode der Zeitpunkt einer Änderung bestimmt werden und abhängig von dem Zeitcode nur eine der Änderungen zugelassen werden. Alternativ können den Verarbeitungseinheiten Prioritäten zugewiesen werden, so dass eine Veränderung von Daten durch eine Verarbeitungseinheit Vorrang hat vor der Veränderung von Daten durch eine weitere der Verarbeitungseinheiten.Version tracker either in the processing unit PC1, PC2 or in the corresponding assigned home nodes UHN1, UHN2 can be provided, the changes be followed. Does it come to simultaneous editing of the common Data, so can over a corresponding time code the time of a change be determined and dependent of the time code only one of the changes be allowed. Alternatively, the Processing units priorities be assigned so that a change of data through a Processing unit takes precedence over the modification of data by a more of the processing units.

Eine Idee der vorliegenden Erfindung besteht darin, dass mehrere Nutzer an örtlich von einander entfernt angeordneten Verarbeitungseinheiten gemeinsame Daten, z.B. in einem gemeinsamen Projekt bearbeiten können, ohne auf den Zugang zu einer bestimmten Speichereinrichtung angewiesen zu sein, die nur über ein ausgedehntes Netzwerk erreichbar ist. Durch die dezentrale Speicherung der gemeinsamen Daten und der automatischen Synchronisation der gemeinsamen Daten entweder permanent oder angestoßen durch bestimmte Systemereignisse kann jeder Nutzer in zuverlässiger Weise Zugang zu den gemeinsamen Daten erhalten, selbst wenn Teile des Netzwerksystems ausgefallen sind. Der Zugang zu den gemeinsamen Daten hängt bei den erfindungsgemäßen Kommunikationssystem nämlich nur davon ab, ob die Verarbeitungseinheit eine Datenverbindung zu den ihr zugeordneten Heimat-Knoten aufbauen kann.A The idea of the present invention is that several users at local common to each other from remote processing units Data, e.g. in a common project, without to rely on access to a particular storage device be just over an extensive network is accessible. Due to the decentralized storage the common data and the automatic synchronization of the shared data either permanent or triggered by Certain system events can each user in a reliable way Get access to the shared data even if parts of the Network system have failed. Access to the common Data is attached namely the communication system according to the invention namely only depending on whether the processing unit has a data connection to the can build their assigned home node.

1010
Kommunikationssystemcommunication system
2020
Netzwerksystem mit TSCNetwork system with TSC
TSCTSC
Gesichertes Kern-Netz (Trusted System Core)secured Core Network (Trusted System Core)
2121
Netzwerkeinheiten, insbesondere Knoten UHN und SNNetwork units in particular nodes UHN and SN
Nutzer-Knoten, nämlich:User node, namely:
EUN,EUN,
End-Nutzer-Knoten (End User Nodes) bzw.End-user node (End User Nodes) or
UHNUHN
Nutzer-Heimat-Knoten (User Home Nodes)User home node (User Home Nodes)
EUN1EUN1
Erster End-Nutzer-Knotenfirst End-user node
EUN2EUN2
Zweiter End-Nutzer-Knotensecond End-user node
PC1PC1
Erste Verarbeitungseinheit als Personal ComputerFirst Processing unit as personal computer
PC2PC2
Zweite Verarbeitungseinheit als Personal ComputerSecond Processing unit as personal computer
UHN1UHN1
Erster Nutzer-Heimat-Knotenfirst User home node
UHN2UHN2
Erster Nutzer-Heimat-Knotenfirst User home node
V–V'V-V '
Datenmenge (Datenvolumen), insbesondere Dokumentamount of data (Data volume), especially document
IFIF
Schnittstelle(n) für Verbindung zwischen EUN undInterface (s) for connection between EUN and
UHNUHN
SYNCSYNC
Synchronisations-Einheit(en) im EUN bzw. UHNSynchronization unit (s) in the EUN or UHN
211211
Verbindungsdetektor im UHNconnection detector in the UHN
212212
Speichereinheit im UHNstorage unit in the UHN
213213
Datenschnittstelle im UHNData Interface in the UHN
SNSN
Dienste-Knoten (Service Node) im Netzwerksystem 20 Service node (service node) in the network system 20
2222
Verbindungssteuereinheit im Dienste-Knoten SNLink controller in the service node SN

Claims (13)

Verfahren zum gemeinsamen Bearbeiten einer Datenmenge (V) durch mindestens zwei Nutzer (U1; U2) mittels von ihnen bedienbaren Verarbeitungseinheiten (PC1; PC2) und mittels Zugriff auf Nutzer-Knoten (EUN, UHN), die jeweils einem der Nutzer (U1, U2) zugeordnet sind und die über ein Netzwerksystem (20) miteinander verbindbar sind, wobei die zu bearbeitende Datenmenge (V) in mindestens einem der Nutzer-Knoten (EUN1, UHN1) gespeichert wird, mit folgenden Schritten: – Herstellen von Datenverbindungen zwischen einer oder mehrerer der Verarbeitungseinheiten (PC1; PC2) und den jeweils zugeordneten Nutzer-Knoten (EUN1, UHN1; EUN2, UHN2); – Vervielfältigen der Datenmenge (V) und Speichern der vervielfältigten Datenmenge (V, V' V') in mindestens einem derjenigen miteinander verbundenen Nutzer-Knoten (UHN1; UHN2, EUN2), in denen die Datenmenge (V) nicht gespeichert ist; – Bearbeiten der Datenmenge (V) und/oder mindestens einer vervielfältigten Datenmenge (V, V' V') durch mindestens einen der Nutzer (U1) in zumindest einem der ihm zugeordneten Nutzer-Knoten (EUN1); – Prüfen, ob eine der Datenmengen (V, V, V' V') bearbeitet worden ist; – Synchronisieren der Nutzer-Knoten (EUN1, UHN1; EUN2, UHN2) zum Datenabgleich einer bearbeiteten Datenmenge (V) mit zumindest einer noch nicht bearbeiteten Datenmenge (V, V' V'), wobei jedem Nutzer (U1) mindestens zwei Nutzer-Knoten (EUN1, UHN1) zugeordnet werden, von denen einer als End-Nutzer-Knoten (EUN1) eingerichtet wird, der ein auf der Verarbeitungseinheit (PC1) des Nutzers (U1) laufendes Client-Programm umfasst, und von denen einer als Nutzer-Heimat-Knoten (UHN1) eingerichtet wird, der ein auf einer Netzwerkeinheit (21) des Netzwerksystems (20) laufendes Server-Programm umfasst, mit dem das Client-Programm zusammenarbeitet.Method for jointly processing a data volume (V) by at least two users (U1; U2) by means of processing units (PC1; PC2) which can be operated by them and by accessing user nodes (EUN, UHN), each one of the users (U1, U2 ) and which are connected via a network system ( 20 ), wherein the data volume (V) to be processed is stored in at least one of the user nodes (EUN1, UHN1), comprising the following steps: - establishing data connections between one or more of the processing units (PC1; PC2) and the respective ones associated user nodes (EUN1, UHN1, EUN2, UHN2); - Duplicate the amount of data (V) and save the duplicated amount of data ( V , V ' V') in mindes at least one of those interconnected user nodes (UHN1, UHN2, EUN2) in which the data amount (V) is not stored; - Editing the amount of data (V) and / or at least one duplicated amount of data ( V , V ' V') by at least one of the users (U1) in at least one of its associated user node (EUN1); - checking if any of the data sets (V, V , V ' V') has been processed; Synchronizing the user nodes (EUN1, UHN1, EUN2, UHN2) for reconciling a processed data volume (V) with at least one unprocessed data volume ( V , V ' V'), each user (U1) having at least two user nodes (EUN1, UHN1), one of which is set up as an end user node (EUN1) comprising a client program running on the processing unit (PC1) of the user (U1), one of which being a user home Node (UHN1) is set up on a network unit ( 21 ) of the network system ( 20 ) running server program, with which the client program cooperates. Verfahren nach Anspruch 1, wobei der Datenabgleich so erfolgt, dass in jedem Knoten (EUN, UHN) die dort noch nicht gespeicherten gemeinsamen Daten entsprechend ergänzt bzw. aktualisiert werden.The method of claim 1, wherein the data matching so that takes place in each node (EUN, UHN) which there yet stored common data to be supplemented or updated accordingly. Verfahren nach Anspruch 1 oder 2, wobei das Synchronisieren mindestens einen der folgenden Vorgänge umfasst: – Aktualisieren der noch nicht bearbeiteten Datenmenge (V) in einem der Nutzer-Knoten, insbesondere in einem ersten Nutzer-Heimat-Knoten (UHN1), durch Datenabgleich mit der bearbeiteten Datenmenge (V) in einem anderen der Nutzer-Knoten, insbesondere in einem ersten End-Nutzer-Knoten (EUN1), – Aktualisieren der noch nicht bearbeiteten oder aktualisierten Datenmenge (V') in einem der Nutzer-Knoten, insbesondere in einem zweiten Nutzer-Heimat-Knoten (UHN2), durch Datenabgleich mit der bearbeiteten und/oder aktualisierten Datenmenge (V) in einem anderen der Nutzer-Knoten, insbesondere in einem ersten Nutzer-Heimat-Knoten (UHN1), – Aktualisieren der noch nicht bearbeiteten oder aktualisierten Datenmengen (V') in einem der Nutzer-Knoten, insbesondere in einem zweiten End-Nutzer-Knoten (EUN2), durch Datenabgleich mit der bearbeiteten und/oder aktualisierten Datenmenge (V') in einem anderen der Nutzer-Knoten, insbesondere in einem zweiten Nutzer-Heimat-Knoten (UHN2).Method according to claim 1 or 2, wherein the synchronization comprises at least one of the following operations: - updating of the as yet unprocessed data volume ( V ) in one of the user nodes, in particular in a first user home node (UHN1), by data matching with the processed data volume (V) in another one of the user nodes, in particular in a first end user node (EUN1), updating the not yet processed or updated data volume ( V ' ) in one of the user nodes, in particular in one second user home node (UHN2), by reconciliation with the processed and / or updated data set ( V ) in another of the user nodes, in particular in a first user home node (UHN1), - updating the not yet processed or updated data sets (V ') in one of the user nodes, in particular in a second end user node (EUN2), by reconciliation with the processed and / or updated data set ( V' ; ) in another of the user nodes, in particular in a second user home node (UHN2). Verfahren nach Anspruch 3, wobei das Aktualisieren der Datenmenge in einem der Nutzer-Knoten mindestens einen der folgenden Vorgänge umfasst: – Einfügen von Daten aus der bearbeiteten Datenmenge (V) bzw. aus der aktualisierten Datenmenge in die noch nicht aktualisierte Datenmenge (V); – Löschen von Daten in der noch nicht aktualisierten Datenmenge (V) in Abhängigkeit von Daten-Löschungen, die in der bearbeiteten Datenmenge (V) bzw. in der bereits aktualisierten Datenmenge erfolgt sind; – Ersetzen von Daten in der noch nicht aktualisierten Datenmenge (V) ) in Abhängigkeit von Daten-Ersetzungen, die in der bearbeiteten Datenmenge (V) bzw. in der bereits aktualisierten Datenmenge erfolgt sind; – Angabe von Zeigern, die auf die Bearbeitung bzw. die Aktualisierung von Daten hinweisen, und Zuordnen der Zeiger zu der noch nicht aktualisierten Datenmengen.The method of claim 3, wherein updating the amount of data in one of the user nodes comprises at least one of: inserting data from the processed data set (V) or the updated data set into the not yet updated data set ( V ); Deleting data in the not yet updated data volume ( V ) as a function of data deletions that have taken place in the processed data volume (V) or in the already updated data volume; - Replacement of data in the not yet updated amount of data ( V )) depending on data substitutions made in the processed data set (V) or in the already updated data set; - Indication of pointers that indicate the processing or updating of data, and assignment of the pointers to the not yet updated data sets. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Datenabgleich, insbesondere das Aktualisieren der Datenmengen (V, V, V' V'), durchgeführt wird, indem die Datenmengen (V, V, V' V') mit Kennungen, insbesondere mit Versions-Kennungen und/oder Zeigern, versehen werden, die die Aktualität der letzten Daten-Änderung angeben, insbesondere den letzen Daten-Stand, die letzte Daten-Einfügung, die letzte Daten-Löschung, die letzte Daten-Ersetzung und/oder die letzten Daten-Version angeben.Method according to one of claims 1 to 4, wherein the data adjustment, in particular the updating of the data sets (V, V , V ' V') is performed by the data sets (V, V , V ' V') with identifiers, in particular with Version tags and / or pointers, indicating the timeliness of the last data change, in particular the last data state, the last data insertion, the last data deletion, the last data replacement and / or the last Specify data version. Verfahren nach Anspruch 5, wobei die Versions-Kennungen bzw. Zeiger in Form von Vektoren definiert werden und in einem Algorithmus verarbeitet werden...The method of claim 5, wherein the version identifiers or pointers are defined in the form of vectors and in an algorithm are processed... Verfahren nach einem der vorhergehenden Ansprüche, wobei die Datenverbindung zwischen den jeweiligen Nutzer-Knoten (EUN, UHN), insbesondere zwischen den Nutzer-Heimat-Knoten (UHN1, UHN2), als permanente Datenverbindung hergestellt wird.Method according to one of the preceding claims, wherein the data connection between the respective user nodes (EUN, UHN), in particular between the user home nodes (UHN1, UHN2), as a permanent data connection is made. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verbinden der Nutzer-Knoten durchgeführt wird, indem die Nutzer-Knoten (EUH, UHN) ihre jeweiligen Adressen an eine Verbindungsteuereinheit (22) übermitteln, sobald die jeweilige Verarbeitungseinheit (PC1, PC2) mit dem entsprechenden Nutzer-Knoten (EUN, UHN) verbunden ist, und wobei die Verbindungssteuereinheit (22) den Verbindungsaufbau zwischen den Nutzer-Knoten (EUN, UHN) steuert.Method according to one of the preceding claims, wherein the connection of the user nodes is carried out by the user nodes (EUH, UHN) transmitting their respective addresses to a connection control unit ( 22 ) as soon as the respective processing unit (PC1, PC2) is connected to the corresponding user node (EUN, UHN), and wherein the connection control unit ( 22 ) controls the connection establishment between the user nodes (EUN, UHN). Netzwerksystem (20) zum gemeinsamen Bearbeiten einer Datenmenge (V) durch mindestens zwei Nutzer (U1; U2) mittels von ihnen bedienbaren Verarbeitungseinheiten (PC1; PC2) und mittels Zugriff auf Nutzer-Knoten (EUN, UHN), die jeweils einem der Nutzer (U1, U2) zugeordnet sind und die miteinander verbindbare Netzwerkeinheiten (21) des Netzwerksystems (20) sind, wobei die zu bearbeitende Datenmenge (V) in mindestens einem der Nutzer-Knoten (EUN1, UHN1) gespeichert ist und wobei jeder der Nutzer-Knoten (UHN1) umfasst: – eine Schnittstelle (IF) zum Verbinden mit einem anderen Nutzer-Knoten (EUN1) bzw. mit einer diesem Nutzer-Knoten (EUN1) zugeordneten Verarbeitungseinheit (PC1); – eine Speichereinheit (212) zum Speichern zumindest der gemeinsam zu bearbeitenden Daten der Datenmenge (V, V); – eine Synchronisationseinheit (SYNC) zum Durchführen einer Synchronisation der miteinander verbundenen Nutzer-Knoten (EUN1, UHN1) mittels Datenabgleich einer bearbeiteten Datenmenge (V) mit zumindest einer noch nicht bearbeiteten Datenmenge (V, V' V') wobei jedem Nutzer (U1) mindestens zwei Nutzer-Knoten (EUN1, UHN1) zugeordnet sind, von denen einer als End-Nutzer-Knoten (EUN1) eingerichtet ist, der ein auf der Verarbeitungseinheit (PC1) des Nutzers (U1) laufendes Client-Programm umfasst, und von denen einer als Nutzer-Heimat-Knoten (UHN1) eingerichtet ist, der ein auf einer Netzwerkeinheit (21) des Netzwerksystems (20) laufendes Server-Programm umfasst, mit dem das Client-Programm zusammenarbeitet.Network system ( 20 ) for jointly processing a data volume (V) by at least two users (U1; U2) by means of processing units (PC1; PC2) which can be operated by them and by accessing user nodes (EUN, UHN), each of which one of the users (U1, U2 ) and the interconnected network units ( 21 ) of the network system ( 20 ), wherein the amount of data (V) to be processed is stored in at least one of the user nodes (EUN1, UHN1) and wherein Each of the user nodes (UHN1) comprises: an interface (IF) for connecting to another user node (EUN1) or to a processing unit (PC1) assigned to this user node (EUN1); A storage unit ( 212 ) for storing at least the data of the data set (V, V ) to be jointly processed; A synchronization unit (SYNC) for carrying out a synchronization of the interconnected user nodes (EUN1, UHN1) by means of data synchronization of a processed data volume (V) with at least one not yet processed data volume ( V , V ' V') whereby each user (U1) at least two user nodes (EUN1, UHN1) are assigned, one of which is set up as an end user node (EUN1) comprising a client program running on the processing unit (PC1) of the user (U1), and of which is set up as a user home node (UHN1) that is one on a network unit ( 21 ) of the network system ( 20 ) running server program, with which the client program cooperates. Netzwerksystem (20) nach Anspruch 9, wobei jeder der Nutzer-Knoten, insbesondere jeder Nutzer-Heimat-Knoten (UHN1, UHN2), einen Verbindungsdetektor (211) aufweist, um festzustellen, ob die entsprechende Verarbeitungseinheit (PC1, PC2) über eine Datenverbindung mit dem Nutzer-Knoten (UHN1, UHN2) verbunden ist, wobei die Synchronisationseinheiten (SYNC) der Nutzer-Knoten (UHN1, UHN2) so gestaltet sind, dass eine Synchronisation der Daten derjenigen Nutzer-Knoten, deren Verbindungsdetektoren (211) eine Verbindung zu der entsprechenden Verarbeitungseinheit (PC1, PC2) festgestellt haben, mit den Daten anderer Nutzer-Knoten (UHN1, UHN2) durchzuführen.Network system ( 20 ) according to claim 9, wherein each of the user nodes, in particular each user home node (UHN1, UHN2), a connection detector ( 211 ) to determine whether the corresponding processing unit (PC1, PC2) is connected to the user node (UHN1, UHN2) via a data connection, the synchronization units (SYNC) of the user nodes (UHN1, UHN2) being designed that a synchronization of the data of those user nodes whose connection detectors ( 211 ) have detected a connection to the corresponding processing unit (PC1, PC2) to perform the data of other user nodes (UHN1, UHN2). Netzwerksystem (20) nach Anspruch 9 oder 10, wobei das Netzwerksystem ein gesichertes Kern-Netz (TSC) mit einer Verbindungssteuereinheit (22) umfasst, die jeweils zwei der Nutzer-Heimat-Knoten (UHN1, UHN2) ansteuert, um diese Nutzer-Heimat-Knoten (UHN1, UHN2) direkt nach dem Peer-To-Peer-Prinzip miteinander zu verbinden.Network system ( 20 ) according to claim 9 or 10, wherein the network system comprises a secured core network (TSC) with a connection control unit ( 22 ) which respectively drives two of the user home nodes (UHN1, UHN2) to connect these user home nodes (UHN1, UHN2) directly according to the peer-to-peer principle. Netzwerksystem (20) nach einem der Ansprüche 9 bis 11, wobei die Synchronisationseinheiten (SYNC) der Nutzer-Knoten (EUN, UHN) gestaltet sind, um das Synchronisieren mindestens gemäß einem der folgenden Vorgänge auszuführen: – Einfügen von Daten aus der bearbeiteten Datenmenge (V) bzw. aus der aktualisierten Datenmenge in die noch nicht aktualisierte Datenmenge (V); – Löschen von Daten in der noch nicht aktualisierten Datenmenge (V) in Abhängigkeit von Daten-Löschungen, die in der bearbeiteten Datenmenge (V) bzw. in der bereits aktualisierten Datenmenge erfolgt sind; – Ersetzen von Daten in der noch nicht aktualisierten Datenmenge (V) ) in Abhängigkeit von Daten-Ersetzungen, die in der bearbeiteten Datenmenge (V) bzw. in der bereits aktualisierten Datenmenge erfolgt sind; – Angabe von Zeigern, die auf die Bearbeitung bzw. die Aktualisierung von Daten hinweisen, und Zuordnen der Zeiger zu der noch nicht aktualisierten Datenmengen.Network system ( 20 ) according to any one of claims 9 to 11, wherein the synchronization units (SYNC) of the user nodes (EUN, UHN) are designed to perform the synchronization according to at least one of the following operations: - inserting data from the processed data set (V) or from the updated data set into the not yet updated data set ( V ); Deleting data in the not yet updated data volume ( V ) as a function of data deletions that have taken place in the processed data volume (V) or in the already updated data volume; - Replacement of data in the not yet updated amount of data ( V )) depending on data substitutions made in the processed data set (V) or in the already updated data set; - Indication of pointers that indicate the processing or updating of data, and assignment of the pointers to the not yet updated data sets. Kommunikationssystem (10) mit einem Netzwerksystem (20) nach einem der Ansprüche 9 bis 12 und mit Verarbeitungseinheiten (PC1; PC2), in denen jeweils einer der End-Nutzer-Knoten (EUN1; EUN2) eingerichtet ist und die jeweils mit einem der Nutzer-Heimat-Knoten (UHN1; UHN2) des Netzwerksystems (20) zugeordnet sind und mit diesem verbindbar sind.Communication system ( 10 ) with a network system ( 20 ) according to one of claims 9 to 12 and with processing units (PC1; PC2) in each of which one of the end user nodes (EUN1; EUN2) is set up and which is in each case connected to one of the user home nodes (UHN1; UHN2). of the network system ( 20 ) are assigned and can be connected to this.
DE200610005840 2006-02-08 2006-02-08 A method of processing a data set together, and a network system and a communication system for performing the method Expired - Fee Related DE102006005840B4 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200610005840 DE102006005840B4 (en) 2006-02-08 2006-02-08 A method of processing a data set together, and a network system and a communication system for performing the method
PCT/EP2007/001079 WO2007090645A1 (en) 2006-02-08 2007-02-08 Method for the common processing of a data quantity and a network system and communication system for carrying out said method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610005840 DE102006005840B4 (en) 2006-02-08 2006-02-08 A method of processing a data set together, and a network system and a communication system for performing the method

Publications (2)

Publication Number Publication Date
DE102006005840A1 DE102006005840A1 (en) 2007-08-30
DE102006005840B4 true DE102006005840B4 (en) 2007-10-31

Family

ID=37943978

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610005840 Expired - Fee Related DE102006005840B4 (en) 2006-02-08 2006-02-08 A method of processing a data set together, and a network system and a communication system for performing the method

Country Status (2)

Country Link
DE (1) DE102006005840B4 (en)
WO (1) WO2007090645A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2172517C (en) * 1993-09-24 2000-02-15 Sandeep Jain Method and apparatus for data replication
US6859821B1 (en) * 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US7406499B2 (en) * 2003-05-09 2008-07-29 Microsoft Corporation Architecture for partition computation and propagation of changes in data replication
US7440981B2 (en) * 2003-07-31 2008-10-21 Microsoft Corporation Systems and methods for replicating data stores
US7533134B2 (en) * 2004-04-01 2009-05-12 Microsoft Corporation Systems and methods for the propagation of conflict resolution to enforce item convergence (i.e., data convergence)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Practical experiences of designing a distributed collaborative system. Okubo, T. Matsutsuka, T. Nomura, Y. Hara, H. Uehara, S. Fujitsu Labs. Ltd. *
This paper appears in: Enterprise Distributed Object Computing Conference, 2000. EDOC 2000. Proceedings. Fourth International Publication Date: 2000 On page(s): 21-26 Meeting Date: 09/25/ 2000-09/28/2000 Location: Makuhari, Japan ISBN: 0- 7695-0865-0 References Cited: 6 INSPEC Accession Number: 6755426 DOI: 10.1109/EDOC.2000.882340 Posted online: 2002-08-06 23:38:24.0
This paper appears in: Enterprise Distributed Object Computing Conference, 2000. EDOC 2000. Proceedings. Fourth International Publication Date: 2000 On page(s): 21-26 Meeting Date: 09/25/ 2000-09/28/2000 Location: Makuhari, Japan ISBN: 07695-0865-0 References Cited: 6 INSPEC Accession Number: 6755426 DOI: 10.1109/EDOC.2000.882340 Posted online: 2002-08-06 23:38:24.0 *

Also Published As

Publication number Publication date
DE102006005840A1 (en) 2007-08-30
WO2007090645A1 (en) 2007-08-16

Similar Documents

Publication Publication Date Title
DE69733391T2 (en) Network archiving system and storage medium which stores a program to produce a network archiving system
DE69729399T2 (en) Data management system and method for replicated data
DE602005002927T2 (en) TIME SYNCHRONIZATION DEVICE AND METHOD AND CORRESPONDING PRODUCTS
DE60115616T2 (en) PROCESS FOR OPTIMIZING THE SYNCHRONIZATION BETWEEN A DATABASE OF A CLIENT AND A SERVER DATABASE
DE60220418T2 (en) Method and provider for system synchronization
EP3446466A1 (en) Method for fast reconfiguration of gm clocks in the tsn network by means of an explicit teardown message
DE19607149A1 (en) Method for computer-aided comparison of several file copies of a stored file stored in at least one computer
DE602005004370T2 (en) Synchronization of server and device data using device data schemas
WO2001027806A1 (en) Integrated data bank combining system
EP1430369B1 (en) Dynamic access to automation resources
EP2250588B1 (en) Method and program for providing data coherence in networks
DE102008036453A1 (en) Method for sending data and communication device
EP1530758A1 (en) Method for providing resources in communication networks
DE102006005840B4 (en) A method of processing a data set together, and a network system and a communication system for performing the method
DE19900636B4 (en) Data access and management system and method for data access and data management for a computer system and their use
EP1647898A1 (en) Serverless replication of databases
DE19813883A1 (en) Management system for the targeted provision of Internet information for closed user groups
EP1619849B1 (en) Method for synchronising a distributed system
EP3800517A1 (en) Redundant automation system, method for providing such an automation system, computer program and computer-readable medium
WO2008003404A1 (en) Method and communication system for controlling the flow of data over network nodes
EP1316898A2 (en) Simple and secure method for locking data sets from CGI scripts
EP0791886A2 (en) Method for the computerized adjustment of several file copies of a stored file, stored in at least one computer
DE19607131B4 (en) Method for the computer-aided adjustment of a plurality of file copies of a stored file stored in at least one computer
EP1415452B1 (en) Coupling means for a data processing device
EP3751363A1 (en) Method for operating a redundant automation system

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee