WO2007090645A1 - Method for the common processing of a data quantity and a network system and communication system for carrying out said method - Google Patents

Method for the common processing of a data quantity and a network system and communication system for carrying out said method Download PDF

Info

Publication number
WO2007090645A1
WO2007090645A1 PCT/EP2007/001079 EP2007001079W WO2007090645A1 WO 2007090645 A1 WO2007090645 A1 WO 2007090645A1 EP 2007001079 W EP2007001079 W EP 2007001079W WO 2007090645 A1 WO2007090645 A1 WO 2007090645A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
user
nodes
processed
uhnl
Prior art date
Application number
PCT/EP2007/001079
Other languages
German (de)
French (fr)
Inventor
Collin Rogowski
Helmut Hoffer Von Ankershoffen
Original Assignee
Combots Product Gmbh & 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 & Co. Kg filed Critical Combots Product Gmbh & Co. Kg
Publication of WO2007090645A1 publication Critical patent/WO2007090645A1/en

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

Definitions

  • the invention relates to a method, a network system and a communication system for jointly processing a quantity of data by several users with the aid of several processing units.
  • the data or amounts of data can be stored centrally or decentrally.
  • the data can be stored decentrally distributed on storage devices in the processing units. If, however, the data or data quantities are distributed over several decentralized storage devices, then it must be ensured that each processing unit also has access to the corresponding storage devices of the other processing units via data connection and that the most current data are available in each case.
  • a method for jointly processing a quantity of data by a plurality of users by means of processing units which can be operated by them and which access a network system.
  • the network system comprises a plurality of user nodes, each assigned to the processing units or the users, via the network system are interconnectable, the amount of data being stored in at least one of the user nodes.
  • the process includes the following steps:
  • the method according to the invention has the advantage that it enables the processing of common data without the processing units which may be arranged at a distance from one another having to have permanent access to a common storage device.
  • the amount of data to be processed jointly is stored as a whole or at least in parts several times (at least twice) in the user nodes assigned to the respective processing units, the data of which are synchronized with one another in such a way 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 rest can
  • the synchronization of the user nodes can include at least one of the following processes:
  • Amount of data of the second user node and the addition of data of the second user node to the amount of data of the first user node is
  • At least two user nodes are preferably assigned to each user, one of which is set up as an end user node, the one on the
  • Processing unit of the user includes running client program, and one of which is set up as a user home node, which includes a server program running on a network unit of the network system with which the client program works.
  • the synchronization preferably comprises at least one of the following processes:
  • User home node by comparing data with the amount of data processed in another of the user nodes, in particular in a first end user node,
  • the data volume update in one of the user nodes comprises at least one of the following processes:
  • the data comparison in particular the updating of the data sets, is preferably carried out by providing the data sets with identifiers, in particular with version identifiers and / or pointers, which the Specify the topicality of the last data change, in particular the last data status, the last data insertion, the last data deletion, the last data replacement and / or the last data version.
  • version identifiers or pointers are preferably defined in the form of vectors and processed in an algorithm (version tracker).
  • the identifiers preferably include memory addresses, time stamps, checksums (CheckSum) and / or references to document properties, such as author, editor system, processing terminal, language, etc.
  • the data connection between the respective user nodes, in particular between the user home nodes, is preferably established as a permanent or at least as a quasi-permanent data connection.
  • connection of the user nodes is preferably carried out in such a way that the user nodes transmit their respective addresses to a connection control unit as soon as the respective processing unit is connected to the corresponding user node, and the connection control unit controls the connection establishment between the user nodes .
  • a network system for jointly processing an amount of data.
  • the network system comprises a plurality of user nodes which can be connected to one another, each of the user nodes comprising the following components: an interface (connection interface) for connecting to another user node or to an assigned processing unit; a storage unit for storing at least the data to be processed jointly, that is to say the entire amount of data or parts thereof;
  • a synchronization unit for performing a synchronization of the interconnected user nodes by means of data comparison of a processed amount of data with at least one not yet processed amount of data, i.e. in particular by means of data comparison and updating of the data in the user nodes.
  • a connection detector can be provided in order to determine whether a processing unit is connected to the user node via a corresponding data connection, the synchronization unit being designed to synchronize the data in the user nodes, the connection detectors of which establish a connection to the corresponding processing unit have to perform with the data of other user nodes.
  • connection control unit which can be connected to the user node of the network system and which controls the user nodes in such a way that the user nodes connect to one another via this.
  • the synchronization units of the user nodes can be designed in such a way that the synchronization is carried out at least one of the following processes: updating the amount of data in the first of the user nodes by the data of a second of the user nodes; Updating the amount of data in the second user node by the data of the first user node; Add data of the first user node to the data set of the second user node and adding data of the second user node to the data set of the first user node.
  • the network system preferably comprises a secured core network with a connection control unit, which controls two of the user-home nodes in order to connect these user-home nodes directly according to the peer-to-peer principle.
  • the synchronization units of the user nodes are preferably designed in such a way that they carry out the synchronization according to at least one of the following processes:
  • a communication system with such a network system and with processing units, each of which can be connected to one of the user nodes of the network system, is provided.
  • the processing units which are preferably personal computers or mobile data terminals or communication terminals, one of the end User nodes are set up, which in turn are each assigned to one of the user home nodes of the network system and can be connected to this.
  • the processing units can be designed such that the amount of data in the storage unit of the connected user node is provided as files in the processing unit.
  • Fig. 1 shows schematically the structure of a communication system according to the invention.
  • FIG. 1 shows an exemplary embodiment of a communication system 10 according to the invention, in which end users communicating with one another (hereinafter also referred to as users or short users) have access via a network system to data quantities or data which can be processed together.
  • 1 essentially shows the logical structure of the
  • FIG. 2 which also shows the physical structure of the system, the physical system components and their functions are also discussed.
  • Each user is an end user node (so-called EndUserNode) EUNl or EUN2 assigned, which is connected to a provided network system 20, which is preferably designed as an Internet-based overlay network.
  • the end-user nodes EUN1 and EUN2 are logical network instances that are implemented on the user side in the processing units or end devices of the users. In the example shown, these are personal computers PC1 or PC2, in which client programs run which perform the function for the respective end-user node EUN1 or EUN2.
  • the logical structure of the network system 20 shown itself comprises a plurality of network-side nodes or network units 21, in particular user home nodes UHN, so-called user home nodes, 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 are implemented on the network side in components there, in particular servers.
  • server programs run there that execute the function for the respective home user node UHN1 or UHN2.
  • TCS secure core network
  • TrustedSystemCore a so-called TrustedSystemCore
  • Secured communication here means in particular encryption against eavesdropping and Misuse of secured communication understood.
  • Direct communication is understood here in particular to mean communication via a point-to-point connection (PeerToPeer) between two nodes, in particular end-user nodes.
  • PeerToPeer point-to-point connection
  • End-user nodes here refer to the respective user-side node which is assigned to an end user as a logical network instance so that the end user can access the network in order to use network services.
  • each end user node is essentially realized by application software, in particular client software, installed on a user terminal. The user can then use the network services provided by the network, in particular by the servers there, via client software.
  • Communication services in the broadest sense are meant here, i.e. any type of information or data exchange between two or more end users, which are also referred to below as communication partners. Examples of such communication services include telephony, messaging, file sharing and window sharing.
  • Home node is used here to denote the network-side node which corresponds as a logical network instance to an end-user node and is therefore also assigned to the respective end-user.
  • Each home node is essentially software that is installed in the network, in particular installed on a server
  • the home user node or the server is thus connected to the end user node or the client of the user.
  • the nodes EUNl and UHNl correspond to one another and are assigned to the first user U1.
  • the nodes EUN2 and UHN2 correspond to one another, which are assigned to the second user U2.
  • Each user therefore has at least one "end user node” and an 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 this or via these “user home nodes”, in particular the user data of the managed by the respective user.
  • the UHN1 thus manages the data of the first user and the UHN2 the data of the second user.
  • the UHN and further network nodes 21 form the essential network units, via which direct and secure communication connections are preferably established between two users or their end-user nodes EUN .
  • EUN end-user nodes
  • 1 shows, by way of example, two EUNs, namely the first end-user node EUN1 and the second end-user node EUN2, which on the network side have the corresponding first user-home node UHNl or the second user Home node UHN2 are connected. If a home node fails, its function can be taken over by another network node, which will be described in detail later.
  • all nodes including the EUN and the UHN are to be seen as logical network units, which can be implemented by implementing appropriate software on suitable hardware units, are realized in particular on user terminals or servers.
  • the user terminals are two personal computers PC1 and PC2.
  • any other type of terminal can also be used, such as laptops or mobile communication devices, which process the corresponding software; they are therefore also called processing units.
  • all units that belong to the actual network system 20, that is to say the servers and other units integrated in the core network network TSC, are referred to as network units.
  • the processing unit can be a conventional terminal, such as a personal computer, a mobile phone, a PDA (Personal - Digital assistant) or another terminal device that has an input and output unit (not shown) that enables a user to input and modify data.
  • a user interface desktop
  • the user can control communication with the partner via mouse control (clicks and drag & drop using a PC mouse) and can transfer files with texts, images and the like via drag & drop.
  • the aim of the present invention is in particular to provide users with the possibility of being able to jointly access and edit data of a quantity of data.
  • a document file such as a WORD * file
  • Image data in the form of a photo or a graphic such as a JPG file or a GIF file
  • user data in the form of a table
  • EXCEL * file or a database file, such as an ACCESS * File
  • ACCESS * File (* The names WORD, EXCEL and ACCESS are registered trademarks of Microsoft Inc., USA).
  • the solution according to the invention ensures that the data changes which the users or the system itself carry out are compared as conflict-free as possible.
  • the system controls automatic conflict resolution. Or the system at least makes a suggestion for the users, who can then solve the conflict manually.
  • FIG. 1 shows an example of a quantity of data in the form of a document V, to which users U1 and U2 have access via their respective end devices PC1 and PC2.
  • the document or the file content (volume) is reproduced, so that it is in multiple copies or
  • Versions V and V and V 'and V are available, each of which is stored on one of the nodes EUNl, UHNl, UHN2 and EUN2. These versions V, V, y _ ⁇ _, V or duplications can differ from each other due to the data changes.
  • the invention ensures a constant and timely synchronization and a conflict-free data comparison in order to bring the file contents versions V to V to the same data status in which the latest changes are also taken into account.
  • each file There are copies or versions of each file.
  • the data are therefore stored multiple times, preferably both in the end user node EUN and in the home user node UHN.
  • the file contents can exist in different versions V to V or variants. With two users, there can therefore be four different versions V, V, yj_, V in the nodes EUNl and UHNl and EUN2 and UHN2.
  • each node comprises at least a minimum amount of data that is required for the actual synchronization or data comparison. This minimum amount of data is also called here
  • Synchronization volume V, V, yj_, V denotes. This essentially means information about the last or a number of last data processing operations, in particular in the form of change notes and deletion notes, the Document or display data status in the nodes and its changes. The information also indicates if data is currently only stored on one node but has not yet been synchronized with the other nodes. This procedure has particular advantages for changes which users make to documents while their end user node is not connected to the network, ie when these users are "offline”.
  • the first user U1 first creates a new document in the form of a letter or he edits an existing document.
  • the corresponding file is stored locally on its end device PCl, i.e. the first end user node EUNl has a file in a first version V with the corresponding document content. If the user-side node EUNl is already connected to the network-side node UHNl, data is compared immediately, so that the same data content is stored in both nodes EUNl and UHNl.
  • the original version V is on EUNl and an identical copy or a cloned version V is on UHNl.
  • the second user U2 can also have this current version
  • a data comparison with the second user home node UHN2 of the second user U2 and with its end user node EUN2 takes place in the network system 20 if necessary or quasi-permanently, if so the second user is online.
  • V _ [_ on the UHN2 and a version V on the EUN2 both of which are identical to the original version V.
  • the second user thus receives a copy or a clone V on his end device PC2 corresponds to the original version V. If the second user makes data changes, the data comparison takes place in reverse order.
  • version identifiers or pointers are preferably defined in the form of vectors during synchronization or data comparison and processed in an algorithm.
  • the processing units PCl, 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 EUNl or EUN2 to the assigned user home node UHNl or UHN2 can be.
  • the connection is made via a conventional data connection, such as a LAN connection, a telephone connection, a conventional Internet connection, a line connection and Like. Can be.
  • the connection is secured by encryption.
  • processing units PC1, PC2 are only temporary, e.g. at the request of the respective user Ul or U2 connected to the corresponding home node UHN1, UHN2. However, it can also be provided that the processing units PC1, PC2 are permanently connected to the corresponding home node UHN1, UHN2, at predetermined times or depending on another rule.
  • the network system 20 can be designed as a packet-oriented network system 20, in which data can be transmitted from one network unit 21 to another depending on an address.
  • the network units or network nodes in particular the home nodes UHN1 and UHN2, between which the data are exchanged, are identified with the aid of a connection control unit 22.
  • This can be part of a service node SN (ServiceNode), which is provided for establishing a connection and for other network functions.
  • ServiceNode ServiceNode
  • 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 of the home nodes UHN1, UHN2 serve to store common data which are kept synchronized with one another in all storage units of the home nodes UHN1, UHN2.
  • the synchronization of the common data can be carried out permanently between the user units UHN1, UHN2 or, according to a further embodiment, it can be carried out depending on whether one There is a data connection with the corresponding processing unit PC1, PC2.
  • the data interface 213 of the home node UHN1, UHN2 serves to connect the home node UHN1, UHN2 with further home nodes UHN1, UHN2 of the network system 20 identified by the connection control unit 22, so that data communication with one or more other home Knot is possible. This means that more than two users can communicate with each other and access and process data together.
  • User nodes assigned to the processing unit ie for PCl, are stored in the respective end user node EUNl and / or the home node UHNl. After the data connection has been established, the data is available to the respective end user node EUN1 or EUN2 of the corresponding one
  • Processing unit PCl or PC2 available.
  • the common data between the corresponding home nodes UHN1 or UHN2 must be synchronized.
  • connection control unit 22 of the network system 20 defines those network-side nodes, here UHN1 and UHN2, in which common data which are to be accessible to the communicating processing units PC1, PC2 are stored.
  • the connection control unit 22 thus defines between which user-side nodes EUN1, EUN2 a connection is to be established in order to carry out the synchronization of the common data.
  • the connection control unit 22 is integrated in a service node SN, alternatively it can also be in one or more the other node, in particular, be integrated in a home node UHN1 or UHN2.
  • the data in the storage units 212 of the network-side nodes UHN1, UHN2 are synchronized with the aid of the synchronization units SYNC there.
  • the synchronization is carried out by the synchronization units SYNC there.
  • the synchronization unit SYNC of each node e.g. in the EUNl
  • the data or data versions V to V are analyzed and added or updated data are transferred to the storage unit of the user node whose version has to be updated.
  • the data is compared in such a way that the common data that has not yet been saved there is correspondingly supplemented or updated in each node. For example, data added and updated to the storage unit 212 of the first user node UHN1 can be transmitted to the storage unit 212 of the second user node UHN2, so that the common data present there with the correspondingly added or updated data from the first network-side user node UHNl supplemented or updated.
  • the synchronization can be carried out depending on the establishment of the data connection between one of the processing units PC1, PC2 and the corresponding home node. For example, when establishing the data connection between each of the processing units PC1, PC2 and the corresponding network-side user node UHN1, UHN2 a connection is established between the first home node and the other home nodes in order to update the common data stored in the first home node, ie to the bring up to date.
  • this data can be processed via the first processing unit PC1 and, after the data connection between the first processing unit PC1 and the first home node UHN1 has been disconnected, other home nodes are available as soon as they are connected to their corresponding processing unit .
  • the connection detector 211 it can also be provided that while the data connection exists between the respective processing unit PC1 and the respective home node UHN1, which is determined by the connection detector 211, synchronization with the other home nodes can be carried out at regular intervals or in a user-defined manner.
  • the network system 20 can comprise a number of home nodes UHN1, UHN2, it being defined with the aid of selection data which of the home nodes UHN1, UHN2 synchronize the common data with one another, so that the user group who has access to the common data can receive it that defines selection data.
  • the selection data could be predefined for the connection control unit 22 or consist of an identifier which is assigned to the common data in the storage units of the home nodes. That is, common data in the
  • Home nodes that have the same identifier are identified by the connection control unit 22 and the synchronization of the common data identified in this way in the home nodes UHN1, UHN2 determined thereby performed while other data and / or other home nodes UHN1, UHN2 are excluded from the synchronization.
  • the number of processing units PC1, PC2 and the possible home nodes UHN1, UHN2 is not limited in the communication system 10 according to the invention. If one of the home nodes in the network system 20 fails, the processing unit PC1, PC2 assigned to this home node is cut off from access to the corresponding data, but the users of the other processing units can still access the via their respective home nodes access and edit shared data because the shared data is stored directly in the home node.
  • the common data that are stored in the respective home node are organized, for example, as files, for example as files in a specific file directory.
  • the respective storage device can be, for example, a conventional data storage unit in the form of a hard disk or, in general, a memory which has data in the form of a conventional file system.
  • the processing units PC1, PC2 are preferably designed such that when the data connection is established, they represent the common files in the storage unit of the associated user node UHN1, UHN2 on the corresponding output unit and can process them locally, in particular as if it were a file directory that would be stored in a further, local storage unit (not shown) of the respective processing unit. This enables a user of the processing unit PC1, PC2 to process the common data as if they were stored on a local hard disk.
  • Processing unit PC1, PC2 or in the correspondingly assigned home node UHN1, UHN2 can be provided, the changes are tracked. If the common data is processed at the same time, the time of a change can be determined via an appropriate time code and, depending on the time code, only one of the changes can be permitted. Alternatively, priorities can be assigned to the processing units, so that a change in data by one processing unit has priority over the change in data by another of the processing units.
  • An idea of the present invention is that a plurality of users can process common data, for example in a common project, at processing units which are arranged at a distance from one another, without having to rely on access to a specific storage device which can only be reached via an extensive network. Due to the decentralized storage of the common data and the automatic synchronization of the common data either permanently or triggered by certain system events, each user can reliably access the shared data, even if parts of the network system have failed. In the communication system according to the invention, access to the common data only depends on whether the processing unit can establish a data connection to the home nodes assigned to it. Reference character list
  • nodes UHN and SN user nodes namely:
  • EUN end user nodes
  • PCl First processing unit as a personal computer
  • PC2 Second processing unit as a personal computer

Landscapes

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

Abstract

For the common processing of a data volume (V) by at least two users (U1; U2 ) having access to user nodes (EUN, UHN) which are associated with the users and can be interconnected by means of a network system (20), the data volume (V) to be processed being stored in at least one of the user nodes (EUN, UHN), the following steps can be carried out: data connections are established between at least one of the processing units (PCl; PC2) and the respectively associated user nodes (EUN; UHN); the data volume (V) is multiplied and the multiplied data volume (V, V' V´) is stored in at least one of the interconnected user nodes (UHN) in which the data volume (V) is not stored; the data volume (V) is processed and/or at least one multiplied data volume (V, V' V´) is processed by at least one of the users (U1) in at least one of the user nodes (EUN1) associated therewith; it is checked whether one of the data volumes (V, V, V' V´) has been processed; and the user nodes (EUN, UHN) are synchronised in order to compare a processed data volume (V) with data volumes (V, V' V´) not yet processed.

Description

Verfahren zum gemeinsamen Bearbeiten einer Datenmenge sowie ein Netzwerksystem und ein Kommunikationssystem zurMethod for jointly processing a data set, and a network system and a communication system for
Durchführung des VerfahrensExecution of the procedure
Die Erfindung betrifft ein Verfahren, ein Netzwerksystem und ein KommunikationsSystem zum gemeinsamen Bearbeiten einer Datenmenge durch mehrere Nutzer mit Hilfe von mehreren Verarbeitungseinheiten.The invention relates to a method, a network system and a communication system for jointly processing a quantity of data by several users with the aid of several processing units.
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 for users to use processing units that are spatially separated from one another, e.g. on personal computers, and work on a common project. The amount of data associated with the respective project, e.g. Text documents, graphics, tables or database entries can be edited together, i.e. can be supplemented or changed by any user. This requires that each of the users has access to the most current data or amounts of data.
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 data or amounts of data can be stored centrally or decentrally. In particular, the data can be stored decentrally distributed on storage devices in the processing units. If, however, the data or data quantities are distributed over several decentralized storage devices, then it must be ensured that each processing unit also has access to the corresponding storage devices of the other processing units via data connection and that the most current data are available in each case.
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.If the processing units are very far apart from each other, the data connection between the processing unit and the corresponding ones takes place Storage devices typically over a wide network, such as the Internet and the like. Such a network can be prone to errors, so that access to the decentralized storage devices by the processing units at any time cannot be guaranteed with satisfactory security. In addition, if a storage device fails, it is not possible for any of the users to be able to access all the data, in particular all of the current data, and thus be able to work on the corresponding project. This problem also arises with 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 is therefore an object of the present invention to provide a method, a network system and a communication system in which a plurality of users can jointly process data of a data set with the aid of processing units, with access to the jointly processed data set or its data by each processing unit against a failure in the network can be guaranteed very reliably.
Diese Aufgabe wird durch das Verfahren nach Anspruch 1 sowie durch das Netzwerksystem bzw. das KommunikationsSystem nach einem der nebengeordneten Ansprüche gelöst.This object is achieved by the method according to claim 1 and by the network system or the communication system according to one of the subordinate claims.
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 Schritte:According to a first aspect of the present invention, a method is provided for jointly processing a quantity of data by a plurality of users by means of processing units which can be operated by them and which access a network system. The network system comprises a plurality of user nodes, each assigned to the processing units or the users, via the network system are interconnectable, the amount of data being stored in at least one of the user nodes. The process includes the following steps:
- Herstellen von Datenverbindungen zwischen einer oder mehrerer der Verarbeitungseinheiten und den jeweils zugeordneten Nutzer-Knoten ;- Establishing data connections between one or more of the processing units and the respectively assigned user nodes;
- 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;- Duplicating the amount of data and storing the duplicated amount of data in at least one of those interconnected user nodes in which the amount of data is not stored;
- 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;- Processing 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 the user nodes assigned to him; - Check whether one of the data sets has been processed;
- Synchronisieren der Nutzer-Knoten zum Datenabgleich einer bearbeiteten Datenmenge mit zumindest einer noch nicht bearbeiteten Datenmenge.- Synchronization of the user nodes for data comparison of a processed amount of data with at least one not yet processed amount of data.
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 übrigenThe method according to the invention has the advantage that it enables the processing of common data without the processing units which may be arranged at a distance from one another having to have permanent access to a common storage device. For this purpose, the amount of data to be processed jointly is stored as a whole or at least in parts several times (at least twice) in the user nodes assigned to the respective processing units, the data of which are synchronized with one another in such a way 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 rest can
Verarbeitungseinheiten die gemeinsamen Daten weiterhin bearbeiten. 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:Processing units continue to process the common data. A particularly secure data comparison is therefore possible with the proposed method. In particular, the synchronization of the user nodes can include at least one of the following processes:
- Aktualisieren der Datenmenge in dem ersten der Nutzer- Knoten durch die Daten in einem zweiten der Nutzer-Knoten;- Update the amount of data in the first of the user nodes by the data in a second of the user nodes;
- Aktualisieren der Datenmenge in dem zweiten Nutzer-Knoten durch die Daten des ersten Nutzer-Knotens; - Hinzufügen von Daten des Nutzer-Knotens zur der- Update the amount of data in the second user node by the data of the first user node; - Add data of the user node to the
Datenmenge des zweiten Nutzer-Knotens und das Hinzufügen von Daten des zweiten Nutzer-Knotens zu der Datenmenge des ersten Nutzer-Knotens.Amount of data of the second user node and the addition of data of the second user node to the amount of data of the first user node.
Besondere Vorteile ergeben sich aus den Unteransprüchen, die bevorzugte Ausgestaltungen der Erfindung betreffen:Particular advantages result from the subclaims relating to preferred embodiments of the invention:
Demnach werden vorzugsweise jedem Nutzer mindestens zwei Nutzer-Knoten zugeordnet, von denen einer als End-Nutzer- Knoten eingerichtet wird, der ein auf derAccordingly, at least two user nodes are preferably assigned to each user, one of which is set up as an end user node, the one on the
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.Processing unit of the user includes running client program, and one of which is set up as a user home node, which includes a server program running on a network unit of the network system with which the client program works.
Außerdem umfasst das Synchronisieren vorzugsweise mindestens einen der folgenden Vorgänge:In addition, the synchronization preferably comprises at least one of the following processes:
- Aktualisieren der noch nicht bearbeiteten Datenmenge in einem der Nutzer-Knoten, insbesondere in einem ersten- Update the amount of data not yet processed in one of the user nodes, in particular in a first one
Nutzer-Heimat-Knoten, durch Datenabgleich mit der bearbeiteten Datenmenge in einem anderen der Nutzer-Knoten, insbesondere in einem ersten End-Nutzer-Knoten,User home node, by comparing data with the amount of data processed in another of the user nodes, in particular in a first end user node,
- 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,- Update the unprocessed or updated amount of data in one of the user nodes, in particular in a second user home node, by data comparison with the processed and / or updated amount of data in another of the user nodes, in particular in a first user home node,
- 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.Updating the amount of data that has not yet been processed or updated in one of the user nodes, in particular in a second end-user node, by comparing data with the processed and / or updated amount of data in another of the user nodes, in particular in a second user. Home knot.
In diesem Zusammenhang ist es vorteilhaft wenn das Aktualisieren der Datenmenge in einem der Nutzer-Knoten mindestens einen der folgenden Vorgänge umfasst:In this context, it is advantageous if the data volume update in one of the user nodes comprises at least one of the following processes:
- Einfügen von Daten aus der bearbeiteten Datenmenge bzw. aus der aktualisierten Datenmenge in die noch nicht aktualisierte Datenmenge;- inserting data from the processed data set or from the updated data set into the not yet updated data set;
- 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;- Deletion of data in the not yet updated data set as a function of data deletions that have occurred in the processed data set or in the already updated data set;
- 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;- Replacing data in the not yet updated data set as a function of data replacements that have been made in the processed data set or in the already updated data set;
- Angabe von Zeigern, die auf die Bearbeitung bzw. die Aktualisierung von Daten hinweisen, und Zuordnen der Zeiger zu der noch nicht aktualisierten Datenmengen.- Specifying pointers that indicate the processing or updating of data, and assigning the pointers to the amount of data that has not yet been updated.
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, the data comparison, in particular the updating of the data sets, is preferably carried out by providing the data sets with identifiers, in particular with version identifiers and / or pointers, which the Specify the topicality of the last data change, in particular the last data status, the last data insertion, the last data deletion, 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 this context, the version identifiers or pointers are preferably defined in the form of vectors and processed in an algorithm (version tracker). The identifiers preferably include memory addresses, time stamps, 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.The data connection between the respective user nodes, in particular between the user home nodes, is preferably established as a permanent or at least 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, the connection of the user nodes is preferably carried out in such a way that the user nodes transmit their respective addresses to a connection control unit as soon as the respective processing unit is connected to the corresponding user node, and the connection control unit controls the connection establishment 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;According to a further aspect of the present invention, a network system is provided for jointly processing an amount of data. The network system comprises a plurality of user nodes which can be connected to one another, each of the user nodes comprising the following components: an interface (connection interface) for connecting to another user node or to an assigned processing unit; a storage unit for storing at least the data to be processed jointly, that is to say the entire amount of data or parts thereof;
- 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.a synchronization unit for performing a synchronization of the interconnected user nodes by means of data comparison of a processed amount of data with at least one not yet processed amount of data, i.e. in particular by means of data comparison and updating of the data in the user nodes.
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.Furthermore, a connection detector can be provided in order to determine whether a processing unit is connected to the user node via a corresponding data connection, the synchronization unit being designed to synchronize the data in the user nodes, the connection detectors of which establish a connection to the corresponding processing unit have to perform with the data of other user nodes.
Gemäß einer weiteren Ausführungsform der vorliegendenAccording to a further embodiment of the present
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 the invention, a connection control unit is provided which can be connected to the user node of the network system and which controls the user nodes in such a way that the user nodes connect to one another via this.
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.Furthermore, the synchronization units of the user nodes can be designed in such a way that the synchronization is carried out at least one of the following processes: updating the amount of data in the first of the user nodes by the data of a second of the user nodes; Updating the amount of data in the second user node by the data of the first user node; Add data of the first user node to the data set of the second user node and adding data of the second user node to the data set 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.In addition, the network system preferably comprises a secured core network with a connection control unit, which controls two of the user-home nodes in order to connect these user-home nodes directly according to the peer-to-peer principle.
Die Synchronisationseinheiten der Nutzer-Knoten sind vorzugsweise so gestaltet, dass sie das Synchronisieren mindestens gemäß einem der folgenden Vorgänge auszuführen:The synchronization units of the user nodes are preferably designed in such a way that they carry out the synchronization according to at least one of the following processes:
- Einfügen von Daten aus der bearbeiteten Datenmenge bzw. aus der aktualisierten Datenmenge in die noch nicht aktualisierte Datenmenge;- inserting data from the processed data set or from the updated data set into the not yet updated data set;
- 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- Deletion of data in the not yet updated data set as a function of data deletions that have occurred in the processed data set or in the data set that has already been updated; - Replace data in the not yet updated
Datenmenge in Abhängigkeit von Daten-Ersetzungen, die in der bearbeiteten Datenmenge bzw. in der bereits aktualisierten Datenmenge erfolgt sind;Amount of data depending on data replacements that have occurred in the amount of data processed or in the amount of data already updated;
- Angabe von Zeigern, die auf die Bearbeitung bzw. die Aktualisierung von Daten hinweisen, und Zuordnen der Zeiger zu der noch nicht aktualisierten Datenmengen.- Specifying pointers that indicate the processing or updating of data, and assigning the pointers to the amount of data that has not yet been updated.
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 a further aspect of the present invention, a communication system with such a network system and with processing units, each of which can be connected to one of the user nodes of the network system, is provided. In the processing units, which are preferably personal computers or mobile data terminals or communication terminals, one of the end User nodes are set up, which in turn are each assigned to one of the user home nodes of the network system and can be connected to this. Furthermore, the processing units can be designed such that the amount of data in the storage unit of the connected user node is provided as files in the processing unit.
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 and the advantages resulting therefrom are explained in more detail below on the basis of preferred exemplary embodiments and the accompanying drawings:
Fig. 1 zeigt schematisch den Aufbau eines erfindungsgemäßen KommunikationsSystems .Fig. 1 shows schematically the structure of a communication system according to the invention.
Fig. 2 zeigt den Aufbau des Kommunikationssystems in näheren Details.2 shows the structure of the communication system in more detail.
In der Figur 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 Fig. 1 zeigt im Wesentlichen die logische Struktur des1 shows an exemplary embodiment of a communication system 10 according to the invention, in which end users communicating with one another (hereinafter also referred to as users or short users) have access via a network system to data quantities or data which can be processed together. 1 essentially shows the logical structure of the
KommunikationsSystems, auf die hier zunächst eingegangen wird. Anhand der Figur 2, die auch die physikalische Struktur des Systems wiedergibt, wird dann auch auf die physikalischen System-Komponenten und deren Funktionen eingegangen.Communication system, which will be discussed here first. Based on FIG. 2, which also shows the physical structure of the system, the physical system components and their functions are also discussed.
Die Fig. 1 zeigt beispielhaft für mehrere Nutzer zwei miteinander kommunizierende Nutzer Ul und U2. Jedem Nutzer ist ein End-Nutzer-Knoten (sog. EndUserNode) EUNl 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 EUNl 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 PCl bzw. PC2, in denen Client-Programme laufen, die die Funktion für den jeweiligen End-Nutzer- Knoten EUNl bzw. EUN2 ausführen.1 shows two users U1 and U2 communicating with one another for several users. Each user is an end user node (so-called EndUserNode) EUNl or EUN2 assigned, which is connected to a provided network system 20, which is preferably designed as an Internet-based overlay network. The end-user nodes EUN1 and EUN2 are logical network instances that are implemented on the user side in the processing units or end devices of the users. In the example shown, these are personal computers PC1 or PC2, in which client programs run which 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 UHNl 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 UHNl bzw. UHN2 ausführen.The logical structure of the network system 20 shown itself comprises a plurality of network-side nodes or network units 21, in particular user home nodes UHN, so-called user home nodes, 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 are implemented on the network side in components there, in particular servers. In the example shown here, server programs run there that execute 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 Ul und U2 über ihre Knoten EUNl und UHNl bzw. UHN2 und EUN2 eine gesicherte und direkte Kommunikation aufgebaut werden kann.The network units 21, in particular the connected servers, form a secure 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 EUNl and UHNl or UHN2 and EUN2.
Bevor die Figuren-Beschreibung weiter fortgeführt wird, sollen die verwendeten Begriffe und Bezeichnungen näher erläutert werden:Before the description of the figures is continued, the terms and designations used should be explained in more detail:
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.Secured communication here means in particular encryption against eavesdropping and Misuse of secured communication understood. Direct communication is understood here in particular to mean 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.End-user nodes here refer to the respective user-side node which is assigned to an end user as a logical network instance so that the end user can access the network in order to use network services. As previously stated, each end user node is essentially realized by application software, in particular client software, installed on a user terminal. The user can then use the network services provided by the network, in particular by the servers there, via client software. Communication services in the broadest sense are meant here, i.e. any type of information or data exchange between two or more end users, which are also referred to below as communication partners. Examples of such communication services include telephony, messaging, file sharing and 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 installierteHome node is used here to denote the network-side node which corresponds as a logical network instance to an end-user node and is therefore also assigned to the respective end-user. Each home node is essentially software that is installed in the network, in particular installed on a server
Server-Software, realisiert. Der Heimat-Nutzer-Knoten bzw. der Server steht also mit dem End-Nutzer-Knoten bzw. dem Client des Nutzers in Verbindung. In dem anhand der Fig. 1 gezeigten Beispiel korrespondieren also die Knoten EUNl und UHNl miteinander, die dem ersten Nutzer Ul 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 UHNl die Daten des ersten Nutzers und der UHN2 die Daten des zweiten Nutzers.Server software, implemented. The home user node or the server is thus connected to the end user node or the client of the user. In the example shown in FIG. 1, the nodes EUNl and UHNl correspond to one another and are assigned to the first user U1. Likewise, the nodes EUN2 and UHN2 correspond to one another, which are assigned to the second user U2. Each user therefore has at least one "end user node" and an 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 this or via these “user home nodes”, in particular the user data of the managed by the respective user. The UHN1 thus 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 Fig. 1 sind beispielhaft zwei EUN, nämlich der erste End-Nutzer-Knoten EUNl und der zweite End-Nutzer-Knoten EUN2, dargestellt, die netzwerkseitig mit dem entsprechenden ersten Nutzer- Heimat-Knoten UHNl 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, the UHN and further network nodes 21 (such as, for example, relay nodes or redundant nodes) form the essential network units, via which direct and secure communication connections are preferably established between two users or their end-user nodes EUN . 1 shows, by way of example, two EUNs, namely the first end-user node EUN1 and the second end-user node EUN2, which on the network side have the corresponding first user-home node UHNl or the second user Home node UHN2 are connected. 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.With regard to the network structure, all nodes including the EUN and the UHN are to be seen as logical network units, which can be implemented by implementing appropriate software on suitable hardware units, are realized in particular on user terminals or servers.
Die Nutzer-Endgeräte sind in dem hier in Fig. 1 gezeigten Beispiel zwei Personal-Computer PCl 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.In the example shown here in FIG. 1, the user terminals are two personal computers PC1 and PC2. However, any other type of terminal can also be used, such as laptops or mobile communication devices, which process the corresponding software; they are therefore also called processing units. In contrast, all units that belong to the actual network system 20, that is to say the servers and other units integrated in the core network network TSC, are referred to as network units.
Zu den End-Nutzer-Knoten EUNl und EUN2 ist zu sagen, dass jedem von ihnen mindestens eine der Verarbeitungseinheiten PCl 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.Regarding the end-user nodes EUN1 and EUN2, it should be said that each of them is assigned at least one of the processing units PC1 or PC2, whereby the processing unit can be a conventional terminal, such as a personal computer, a mobile phone, a PDA (Personal - Digital assistant) or another terminal device that has an input and output unit (not shown) that enables a user to input and modify data. Here, in particular, a user interface (desktop) is used, on which the user can control communication with the partner via mouse control (clicks and drag & drop using a PC mouse) and can transfer files with texts, images and the like via drag & drop.
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.The aim of the present invention is in particular to provide users with the possibility of being able to jointly access and edit data of a quantity of data. 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 a database file, such as an ACCESS * File (* The names WORD, EXCEL and ACCESS are registered trademarks of Microsoft Inc., USA). In the case of shared access to a data volume or file, the solution according to the invention ensures that the data changes which the users or the system itself carry out are compared as conflict-free as possible. In the event of any conflicts, the system controls automatic conflict resolution. Or the system at least makes a suggestion for the users, who can then solve the conflict manually.
In der Fig. 1 ist beispielhaft eine Datenmenge in Form eines Dokumentes V dargestellt, auf das die Nutzer Ul und U2 über ihr jeweiliges Endgerät PCl bzw. PC2 Zugriff haben. Das Dokument bzw. der Datei-Inhalt (Volume) wird vervielfältig, so dass es in mehrfachen Kopien bzw.1 shows an example of a quantity of data in the form of a document V, to which users U1 and U2 have access via their respective end devices PC1 and PC2. The document or the file content (volume) is reproduced, so that it is in multiple copies or
Versionen V und V und V' und V vorhanden ist, die jeweils auf einem der Knoten EUNl, UHNl, UHN2 bzw. EUN2 gespeichert sind. Diese Versionen V, V, y_^_, 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.Versions V and V and V 'and V are available, each of which is stored on one of the nodes EUNl, UHNl, UHN2 and EUN2. These versions V, V, y _ ^ _, V or duplications can differ from each other due to the data changes. However, the invention ensures a constant and timely synchronization and a conflict-free data comparison in order to bring the file contents versions V to V to the same data status in which the latest changes are also 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 EUNl und UHNl sowie EUN2 und UHN2 vier unterschiedliche Versionen V, V, yj_, V geben. Ist der Datenabgleich vollzogen, so sind dieThere are copies or versions of each file. The data are therefore stored multiple times, preferably both in the end user node EUN and in the home user node UHN. As above said, the file contents can exist in different versions V to V or variants. With two users, there can therefore be four different versions V, V, yj_, V in the nodes EUNl and UHNl and EUN2 and UHN2. Once the data comparison has been completed, they are
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.Versions identical, i.e. there are then four copies or clones with the same data content. All data of a document including the changes that have already been made can be stored in the nodes, so that historical data is also available in order to be able to undo certain changes. However, less data can also be stored, e.g. only the changed data or data changes, the total data of the file being stored centrally in the network system 20 or only on one of the nodes. There would then only be a complete file, preferably located at a user's storage location, i.e. is stored in one of its nodes EUN or UHN. The remaining nodes would then only have change data or only pointers that pointed to the actual storage location. This keeps the required storage volume small. Other types of data storage are also possible, in particular the subdivision into partial data quantities, which are distributed to the nodes and are only combined to form the entire data quantity (complete file or complete document) if necessary.
In allen genannten Fällen umfasst jeder Knoten zumindest eine Mindest-Datenmenge, die für die eigentliche Synchronisation bzw. den Datenabgleich benötigt werden. Diese Mindest-Datenmenge wird hier auch alsIn all of the cases mentioned, each node comprises at least a minimum amount of data that is required for the actual synchronization or data comparison. This minimum amount of data is also called here
Synchronisationsvolumen V, V, yj_, 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.Synchronization volume V, V, yj_, V denotes. This essentially means information about the last or a number of last data processing operations, in particular in the form of change notes and deletion notes, the Document or display data status in the nodes and its changes. The information also indicates if data is currently only stored on one node but has not yet been synchronized with the other nodes. This procedure has particular advantages for changes which users make to documents while their end user node is not connected to the network, ie when these users are "offline".
Durch folgendes Beispiel soll anhand der Fig. 1 der Datenabgleich verdeutlicht werden:The following example is intended to illustrate the data comparison using FIG. 1:
Der erste Nutzer Ul 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 PCl gespeichert, d.h. der ersten End- Benutzer-Knoten EUNl verfügt über eine Datei in einer ersten Version V mit dem entsprechenden Dokumenten-Inhalt. Sofern der benutzerseitige Knoten EUNl bereits mit dem netzseitigen Knoten UHNl verbunden ist, erfolgt sofort ein Datenabgleich, so dass in beiden Knoten EUNl und UHNl derselbe Daten-Inhalt gespeichert ist. Somit liegt auf EUNl die Original-Version V und auf UHNl eine identische Kopie bzw. eine geklonte Version V.The first user U1 first creates a new document in the form of a letter or he edits an existing document. The corresponding file is stored locally on its end device PCl, i.e. the first end user node EUNl has a file in a first version V with the corresponding document content. If the user-side node EUNl is already connected to the network-side node UHNl, data is compared immediately, so that the same data content is stored in both nodes EUNl and UHNl. The original version V is on EUNl and an identical copy or a cloned version V is on UHNl.
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 .So that the second user U2 can also have this current version, a data comparison with the second user home node UHN2 of the second user U2 and with its end user node EUN2 takes place in the network system 20 if necessary or quasi-permanently, if so the second user is online. Then there is a version V _ [_ on the UHN2 and a version V on the EUN2, both of which are identical to the original version V. The second user thus receives a copy or a clone V on his end device PC2 corresponds to the original version V. If the second user makes data changes, the data comparison takes place in reverse order.
Sofern die Nutzer Ul 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.If the users U1 and U2 are online and all nodes are connected to the network or do not fail, there are usually no special conflicts. It can only be the special case that both users make data changes at the same time, so that it must be decided which data version should be the current version. This conflict also occurs if at least one of the users makes data changes while he is offline or if individual nodes should fail and a spontaneous data comparison is not possible.
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 solve such or similar cases of conflict, version identifiers or pointers are preferably defined in the form of vectors during synchronization or data comparison and processed in an algorithm.
Im Weiteren wird nun auch auf die Fig. 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:2, 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:
Die Verarbeitungseinheiten PCl, 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 EUNl bzw. EUN2 zu dem zugeordneten Nutzer- Heimat-Knoten UHNl 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.The processing units PCl, 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 EUNl or EUN2 to the assigned user home node UHNl or UHN2 can be. The connection is made via a conventional data connection, such as a LAN connection, a telephone connection, a conventional Internet connection, a line connection and Like. Can be. However, the connection is secured by encryption.
Häufig sind die Verarbeitungseinheiten PCl, PC2 nur zeitweise, z.B. auf Wunsch des jeweiligen Nutzers Ul bzw. U2 mit dem entsprechenden Heimat-Knoten UHNl, UHN2 verbunden. Es kann jedoch auch vorgesehen sein, dass die Verarbeitungseinheiten PCl, PC2 mit dem entsprechenden Heimat-Knoten UHNl, UHN2 dauerhaft, zu vorgegebenen Zeiten oder abhängig von einer sonstigen Regel verbunden werden.Often the processing units PC1, PC2 are only temporary, e.g. at the request of the respective user Ul or U2 connected to the corresponding home node UHN1, UHN2. However, it can also be provided that the processing units PC1, PC2 are permanently connected to the corresponding home node UHN1, UHN2, at predetermined times or depending on 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 UHNl 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 designed as a packet-oriented network system 20, in which data can be transmitted from one network unit 21 to another depending on an address. The network units or network nodes, in particular the home nodes UHN1 and UHN2, between which the data are exchanged, are identified with the aid of a connection control unit 22. This can be part of a service node SN (ServiceNode), which is provided for establishing a connection and for other network functions.
Jeder der Heimat-Knoten UHNl, UHN2 umfasst einen Verbindungsdetektor 211, eine Speichereinheit 212, eine Datenschnittstelle 213 und eine Synchronisationseinheit SYNC. Die Speichereinheiten 212 der Heimat-Knoten UHNl, UHN2 dienen zum Speichern gemeinsamer Daten, die in allen Speichereinheiten der Heimat-Knoten UHNl, UHN2 zueinander synchronisiert gehalten werden. Wie bereits zuvor erläutert wurde, kann die Synchronisation der gemeinsamen Daten permanent zwischen den Nutzereinheiten UHNl, 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 PCl, 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 of the home nodes UHN1, UHN2 serve to store common data which are kept synchronized with one another in all storage units of the home nodes UHN1, UHN2. As already explained above, the synchronization of the common data can be carried out permanently between the user units UHN1, UHN2 or, according to a further embodiment, it can be carried out depending on whether one There is a data connection with the corresponding processing unit PC1, PC2.
Die Datenschnittstelle 213 der Heimat-Knoten UHNl, UHN2 dient dazu, den Heimat-Knoten UHNl, UHN2 mit weiteren durch die Verbindungssteuereinheit 22 identifizierten Heimat- Knoten UHNl, 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 of the home node UHN1, UHN2 serves to connect the home node UHN1, UHN2 with further home nodes UHN1, UHN2 of the network system 20 identified by the connection control unit 22, so that data communication with one or more other home Knot is possible. This means that more than two users can communicate with each other and access and process data together.
Gemeinsame Daten, die über die Verarbeitungseinheiten PCl, PC2 durch verschiedene Nutzer bearbeitet werden sollen, werden in zumindest einem der jeweiligenCommon data that are to be processed by different users via the processing units PC1, PC2 are stored in at least one of the respective users
Verarbeitungseinheit zugeordneten Nutzer-Knoten, also für PCl in dem jeweiligen End-Nutzer-Knoten EUNl und/oder dem Heimat-Knoten UHNl gespeichert. Die Daten stehen nach Aufbau der Datenverbindung zu dem jeweiligen End-Nutzer- Knoten EUNl oder EUN2 der entsprechendenUser nodes assigned to the processing unit, ie for PCl, are stored in the respective end user node EUNl and / or the home node UHNl. After the data connection has been established, the data is available to the respective end user node EUN1 or EUN2 of the corresponding one
Verarbeitungseinheit PCl bzw. PC2 zur Verfügung. Dazu müssen die gemeinsamen Daten zwischen den entsprechenden Heimat-Knoten UHNl bzw. UHN2 synchronisiert werden.Processing unit PCl or PC2 available. For this purpose, the common data between the corresponding home nodes UHN1 or UHN2 must be synchronized.
Die Verbindungssteuereinheit 22 des Netzwerksystems 20 definiert diejenigen netzseitigen Knoten, hier UHNl und UHN2, in denen gemeinsame Daten, die für die kommunizierenden Verarbeitungseinheiten PCl, PC2 zugänglich sein sollen, gespeichert sind. Die Verbindungssteuereinheit 22 definiert also, zwischen welchen nutzerseitigen Knoten EUNl, 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 UHNl 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 which are to be accessible to the communicating processing units PC1, PC2 are stored. The connection control unit 22 thus defines between which user-side nodes EUN1, EUN2 a connection is to be established in order to carry out the synchronization of the common data. The connection control unit 22 is integrated in a service node SN, alternatively it can also be in one or more the other node, in particular, be integrated in a home node UHN1 or UHN2.
Die Synchronisation der Daten in den Speichereinheiten 212 der netzseitigen Knoten UHNl, UHN2 erfolgt mit Hilfe der dortigen Synchronisationseinheiten SYNC. Dasselbe gilt für die (nicht dargestellten) Speichereinheiten in den nutzerseitigen Knoten EUNl, EUN2. Die Synchronisation wird durch die dortigen Synchronisationseinheiten SYNC durchgeführt. Dazu prüft die Synchronisationseinheit SYNC eines jeden Knotens (z.B. im EUNl), ob Unterschiede zum Daten-Stand der weiteren Knoten (z.B. UHNl) 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 data in the storage units 212 of the network-side nodes UHN1, UHN2 are synchronized with the aid of the synchronization units SYNC there. The same applies to the storage units (not shown) in the user-side nodes EUN1, EUN2. The synchronization is carried out by the synchronization units SYNC there. For this purpose, the synchronization unit SYNC of each node (e.g. in the EUNl) checks whether there are any differences from the data status of the other nodes (e.g. UHNl). The data or data versions V to V are analyzed and added or updated data are transferred to the storage unit of the user node whose version has to 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 UHNl 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 UHNl ergänzt, bzw. aktualisiert werden.If differences are found in the version, the data is compared in such a way that the common data that has not yet been saved there is correspondingly supplemented or updated in each node. For example, data added and updated to the storage unit 212 of the first user node UHN1 can be transmitted to the storage unit 212 of the second user node UHN2, so that the common data present there with the correspondingly added or updated data from the first network-side user node UHNl 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 PCl, PC2 und dem entsprechenden Heimat-Knoten durchgeführt werden. Z.B. kann beim Aufbau der Datenverbindung zwischen jeder der Verarbeitungseinheiten PCl, PC2 und dem entsprechenden netzseitigen Nutzer-Knoten UHNl, 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 PCl diese Daten bearbeitet werden und stehen nach dem Trennen der Datenverbindung zwischen der ersten Verarbeitungseinheit PCl und dem ersten Heimat- Knoten UHNl 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 PCl und dem jeweiligen Heimat-Knoten UHNl, 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.In order to relieve the network system 20 as much as possible, the synchronization can be carried out depending on the establishment of the data connection between one of the processing units PC1, PC2 and the corresponding home node. For example, when establishing the data connection between each of the processing units PC1, PC2 and the corresponding network-side user node UHN1, UHN2 a connection is established between the first home node and the other home nodes in order to update the common data stored in the first home node, ie to the bring up to date. When the synchronization is complete, this data can be processed via the first processing unit PC1 and, after the data connection between the first processing unit PC1 and the first home node UHN1 has been disconnected, other home nodes are available as soon as they are connected to their corresponding processing unit . Of course, it can also be provided that while the data connection exists between the respective processing unit PC1 and the respective home node UHN1, which is determined by the connection detector 211, synchronization with the other home nodes can be carried out at regular intervals or in a user-defined manner.
Das Netzwerksystem 20 kann eine Anzahl von Heimat-Knoten UHNl, UHN2 umfassen, wobei mit Hilfe von Auswahldaten definiert wird, welche der Heimat-Knoten UHNl, 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 denThe network system 20 can comprise a number of home nodes UHN1, UHN2, it being defined with the aid of selection data which of the home nodes UHN1, UHN2 synchronize the common data with one another, so that the user group who has access to the common data can receive it that defines selection data. The selection data could be predefined for the connection control unit 22 or consist of an identifier which is assigned to the common data in the storage units of the home nodes. That is, common data in the
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 UHNl, UHN2 durchgeführt, während andere Daten und/oder andere Heimat- Knoten UHNl, UHN2 von der Synchronisation ausgenommen werden.Home nodes that have the same identifier are identified by the connection control unit 22 and the synchronization of the common data identified in this way in the home nodes UHN1, UHN2 determined thereby performed while other data and / or other home nodes UHN1, UHN2 are excluded from the synchronization.
Die Anzahl der Verarbeitungseinheiten PCl, PC2 und der möglichen Heimat-Knoten UHNl, 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 PCl, 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 not limited in the communication system 10 according to the invention. If one of the home nodes in the network system 20 fails, the processing unit PC1, PC2 assigned to this home node is cut off from access to the corresponding data, but the users of the other processing units can still access the via their respective home nodes access and edit shared data 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 PCl, PC2 sind vorzugsweise so gestaltet, dass sie beim Aufbau der Datenverbindung die gemeinsamen Dateien in der Speichereinheit des zugehörigen Nutzer-Knotens UHNl, 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. Hiermit kann ein Nutzer der Verarbeitungseinheit PCl, 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. Versionsverfolgers, der entweder in derThe common data that are stored in the respective home node are organized, for example, as files, for example as files in a specific file directory. The respective storage device can be, for example, a conventional data storage unit in the form of a hard disk or, in general, a memory which has data in the form of a conventional file system. The processing units PC1, PC2 are preferably designed such that when the data connection is established, they represent the common files in the storage unit of the associated user node UHN1, UHN2 on the corresponding output unit and can process them locally, in particular as if it were a file directory that would be stored in a further, local storage unit (not shown) of the respective processing unit. This enables a user of the processing unit PC1, PC2 to process the common data as if they were stored on a local hard disk. When editing existing data, you can use a so-called version tracker, either in the
Verarbeitungseinheit PCl, PC2 oder in dem entsprechend zugeordneten Heimat-Knoten UHNl, 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.Processing unit PC1, PC2 or in the correspondingly assigned home node UHN1, UHN2 can be provided, the changes are tracked. If the common data is processed at the same time, the time of a change can be determined via an appropriate time code and, depending on the time code, only one of the changes can be permitted. Alternatively, priorities can be assigned to the processing units, so that a change in data by one processing unit has priority over the change in data by another 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. Bezugs zeichenlisteAn idea of the present invention is that a plurality of users can process common data, for example in a common project, at processing units which are arranged at a distance from one another, without having to rely on access to a specific storage device which can only be reached via an extensive network. Due to the decentralized storage of the common data and the automatic synchronization of the common data either permanently or triggered by certain system events, each user can reliably access the shared data, even if parts of the network system have failed. In the communication system according to the invention, access to the common data only depends on whether the processing unit can establish a data connection to the home nodes assigned to it. Reference character list
10 Koπununikationssystem10 communication system
20 Netzwerksystem mit TSC20 network system with TSC
TSC Gesichertes Kern-Netz (Trusted System Core)TSC Trusted System Core
21 Netzwerkeinheiten, insbesondere Knoten UHN und SN Nutzer-Knoten, nämlich:21 network units, in particular nodes UHN and SN user nodes, namely:
EUN, End-Nutzer-Knoten (End User Nodes) bzw.EUN, end user nodes or
UHN Nutzer-Heimat-Knoten (User Home Nodes)UHN User Home Nodes
EUNl Erster End-Nutzer-KnotenEUNl First end user node
EUN2 Zweiter End-Nutzer-KnotenEUN2 Second end user node
PCl Erste Verarbeitungseinheit als Personal ComputerPCl First processing unit as a personal computer
PC2 Zweite Verarbeitungseinheit als Personal ComputerPC2 Second processing unit as a personal computer
UHNl Erster Nutzer-Heimat-KnotenUHNl First user home node
UHN2 Erster Nutzer-Heimat-KnotenUHN2 First user home node
V - V Datenmenge (Datenvolumen), insbesondere DokumentV - V amount of data (data volume), especially document
IF Schnittstelle (n) für Verbindung zwischen EUN undIF interface (s) for connection between EUN and
UHNUHN
SYNC Synchronisations-Einheit (en) im EUN bzw. UHNSYNC synchronization unit (s) in the EUN or UHN
211 Verbindungsdetektor im UHN211 Connection detector in the UHN
212 Speichereinheit im UHN212 storage unit in the UHN
213 Datenschnittstelle im UHN213 UHN data interface
SN Dienste-Knoten (Service Node) im Netzwerksystem 20SN service node in the network system 20
22 Verbindungssteuereinheit im Dienste-Knoten SN 22 Connection control unit in the service node SN

Claims

Patentansprüche Claims
1. Verfahren zum gemeinsamen Bearbeiten einer Datenmenge (V) durch mindestens zwei Nutzer (Ul; U2 ) mittels von ihnen bedienbaren Verarbeitungseinheiten (PCl; PC2) und mittels Zugriff auf Nutzer-Knoten (EUN, UHN), die jeweils einem der Nutzer (Ul, U2 ) zugeordnet sind und die über ein Netzwerksystem (20) miteinander verbindbar sind, wobei die zu bearbeitende Datenmenge (V) in mindestens einem der Nutzer-Knoten (EUNl, UHNl) gespeichert wird, mit folgenden Schritten:1. Method for jointly processing a data volume (V) by at least two users (U1; U2) by means of processing units (PC1; PC2) that can be operated by them and by means of access to user nodes (EUN, UHN), each of which is assigned to one of the users (Ul , U2) and which can be connected to one another via a network system (20), the amount of data (V) to be processed being stored in at least one of the user nodes (EUNl, UHNl), with the following steps:
- Herstellen von Datenverbindungen zwischen einer oder mehrerer der Verarbeitungseinheiten (PCl; PC2) und den jeweils zugeordneten Nutzer-Knoten (EUNl, UHNl; EUN2, UHN2 ) ;- Establishing data connections between one or more of the processing units (PCl; PC2) and the respectively assigned user nodes (EUNl, UHNl; EUN2, UHN2);
- Vervielfältigen der Datenmenge (V) und Speichern der vervielfältigten Datenmenge (V, V' V) in mindestens einem derjenigen miteinander verbundenen Nutzer-Knoten (UHNl; UHN2, EUN2 ) , in denen die Datenmenge (V) nicht gespeichert ist;- Duplicating the amount of data (V) and storing the replicated amount of data (V, V 'V) in at least one of those interconnected user nodes (UHNl; UHN2, EUN2) in which the amount of data (V) is not stored;
- Bearbeiten der Datenmenge (V) und/oder mindestens einer vervielfältigten Datenmenge (V, V' V ) durch mindestens einen der Nutzer (Ul) in zumindest einem der ihm zugeordneten Nutzer-Knoten (EUNl); - Prüfen, ob eine der Datenmengen (V, V, V' V ) bearbeitet worden ist;- Processing the amount of data (V) and / or at least one reproduced amount of data (V, V 'V) by at least one of the users (U1) in at least one of the user nodes (EUNl) assigned to him; - Check whether one of the data sets (V, V, V 'V) has been processed;
- Synchronisieren der Nutzer-Knoten (EUNl, UHNl; EUN2, UHN2 ) zum Datenabgleich einer bearbeiteten Datenmenge (V) mit zumindest einer noch nicht bearbeiteten Datenmenge (V, V' V).- Synchronization of the user nodes (EUNl, UHNl; EUN2, UHN2) for data comparison of a processed amount of data (V) with at least one not yet processed amount of data (V, V 'V).
2. Verfahren nach Anspruch 1, wobei jedem Nutzer (Ul) mindestens zwei Nutzer-Knoten (EUNl, UHNl) zugeordnet werden, von denen einer als End-Nutzer-Knoten (EUNl) eingerichtet wird, der ein auf der Verarbeitungseinheit (PCl) des Nutzers (Ul) laufendes Client-Programm umfasst, und von denen einer als Nutzer-Heimat-Knoten (UHNl) eingerichtet wird, der ein auf einer Netzwerkeinheit (21) des Netzwerksystems (20) laufendes Server-Programm umfasst, mit dem das Client-Programm zusammenarbeitet .2. The method according to claim 1, wherein each user (U1) is assigned at least two user nodes (EUNl, UHNl), one of which is an end-user node (EUNl) is set up, which comprises a client program running on the processing unit (PCl) of the user (U1), and one of which is set up as a user home node (UHNl), which runs on a network unit (21) of the network system (20 ) includes running server program with which the client program works.
3. Verfahren nach Anspruch 1 oder 2, wobei das Synchronisieren mindestens einen der folgenden Vorgänge umfasst:3. The method of claim 1 or 2, wherein the synchronization comprises at least one of the following operations:
- Aktualisieren der noch nicht bearbeiteten Datenmenge (V) in einem der Nutzer-Knoten, insbesondere in einem ersten Nutzer-Heimat-Knoten (UHNl), durch Datenabgleich mit der bearbeiteten Datenmenge (V) in einem anderen der Nutzer-Knoten, insbesondere in einem ersten End- Nutzer-Knoten (EUNl),- Updating the amount of data (V) not yet processed in one of the user nodes, in particular in a first user home node (UHNl), by data comparison with the amount of data processed (V) in another of the user nodes, in particular in one first end user node (EUNl),
- Aktualisieren der noch nicht bearbeiteten oder aktualisierten Datenmenge (VJJ 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 (UHNl), - 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).- Updating the amount of data that has not yet been processed or updated (VJJ in one of the user nodes, in particular in a second user home node (UHN2), by comparing data with the processed and / or updated amount of data (V) in another of the users) Nodes, in particular in a first user home node (UHNl), - updating the data quantities (V) which have not yet been processed or updated in one of the user nodes, in particular in a second end user node (EUN2), by data comparison with the processed and / or updated amount of data (V ') in another of the user nodes, in particular in a second user home node (UHN2).
4. Verfahren nach Anspruch 3, wobei das Aktualisieren der Datenmenge in einem der Nutzer-Knoten mindestens einen der folgenden Vorgänge umfasst:4. The method of claim 3, wherein updating the amount of data in one of the user nodes at least one includes the following:
- 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;- Inserting data from the processed data set (V) or from the updated data set into the not yet updated data set (V); - Deletion of 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;
- 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;- replacing data in the not yet updated data set (V)) as a function of data replacements that have been made in the processed data set (V) or in the already updated data set;
- Angabe von Zeigern, die auf die Bearbeitung bzw. die Aktualisierung von Daten hinweisen, und Zuordnen der Zeiger zu der noch nicht aktualisierten Datenmengen.- Specifying pointers that indicate the processing or updating of data, and assigning the pointers to the amount of data that has not yet been updated.
5. 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.5. The method according to any one of claims 1 to 4, wherein the data comparison, in particular the updating of the data sets (V, V, V 'V), is carried out by the data sets (V, V, V' V) with identifiers, in particular with Version identifiers and / or pointers are provided, which indicate the topicality of the last data change, in particular the last data status, the last data insertion, the last data deletion, the last data replacement and / or the last Specify data version.
6. Verfahren nach Anspruch 5, wobei die Versions-Kennungen bzw. Zeiger in Form von Vektoren definiert werden und in einem Algorithmus verarbeitet werden...6. The method according to claim 5, wherein the version identifiers or pointers are defined in the form of vectors and are processed in an algorithm ...
7. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Datenverbindung zwischen den jeweiligen Nutzer-Knoten (EUN, UHN), insbesondere zwischen den Nutzer-Heimat-Knoten (UHNl, UHN2), als permanente Datenverbindung hergestellt wird.7. The method according to any one of the preceding claims, wherein the data connection between the respective User node (EUN, UHN), in particular between the user home node (UHNl, UHN2), is established as a permanent data connection.
8. 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 (PCl, PC2 ) mit dem entsprechenden Nutzer-Knoten (EUN, UHN) verbunden ist, und wobei die Verbindungssteuereinheit (22) den Verbindungsaufbau zwischen den Nutzer-Knoten (EUN, UHN) steuert.8. The method according to any one of the preceding claims, wherein the connection of the user nodes is carried out by the user nodes (EUH, UHN) transmit their respective addresses to a connection control unit (22) as soon as the respective processing unit (PC1, PC2) the corresponding user node (EUN, UHN) is connected, and wherein the connection control unit (22) controls the connection establishment between the user nodes (EUN, UHN).
9. Netzwerksystem (20) zum gemeinsamen Bearbeiten einer Datenmenge (V) durch mindestens zwei Nutzer (Ul; U2 ) mittels von ihnen bedienbaren Verarbeitungseinheiten (PCl; PC2) und mittels Zugriff auf Nutzer-Knoten (EUN, UHN), die jeweils einem der Nutzer (Ul, 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 (EUNl, UHNl) gespeichert ist und wobei jeder der Nutzer-Knoten (UHNl) umfasst: - eine Schnittstelle (IF) zum Verbinden mit einem anderen Nutzer-Knoten (EUNl) bzw. mit einer diesem Nutzer-Knoten (EUNl) zugeordneten Verarbeitungseinheit (PCl);9. Network system (20) for jointly processing a quantity of data (V) by at least two users (U1; U2) by means of processing units (PC1; PC2) that can be operated by them and by means of access to user nodes (EUN, UHN), each of which Users (U1, U2) are assigned and are the interconnectable network units (21) of the network system (20), the amount of data (V) to be processed being stored in at least one of the user nodes (EUNl, UHNl) and each of the users Node (UHNl) comprises: - an interface (IF) for connecting to another user node (EUNl) or to a processing unit (PCl) assigned to this user node (EUNl);
- eine Speichereinheit (212) zum Speichern zumindest der gemeinsam zu bearbeitenden Daten der Datenmenge (V,- a storage unit (212) for storing at least the jointly processed data of the data volume (V,
Y);Y);
- eine Synchronisationseinheit (SYNC) zum Durchführen einer Synchronisation der miteinander verbundenen Nutzer-Knoten (EUNl, UHNl) mittels Datenabgleich einer bearbeiteten Datenmenge (V) mit zumindest einer noch nicht bearbeiteten Datenmenge (V, V' V).- A synchronization unit (SYNC) for performing a synchronization of the interconnected user nodes (EUNl, UHNl) by means of a data comparison processed amount of data (V) with at least one not yet processed amount of data (V, V 'V).
10. Netzwerksystem (20) nach Anspruch 9, wobei jedem Nutzer (Ul) mindestens zwei Nutzer-Knoten (EUNl, UHNl) zugeordnet sind, von denen einer als End-Nutzer-Knoten (EUNl) eingerichtet ist, der ein auf der Verarbeitungseinheit (PCl) des Nutzers (Ul) laufendes Client-Programm umfasst, und von denen einer als Nutzer-Heimat-Knoten (UHNl) eingerichtet ist, der ein auf einer Netzwerkeinheit (21) des Netzwerksystems (20) laufendes Server-Programm umfasst, mit dem das Client- Programm zusammenarbeitet.10. The network system (20) according to claim 9, wherein each user (U1) is assigned at least two user nodes (EUNl, UHNl), one of which is set up as an end user node (EUNl), which is a on the processing unit ( PCl) of the user (U1) comprises a running client program, and one of which is set up as a user home node (UHNl), which comprises a server program running on a network unit (21) of the network system (20), with which the client program works together.
11. Netzwerksystem (20) nach Anspruch 9 oder 10, wobei jeder der Nutzer-Knoten, insbesondere jeder Nutzer- Heimat-Knoten (UHNl, UHN2), einen Verbindungsdetektor (211) aufweist, um festzustellen, ob die entsprechende Verarbeitungseinheit (PCl, PC2 ) über eine Datenverbindung mit dem Nutzer-Knoten (UHNl, UHN2 ) verbunden ist, wobei die Synchronisationseinheiten (SYNC) der Nutzer-Knoten (UHNl, UHN2 ) so gestaltet sind, dass eine Synchronisation der Daten derjenigen Nutzer-Knoten, deren Verbindungsdetektoren (211) eine Verbindung zu der entsprechenden Verarbeitungseinheit (PCl, PC2) festgestellt haben, mit den Daten anderer Nutzer-Knoten (UHNl, UHN2 ) durchzuführen.11. Network system (20) according to claim 9 or 10, wherein each of the user nodes, in particular each user home node (UHNl, UHN2), has a connection detector (211) to determine whether the corresponding processing unit (PCl, PC2 ) is connected to the user node (UHNl, UHN2) via a data connection, the synchronization units (SYNC) of the user nodes (UHNl, UHN2) being designed such that the data of those user nodes, their connection detectors (211 ) have established a connection to the corresponding processing unit (PC1, PC2) with the data of other user nodes (UHN1, UHN2).
12. Netzwerksystem (20) nach Anspruch 10 oder bis 11, wobei das Netzwerksystem ein gesichertes Kern-Netz (TSC) mit einer Verbindungssteuereinheit (22) umfasst, die jeweils zwei der Nutzer-Heimat-Knoten (UHNl, UHN2 ) ansteuert, um diese Nutzer-Heimat-Knoten (UHNl, UHN2 ) direkt nach dem Peer-To-Peer-Prinzip miteinander zu verbinden.12. Network system (20) according to claim 10 or to 11, wherein the network system comprises a secured core network (TSC) with a connection control unit (22), each of which drives two of the user home nodes (UHNl, UHN2) User home node (UHNl, UHN2) connect directly with each other according to the peer-to-peer principle.
13. Netzwerksystem (20) nach einem der Ansprüche 9 bis 12, wobei die Synchronisationseinheiten (SYNC) der Nutzer- Knoten (EUN, UHN) gestaltet sind, um das Synchronisieren mindestens gemäß einem der folgenden Vorgänge auszuführen:13. Network system (20) according to one of claims 9 to 12, wherein the synchronization units (SYNC) of the user nodes (EUN, UHN) are designed to carry out the synchronization according to at least one of the following processes:
- Einfügen von Daten aus der bearbeiteten Datenmenge (V) bzw. aus der aktualisierten Datenmenge in die noch nicht aktualisierte Datenmenge (V) ;- Inserting data from the processed data set (V) or from the updated data set into the not yet updated data set (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;- Deletion of 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;
- 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.- replacing data in the not yet updated data set (V)) as a function of data replacements that have been made in the processed data set (V) or in the already updated data set; - Specifying pointers that indicate the processing or updating of data, and assigning the pointers to the amount of data that has not yet been updated.
14. Kommunikationssystem (10) mit einem Netzwerksystem (20) nach einem der Ansprüche 10 bis 13 und mit14. Communication system (10) with a network system (20) according to one of claims 10 to 13 and with
Verarbeitungseinheiten (PCl; PC2), in denen jeweils einer der End-Nutzer-Knoten (EUNl; EUN2 ) eingerichtet ist und die jeweils mit einem der Nutzer-Heimat-Knoten (UHNl; UHN2) des Netzwerksystems (20) zugeordnet sind und mit diesem verbindbar sind. Processing units (PCl; PC2), in each of which one of the end-user nodes (EUNl; EUN2) is set up and which are each assigned to and with one of the user-home nodes (UHNl; UHN2) of the network system (20) are connectable.
PCT/EP2007/001079 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 WO2007090645A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006005840.2 2006-02-08
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 (1)

Publication Number Publication Date
WO2007090645A1 true WO2007090645A1 (en) 2007-08-16

Family

ID=37943978

Family Applications (1)

Application Number Title Priority Date Filing Date
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

Country Status (2)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995008809A2 (en) * 1993-09-24 1995-03-30 Oracle Corporation Method and apparatus for data replication
WO2001006364A2 (en) * 1999-07-19 2001-01-25 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
EP1475724A2 (en) * 2003-05-09 2004-11-10 Microsoft Corporation Architecture for partition computation and propagation of changes in data replication
US20050086272A1 (en) * 2003-07-31 2005-04-21 Lev Novik Et Al. To Microsoft Corporation Systems and methods for replicating data stores
EP1582983A1 (en) * 2004-04-01 2005-10-05 Microsoft Corporation Systems and methods for the propagation of conflict resolution to enforce convergence of replicated data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995008809A2 (en) * 1993-09-24 1995-03-30 Oracle Corporation Method and apparatus for data replication
WO2001006364A2 (en) * 1999-07-19 2001-01-25 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
EP1475724A2 (en) * 2003-05-09 2004-11-10 Microsoft Corporation Architecture for partition computation and propagation of changes in data replication
US20050086272A1 (en) * 2003-07-31 2005-04-21 Lev Novik Et Al. To Microsoft Corporation Systems and methods for replicating data stores
EP1582983A1 (en) * 2004-04-01 2005-10-05 Microsoft Corporation Systems and methods for the propagation of conflict resolution to enforce convergence of replicated data

Also Published As

Publication number Publication date
DE102006005840B4 (en) 2007-10-31
DE102006005840A1 (en) 2007-08-30

Similar Documents

Publication Publication Date Title
EP0791884A2 (en) Method for the computerized adjustment of several file copies of a stored file, stored in at least one computer
EP3446466B1 (en) Method for fast reconfiguration of gm clocks in the tsn network by means of an explicit teardown message
EP1430369B1 (en) Dynamic access to automation resources
DE10311082A1 (en) Electronic document management process and program
EP2250588B1 (en) Method and program for providing data coherence in networks
DE102008036453A1 (en) Method for sending data and communication device
WO2006040139A1 (en) Serverless replication of databases
DE19900636B4 (en) Data access and management system and method for data access and data management for a computer system and their use
DE102006005840B4 (en) A method of processing a data set together, and a network system and a communication system for performing the method
DE102008003500B4 (en) Method for managing computer processes in a decentralized data network
EP1619849B1 (en) Method for synchronising a distributed system
DE19607132B4 (en) Method for the computer-aided adjustment of a plurality of file copies of a stored file stored in at least one computer
WO2008003404A1 (en) Method and communication system for controlling the flow of data over network nodes
DE102004017698A1 (en) Supervisory control and data acquisition system for network control system, has data acquisition components e.g. blocking devices, switching assignments and markings and usages of foreign vendors that are in respective integration platforms
DE102008026373B4 (en) Method, apparatus and system for providing data in a peer-to-peer network
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
EP2051443B1 (en) Method for operating a decentralised communication network
EP3800517A1 (en) Redundant automation system, method for providing such an automation system, computer program and computer-readable medium
DE102023102250A1 (en) Decentralized database, method for maintaining such a database and conference application based thereon
WO2013072365A1 (en) Method for securely searching, finding, reproducing, recovering, and/or exporting electronic data
EP0791885A2 (en) Method for the computerized adjustment of several file copies of a stored file, stored in at least one computer
EP2880560B1 (en) Method for synchronising dynamic object attributes in a database archive
WO2020119882A1 (en) Method and system for transmitting an application-specific data packet from machine-readable triplets
DE10308952A1 (en) Synchronization in a switchable data network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07703354

Country of ref document: EP

Kind code of ref document: A1