DE102012017308B4 - Method for transmitting data - Google Patents

Method for transmitting data Download PDF

Info

Publication number
DE102012017308B4
DE102012017308B4 DE102012017308.3A DE102012017308A DE102012017308B4 DE 102012017308 B4 DE102012017308 B4 DE 102012017308B4 DE 102012017308 A DE102012017308 A DE 102012017308A DE 102012017308 B4 DE102012017308 B4 DE 102012017308B4
Authority
DE
Germany
Prior art keywords
client
chunk
server
stream
chunks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102012017308.3A
Other languages
German (de)
Other versions
DE102012017308A1 (en
Inventor
Martin Scholl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Global Infinipool GmbH
Original Assignee
Global Infinipool GmbH
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 Global Infinipool GmbH filed Critical Global Infinipool GmbH
Priority to DE102012017308.3A priority Critical patent/DE102012017308B4/en
Publication of DE102012017308A1 publication Critical patent/DE102012017308A1/en
Application granted granted Critical
Publication of DE102012017308B4 publication Critical patent/DE102012017308B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Verfahren zur Übertragung von Daten (12) von einem ersten Client (4, 6, 8) zu einem zweiten Client (4, 6, 8) in einem Netzwerk (1), umfassend die Verfahrensschritte: – Zerlegen der Daten (12) in Chunks (14, 16, 18) durch den ersten Client (4, 6, 8), – Schreiben einer Anzahl der Chunks (14, 16, 18) in einen ersten Stream durch den ersten Client (4, 6, 8), – Senden des ersten Streams von dem ersten Client (4, 6, 8) an einen Server (2), – Lesen und Speichern der Chunks (14, 16, 18) aus dem ersten Stream auf dem Server (2), – Schreiben einer Anzahl der Chunks (14, 16, 18) in einen zweiten Stream durch den Server (2), – Senden des zweiten Streams von dem Server an den zweiten Client (4, 6, 8), dadurch gekennzeichnet, dass dem jeweiligen Chunk (14, 16, 18) eine über den Chunk (14, 16, 18) gebildete Prüfsumme (20, 22, 24) zugeordnet wird, und dass das Schreiben des jeweiligen Chunks (14, 16, 18) in den jeweiligen Stream durch den jeweiligen Sender (2, 4, 6, 8) nur auf eine Bestätigung des jeweiligen Empfängers (2, 4, 6, 8), dass der jeweilige Chunk auf dem jeweiligen Empfänger (2, 4, 6, 8) noch nicht vorhanden ist, auf Übersendung der dem Chunk (14, 16, 18) zugeordneten Prüfsumme (20, 22, 24) erfolgt.Method for transmitting data (12) from a first client (4, 6, 8) to a second client (4, 6, 8) in a network (1), comprising the steps of: - decomposing the data (12) into chunks (14, 16, 18) by the first client (4, 6, 8), - writing a number of the chunks (14, 16, 18) into a first stream by the first client (4, 6, 8), - sending the first stream from the first client (4, 6, 8) to a server (2), - reading and storing the chunks (14, 16, 18) from the first stream on the server (2), writing a number of Chunks (14, 16, 18) in a second stream through the server (2), - sending the second stream from the server to the second client (4, 6, 8), characterized in that the respective chunk (14, 16 , 18) assigning a checksum (20, 22, 24) formed via the chunk (14, 16, 18), and writing the respective chunk (14, 16, 18) into the respective stream by the respective transmitter (2 , 4, 6, 8) only to a Best actuation of the respective receiver (2, 4, 6, 8) that the respective chunk is not yet present on the respective receiver (2, 4, 6, 8), upon transmission of the check sum assigned to the chunk (14, 16, 18) (20, 22, 24) takes place.

Description

Die Erfindung betrifft ein Verfahren zur Übertragung von Daten von einem ersten Client zu einem zweiten Client in einem Netzwerk, umfassend die Verfahrensschritte:

  • – Zerlegen der Daten in Chunks durch den ersten Client,
  • – Schreiben einer Anzahl der Chunks in einen ersten Stream durch den ersten Client,
  • – Senden des ersten Streams von dem ersten Client an einen Server,
  • – Lesen und Speichern der Chunks aus dem ersten Stream auf dem Server,
  • – Schreiben einer Anzahl der Chunks in einen zweiten Stream durch den Server,
  • – Senden des zweiten Streams von dem Server an den zweiten Client.
The invention relates to a method for transmitting data from a first client to a second client in a network, comprising the method steps:
  • - decomposition of the data in chunks by the first client,
  • Writing a number of the chunks into a first stream by the first client,
  • Sending the first stream from the first client to a server,
  • - reading and saving the chunks from the first stream on the server,
  • Writing a number of chunks into a second stream through the server,
  • Sending the second stream from the server to the second client.

Sie betrifft weiter Computerprogrammprodukte sowie eine Server zum Ausführen des Verfahrens. Derartige Verfahren und Vorrichtungen sind dem Fachmann aus der US 2009/0028142 A1 , der Norm RFC 768 vom 28. August 1980 und der WO 2011/044402 A1 bekannt.It further relates to computer program products and a server for carrying out the method. Such methods and devices are those skilled in the US 2009/0028142 A1 , the RFC 768 of 28 August 1980 and the WO 2011/044402 A1 known.

Die weltweite Vernetzung von Datennetzwerken und Computern im Internet ermöglicht es, Daten zwischen beliebigen Orten auf der Erde zu versenden, sofern ein Anschluss des jeweils sendenden und empfangenden Clients an das Internet gegeben ist. Die Datenübertragung im Internet basiert dabei weitgehend auf dem Transmission Control Protocol/Internet Protocol (TCP/IP).The worldwide networking of data networks and computers on the Internet makes it possible to send data between any location on earth, provided that a connection of each sending and receiving client is given to the Internet. The data transmission in the Internet is largely based on the Transmission Control Protocol / Internet Protocol (TCP / IP).

Nachteilig ist hierbei die Impraktikabilität der Datenübertragung gerade bei Datensätzen im Terabyte-Bereich. Kommt es zu einem Verbindungsabbruch, muss unter Umständen der gesamte Datensatz neu geladen werden. Auch ein Datenfehler bei der Übertragung kann dazu führen, dass der gesamte Datensatz beim Empfänger unbrauchbar ist und neu geladen werden muss. Ein weiteres Problem stellt die Übertragungsgeschwindigkeit dar, die sich bei unterschiedlichen Leitungskapazitäten bei Sender und Empfänger stets nach dem langsamsten Teilnehmer der Datenübertragung richtet.The disadvantage here is the Impraktikability of data transmission, especially for data in the terabyte range. If a connection is aborted, it may be necessary to reload the entire data record. Also a data error during the transmission can lead to the fact that the entire data record at the receiver is unusable and must be reloaded. Another problem is the transmission speed, which always depends on the slowest participant in the data transmission at different line capacities at the transmitter and receiver.

Aus den oben genannten Gründen wird die Datenübertragung von Datenmengen im Terabyte-Bereich über das Internet kaum praktiziert. Datenmengen dieser Größenordnung werden effektiv bislang über Wechselfestplatten, die physisch transferiert werden, ausgetauscht.For the reasons mentioned above, the data transfer of terabytes of data over the Internet is hardly practiced. Data volumes of this magnitude have effectively been exchanged so far via removable hard disks that are physically transferred.

Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Übertragung von Daten anzugeben, welches einen schnellen und sicheren Austausch vergleichsweise großer Datenmengen über das Internet erlaubt.The invention is therefore based on the object to provide a method for transmitting data, which allows a fast and secure exchange of relatively large amounts of data over the Internet.

Diese Aufgabe wird erfindungsgemäß dadurch gelöst, dass dem jeweiligen Chunk eine über den Chunk gebildete Prüfsumme zugeordnet wird, und dass das Schreiben des jeweiligen Chunks in den jeweiligen Stream durch den jeweiligen Sender nur auf eine Bestätigung des jeweiligen Empfängers, dass der jeweilige Chunk auf dem jeweiligen Empfänger noch nicht vorhanden ist, auf Übersendung der dem Chunk zugeordneten Prüfsumme erfolgt.This object is achieved in that the respective Chunk a checksum formed on the Chunk is assigned, and that the writing of each chunk in the respective stream by the respective transmitter only to an acknowledgment of the respective receiver that the respective Chunk on the respective Receiver is not yet present, on sending the chunk associated checksum.

Die Erfindung geht dabei von der Überlegung aus, ein schneller und sicherer Datenaustausch großer Datenmengen über das Internet möglich wäre, wenn einerseits die Anfälligkeit für Fehler bei der Übertragung und andererseits die Abhängigkeit von der Übertragungsgeschwindigkeit von Sender und Empfänger entkoppelt werden könnte. Dies ist möglich, indem die Daten durch den ersten Client, d. h. den Sender in Chunks geringerer Größe zerlegt werden. Weiterhin wird ein Server als Mittler eingesetzt, der selbstständig Daten vom Sender empfangen und an den Empfänger, den zweiten Client senden kann. Der Server agiert damit aus Sicht des Empfängers als Sender und aus Sicht des Senders als Empfänger. Die Chunks werden vom Sender in einen Stream geschrieben, an den Server geschickt und dort gespeichert. Der Sender kann somit bei ausreichend großer Anbindungsgeschwindigkeit des Servers an das Internet mit seiner vollen Bandbreite übertragen, auch wenn dem eigentlichen Empfänger die Bandbreite nicht zur Verfügung steht. Weiterhin wird durch die Pufferung im Server die Zeit von Versand und Empfang weitgehend entkoppelt. Der Empfänger kann bereits mit dem Empfang des Streams vom Server beginnen, wenn die ersten Chunks auf dem Server eingetroffen sind, kann diese jedoch auch später empfangen. Damit sind Versand und Empfang sowohl simultan als auch konsekutiv möglich.The invention is based on the consideration, a fast and secure data exchange of large amounts of data over the Internet would be possible if on the one hand the susceptibility to errors in the transmission and on the other hand, the dependence on the transmission speed of the sender and receiver could be decoupled. This is possible by passing the data through the first client, i. H. the transmitter will be broken down into chunks of lesser size. Furthermore, a server is used as a mediator, which can independently receive data from the sender and send to the receiver, the second client. The server thus acts as the sender from the point of view of the recipient and as the recipient from the point of view of the sender. The chunks are written by the sender into a stream, sent to the server and stored there. The sender can thus transmit to the Internet with its full bandwidth at a sufficiently large connection speed of the server, even if the actual receiver, the bandwidth is not available. Furthermore, buffering in the server largely decouples the time of shipping and receiving. The receiver may already start receiving the stream from the server when the first chunks arrive on the server, but may receive it later. Thus, shipping and receiving are possible both simultaneously and consecutively.

Dabei wird dem jeweiligen Chunk eine über den Chunk gebildete Prüfsumme zugeordnet. Damit wird erreicht, dass eine Fehlerkorrektur im Stream sowohl auf Sender- als auch auf Empfängerseite möglich ist. Die Prüfsumme kann von dem sendenden Client gebildet und an den Server übertragen werden. Der Server bildet seinerseits eine Prüfsumme und gleich diese mit der vom Client übertragenen ab. Wird eine Abweichung festgestellt, wird der Chunk erneut übertragen. Gleiches gilt analog für die Übertragung der Daten vom Server zum empfangenden Client. Da die Datenmenge in Chunks zerlegt ist, wird bei einem Fehler nicht die Neuübertragung der gesamten Datenmenge notwendig, sondern lediglich die des jeweiligen Chunks.In this case, a check sum formed over the chunk is assigned to the respective chunk. This ensures that error correction in the stream is possible on both the sender and the receiver side. The checksum can be formed by the sending client and transmitted to the server. The server in turn forms a checksum and the same with the one transmitted by the client. If a deviation is detected, the chunk is retransmitted. The same applies analogously to the transfer of data from the server to the receiving client. Since the amount of data is broken down into chunks, an error does not require the retransmission of the entire data volume, but only that of the respective chunk.

Durch eine Abfrage anhand von Prüfsummen wird eine Reduzierung der im Stream übertragenen Datenmenge sowohl zwischen Sender und Server als auch zwischen Server und Empfänger mittels Deduplikation erreicht, was eine erhebliche Erhöhung der Übertragungsgeschwindigkeit zur Folge hat. Die Bestätigung durch den Server bzw. den empfangenden Client erfolgt in diesem Fall nur, wenn der jeweilige Chunk auf dem Server bzw. empfangenden Client noch nicht vorhanden ist. Ein Fall für eine erhebliche Beschleunigung der Übertragung ist dabei beispielsweise die Übertragung eines Updates der Daten. Hier wird nach der Zerlegung der Daten in Chunks zunächst die Prüfsumme gebildet und übertragen. Der Server kann mittels der Prüfsumme prüfen, ob der jeweilige Chunk durch das Update verändert wurde oder ob er identisch bereits im Speicher vorhanden ist. Im letzteren Fall wird die Übertragung nicht bestätigt. Die Datenmenge wird reduziert. Gleiches gilt für die Übertragung vom Server zum empfangenden Client.Through a query based on checksums, a reduction of the amount of data transmitted in the stream is achieved both between sender and server and between server and receiver by means of deduplication, which is a significant increase in the Transmission speed has the consequence. The confirmation by the server or the receiving client is in this case only if the respective Chunk on the server or receiving client does not yet exist. A case for a considerable acceleration of the transmission is, for example, the transmission of an update of the data. Here, after the decomposition of the data in chunks, the checksum is first formed and transmitted. The server can use the checksum to check whether the respective chunk was changed by the update or whether it already exists identically in the memory. In the latter case, the transfer is not confirmed. The amount of data is reduced. The same applies to the transfer from the server to the receiving client.

In vorteilhafter Ausgestaltung wird dem jeweiligen Stream dabei ein Identifikationselement zugeordnet. Dadurch ist der jeweilige Stream eindeutig und potenziell weltweit eindeutig identifizierbar und erreichbar. Dies ermöglicht auch eine einfache Verwaltung der Streams für den Fall, dass der Server eine Mehrzahl von Datenübertragungen zwischen unterschiedlichen Clients vermittelt.In an advantageous embodiment, an identification element is assigned to the respective stream. As a result, the respective stream is unique and potentially globally identifiable and accessible. This also allows easy management of the streams in the event that the server mediates a plurality of data transfers between different clients.

In alternativer oder zusätzlicher vorteilhafter Ausgestaltung wird dem jeweiligen Chunk ein Identifikationselement und/oder ein Metadatenelement zugeordnet. Die Zuordnung eines Identifikationselements und/oder Metadatenelements ermöglicht es dem jeweiligen Empfänger, Informationen über den jeweiligen Chunk zu erhalten, ohne die Daten des Chunks selbst empfangen zu müssen. Dies gilt insbesondere bei einer Vergabe von derartigen Elementen auf dem Server. Dies ermöglicht es insbesondere serverseitig auch, bestehende Streams zu konkatenieren, um neue Streams zu erzeugen. Diese Operation ist sowohl auf der Ebene der Metadaten bzw. Identifikationselemente, als auch der Ebene der eigentlichen Chunkdaten möglich.In an alternative or additional advantageous embodiment, an identification element and / or a metadata element is assigned to the respective chunk. The assignment of an identification element and / or metadata element allows the respective receiver to obtain information about the respective chunk without having to receive the data of the chunk itself. This applies in particular to the assignment of such elements on the server. This also makes it possible, in particular on the server side, to concatenate existing streams in order to generate new streams. This operation is possible both at the level of the metadata or identification elements and the level of the actual chunk data.

Zur selektiven Übertragung von Chunks erfolgt vorteilhafterweise erfolgt das Schreiben des jeweiligen Chunks in den jeweiligen Stream durch den jeweiligen Sender nur auf eine Bestätigung des jeweiligen Empfängers auf Übersendung des dem Chunk zugeordneten Identifikationselements bzw. des dem Chunk zugeordneten Metadatenelements. Durch eine Abfrage anhand von Metadaten oder Identifikationselementen kann der jeweilige Empfänger somit selektiv Chunks empfangen, beispielsweise aufgrund von Metadaten, die den Inhalt des Chunks betreffen, oder aufgrund eine zeitbasierten Indexierung oder logischen Indexierung mit eindeutigen Identifikationselementen.For the selective transmission of chunks advantageously takes place the writing of the respective chunk in the respective stream by the respective transmitter only on an acknowledgment of the respective receiver on transmission of the Chunk associated identification element or the Chunk associated metadata element. By means of a query based on metadata or identification elements, the respective recipient can thus selectively receive chunks, for example due to metadata concerning the content of the chunk, or due to time-based indexing or logical indexing with unique identification elements.

Vorteilhafterweise erfolgt die Übersendung der Prüfsumme bzw. des Identifikationselements bzw. des Metadatenelements und/oder der Bestätigung in einer von dem jeweiligen Stream separierten Kommunikationsverbindung. Grundsätzlich ist es möglich, sämtliche Daten, d. h. sowohl die Chunks selbst als auch die Prüfsummen, Identifikationselemente und Metadatenelemente über eine Datenverbindung, d. h. in demselben Stream zu übertragen. Eine weitere Beschleunigung der Datenübertragung wird aber möglich, wenn diese beiden Kommunikationskanäle entkoppelt werden, d. h. der Stream der Chunks nicht mit den Prüfsummen, Metadaten und Identifikationselementen vermischt wird, sondern diese in einer separaten Kommunikationsverbindung ausgetauscht werden. Die separate Kommunikationsverbindung kann hierbei – je nach Größe der hier zu übertragenden Daten – auch direkt zwischen Sender und Empfänger aufgebaut werden.Advantageously, the checksum or the identification element or the metadata element and / or the confirmation are transmitted in a communication connection separated from the respective stream. In principle it is possible to store all data, ie. H. both the chunks themselves and the checksums, identifiers, and metadata elements over a data connection, i. H. in the same stream. However, further acceleration of the data transmission becomes possible if these two communication channels are decoupled, i. H. the stream of chunks is not mixed with the checksums, metadata and identification elements, but they are exchanged in a separate communication link. Depending on the size of the data to be transmitted here, the separate communication connection can also be established directly between transmitter and receiver.

In weiterer vorteilhafter Ausgestaltung wird der jeweilige Chunk mittels eines kryptographischen Schlüssels verschlüsselt. Dies erhöht die Sicherheit der Datenübertragung gerade bei sensiblen Daten und ermöglicht eine Identifizierung von Sender und Empfänger. Dabei kann insbesondere ein symmetrischer Schlüssel, der sowohl zur Ver- als auch zur Entschlüsselung dient, verwendet werden.In a further advantageous embodiment, the respective chunk is encrypted by means of a cryptographic key. This increases the security of data transmission, especially with sensitive data, and allows identification of sender and receiver. In particular, a symmetric key, which serves both for encryption and for decryption, can be used.

In vorteilhafter Ausgestaltung bildet dabei der zweite Client eine Prüfsumme über den jeweiligen Chunk und sendet diese an den Server. Bei Übereinstimmung der empfangenen Prüfsumme mit einer vom Server ermittelten Prüfsumme über den jeweiligen Chunk wird dann der kryptographische Schlüssel an den zweiten Client gesendet. Es ist denkbar, dass hierbei nur Teile eines Chunks oder eine Kollektion von Chunks oder Teilen von Chunks verwendet werden, z. B. über ein randomisiertes Verfahren: Eine Anzahl von Chungs wird übertragen und randomisierte Bytes ausgewählt, um eine Prüfsumme darüber zu bilden. Durch ein derartiges Verfahren wird eine Datenübertragung in der Art eines Einschreibens ermöglicht. Die Bildung einer Prüfsumme über den verschlüsselten Chunk ermöglicht es dem Server bei einem Abgleich zu ermitten, ob die Daten vollständig beim empfangenden Client angekommen sind, noch bevor der empfangende Client die Daten öffnen und verändern kann. Erst bei einer Übereinstimmung der Prüfsumme, die einen vollständigen Empfang bestätigt, wird der kryptographische Schlüssel übertragen. Alternativ wäre eine zeitgesteuerte Übermittlung der Entschlüsselungsinformationen in der Art eines Zeitschlosses möglich.In an advantageous embodiment, the second client forms a checksum over the respective chunk and sends it to the server. If the received checksum matches a check sum determined by the server via the respective chunk, then the cryptographic key is sent to the second client. It is conceivable that in this case only parts of a chunk or a collection of chunks or parts of chunks are used, for. Via a randomized procedure: a number of Chungs are transferred and randomized bytes selected to form a checksum over it. Such a method enables data transmission in the form of a write-in. Forming a checksum over the encrypted chunk allows the server to match if the data has fully arrived at the receiving client, even before the receiving client can open and modify the data. Only when the checksum matches, does the cryptographic key be transmitted. Alternatively, a time-controlled transmission of the decryption information in the manner of a time lock would be possible.

In weiterer vorteilhafter Ausgestaltung wird der kryptographische Schlüssel anhand eines vordefinierten Verfahrens aus dem Inhalt des jeweiligen Chunks und/oder eines dem Chunk zugeordneten Metadatenelements ermittelt. Bespielsweise könnte die Prüfsumme über den unverschlüsselten Chunk, eine davon abgeleitete Größe oder eine zum Chunk verfasste Inhaltsangabe als Schlüssel dienen. Dies garantiert, dass eine nach der Verschlüsselung gebildete Prüfsumme über zwei identische Chunks ebenfalls identisch bleibt und ermöglicht somit eine Deduplikation trotz Verschlüsselung mit einem pro Chunk individuellen Schlüssel.In a further advantageous embodiment, the cryptographic key is determined based on a predefined method from the content of the respective chunk and / or a metadata element assigned to the chunk. For example, the checksum over the unencrypted chunk, a derived quantity, or a chunked summary could serve as a key. This guarantees that a checksum formed after the encryption via two identical chunks also remains identical and thus enables deduplication despite encryption with an individual key per chunk.

Ein Computerprogrammprodukt, umfasst vorteilhafterweise Softwarecodeabschnitte, die, wenn sie auf einem Endgerät in einem Netzwerk ausgeführt werden, das Endgerät zum Zusammenwirken als Client oder Server in dem beschriebenen Verfahren ertüchtigen.A computer program product advantageously comprises software code sections which, when executed on a terminal in a network, enable the terminal to interact as a client or server in the described method.

Ein Server in einem Netzwerk, umfasst vorteilhafterweise einen Speicher, in den ein derartiges Computerprogrammprodukt geladen ist.A server in a network advantageously comprises a memory in which such a computer program product is loaded.

Die mit der Erfindung erzielten Vorteile bestehen insbesondere darin, dass durch die Zerlegung großer Datenmengen in Chunks und Übermittlung durch einen vermittelnden Server eine besonders schnelle und sichere Datenübertragung im Internet in der Art einer Datenlogistik möglich wird. Insbesondere durch die Verwendung von Prüfsummen je Chunk ist es möglich, die Austauschprozesse um bis zu 80% zu beschleunigen.The advantages achieved by the invention are in particular that a particularly fast and secure data transmission in the Internet in the manner of data logistics is possible by the decomposition of large amounts of data in chunks and transmission by a mediating server. In particular, by using checksums per chunk, it is possible to accelerate the exchange processes by up to 80%.

Die Erfindung wird anhand einer Zeichnung näher erläutert. Darin zeigen:The invention will be explained in more detail with reference to a drawing. Show:

1 den Aufbau eines Netzwerks mit einer Mehrzahl von Clients, 1 the construction of a network with a plurality of clients,

2 zwei Kommunikationsverbindungen zwischen einem Client und einem Server mit dem schematisch dargestellten Aufbau eines Streams vom Client zum Server, 2 two communication links between a client and a server with the schematically illustrated structure of a stream from the client to the server,

3 eine Kommunikationsverbindung zwischen Client und einem Server mit dem schematisch dargestellten Aufbau eines Streams vom Server zum Client 3 a communication connection between the client and a server with the schematically illustrated structure of a stream from the server to the client

Die 1 zeigt schematisch den Aufbau eines Netzwerks 1, nämlich des Internets, mit einem Server 2 und mehreren Clients 4, 6, 8. Selbstverständlich sind eine Vielzahl weiterer Rechner im Netzwerk 1 verbunden, von denen nur die genannten dargestellt sind. In die Speicher des Servers 2 und der Clients 4, 6, 8 ist ein Computerprogramm geladen, welches Softwarecodeabschnitte umfasst, die den Server 2 bzw. die Clients 4, 6, 8 zum Ausführen der im folgenden beschriebenen Verfahren ertüchtigen.The 1 schematically shows the structure of a network 1 namely the internet, with a server 2 and multiple clients 4 . 6 . 8th , Of course there are a lot of other computers in the network 1 connected, of which only those mentioned are shown. In the memory of the server 2 and the clients 4 . 6 . 8th a computer program is loaded, which comprises software code sections containing the server 2 or the clients 4 . 6 . 8th to carry out the procedures described below.

Das im folgenden beschriebene Verfahren dient dazu eine große Datenmenge zwischen zwei Clients 4, 6, 8 auszutauschen. Die Datenmenge liegt im Terabyte-Bereich. Hierzu werden Kommunikationsverbindungen 10 zwischen dem Server 2 und jeweils einem Client 4, 6, 8 aufgebaut, wobei vom Server 2 zu einem gegebenen Client 4, 6, 8 auch mehrere Kommunikationsverbindungen bestehen können.The procedure described below serves a large amount of data between two clients 4 . 6 . 8th exchange. The amount of data is in the terabyte range. This will be communication links 10 between the server 2 and one client each 4 . 6 . 8th built, being from the server 2 to a given client 4 . 6 . 8th also several communication connections can exist.

In der 2 und der 3 ist exemplarisch eine Datenübertragung vom Client 4 an den Client 6 dargestellt. 2 zeigt die entsprechenden Kommunikationsverbindungen 10, 10a. Der sendende Client 4, 6, 8 zerlegt die Daten 12 zunächst in Chunks 14, 16, 18, wobei beliebig viele Chunks 14, 16, 18 einer kleineren Größe erzeugt werden können. Im Ausführungsbeispiel der 2 sind nur drei Chunks 14, 16, 18 dargestellt. Über jeden der Chunks 14, 16, 18 bildet der Client 4 eine Prüfsumme 20, 22, 24, die dem jeweiligen Chunk 14, 16, 18 zugeordnet wird.In the 2 and the 3 is an example of a data transfer from the client 4 to the client 6 shown. 2 shows the corresponding communication connections 10 . 10a , The sending client 4 . 6 . 8th decomposes the data 12 first in chunks 14 . 16 . 18 , with any number of chunks 14 . 16 . 18 a smaller size can be generated. In the embodiment of 2 are only three chunks 14 . 16 . 18 shown. About each of the chunks 14 . 16 . 18 forms the client 4 a checksum 20 . 22 . 24 that the respective chunk 14 . 16 . 18 is assigned.

Auf der ersten Kommunikationsverbindung 10 überträgt der Client 4 an den Server 2 zunächst die erste Prüfsumme 20. Der Server 2 prüft die in ihm gespeicherten Daten und stellt fest, dass die Prüfsumme 20 und damit der ihr zugeordnete Chunk 14 noch nicht vorhanden sind. Daraufhin sendet der Server 2 auf der Kommunikationsverbindung 10 an den Client 4 eine Bestätigung, woraufhin der Client 4 den Chunk 14 in einen Stream schreibt, der auf der zweiten Kommunikationsverbindung 10a an den Server 2 gesendet wird.On the first communication link 10 transmits the client 4 to the server 2 first the first checksum 20 , The server 2 checks the data stored in it and determines that the checksum 20 and thus the chunk assigned to it 14 not yet available. The server then sends 2 on the communication link 10 to the client 4 a confirmation, prompting the client 4 the chunk 14 writes to a stream on the second communication link 10a to the server 2 is sent.

Sodann sendet der Client 4 auf der ersten Kommunikationsverbindung 10 die nächste Prüfsumme 22 an den Server 2. Der Server 2 stellt fest, dass die Prüfsumme 22 und der ihr zugeordnete Chunk 16 bereits vorhanden sind und sendet keine Bestätigung über die Kommunikationsverbindung 10 oder eine entsprechende negative Nachricht. Der Client 4 schreibt den Chunk 16 entsprechend nicht in den Stream auf der Kommunikationsverbindung 10a. Analog wird mit dem Chunk 18 und gegebenenfalls weiteren Chunks verfahren. Alternativ kann der Client 4 auch zunächst eine Mehrzahl von Prüfsummen 20, 22, 24 senden, woraufhin der Server 2 gesammelt die Prüfsummen 20, 22, 24 mit dem in ihm vorhandenen Datensatz abgleicht und entsprechend eine nur auf die Prüfsumme 20 und den ihr zugeordneten Chunk 16 gerichtete Bestätigung an den Client 4 sendet.Then the client sends 4 on the first communication link 10 the next checksum 22 to the server 2 , The server 2 notes that the checksum 22 and the chunk associated with it 16 already exist and sends no confirmation via the communication connection 10 or a corresponding negative message. The client 4 write the chunk 16 accordingly not in the stream on the communication link 10a , Analog becomes with the Chunk 18 and optionally further chunks. Alternatively, the client 4 also first a plurality of checksums 20 . 22 . 24 send, prompting the server 2 collected the checksums 20 . 22 . 24 with the existing data set in him and equal to one only on the checksum 20 and her assigned chunk 16 directed confirmation to the client 4 sends.

Bei der Übertragung vom Client 4 an den Server 2 können auch weitere, im folgenden anhand 3 beschriebene Möglichkeiten der Bestätigung des Übertragens von Chunks zur Anwendung kommen, so z. B. anhand von Identifikationselementen und Metadaten. Weiterhin kann auch nur eine Kommunikationsverbindung 10 verwendet werden.When transferring from the client 4 to the server 2 can also use more, in the following 3 described ways of confirming the transfer of chunks are used, such. B. based on identification elements and metadata. Furthermore, only one communication connection can be made 10 be used.

3 zeigt eine Kommunikationsverbindung 10 vom Server 2 an den Client 6. Die vom Client 4 empfangenen Daten 12 sind im Server 2 abgelegt. Der für den Client 6 bestimmte Stream wird mit einem eindeutigen Identifikationselement, z. B, einer eindeutigen URL versehen, so dass er für den Client 6 per HTTP weltweit erreichbar ist. 3 shows a communication connection 10 from the server 2 to the client 6 , The from the client 4 received data 12 are in the server 2 stored. The one for the client 6 certain stream is tagged with a unique identifier, e.g. B, one provided unique URL, so he for the client 6 can be reached worldwide via HTTP.

Im Ausführungsbeispiel nach der 3 erfolgt ebenfalls eine Prüfung auf Vorhandensein von Chunks 14, 16, 18 im Client 6 anhand einer Prüfsumme 20, 22, 24, analog zu 2. Allerdings hat der Client 6 im Ausführungsbeispiel nach 3 noch keine Daten, so dass jeder Chunk 14, 16, 18 übertragen werden müsste.In the embodiment of the 3 There is also an examination for the presence of chunks 14 . 16 . 18 in the client 6 based on a checksum 20 . 22 . 24 , analogous to 2 , However, the client has 6 in the exemplary embodiment 3 still no data, so every chunk 14 . 16 . 18 would have to be transferred.

Anhand von 3 wird jedoch eine weitere Möglichkeit der Datenselektion aufgezeigt. Der Server 2 ordnet dem jeweiligen Chunk 14, 16, 18 Metadatenelemente 26, 28, 30 und Identifikationselemente 32, 34, 36 zu. Die Metadatenelemente 26, 28, 30 können beispielsweise stichwortartig zusammengefasste Informationen zum Inhalt des jeweiligen Chunks 14, 16, 18 umfassen. Die Identifikationselemente 32, 34, 36 können eindeutige Zahlenfolgen sein, die einen Chunk 14, 16, 18 eindeutig kennzeichnen, oder aber zeit-basiert sein, z. B. den Zeitpunkt des Versandes im Stream angeben.Based on 3 However, another possibility of data selection is shown. The server 2 assigns to the respective chunk 14 . 16 . 18 metadata elements 26 . 28 . 30 and identification elements 32 . 34 . 36 to. The metadata elements 26 . 28 . 30 For example, keywords summarized information about the content of each chunk 14 . 16 . 18 include. The identification elements 32 . 34 . 36 can be unique sequences of numbers that have a chunk 14 . 16 . 18 uniquely identify, or be time-based, z. For example, specify the time of shipment in the stream.

Auf der Kommunikationsverbindung 10 überträgt der Server 2 an den Client 6 zunächst das erste Metadatenelement 26 und das erste Identifikationselement 32. Der Client 6 prüft anhand vorgebbarer Kriterien, ob der Chunk zu den Metadaten im Metadatenelement 26 erwünscht ist. Bei positivem Resultat sendet der Client 6 auf der Kommunikationsverbindung 10 an den Server 2 eine Bestätigung, woraufhin der Server 2 den Chunk 14 in einen Stream schreibt, der auf der Kommunikationsverbindung 10 an den Client 6 gesendet wird. Bedarfsweise kann der Server 2 auch weitere Daten in den Stream an Client 6 einbauen, d. h. den Stream mit einem anderen Stream konkatenieren.On the communication link 10 transmits the server 2 to the client 6 first the first metadata element 26 and the first identification element 32 , The client 6 checks on the basis of specifiable criteria, whether the chunk metadata in the metadata element 26 is desired. If the result is positive, the client sends 6 on the communication link 10 to the server 2 a confirmation, whereupon the server 2 the chunk 14 writes to a stream on the communication link 10 to the client 6 is sent. If necessary, the server 2 also more data in the stream to client 6 build in, ie concatenate the stream with another stream.

Sowohl in der 2 als auch in der 3 werden die übertragenen Chunks 14, 16, 18 anhand der Prüfsummen 20, 22, 24 beim jeweiligen Empfänger auf korrekte Übertragung geprüft. Stimmt die vom jeweiligen Empfänger über den jeweiligen Chunk 14, 16, 18 gebildete Prüfsumme 20, 22, 24 nicht mit der zuvor übertragenen Prüfsumme 20, 22, 24 überein, wird eine erneute Übertragung durch erneutes Schreiben des jeweiligen Chunks 14, 16, 18 in den Stream veranlasst.Both in the 2 as well as in the 3 become the transmitted chunks 14 . 16 . 18 based on the checksums 20 . 22 . 24 checked for correct transmission at the respective receiver. This is true of the respective receiver via the respective chunk 14 . 16 . 18 formed checksum 20 . 22 . 24 not with the previously transmitted checksum 20 . 22 . 24 match, a retransmission is by rewriting the respective chunk 14 . 16 . 18 into the stream.

Auch im Beispiel nach 3 können zwei Kommunikationsverbindungen 10, 10a zur Trennung des Streams von den übrigen Signalen zur Anwendung kommen, ebenso wie die Verwendung von Prüfsummen 20, 22, 24 bei der Übertragung. Wird der Stream sowohl vom Client 4 zum Server 2 als auch vom Server 2 zum Client 6 anhand einer vorherigen Überprüfung mit Prüfsummen 20, 22, 24 erstellt, ergibt sich ein hocheffektives, schnelles und fehlerunanfälliges System zur Übertragung großer Datenmengen.Also in the example 3 can have two communication links 10 . 10a to separate the stream from the remaining signals, as well as the use of checksums 20 . 22 . 24 in the transmission. Will the stream both from the client 4 to the server 2 as well as from the server 2 to the client 6 based on a prior check with checksums 20 . 22 . 24 creates a highly effective, fast and error-free system for transmitting large amounts of data.

Weiterhin werden die Chunks 14, 16, 18 bedarfsweise mittels eines symmetrischen Schlüssels verschlüsselt. Hierfür werden im folgenden zwei Ausführungsbeispiele anhand der 2 und der 3 erläutert.Furthermore, the chunks 14 . 16 . 18 if necessary, encrypted by means of a symmetric key. For this purpose, in the following two embodiments with reference to 2 and the 3 explained.

Die Verschlüsselung kann in 2 durch den Client 4 chunkweise erfolgen. Dabei wird der verwendete Schlüssel des jeweiligen Chunks 14, 16, 18 anhand einer Prüfsumme über den Inhalt gebildet. Hier können auch komplexere Algorithmen zur Bildung des Schlüssels zur Anwendung kommen, solange das Verfahren deterministisch ist, d. h. ein Chunk 14, 16, 18 immer mit dem gleichen Schlüssel verschlüsselt wird. Wird dann eine Prüfsumme 20, 22, 24 über den verschlüsselten Chunk 14, 16, 18 gebildet, kann das Verfahren aus der 2 weiter angewendet werden, da die Prüfsummen 20, 22, 24 auch für verschlüsselte Chunks 14, 16, 18 eindeutig und reproduzierbar sind.The encryption can be in 2 through the client 4 chunkwise done. The key of the respective chunk is used 14 . 16 . 18 formed on the basis of a checksum over the content. More complex algorithms for the formation of the key can also be used here as long as the method is deterministic, ie a chunk 14 . 16 . 18 always encrypted with the same key. Will then be a checksum 20 . 22 . 24 over the encrypted chunk 14 . 16 . 18 formed, the process can from the 2 continue to be applied because the checksums 20 . 22 . 24 also for encrypted chunks 14 . 16 . 18 are unique and reproducible.

Die vom Client 4 für jeden Chunk 14, 16, 18 erzeugten Schlüssel können dann ebenfalls an den Server 2 gesendet werden oder anderweitig hinterlegt werden, z. B. an einen nicht näher gezeigten weiteren Server. In 3 ist ebenfalls eine derartige Verschlüsselung vom Server 2 zum Client 6 möglich.The from the client 4 for every chunk 14 . 16 . 18 generated keys can then also be sent to the server 2 be sent or otherwise deposited, for. B. to a not shown in detail another server. In 3 is also such an encryption from the server 2 to the client 6 possible.

Zusätzlich kann in 3 die Verschlüsselung dazu dienen, eine Datenübertragung in der Art eines Einschreibens durchzuführen. Hierzu werden die in den Stream an den Client 6 geschriebenen Chunks 14, 16, 18 vom Server 2 verschlüsselt. Nach dem Empfang des jeweiligen Chunks 14, 16, 18 bildet der Client 6 jeweils die Prüfsumme 20, 22, 24 über den verschlüsselten Chunk 14, 16, 18 und sendet diese über die Kommunikationsverbindung an den Server 2. Der Server 2 gleicht die vom Client 6 übermittelten Prüfsummen 20, 22, 24 mit den eigenen über die jeweiligen Chunks 14, 16, 18 ermittelten Prüfsummen 20, 22, 24. Wenn alle Prüfsummen 20, 22, 24 übereinstimmen, ist dies für den Server 2 die Bestätigung, dass die Daten 12 vollständig vom Client 6 empfangen wurden. Erst dann übermittelt der Server 2 den Schlüssel für die Chunks 14, 16, 18 an den Client 6, 50 dass der Client 6 die Daten entschlüsseln kann.Additionally, in 3 the encryption serve to carry out a data transmission in the form of a write-in. This will be done by sending the stream to the client 6 written chunks 14 . 16 . 18 from the server 2 encrypted. After receiving the respective chunk 14 . 16 . 18 forms the client 6 in each case the checksum 20 . 22 . 24 over the encrypted chunk 14 . 16 . 18 and sends them over the communication link to the server 2 , The server 2 is the same as the client 6 transmitted checksums 20 . 22 . 24 with your own about the respective chunks 14 . 16 . 18 determined checksums 20 . 22 . 24 , If all checksums 20 . 22 . 24 match, this is for the server 2 the confirmation that the data 12 completely from the client 6 were received. Only then the server transmits 2 the key to the chunks 14 . 16 . 18 to the client 6 . 50 that the client 6 can decrypt the data.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11
Netzwerknetwork
22
Serverserver
4, 6, 84, 6, 8
Clientclient
10, 10a10, 10a
Kommunikationsverbindungcommunication link
1212
Datendates
14, 16, 1814, 16, 18
Chunkchunk
20, 22, 2420, 22, 24
Prüfsummechecksum
26, 28, 3026, 28, 30
Metadatenelementmetadata element
32, 34, 3632, 34, 36
Identifikationselementidentification element

Claims (11)

Verfahren zur Übertragung von Daten (12) von einem ersten Client (4, 6, 8) zu einem zweiten Client (4, 6, 8) in einem Netzwerk (1), umfassend die Verfahrensschritte: – Zerlegen der Daten (12) in Chunks (14, 16, 18) durch den ersten Client (4, 6, 8), – Schreiben einer Anzahl der Chunks (14, 16, 18) in einen ersten Stream durch den ersten Client (4, 6, 8), – Senden des ersten Streams von dem ersten Client (4, 6, 8) an einen Server (2), – Lesen und Speichern der Chunks (14, 16, 18) aus dem ersten Stream auf dem Server (2), – Schreiben einer Anzahl der Chunks (14, 16, 18) in einen zweiten Stream durch den Server (2), – Senden des zweiten Streams von dem Server an den zweiten Client (4, 6, 8), dadurch gekennzeichnet, dass dem jeweiligen Chunk (14, 16, 18) eine über den Chunk (14, 16, 18) gebildete Prüfsumme (20, 22, 24) zugeordnet wird, und dass das Schreiben des jeweiligen Chunks (14, 16, 18) in den jeweiligen Stream durch den jeweiligen Sender (2, 4, 6, 8) nur auf eine Bestätigung des jeweiligen Empfängers (2, 4, 6, 8), dass der jeweilige Chunk auf dem jeweiligen Empfänger (2, 4, 6, 8) noch nicht vorhanden ist, auf Übersendung der dem Chunk (14, 16, 18) zugeordneten Prüfsumme (20, 22, 24) erfolgt.Method for transmitting data ( 12 ) from a first client ( 4 . 6 . 8th ) to a second client ( 4 . 6 . 8th ) in a network ( 1 ), comprising the steps of: - decomposing the data ( 12 ) in chunks ( 14 . 16 . 18 ) by the first client ( 4 . 6 . 8th ), - writing a number of chunks ( 14 . 16 . 18 ) into a first stream through the first client ( 4 . 6 . 8th ), - sending the first stream from the first client ( 4 . 6 . 8th ) to a server ( 2 ), - reading and saving the chunks ( 14 . 16 . 18 ) from the first stream on the server ( 2 ), - writing a number of chunks ( 14 . 16 . 18 ) into a second stream through the server ( 2 ), - sending the second stream from the server to the second client ( 4 . 6 . 8th ), characterized in that the respective chunk ( 14 . 16 . 18 ) one over the chunk ( 14 . 16 . 18 ) formed checksum ( 20 . 22 . 24 ) and that the writing of the respective chunk ( 14 . 16 . 18 ) in the respective stream by the respective transmitter ( 2 . 4 . 6 . 8th ) only on confirmation from the respective recipient ( 2 . 4 . 6 . 8th ), that the respective chunk on the respective receiver ( 2 . 4 . 6 . 8th ) does not exist yet, on sending the the Chunk ( 14 . 16 . 18 ) associated checksum ( 20 . 22 . 24 ) he follows. Verfahren nach Anspruch 1, bei dem dem jeweiligen Stream ein Identifikationselement zugeordnet wird.Method according to Claim 1, in which an identification element is assigned to the respective stream. Verfahren nach einem der vorhergehenden Ansprüche, bei dem dem jeweiligen Chunk (14, 16, 18) ein Identifikationselement (32, 34, 36) und/oder ein Metadatenelement (26, 28, 30) zugeordnet wird.Method according to one of the preceding claims, in which the respective chunk ( 14 . 16 . 18 ) an identification element ( 32 . 34 . 36 ) and / or a metadata element ( 26 . 28 . 30 ). Verfahren nach Anspruch 3, bei dem das Schreiben des jeweiligen Chunks (14, 16, 18) in den jeweiligen Stream durch den jeweiligen Sender (2, 4, 6, 8) nur auf eine Bestätigung des jeweiligen Empfängers (2, 4, 6, 8) auf Übersendung des dem Chunk (14, 16, 18) zugeordneten Identifikationselements (32, 34, 36) und/oder des dem Chunk (14, 16, 18) zugeordneten Metadatenelements (26, 28, 30) erfolgt.Method according to Claim 3, in which the writing of the respective chunk ( 14 . 16 . 18 ) in the respective stream by the respective transmitter ( 2 . 4 . 6 . 8th ) only on confirmation from the respective recipient ( 2 . 4 . 6 . 8th ) on sending the chunk ( 14 . 16 . 18 ) associated identification element ( 32 . 34 . 36 ) and / or the chunk ( 14 . 16 . 18 ) associated metadata element ( 26 . 28 . 30 ) he follows. Verfahren nach Anspruch 4, bei dem die Übersendung der Prüfsumme (20, 22, 24) und/oder des Identifikationselements (32, 34, 36) und/oder des Metadatenelements (26, 28, 30) und/oder der Bestätigung in einer von dem jeweiligen Stream separierten Kommunikationsverbindung (10a) erfolgt.Method according to Claim 4, in which the transmission of the checksum ( 20 . 22 . 24 ) and / or the identification element ( 32 . 34 . 36 ) and / or the metadata element ( 26 . 28 . 30 ) and / or the confirmation in a communication connection separated from the respective stream ( 10a ) he follows. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der jeweilige Chunk (14, 16, 18) mittels eines kryptographischen Schlüssels verschlüsselt wird.Method according to one of the preceding claims, in which the respective chunk ( 14 . 16 . 18 ) is encrypted by means of a cryptographic key. Verfahren nach Anspruch 6, bei dem der zweite Client (4, 6, 8) eine Prüfsumme (20, 22, 24) über den jeweiligen Chunk (14, 16, 18) bildet und an den Server (2) sendet, und bei dem der Server (2) bei Übereinstimmung der empfangenen Prüfsumme (20, 22, 24) mit einer vom Server (2) ermittelten Prüfsumme (20, 22, 24) über den jeweiligen Chunk (14, 16, 18) den kryptographischen Schlüssel an den zweiten Client (4, 6, 8) sendet.Method according to Claim 6, in which the second client ( 4 . 6 . 8th ) a checksum ( 20 . 22 . 24 ) over the respective chunk ( 14 . 16 . 18 ) and to the server ( 2 ) and where the server ( 2 ) if the received checksum matches ( 20 . 22 . 24 ) with one from the server ( 2 ) determined checksum ( 20 . 22 . 24 ) over the respective chunk ( 14 . 16 . 18 ) the cryptographic key to the second client ( 4 . 6 . 8th ) sends. Verfahren nach Anspruch 6 oder 7, bei dem der kryptographische Schlüssel anhand eines vordefinierten Verfahrens aus dem Inhalt des jeweiligen Chunks (14, 16, 18) und/oder eines dem Chunk (14, 16, 18) zugeordneten Metadatenelements (26, 28, 30) ermittelt wird.Method according to Claim 6 or 7, in which the cryptographic key is determined from the content of the respective chunk (32) by a predefined method ( 14 . 16 . 18 ) and / or a chunk ( 14 . 16 . 18 ) associated metadata element ( 26 . 28 . 30 ) is determined. Computerprogrammprodukt, welches Softwarecodeabschnitte umfasst, die, wenn sie auf einem Endgerät in einem Netzwerk (1) ausgeführt werden, das Endgerät zum Zusammenwirken als Client (4, 6, 8) in dem Verfahren nach einem der vorhergehenden Ansprüche ertüchtigen.Computer program product comprising software code sections which, when stored on a terminal in a network ( 1 ), the terminal to interact as a client ( 4 . 6 . 8th ) in the method according to any one of the preceding claims. Computerprogrammprodukt, welches Softwarecodeabschnitte umfasst, die, wenn sie auf einem Endgerät in einem Netzwerk (1) ausgeführt werden, das Endgerät zum Zusammenwirken als Server (2) in dem Verfahren nach einem der Ansprüche 1 bis 8 ertüchtigen.Computer program product comprising software code sections which, when stored on a terminal in a network ( 1 ), the terminal to interact as a server ( 2 ) in the method according to one of claims 1 to 8 capable. Server (2) in einem Netzwerk (1), in dessen Speicher ein Computerprogrammprodukt nach Anspruch 10 geladen ist.Server ( 2 ) in a network ( 1 ), in whose memory a computer program product according to claim 10 is loaded.
DE102012017308.3A 2012-09-03 2012-09-03 Method for transmitting data Expired - Fee Related DE102012017308B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102012017308.3A DE102012017308B4 (en) 2012-09-03 2012-09-03 Method for transmitting data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102012017308.3A DE102012017308B4 (en) 2012-09-03 2012-09-03 Method for transmitting data

Publications (2)

Publication Number Publication Date
DE102012017308A1 DE102012017308A1 (en) 2014-03-06
DE102012017308B4 true DE102012017308B4 (en) 2016-05-12

Family

ID=50098104

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012017308.3A Expired - Fee Related DE102012017308B4 (en) 2012-09-03 2012-09-03 Method for transmitting data

Country Status (1)

Country Link
DE (1) DE102012017308B4 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090028142A1 (en) * 2007-07-25 2009-01-29 Schmidt Brian K Streaming data content in a network
WO2011044402A1 (en) * 2009-10-08 2011-04-14 Hola Networks, Ltd. System and method for providing faster and more efficient data communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090028142A1 (en) * 2007-07-25 2009-01-29 Schmidt Brian K Streaming data content in a network
WO2011044402A1 (en) * 2009-10-08 2011-04-14 Hola Networks, Ltd. System and method for providing faster and more efficient data communication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Norm RFC768 28.August 1980. User Data Protocol *

Also Published As

Publication number Publication date
DE102012017308A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
EP3652656B1 (en) Devices to provide a quantity of cryptographically protected and filtered as well as sorted transaction datasets of a link of a block chain
EP3425865B1 (en) Method and device for unidirectional transmission of data to a remote application server without feedback
DE602004012485T2 (en) Device, method and computer program for managing digital certificates
EP2529529B1 (en) Method for securely downloading from distributed download sources
DE112010003149B4 (en) Collaborative encryption and decryption by agents
EP3673623A1 (en) Method and control system for controlling and/or monitoring devices
EP3110101A1 (en) Method for tamper protection of payload data packets to be transmitted over a bus system
DE102006059378A1 (en) Multi-priority messaging
EP3681102B1 (en) Method for validation of a digital user certificate
EP3949309B1 (en) Digital certificate and method for securely providing a public key
DE102004040312B4 (en) Method and device for synchronizing an adaptable security level in an electronic data transmission
DE102018129809A1 (en) Distribution node, automation network and method for transmitting telegrams
WO2019081434A1 (en) Method and control system for controlling and/or monitoring devices
DE102012017308B4 (en) Method for transmitting data
EP0884869B1 (en) Process for secure displaying during transmission of data or files between users
WO2022022992A1 (en) Digital twin-based process control in an iot network
EP3723007B1 (en) Method and control system for controlling an execution of transactions
EP3820105B1 (en) Method and system for secure time synchronization
DE102007012751B4 (en) Device, system, configuration method and configuration device
DE102020204055A1 (en) Method for treating an anomaly in data, in particular in a motor vehicle
DE102016209715A1 (en) Method and device for sending data
DE102016207642A1 (en) Method and apparatus for authenticating a data stream
DE102022117713A1 (en) System and method for long-term archiving of electronic data
WO2016012139A1 (en) Method and node for sending messages, and computer program product
DE102015119687A1 (en) Method for generating and / or transmitting an encrypted message

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012893000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012893000

Ipc: H04L0012951000

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee