WO2018141449A1 - Verfahren und vorrichtung zur verlustfreien kompression eines datenstromes - Google Patents

Verfahren und vorrichtung zur verlustfreien kompression eines datenstromes Download PDF

Info

Publication number
WO2018141449A1
WO2018141449A1 PCT/EP2017/082521 EP2017082521W WO2018141449A1 WO 2018141449 A1 WO2018141449 A1 WO 2018141449A1 EP 2017082521 W EP2017082521 W EP 2017082521W WO 2018141449 A1 WO2018141449 A1 WO 2018141449A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data stream
variable
key
receiver
Prior art date
Application number
PCT/EP2017/082521
Other languages
English (en)
French (fr)
Inventor
Gerd Völksen
Martin Schneider
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to US16/482,286 priority Critical patent/US20200007154A1/en
Priority to CN201780085233.8A priority patent/CN110214419A/zh
Priority to EP17835810.7A priority patent/EP3560103A1/de
Publication of WO2018141449A1 publication Critical patent/WO2018141449A1/de

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • H03M7/707Structured documents, e.g. XML

Definitions

  • the invention relates to a method and a device for lossless compression of a data stream, in particular an event data stream.
  • digitizing systems such as industrial plants or distributed systems based on the Internet
  • these systems are equipped with sensors and data networks in order to record the states of the entire system and its subsystems or individual components within the system at all times. derive necessary measures from this. These measures include control interventions, optimization processes or preventive activities. Further, the acquired data can be saved, an analysis of the behavior of the system or the system to be able to redesignh ⁇ men and processes to be able to demonstrate if required within the system.
  • the data processing effort can be distributed among different components or units within the system become. This has the consequence that a bottleneck in the data transport ⁇ ver ⁇ disappears at a central data processing unit.
  • Possible components of the system power can ⁇ node, control elements and other hardware units DIE NEN, which are connected to the data network of the system and have a sufficient free data storage and a suitable processor for data processing.
  • Each of the components of the system may be assigned rules or algorithms which indicate how the signals or sensor data are to be processed.
  • Another conventional approach is to distribute the sensor data processing on so-called event processing units (EPUs) in the data network, so that a central data processing of the sensor data or sensor signals is resolved.
  • the Event Processing Units may be distributed to the ver ⁇ different network nodes or control components within the system or network.
  • the distribution of the functions, ie of the rules and algorithms usually takes place in such a way that the distance between the signal producers, ie the sensors, and the signal consumers, ie the event processing units with the data processing rules integrated therein, is minimized.
  • the distance can be measured with a suitable metric, for example by means of a so-called hop count or a data transport speed.
  • the event processing units can filter the data streams by means of appropriate rules and algorithms, for example by time, value or value deviation, for example by calculating an average value, a standard deviation or a median, or correlate, for example by using a higher-grade, more content-rich one of different signal types information is extracted, namely a so-called ⁇ event or event.
  • Each node or each control component within the system can therefore occur both as a consumer and as a producer of events or EVENT ⁇ nissen.
  • Event data various technological approaches can ver ⁇ follows.
  • single event processing each event or event generates a special reaction, whereby, for example, decision tables can be used.
  • Event stream processing involves processing one or more synchronized sequences of events of the same type, originating from the same data source, such as sensor or EPU, by generating a specific action from given sequence patterns of the event values.
  • automa ⁇ th can be used.
  • a very high, heterogeneous, non-synchronized sequence of events or events from different data sources is processed by generating predetermined event patterns. knows and from it special actions are generated or derived.
  • a pattern recognition can be used.
  • the invention provides a method for lossless compression of a data stream comprising a sequence of struc ⁇ tured data objects that have a list of own sheep ⁇ th which th, respectively a key-value pair contained, the method comprising the steps of :
  • each key-value pair has a key which is formed by a character string.
  • each key-value pair has a key which is formed by a number.
  • the key-value pair has a value which is formed by a data object, an array, a character string, a numerical value or a logical value.
  • variable data object portion of the decomposed structured data object of the data stream has an array whose components are key-value pairs that are asynchronously streamed to the receiver.
  • variable data object portions of a data stream each contain a unique identification identifier for identifying their affiliation to the data stream.
  • variable ob- jektanteils of the structured data object of the data stream are determined from a reference data object and transmitted to the Emp ⁇ catcher.
  • the reference data object is formed by a structured data object of the data stream with a Budapest ⁇ voted durability.
  • the reference data object of the data ⁇ stream is identified as such and contribute to the receiver via ⁇ .
  • the durability of Referenzda ⁇ ten Volunteeres is determined by a number of transmission cycles, or a validity period.
  • the disassembling of the structured data objects of the data stream at runtime during the ⁇ transmission of the data stream to the receiver.
  • the structured data objects of the data stream are reconstructed on the receiver side on the basis of the constant data component portion obtained and the received variable data component portions for further data processing.
  • the structured data objects of the data stream are reconstructed on the receiver side on the basis of the buffered reference data objects and the received changes of the variable data component parts for further data processing.
  • the data stream is an event data stream, in particular a sensor data stream.
  • the invention further provides, according to a further aspect, a compression device for the lossless compression of a data stream having the features specified in claim 15.
  • the invention accordingly provides a compression device for lossless compression of a data stream comprising a sequence of structured data objects having a list of properties each consisting of a key-value pair, the device comprising: a data disassembly unit (DZE) is suitable, having the structural ⁇ -structured data objects of the data stream in a constant data object component which key-value pairs with konstan ⁇ th values, and having in variable data object portions which key-value pairs with variable values to disassemble ; and
  • DZE data disassembly unit
  • a data transmission unit which transmits the constant data object portion once and separately the variable data object portions of the decomposed data objects to a receiver.
  • Fig. 1 is a flowchart illustrating a possible
  • Fig. 2 is a block diagram illustrating a possible
  • a method according to the invention for the loss-free compression of a data stream in the exemplary embodiment illustrated essentially comprises three steps.
  • the data stream DS consists of a sequence of structured data objects. These data objects each have a list of so-called properties, each containing a key-value pair.
  • a first step S1 the structured data objects of the data stream are decomposed into a constant data object portion and into variable data object portions.
  • the constant data object portion has key-value pairs with constant values.
  • the variable data object portions have variable-value key-value pairs.
  • step S2 a single transfer of the formed constant data object portion of the structured data objects to a receiver takes place.
  • variable data object portions of the decomposed data objects of the data stream are transmitted to the receiver E.
  • the constant data ⁇ object-portion is transmitted first in step S2, and then the variable data object portions of the decomposed data object in step S3.
  • the transmission of the data object components takes place from a transmitter to the receiver via a data transmission medium.
  • a data transmission medium can be, for example, a data network in which network nodes are linked to one another via lines.
  • the data transmission of the constant and variable data object components takes place via data lines.
  • the data transmission of the constant and variable data objects can also take place wirelessly via an air interface.
  • 2 shows a block diagram of a possible embodiment of a compression device 1 according to the invention for the lossless compression of a data stream DS, which comprises a sequence of structured data objects DO.
  • Each one This data object DO has a list of properties, each consisting of a key-value pair.
  • the compression device 1 shown in FIG. 2 has a data decomposition unit 2 and a data transmission unit 3.
  • the zerlegetician 2 is suitable having the textured gray ⁇ th data objects of the received data stream into a kon ⁇ constants data object portion which key-value pairs with constant values, and variable data object portions, which key-value pairs with variable values have to disassemble.
  • the compression device 1 comprises a data transmission unit 3, which once the constant data object component and separately generated by the zerlegeech 2 by the zerlegeech 2 he testified ⁇ variable data object portions of the disassembled ob- projects transmits at least one recipient.
  • the data acquisition unit 2 of the compression device 1 receives from a data source (DQ) 4 at least one data stream (DS) which comprises a sequence of structured data objects DO.
  • the structured data objects of the data stream DS are determined by the
  • Data decomposition unit 2 of the compression device 1 decomposed, in a constant data object portion and in variable data object portions.
  • the data transmission unit 3, the compression device 1 then transmits once the constant data object component to a receiver 5.
  • the gene ⁇ tured by the zerlegeiser 2 variable data object portions of the decomposed data objects of the data stream by the data transfer unit 3 are then transmitted separately to the recipient.
  • the receiver 5 is preferably ektanteil a data reconstruction unit for Rekonstruk ⁇ tion of structured data objects DO from the constant obj and the received variable data object units at.
  • the structured data objects DO of the data stream DS have so-called JavaScript object notation, JSON, data objects.
  • the JSON data object forms a data format that is suitable for the transmission and storage of structured data. Data can be nested using a JSON data format.
  • the data types JSON provides are a null value, a Boolean value, a number, a string, an array, and an object.
  • An object contains a list of properties. However, objects without properties, so-called empty OBJEK ⁇ te, permitted.
  • a property of the object consists of a key and a value, whereby each key in an object may only be contained once.
  • the key is formed by a string.
  • the value of the key-value pair can be formed by an object, by an array, by a string, by a number, or by a Boolean expression.
  • each key-value pair of the structured data object DO has a key, which is formed by a character string or a number.
  • the key-value pair of the JSON obj ect has a value, which is formed by a data object, an array, a string, a numeric value or a logi ⁇ rule value at a mög ⁇ handy embodiment.
  • Data decomposition unit 2 decomposed structured data objects of the data stream DS may, in one possible embodiment ⁇ form an array whose components are key-value pairs, which are streamed asynchronously by the data transmission unit 3 by the receiver 5.
  • variable data object portions of a data stream each have a unique identification identifier for identifying their affiliation with the respective data stream DS.
  • the reference data object can be defined by a structured data object of the
  • the reference data object is first transmitted to the receiver 5 and stored there for further use.
  • the reference data object is preferably identified as such and transmitted to the receiver 5 by the data transmission unit 3 of the compression device 1 and buffered in the receiver.
  • the durability of the reference data object is determined by a number of transmission cycles. In a further possible embodiment, the durability of the reference data object is determined by a specific validity period and / or expiration time.
  • the decomposition of the structured data object takes place on the data transfer unit 2 at runtime during the transmission of the data stream DS to the receiver 5.
  • the structured data objects DO of the original data stream DS can be based on the obtained constant data object portion and the received variable data object portions are reconstructed for further data processing.
  • the structured data objects DO of the data stream DS are reconstructed on the receiver 5 side on the basis of the temporarily stored reference data objects and received changes to the variable data component parts for further data processing.
  • the data stream source of the data 4 obtained is preferably an event ⁇ stream.
  • the data source 4 is a sensor that generates sensor data which is used as a sensor. sorrtzstrom be transferred from the data source 4 to the compression device 1.
  • a data stream DS which may be a data stream of event data, includes a sequence of structured data objects.
  • a data source 4 game as examples, a sensor or any other unit of the Sys tems ⁇ , a single data stream DS is generated.
  • This data stream can for example consist of a sequence of tripeln best ⁇ hen, comprising for example, a sensor ID of the sensor 4, a time stamp and a sensor value.
  • a structured data object of the data stream DS ⁇ in JSON notation can be represented as follows:
  • an event data object or an event data object is first generated from a generated sensor signal or sensor data sequence.
  • An event or an event represents a structured data structure that includes further information beyond the pure sensor data.
  • an event data object containing sensor data of a thermal sensor can indicate the dimension or unit of the sensor data, for example ° C or ° F or ° K, depending on how the relevant sensor or data source 4 is constructed or configured.
  • an event or event can be subscribed to by a consumer or a data processing unit, which delivers a temperature value from a particular location where it is, for example, of secondary importance whether the sensor value of a of a heat sensor or Thermal Imaging Camera
  • a numerical value may sometimes be completely missing.
  • a fire alarm event can be derived from the sensor data of a smoke alarms ⁇ DERS and from sensor data of a heat detector, wherein the two sensors, ie, the smoke detector and the heat detector to monitor the same space and submitted their sensor data from a given time window need.
  • the compression device 1 allows loss-free compression of the data stream originating from the data source 4. This means that no information loss is caused by the inventive method and the compression device 1 according to the invention. Especially if the value of an event is not numerical in nature, but represents a complex data structure, a loss of information is to be avoided. This is especially true if the source of the event stream is already filtered by a time or value criterion. Each event or transmitted by ei ⁇ ner data source or event source 4 or keptsen- det any event, must be able to be completely reconstructed at their respective receivers. 5
  • a discrete sequence of sensor data or events or EVENT ⁇ nisse, originating from the same data source 4 can be transmitted as a data or data stream of so-called Stream.
  • An example of a sequence of primitive events or sensor data is as follows:
  • This sequence of data objects DO can be represented as a stream as follows:
  • the constant portion of the sequence of sensor data ⁇ objects namely the SensorIDs, pulled out of the sequence or excluded.
  • variable components of the sensor data sequence namely, the time stamp ⁇ and values are summarized in the example shown in a JSON array.
  • the streaming mechanism ensures that the data is transmitted asynchronously and continuously to the receiver 5, ie that the data objects DO of the data stream DS which transmits the array can already be read by the receiver 5, while the data transmission unit of the compression device 1 generate additional data objects and write them into the array or stream.
  • streaming can generally be done by excluding the constant portions of the structured data object as follows: "Event data”: [ ⁇ ⁇ . C 1 , K 2 : C 2 , K N : C N , K N + 1 : V N + ll , K N + 2 : V N + 2l , ..., K N + M : V N + Ml ⁇
  • Event data [ ⁇ ⁇ . C 1 , K 2 : C 2 , K N : C N , K N + 1 : V N + ll , K N + 2 : V N + 2l , ..., K N + M : V N + Ml ⁇
  • Event data [ ⁇ ⁇ . C 1 , K 2 : C 2 , K N : C N , K N + 1 : V N + ll , K N + 2 : V N + 2l , ..., K N + M : V N + Ml ⁇
  • Event data [ ⁇ ⁇ . C 1 , K 2 : C 2
  • Event data ⁇ ⁇ ⁇ C 1 , K 2 : C 2 , K N : C N , K N + 1 : V N + l2 , K N + 2 : V N + 22 , ..., K N + M : V N + M2 ⁇
  • K s denotes the keys or keys the key-value pairs and C s the constant values.
  • V s stands for variable values.
  • a procedure by which the clipping is implemented may be executed as follows in a possible embodiment.
  • send (varObj); // Only the variable part of the object is transmitted stream. send ("]"); // For the sake of completeness
  • This procedure determines which portions of the data ⁇ properties are considered constant and which as variable.
  • the evaluation is carried out during the term. Alternatively, the data evaluation can not be done at runtime.
  • Each received data object can be updated by the next data object and completed for further data processing ⁇ .
  • the data reduction or data compression can also be carried out according to the method according to the invention.
  • a unique identification ID is given to the variable portion of the data object, based on which the variable object portions can be associated with the object part with the kon ⁇ constants attributes again:
  • Event data ⁇ EventID: eventID
  • K X C 1 ( K 2 : C 2 , ..., K N : C N , K N + 1 : V N + 1 L , K N + 2 : V N + 2L , ..., K N + M : V N + ML ⁇
  • K X C 1 ( K 2 : C 2 , ..., K N : C N , K N + 1 : V N + 1 L , K N + 2 : V N + 2L , ..., K N + M : V N + ML ⁇
  • K s denotes the keys or keys, C s constant values and V s variable values.
  • Event data ⁇ EventlD: eventlD, K N + 1: V N + 1 L, K N + 2: V N + 2L, ..., K N + M: V N + ML ⁇
  • the complete data sets can thus be reconstructed as far as necessary on the part of the receiver 5 on the basis of the identification code.
  • This can be used to stream the variable portions of discrete data objects.
  • it has ever ⁇ not known which parts of a data object vari- able proportions and which are constant components or when to change the variable components and when not. In these cases, a distinction can be made dynamically.
  • the following example shows the transmission of timestamps at intervals of 1.5 seconds. The construct is given as follows:
  • the inventive method and the Kompressi ⁇ onsvoroplasty invention offers a significant potential for data reduction.
  • a procedure that implements this may be: obj.getO; // data from the source is read into the object
  • refObj obj; // Creates a copy as a reference object
  • the reduce function specified in the above procedure implements the following table for each key-value pair of the data object.
  • the JSON obj ects obj and Refobj only in the values, not depending ⁇ but differ in the keys.
  • the reduction can be extended to a JSON array by transferring only the differentiating components of the array.
  • an empty data object " ⁇ " can be transmitted.
  • An empty data object is allowed after the JSON definition.
  • the result may differ from the JSON definition because it always transfers a comma, even though components are missing due to equality. In extreme cases this can look like this:
  • Such a construct is not provided in the conventional JSON definition, but can help in the reconstruction of an array in finding the right place for the geän ⁇ derten value, for example in an array, the third component: ,, [,, w, ...] "The reception on the side of the receiver 5 takes place in reverse order The next updated and completed and processed internally on ⁇ .
  • an extension to the reference object can take place.
  • the transfer of structured data or data objects is realized in the sense that each data object is used as Referenzob ⁇ ject, so that only the changes to this will carry over ⁇ need.
  • a reference object can be given a longer duration .
  • each can 10-th, 20-th or 100-th, for example, data object to a reference object declared ⁇ the by the transmission cycles are counted.
  • the reference object On the side of the receiver 5, the reference object is selected and up- dated ⁇ with the following received objects and completed, to then perform the data processing.
  • the reference object remains as long as it holds ⁇ until by the receiver 5, a new reference object Will be received.
  • the reference object is preferably stored in a dedicated buffer.
  • the inventive method and the inventive Comp ⁇ ressionsvorraum serve for the efficient transfer of data from structured data or data objects. This results in a lossless compression without loss of information.
  • the constant portion of the structured data object is preferably carry only once via ⁇ and then transmit the variable data object play se ⁇ ready.
  • it can be decided at runtime whether there has been a change of an object component with respect to a reference data object. In this case, only the changes are transmitted to the receiver 5.
  • the inventive method also allows data transmission without streaming.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Verfahren und Vorrichtung zur verlustfreien Kompression eines Datenstromes (DS), der eine Folge von strukturierten Datenob- jekten umfasst, die eine Liste von Eigenschaften aufweisen, welche jeweils ein Schlüssel-Wert-Paar enthalten, mit den folgenden Schritten: Zerlegen (S1) der strukturierten Daten- objekte des Datenstromes (DS) in einen konstanten Datenob- jekt-Anteil, welcher Schlüssel-Wert-Paare mit konstanten Wer- ten aufweist, und in variable Datenobjekt-Anteile, welche Schlüssel-Wert-Paare mit variablen Werten aufweisen; einmali- ges Übertragen (S2) des konstanten Datenobjekt-Anteils der strukturierten Datenobjekte zu einem Empfänger; und Übertra- gen (S3) der variablen Datenobjekt-Anteile der zerlegten Da- tenobjekte des Datenstromes (DS) zu dem Empfänger.

Description

Verfahren und Vorrichtung zur verlustfreien Kompression eines Datenstromes
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur verlustfreien Kompression eines Datenstromes, insbesondere eines Ereignisdatenstromes.
Bei der Digitalisierung von Systemen, beispielsweise Industrieanlagen oder verteilten auf dem Internet basierenden Sys- temen, werden diese Systeme mit Sensoren und Datennetzen ausgerüstet, um zu jedem Zeitpunkt die Zustände des gesamten Systems und dessen Subsysteme oder einzelner Komponenten innerhalb des Systems zu erfassen und ggf. daraus notwendige Maßnahmen abzuleiten. Zu diesen Maßnahmen gehören Steuerungs- eingriffe, Optimierungsprozesse oder präventive Tätigkeiten. Ferner können die gewonnenen Daten gespeichert werden, um eine Analyse des Verhaltens des Systems bzw. der Anlage vorneh¬ men zu können und Prozesse innerhalb des Systems bei Bedarf nachweisen zu können.
Falls eine große Anzahl von Sensoren in einer Anlage bzw. einem System installiert wird und diese Sensoren jeweils Sen¬ sordaten mit einer hohen Frequenz erzeugen, gestaltet sich die Übertragung und Verarbeitung der erzeugten Sensordaten schwierig. Erzeugen beispielsweise 25.000 Sensoren in einem
Zehntelsekundentakt Daten bzw. Datenpakete mit einem Datenum- fang von 100 Bytes, so ist es notwendig, etwa 2 Terabyte pro Tag zu übertragen, zu verarbeiten und ggf. auch abzuspei¬ chern. Mit zunehmender Komplexität der Systeme bzw. Anlagen werden die Datenmengen weiter ansteigen.
Bei herkömmlichen Systemen bestehen unterschiedliche Lösungsansätze, um das Datentransportvolumen und den Verarbeitungs¬ aufwand zur Verarbeitung der Daten zu reduzieren.
Durch eine Dezentralisierung der Datenverarbeitung von Sensordaten kann der Datenverarbeitungsaufwand auf verschiedene Komponenten bzw. Einheiten innerhalb des Systems verteilt werden. Das hat zur Folge, dass ein Flaschenhals im Daten¬ transport bei einer zentralen Datenverarbeitungseinheit ver¬ schwindet. Als mögliche Komponenten des Systems können Netz¬ knoten, Steuerungselemente und andere Hardwareeinheiten die- nen, die mit dem Datennetz des Systems verbunden sind und über einen ausreichend freien Datenspeicher und einen geeigneten Prozessor zur Datenverarbeitung verfügen. Jeder der Komponenten des Systems können Regeln oder Algorithmen zugeordnet werden, welche angeben, wie die Signale bzw. Sensorda- ten zu verarbeiten sind.
Bei einem sogenannten Publish/Subscribe-Ansatz werden Sensordaten von ihren Produzenten bzw. Datenquellen nur zu denjenigen Konsumenten transportiert, die diese Daten tatsächlich benötigen. Dadurch ist es möglich, das Kommunikationsnetz zwischen den Komponenten nicht vollständig mit allen Daten zu fluten, sondern den Datentransport innerhalb des Systems auf ein Minimum im Sinne eines Multicast anstatt eines Broadcast zu reduzieren. Bei diesem herkömmlichen Lösungsansatz werden daher die Daten, die nicht subskribiert sind, nicht innerhalb des Systems verteilt.
Ein weiterer herkömmlicher Lösungsansatz besteht darin, die Sensordaten-Verarbeitung auf sogenannte Event Processing Units (EPUs) im Datennetz zu verteilen, sodass eine zentrale Datenverarbeitung der Sensordaten bzw. Sensorsignale aufgelöst wird. Die Event Processing Units können auf die ver¬ schiedenen Netzknoten bzw. Steuerungskomponenten innerhalb des Systems bzw. Netzes verteilt werden. Die Verteilung der Funktionen, d.h. der Regeln und Algorithmen, erfolgt dabei meist in der Art und Weise, dass der Abstand zwischen den Signalproduzenten, d.h. den Sensoren, und den Signalkonsumenten, d.h. den Event Processing Units mit den darin integrierten Datenverarbeitungsregeln, minimiert wird. Dabei kann der Abstand mit einer passenden Metrik gemessen werden, beispielsweise mittels eines sogenannten Hop-Counts oder einer Daten-Transportgeschwindigkeit . Die Event Processing Units können mittels entsprechender Regeln und Algorithmen die Datenströme filtern, beispielsweise nach Zeit, Wert oder Wertabweichung, aggregieren, beispielsweise durch Berechnung eines Mittelwertes, einer Standardab- weichung oder eines Medians, oder korrelieren, beispielsweise indem aus unterschiedlichen Signaltypen eine höherwertige, inhaltsreichere Information extrahiert wird, nämlich ein so¬ genannter Event bzw. Ereignis. Jeder Netzknoten bzw. jede Steuerungskomponente innerhalb des Systems kann daher sowohl als Konsument als auch als Produzent von Events bzw. Ereig¬ nissen auftreten.
Gemeinsam haben diese herkömmlichen Lösungsansätze, dass der Datenverkehr so weit reduziert wird, dass nur die jeweiligen Segmente des Netzes bzw. Systems mit Datenverkehr belastet werden, in denen sich auch subskribierende Konsumenten befinden und durch welche die Datenverarbeitung schneller erfolgen kann. Diese Lösungsansätze werden im Rahmen des sogenannten Distributed Complex Event Processing genutzt.
Für die Verarbeitung von Daten, insbesondere sogenannte
Eventdaten, können verschiedene technologische Ansätze ver¬ folgt werden. Bei dem sogenannten Single Event Processing generiert jeder Event bzw. jedes Ereignis eine spezielle Reak- tion, wobei beispielsweise Entscheidungstabellen zum Einsatz kommen können. Beim sogenannten Event Stream Processing erfolgt eine Verarbeitung einer oder mehrerer synchronisierter Folgen von Events desselben Typs, die von derselben Datenquelle, beispielsweise Sensor oder EPU, stammen, indem aus vorgegebenen Sequenzmustern der Eventwerte eine spezifische Aktion generiert wird. Hierbei können beispielsweise Automa¬ ten zum Einsatz kommen.
Bei dem sogenannten Complex Event Processing erfolgt eine Verarbeitung einer sehr hohen, heterogenen nicht- synchronisierten Folge von Events bzw. Ereignissen aus unterschiedlichen Datenquellen, indem vorgegebene Event-Muster er- kannt und daraus spezielle Aktionen generiert bzw. abgeleitet werden. Hierbei kann eine Mustererkennung zum Einsatz kommen.
Bei einem Publish/Subscribe-Ansatz werden an jeder Event Pro- cessing Unit (EPU) nur diejenigen Events bzw. Ereignisse erscheinen, die dort auch subskribiert sind und demzufolge ver¬ arbeitet werden können.
Die herkömmlichen Ansätze zur Reduzierung des Datentransport- volumens und des Datenverarbeitungsaufwandes von Daten stoßen bei hohen Datenmengen allerdings an ihre Grenzen.
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zu schaffen, welche den Auf- wand zur Datenübertragung und Datenverarbeitung weiter reduzieren .
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den in Patentanspruch 1 angegebenen Merkmalen gelöst.
Die Erfindung schafft demnach ein Verfahren zur verlustfreien Kompression eines Datenstromes, der eine Folge von struktu¬ rierten Datenobjekten umfasst, die eine Liste von Eigenschaf¬ ten aufweisen, welche jeweils ein Schlüssel-Wert-Paar enthal- ten, wobei das Verfahren die folgenden Schritte aufweist:
Zerlegen der strukturierten Datenobjekte des Datenstromes in einen konstanten Datenobjekt-Anteil, welcher Schlüssel-Wert- Paare mit konstanten Werten aufweist, und in variable Daten¬ objekt-Anteile, welche Schlüssel-Wert-Paare mit variablen Werten aufweisen,
einmaliges Übertragen des konstanten Datenobjekt-Anteils der strukturierten Datenobjekte zu einem Empfänger und
Übertragen der variablen Datenobjekt-Anteile der zerlegten Datenobjekte des Datenstromes zu dem Empfänger.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens weisen die strukturierten Datenobjekte des Daten¬ stromes JavaScript Object Notation, JSON, Datenobjekte auf. Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens weist jedes Schlüssel-Wert-Paar einen Schlüssel auf, der durch eine Zeichenkette gebildet wird.
Bei einer alternativen Ausführungsform des erfindungsgemäßen Verfahrens weist jedes Schlüssel-Wert-Paar einen Schlüssel auf, der durch eine Zahl gebildet wird.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens weist das Schlüssel-Wert-Paar einen Wert auf, der durch ein Datenobjekt, ein Array, eine Zeichenkette, einen Zahlenwert oder einen logischen Wert gebildet wird.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens weist der variable Datenobjekt-Anteil des zerlegten strukturierten Datenobjektes des Datenstromes ein Array auf, dessen Komponenten Schlüssel-Wert-Paare sind, die zu dem Empfänger asynchron gestreamt werden.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens enthalten die variablen Datenobjekt- Anteile eines Datenstromes jeweils eine eindeutige Identifi- zierungskennung zur Kennzeichnung ihrer Zugehörigkeit zu dem Datenstrom.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens werden Änderungen des variablen Datenob- jektanteils des strukturierten Datenobjektes des Datenstromes gegenüber einem Referenzdatenobjekt ermittelt und zu dem Emp¬ fänger übertragen.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird das Referenzdatenobjekt durch ein strukturiertes Datenobjekt des Datenstromes mit einer vorbe¬ stimmten Dauerhaftigkeit gebildet. Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird das Referenzdatenobjekt des Daten¬ stromes als solches gekennzeichnet und zu dem Empfänger über¬ tragen .
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird die Dauerhaftigkeit des Referenzda¬ tenobjektes durch eine Anzahl von Übertragungszyklen oder einen Gültigkeitszeitraum festgelegt.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens erfolgt das Zerlegen der strukturierten Datenobjekte des Datenstromes zur Laufzeit während der Über¬ tragung des Datenstromes zu dem Empfänger.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens werden auf Seiten des Empfängers die strukturierten Datenobjekte des Datenstromes auf Grundlage des erhaltenen konstanten Datenobj ektanteils und der empfangenen variablen Datenobj ektanteile zur weiteren Datenverarbeitung rekonstruiert.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens werden auf Seiten des Empfängers die strukturierten Datenobjekte des Datenstromes auf Grundlage der zwischengespeicherten Referenzdatenobjekte und der empfangenen Änderungen der variablen Datenobj ektanteile zur weiteren Datenverarbeitung rekonstruiert.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens ist der Datenstrom ein Ereignisdatenstrom, insbesondere ein Sensordatenstrom.
Die Erfindung schafft ferner gemäß einem weiteren Aspekt eine Kompressionsvorrichtung zur verlustfreien Kompression eines Datenstromes mit den in Patentanspruch 15 angegebenen Merkmalen . Die Erfindung schafft demnach eine Kompressionsvorrichtung zur verlustfreien Kompression eines Datenstromes, der eine Folge von strukturierten Datenobjekten umfasst, die eine Liste von Eigenschaften aufweisen, welche jeweils aus einem Schlüssel-Wert-Paar bestehen, wobei die Vorrichtung aufweist: eine Datenzerlegeeinheit (DZE) , die geeignet ist, die struk¬ turierten Datenobjekte des Datenstromes in einen konstanten Datenobjekt-Anteil, welcher Schlüssel-Wert-Paare mit konstan¬ ten Werten aufweist, und in variable Datenobjekt-Anteile, welche Schlüssel-Wert-Paare mit variablen Werten aufweisen, zu zerlegen; und
eine Daten-Übertragungseinheit (DÜE) , welche einmalig den konstanten Datenobj ektanteil und separat die variablen Daten- obj ektanteile der zerlegten Datenobjekte an einen Empfänger überträgt.
Im Weiteren werden mögliche Ausführungsformen des erfindungsgemäßen Verfahrens und der erfindungsgemäßen Vorrichtung unter Bezugnahme auf die beigefügten Figuren detailliert be- schrieben.
Es zeigen:
Fig. 1 ein Ablaufdiagramm zur Darstellung einer möglichen
Ausführungsform des erfindungsgemäßen Verfahrens zur verlustfreien Kompression eines Datenstromes;
Fig. 2 ein Blockschaltbild zur Darstellung einer möglichen
Ausführungsform einer erfindungsgemäßen Kompressi- onsvorrichtung zur verlustfreien Kompression eines
Datenstromes .
Wie man in Fig. 1 erkennen kann, umfasst ein erfindungsgemäßes Verfahren zur verlustfreien Kompression eines Datenstro- mes bei dem dargestellten Ausführungsbeispiel im Wesentlichen drei Schritte. Der Datenstrom DS besteht aus einer Folge von strukturierten Datenobjekten. Diese Datenobjekte weisen jeweils eine Liste von sogenannten Eigenschaften auf, die jeweils ein Schlüssel- Wert-Paar enthalten.
In einem ersten Schritt Sl werden die strukturierten Datenobjekte des Datenstromes in einen konstanten Datenobjekt-Anteil und in variable Datenobjekt-Anteile zerlegt. Der konstante Datenobjekt-Anteil weist dabei Schlüssel-Wert-Paare mit kon- stanten Werten auf. Die variablen Datenobjekt-Anteile weisen Schlüssel-Wert-Paare mit variablen Werten auf.
Anschließend erfolgt im Schritt S2 ein einmaliges Übertragen des gebildeten konstanten Datenobjekt-Anteils der struktu- rierten Datenobjekte zu einem Empfänger.
In einem weiteren Schritt S3 erfolgt eine Übertragung der variablen Datenobjekt-Anteile der zerlegten Datenobjekte des Datenstromes zu dem Empfänger E.
Bei dem in Fig. 1 dargestellten Ausführungsbeispiel des erfindungsgemäßen Verfahrens wird zunächst der konstante Daten¬ objekt-Anteil im Schritt S2 übertragen und anschließend die variablen Datenobjekt-Anteile des zerlegten Datenobjektes im Schritt S3. Die Übertragung der Datenobjekt-Anteile erfolgt bei einer möglichen Ausführungsform von einem Sender zu dem Empfänger über ein Datenübertragungsmedium. Hierbei kann es sich beispielsweise um ein Datennetz handeln, bei dem Netzknoten über Leitungen miteinander verknüpft sind. Dabei er- folgt die Datenübertragung der konstanten und variablen Datenobjekt-Anteile über Datenleitungen. Alternativ kann die Datenübertragung der konstanten und variablen Datenobjekte auch drahtlos über eine Luftschnittstelle erfolgen. Fig. 2 zeigt ein Blockschaltbild einer möglichen Ausführungs¬ form einer erfindungsgemäßen Kompressionsvorrichtung 1 zur verlustfreien Kompression eines Datenstromes DS, der eine Folge von strukturierten Datenobjekten DO umfasst. Jedes die- ser Datenobjekte DO weist eine Liste von Eigenschaften auf, welche jeweils aus einem Schlüssel-Wert-Paar bestehen. Die in Fig. 2 dargestellte Kompressionsvorrichtung 1 weist eine Datenzerlegungseinheit 2 und eine Datenübertragungseinheit 3 auf. Die Datenzerlegeeinheit 2 ist geeignet, die strukturier¬ ten Datenobjekte des empfangenen Datenstromes in einen kon¬ stanten Datenobjekt-Anteil, welcher Schlüssel-Wert-Paare mit konstanten Werten aufweist, und in variable Datenobjekt- Anteile, welche Schlüssel-Wert-Paare mit variablen Werten aufweisen, zu zerlegen. Die Kompressionsvorrichtung 1 enthält eine Datenübertragungseinheit 3, welche einmalig den durch die Datenzerlegeeinheit 2 erzeugten konstanten Datenobjekt- Anteil und separat die durch die Datenzerlegeeinheit 2 er¬ zeugten variablen Datenobjekt-Anteile der zerlegten Datenob- jekte an mindestens einen Empfänger überträgt.
Wie in Fig. 2 dargestellt, erhält die Datenzerlegeeinheit 2 der Kompressionsvorrichtung 1 von einer Datenquelle (DQ) 4 mindestens einen Datenstrom (DS) , der eine Folge von struktu- rierten Datenobjekten DO umfasst. Die strukturierten Datenobjekte des Datenstromes DS werden durch die
Datenzerlegeeinheit 2 der Kompressionsvorrichtung 1 zerlegt, und zwar in einen konstanten Datenobjekt-Anteil und in variable Datenobjekt-Anteile. Die Datenübertragungseinheit 3 der Kompressionsvorrichtung 1 überträgt anschließend einmalig den konstanten Datenobjekt-Anteil zu einem Empfänger 5. Weiterhin werden anschließend die von der Datenzerlegeeinheit 2 gene¬ rierten variablen Datenobjekt-Anteile der zerlegten Datenobjekte des Datenstromes durch die Datenübertragungseinheit 3 separat an den Empfänger 5 übertragen. Der Empfänger 5 weist vorzugsweise eine Datenrekonstruktionseinheit zur Rekonstruk¬ tion der strukturierten Datenobjekte DO aus dem konstanten Datenobj ektanteil und den empfangenen variablen Datenobjekt- anteilen auf.
Die strukturierten Datenobjekte DO des Datenstromes DS weisen bei einer möglichen Ausführungsform sogenannte JavaScript Object Notation, JSON, Datenobjekte auf. Das JSON-Datenobj ekt bildet ein Datenformat, das zur Übertragung und Speicherung von strukturierten Daten geeignet ist. Mit einem JSON- Datenformat können Daten verschachtelt werden. Als Datentypen sind bei JSON ein Nullwert, ein Boolescher Wert, eine Zahl, eine Zeichenkette, ein Array und ein Objekt vorgesehen. Ein Objekt enthält dabei eine Liste von Eigenschaften. Allerdings sind auch Objekte ohne Eigenschaften, sogenannte leere Objek¬ te, zulässig. Eine Eigenschaft des Objektes besteht aus einem Schlüssel und einem Wert, wobei jeder Schlüssel in einem Ob- jekt nur einmal enthalten sein darf. Bei einer bevorzugten Ausführungsform wird der Schlüssel durch eine Zeichenkette gebildet. Der Wert des Schlüssel-Wert-Paares kann durch ein Objekt, durch ein Array, durch eine Zeichenkette, durch eine Zahl oder durch einen Booleschen Ausdruck gebildet werden.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens weist jedes Schlüssel-Wert-Paar des strukturierten Datenobjektes DO einen Schlüssel bzw. Key auf, der durch eine Zeichenkette oder eine Zahl gebildet wird. Weiterhin besitzt das Schlüssel-Wert-Paar des JSON-Datenobj ektes bei einer mög¬ lichen Ausführungsform einen Wert, der durch ein Datenobjekt, ein Array, eine Zeichenkette, einen Zahlwert oder einen logi¬ schen Wert gebildet wird. Die variablen Datenobjekt-Anteile der durch die
Datenzerlegeeinheit 2 zerlegten strukturierten Datenobjekte des Datenstromes DS können bei einer möglichen Ausführungs¬ form ein Array aufweisen, dessen Komponenten Schlüssel-Wert- Paare sind, die von der Datenübertragungseinheit 3 durch den Empfänger 5 asynchron gestreamt werden.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens weisen die variablen Datenobjekt-Anteile eines Datenstromes jeweils eine eindeutige Identifikations- kennung zur Kennzeichnung ihrer Zugehörigkeit zu dem jeweiligen Datenstrom DS auf. Bei einer möglichen Ausführungsform werden Änderungen des variablen Datenobjekt-Anteils des strukturierten Datenobjektes des Datenstromes DS gegenüber einem Referenzdatenobjekt er¬ mittelt und zu dem Empfänger 5 übertragen. Dabei kann das Re- ferenzdatenobj ekt durch ein strukturiertes Datenobjekt des
Datenstromes mit einer vorbestimmten Dauerhaftigkeit gebildet sein. Bei einer möglichen Ausführungsform wird das Referenzdatenobjekt zunächst an den Empfänger 5 übertragen und dort zur weiteren Verwendung zwischengespeichert. Das Referenzda- tenobjekt wird vorzugsweise als solches gekennzeichnet und zu dem Empfänger 5 durch die Datenübertragungseinheit 3 der Kompressionsvorrichtung 1 übertragen und in dem Empfänger zwischengespeichert . Bei einer möglichen Ausführungsform des erfindungsgemäßen
Verfahrens wird die Dauerhaftigkeit des Referenzdatenobjektes durch eine Anzahl von Übertragungszyklen festgelegt. Bei einer weiteren möglichen Ausführungsform wird die Dauerhaftigkeit des Referenzdatenobjektes durch einen bestimmten Gültig- keitszeitraum und/oder AblaufZeitpunkt festgelegt.
Bei einer möglichen Ausführungsform erfolgt das Zerlegen des strukturierten Datenobjektes auf die Datenzerlegeeinheit 2 zur Laufzeit während der Übertragung des Datenstromes DS zu dem Empfänger 5. Auf Seiten des Empfängers 5 können die strukturierten Datenobjekte DO des ursprünglichen Datenstromes DS auf Grundlage des erhaltenen konstanten Datenobjekt- Anteils und der empfangenen variablen Datenobjekt-Anteile zur weiteren Datenverarbeitung rekonstruiert werden. Bei einer möglichen Ausführungsform werden auf Seiten des Empfängers 5 die strukturierten Datenobjekte DO des Datenstromes DS auf Grundlage der zwischengespeicherten Referenzdatenobjekte und empfangener Änderungen der variablen Datenobj ektanteile zur weiteren Datenverarbeitung rekonstruiert. Der von der Daten- quelle 4 erhaltene Datenstrom ist vorzugsweise ein Ereignis¬ strom. Bei einer möglichen Ausführungsform ist die Datenquelle 4 ein Sensor, der Sensordaten generiert, welche als Sen- sordatenstrom von der Datenquelle 4 zu der Kompressionsvorrichtung 1 übertragen werden.
Die Komprimierung der Datenströme DS durch die Kompressions- Vorrichtung 1 ermöglicht es, die Datenrate der Datenübertra¬ gung zu senken. Ein Datenstrom DS, bei dem es sich um einen Datenstrom von Ereignis- bzw. Eventdaten handeln kann, um- fasst eine Folge von strukturierten Datenobjekten. Bei einer möglichen Ausführungsform wird durch eine Datenquelle 4, bei- spielsweise ein Sensor oder eine sonstige Einheit des Sys¬ tems, ein einziger Datenstrom DS generiert. Dieser Datenstrom kann beispielsweise aus einer Folge von Datentripeln beste¬ hen, die beispielsweise eine Sensor-ID des Sensors 4, einen Zeitstempel und einen Sensorwert umfasst.
Beispielsweise kann ein strukturiertes Datenobjekt des Daten¬ stromes DS in JSON-Notation wie folgt dargestellt werden:
{ "SensorlD" : "ABC1234",
"Timestamp" : "2016-06-10T13 : 47 : 26.0123+02 : 00 " ,
"Sensorvalue" : 987.654 }.
Bei einer möglichen Ausführungsform wird aus einem generierten Sensorsignal bzw. Sensordatenfolge zunächst ein Eventda- tenobjekt bzw. ein Ereignisdatenobjekt generiert. Ein Event bzw. ein Ereignis stellt ein strukturiertes Datengebilde dar, das über die reinen Sensordaten hinaus weitere Informationen umfasst. Beispielsweise kann ein Eventdatenobjekt, welches Sensordaten eines Wärmesensors enthält, die Dimension bzw. Einheit der Sensordaten angeben, also beispielsweise °C oder °F oder °K, je nachdem, wie der betreffende Sensor bzw. die Datenquelle 4 konstruiert bzw. konfiguriert ist. Im Zusammen¬ hang mit einem Publish/Subscribe-Ansatz kann seitens eines Consumers bzw. einer Datenverarbeitungseinheit ein Event bzw. Ereignis abonniert werden, der einen Temperaturwert von einem bestimmten Ort liefert, wobei es beispielsweise zweitrangig ist, ob der Sensorwert von einem Wärmefühler oder einer Wärmebildkamera stammt. Bei höherklassigen Events, die durch Korrelation unterschiedlicher Daten generiert werden, kann ein numerischer Wert mitunter völlig fehlen. Beispielsweise kann ein Feuermelde-Event aus den Sensordaten eines Rauchmel¬ ders und aus den Sensordaten eines Wärmefühlers abgeleitet werden, wobei die beiden Sensoren, d.h. der Rauchmelder und der Wärmefühler, dieselbe Räumlichkeit überwachen und ihre Sensordaten aus einem gegebenen Zeitfenster stammen müssen.
Die erfindungsgemäße Kompressionsvorrichtung 1 erlaubt eine verlustfreie Kompression des von der Datenquelle 4 stammenden Datenstromes. Dies bedeutet, dass durch das erfindungsgemäße Verfahren und die erfindungsgemäße Kompressionsvorrichtung 1 kein Informationsverlust hervorgerufen wird. Gerade wenn der Wert eines Events nicht numerischer Natur ist, sondern ein komplexes Datengebilde darstellt, ist ein Informationsverlust zu vermeiden. Dies gilt insbesondere, falls die Quelle des Ereignisstromes bereits nach einem Zeit- oder Wertkriterium gefiltert wird. Jeder Event bzw. jedes Ereignis, das von ei¬ ner Datenquelle bzw. Eventquelle 4 übertragen bzw. ausgesen- det wird, muss bei den zugehörigen Empfängern 5 vollständig rekonstruiert werden können.
Eine diskrete Folge von Sensordaten oder Events bzw. Ereig¬ nisse, die von derselben Datenquelle 4 stammen, kann als Da- tenstrom oder sogenannter Stream übertragen werden. Ein Beispiel einer Folge von primitiven Events bzw. Sensordaten lautet wie folgt:
{ "Sensor data" : { "SensorlD" : string , "Timestamp" : stringl, "Sensorvalue" : numberl }} { "Sensor data" : { "SensorlD" : string , "Timestamp" : string2, "Sensorvalue" : number2 }}
{ "Sensor data" : { "SensorlD" : string , "Timestamp" : stringN, "Sensorvalue" : numberN } }
Diese Folge von Datenobjekten DO kann als ein Stream folgen- dermaßen dargestellt werden:
{ "Sensor data stream" :
{ "SensorlD" : string , [ { "Timestamp" : stringl, "Sensorvalue" : numberl }
{ "Timestamp" : string2, "Sensorvalue" : number2 }
{ "Timestamp" : stringN, "Sensorvalue" : numberN }
Hierbei wird der konstante Anteil der Folge von Sensordaten¬ objekten, nämlich die SensorlDs, aus der Folge herausgezogen bzw. ausgeklammert.
Die variablen Anteile der Sensordatenfolge, nämlich die Zeit¬ stempel und Werte, werden in dem dargestellten Beispiel in ein JSON-Array zusammengefasst . Der Streaming-Mechanismus sorgt dafür, dass die Daten asynchron und kontinuierlich zu dem Empfänger 5 übertragen werden, d.h., dass die Datenobjekte DO des Datenstromes DS, der das Array überträgt, bereits bei dem Empfänger 5 gelesen werden können, während die Datenübertragungseinheit der Kompressionsvorrichtung 1 noch weitere Datenobjekte generiert und in das Array bzw. den Stream einschreibt .
Bei diskreten Event- bzw. Ereignisdaten und einem definiert variablen Anteil kann das Streaming allgemein durch das Ausklammern der konstanten Anteile des strukturierten Datenobjektes wie folgt erfolgen: "Event data": [Κ^. C1, K2 : C2, KN : CN, KN+1 : VN+ll, KN+2 : VN+2l, ... , KN+M : VN+Ml}|
"Event data": {Κ·^ C1, K2 : C2, KN : CN, KN+1 : VN+l2, KN+2 : VN+22, ... , KN+M : VN+M2}| "Event data": {Κ·^ C1, K2 : C2, KN : CN, KN+ 1 : VN+ 1L, KN+2 : VN+2 L, ... , KN+M : VN+ML}|
Hierbei bezeichnen Ks die Schlüssel bzw. Keys die Schlüssel- Wert-Paare und Cs die konstanten Werte. Vs steht für variable Werte. Die oben dargestellte Folge von Datenobjekten DO kann wie folgt zusammengefasst werden:
Figure imgf000015_0001
Hier werden die Komponenten des JSON-Arrays asynchron ge- streamt .
Eine Prozedur, mit der das Ausklammern implementiert werden, kann bei einer möglichen Ausführungsvariante wie folgt ausge führt werden. Die folgende Prozedur funktioniert sowohl für Sensordaten als auch Eventdaten: obj.getO; // Sämtliche Daten von der Quelle werden in das Objekt gelesen. constObj = newObj (); // ... bekommt die konstanten Anteile des Objekts
varObj = newObj (); // ... bekommt die variablen Anteile des Objekts for all ( pair e obj ) {
if ( pair . value . isVariable ( ) ) { // Zerlegung des Objekts
varObj . add ( pair.key, pair. value ); // ... variable und ...
} eise {
constObj . add ( pair.key, pair. value ); // ... konstante Anteile
stream.send( constObj // Der konstante Anteil des Objekts wird übertragen stream. send ( " [ " ) ; // Das Array wird geöffnet fürs Streaming
stream.send( varObj ); // Der variable Anteil des Objekts wird übertragen while ( TRUE ) {
obj . get ( ) // Einlesen des nächsten Objekts.
( pair e obj ) {
( pair . value . isVariable ( ) ) { // Filterung der variablen Anteile
varObj . add ( pair.key, pair. value );
stream. send( varObj ) ; // Nur der variable Anteil des Objekts wird übertragen stream. send ( " ] " ) ; // Nur der Vollständigkeit halber Bei dieser Prozedur wird bestimmt, welche Anteile des Daten¬ objektes als konstant und welche als variabel gelten. Bei ei¬ ner möglichen Ausführungsform erfolgt die Auswertung während der Laufzeit. Alternativ kann die Datenauswertung auch nicht zur Laufzeit erfolgen.
Auf Seiten des Empfängers erfolgt die Verarbeitung in umge¬ kehrter Reihenfolge. Jedes empfangene Datenobjekt kann durch das nächste Datenobjekt aktualisiert und zur weiteren Daten¬ verarbeitung komplettiert werden.
Falls in dem System kein Streaming-Mechanismus zur Verfügung steht, kann die Datenreduktion bzw. Datenkompression gemäß dem erfindungsgemäßen Verfahren ebenfalls durchgeführt wer- den. Hierbei wird zu dem variablen Anteil des Datenobjektes eine eindeutige Identifikationskennung mitgegeben, anhand derer die variablen Objektanteile dem Objektteil mit den kon¬ stanten Attributen wieder zugeordnet werden können:
["Event data": {EventlD: eventlD, Κχ: C1( K2 : C2, ... , KN : CN, KN+1 : VN+ll, KN+2 : VN+2l, ... , KN+M : VN+Ml}| ["Event data": {EventlD: eventlD, Kx: C1( K2 : C2, ... , KN : CN, KN+1 : VN+l2, KN+2 : VN+22, ... , KN+M : VN+M2}]
"Event data": {EventlD: eventlD, KX: C1( K2: C2, ... , KN: CN, KN+1: VN+1L, KN+2 : VN+2L, ... , KN+M: VN+ML}|
Hierbei bezeichnen Ks die Schlüssel bzw. Keys, Cs konstante Werte und Vs variable Werte.
Dies kann wie folgt zusammengefasst werden
'Event data" {EventlD: eventlD, Kx : C1( K2 : C2, ... , KN : CN}}
'Event data" {EventlD: eventlD, KN+1 : VN+ll, KN+2 : VN+2l, ... , KN+M : VN+Ml
'Event data" {EventlD: eventlD, KN+1 : VN+l2, KN+2 : VN+22, ... , KN+M : VN+M2
["Event data": {EventlD: eventlD, KN+1 : VN+1L, KN+2 : VN+2L, ... , KN+M : VN+ML}|
Die kompletten Datensätze können somit auf Seiten des Empfängers 5 anhand der Identifikationskennung soweit notwendig wieder rekonstruiert werden. Damit kann ein Streaming der variablen Anteile diskreter Datenobjekte durchgeführt werden. In manchen Fällen ist es je¬ doch nicht bekannt, welche Anteile eines Datenobjektes vari- able Anteile und welche konstante Anteile sind bzw. wann sich die variablen Anteile ändern und wann nicht. In diesen Fällen kann eine Unterscheidung dynamisch vorgenommen werden. Im Folgenden wird als Beispiel die Übertragung von Zeitstempeln (Timestamp) im Abstand von 1.5 Sekunden dargestellt. Das Kon- strukt ist wie folgt gegeben:
{ "Timestamp" :
{ "Year" : number ,
"Month" : number ,
"Day" : number ,
"Hour" : number ,
"Minute" : number ,
"Second" : number ,
"Millisecond" : number } }
In dem dargestellten Beispiel sind alle Komponenten des Objektes variabel, wenn auch nicht immer. Ein konkreter Zeitpunkt ist beispielsweise: { "Timestamp" :
{ "Year" : 2016 ,
"Month" : 7 ,
"Day" : 29 ,
"Hour" : 1 ,
"Minute" : 23 ,
"Second" : 45
"Millisecond" : 678,01 } }
Um den um eineinhalb Sekunden späteren Zeitstempel darzustel- len, genügt es, nur die Sekunden und Millisekunden zu aktualisieren :
{ "Timestamp" { "Second" : 47 ,
"Millisecond" : 178,01 } }
Eine Stunde später muss nur noch das folgende Datenobjekt übertragen werden, falls zwischendurch keine weiteren Übertragungen stattgefunden haben:
{ "Timestamp" :
{ "Hour" : 2 } }
Wie man aus dem obigen Beispiel erkennen kann, bietet das erfindungsgemäße Verfahren und die erfindungsgemäße Kompressi¬ onsvorrichtung ein erhebliches Potential zur Datenreduktion. Für den Fall, dass auch in dem variablen Anteil eines Datenobjektes nur wenige Änderungen vorhanden sind, ist es bei ei¬ ner möglichen Ausführungsform möglich, nur diese Änderungen zu übertragen. Eine Prozedur, bei der dieses implementiert wird, kann wie folgt lauten: obj.getO; // Daten von der Quelle werden in das Objekt gelesen
refObj = obj; // Legt eine Kopie als Referenzobjekt an
send ( obj ); // Vollständige Übertragung des Datenobjekts
while ( TRUE ) {
obj . get ( ) ;
newObj = reduce ( obj, refObj ) ; // Konstruktion einer reduzierten Kopie von obj newObj . add ( "EventlD", obj . getValue ( "EventlD" ) ) ; // Zur Wiederherstellung refObj = obj; // Objekt wird Referenzobjekt
send( newObj ); // Übertragung des reduzierten Datenobjekts
}
Die in der obigen Prozedur angegebene reduce-Funktion implementiert für jedes Schlüssel-Wert-Paar des Datenobjektes die folgende Tabelle. Dabei wird davon ausgegangen, dass sich die JSON-Datenobj ekte obj und refObj nur in den Werten, nicht je¬ doch in den Schlüsseln unterscheiden. Die Reduzierung kann auf ein JSON-Array erweitert werden, indem nur die differenzierenden Komponenten des Arrays übertragen werden.
Figure imgf000020_0001
Im Falle der Reduzierung eines Datenobjektes kann im einfachsten Fall ein leeres Datenobjekt "{}" übertragen werden. Ein leeres Datenobjekt ist nach der JSON-Definition zulässig.
Im Falle einer Reduzierung eines Arrays kann das Ergebnis von der JSON-Definition abweichen, da immer ein Komma übertragen wird, auch wenn Komponenten aufgrund von Gleichheit fehlen. Im Extremfall kann das wie folgt aussehen:
Ein derartiges Konstrukt ist in der herkömmlichen JSON- Definition nicht vorgesehen, kann aber bei der Rekonstruktion eines Arrays dabei helfen, die richtige Stelle für den geän¬ derten Wert zu finden, beispielsweise in einem Array die dritte Komponente: ,,[,,w,...]". Der Empfang auf Seiten des Empfängers 5 findet in umgekehrter Reihenfolge statt. Jedes empfangene Datenobjekt wird durch das nächste aktualisiert und komplettiert und intern weiter¬ verarbeitet .
Bei einer möglichen Ausführungsform ist eine Erweiterung bei rekursiven Datenstrukturen möglich. Bei einem rekursiven Aufbau der Werte der Datenobjekte oder Arrays kann die Reduktion auch für die Werte angewendet werden. Bei Objekten kann die obige Tabelle wie folgt erweitert werden: ... ( if ( vi ! = wi ) "ki : " ° reduce ( vi ) ° " , " ) ° ...
Bei Arrays kann die Erweiterung der Tabelle wie folgenderma¬ ßen dargestellt erfolgen: ... ( if ( vi != wi ) reduce ( vi ) ) ° ...
Die Reduktion atomarer Werte, wie beispielsweise Zeichenkette bzw. Strings, Zahlenwerten, oder Booleschen Werten, sind die Werte selbst. Hierdurch kann die Rekursion verankert werden.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens kann eine Erweiterung zum Referenzobjekt erfolgen. Bei einer möglichen Ausführungsvariante wird die Übertragung von strukturierten Daten bzw. Datenobjekten in dem Sinne realisiert, dass jedes Datenobjekt als Referenzob¬ jekt genutzt wird, sodass nur die Änderungen zu diesem über¬ tragen werden müssen. Bei einer alternativen davon abweichenden Ausführungsvariante kann einem Referenzobjekt eine länge¬ re Dauerhaftigkeit gegeben werden. Je nach Anwendung bzw. Konfiguration kann jedes 10-te, 20-ste oder beispielsweise 100-ste Datenobjekt zu einem Referenzobjekt deklariert wer¬ den, indem die Übertragungszyklen mitgezählt werden. Anstatt der Zeile: refObj = obj ; // Objekt wird Referenzob ekt kann in der oben dargestellten Prozedur die folgenden Zeilen eingesetzt werden: if ( count++ >= N ) { // N bezeichnet Dauerhaftigkeit in Übertragungs zyklen refObj = obj ; // Objekt wird Referenzob ekt
count = 0;
}
Bei einer alternativen Ausführungsform kann ersatzweise für die Anzahl von Übertragungszyklen auch eine zeitliche Dauerhaftigkeit berücksichtigt bzw. festgelegt werden, indem der Zähler durch einen Zeitpunkt ersetzt wird, wie folgt: if ( getTimeO >= nextTime ) {
// nextTime bezeichnet den Zeitpunkt für die Übertragung des nächsten Referenzobjekts. refObj = obj ;
nextTime = getTimeO + deltaT;
// deltaT bezeichnet die Dauerhaftigkeit des Referenzobjekts
Auf Seiten des Empfängers 5 muss Klarheit darüber bestehen, welches Datenobjekt ein Referenzobjekt ist. Daher wird vor¬ zugsweise eine entsprechende Information mitgegeben, z.B. ein weiteres Attribut, das immer dann gesetzt werden kann, wenn die entsprechende Bedingungen erfüllt ist: if ( count++ >= N ) {
// or if ( getTimeO >= nextTime ) { newObj . add ( "isRefObj", true
1
send ( newObj ) ;
Auf der Seite des Empfängers 5 wird das Referenzobjekt ausge¬ wählt und mit den nachfolgenden empfangenen Objekten aktuali- siert und komplettiert, um anschließend die Datenverarbeitung vornehmen zu können. Das Referenzobjekt bleibt so lange er¬ halten, bis durch den Empfänger 5 ein neues Referenzobjekt empfangen wird. Hierzu wird das Referenzobjekt vorzugsweise in einem dafür vorgesehenen Zwischenspeicher abgelegt.
Das erfindungsgemäße Verfahren und die erfindungsgemäße Komp¬ ressionsvorrichtung dienen zur effizienten Datenübertragung von strukturierten Daten bzw. Datenobjekten. Dabei erfolgt eine verlustfreie Kompression ohne Informationsverlust. Bei dem erfindungsgemäßen Verfahren wird der konstante Anteil des strukturierten Datenobjektes vorzugsweise nur einmalig über¬ tragen und anschließend die variablen Datenobjekt-Anteile se¬ parat übertragen. Bei einer möglichen Ausführungsform kann zur Laufzeit entschieden werden, ob es eine Änderung einer Objektkomponente gegenüber einem Referenzdatenobjekt gegeben hat. In diesem Falle werden nur die Änderungen zu dem Empfänger 5 übertragen. Das erfindungsgemäße Verfahren erlaubt auch eine Datenübertragung ohne Streaming.

Claims

Patentansprüche
1. Verfahren zur verlustfreien Kompression eines Datenstromes (DS) , der eine Folge von strukturierten Datenobjekten um- fasst, die eine Liste von Eigenschaften aufweisen, welche je¬ weils ein Schlüssel-Wert-Paar enthalten,
mit den folgenden Schritten:
(a) Zerlegen (Sl) der strukturierten Datenobjekte des Da¬ tenstromes (DS) in einen konstanten Datenobjekt- Anteil, welcher Schlüssel-Wert-Paare mit konstanten Werten aufweist, und in variable Datenobjekt-Anteile, welche Schlüssel-Wert-Paare mit variablen Werten auf¬ weisen;
(b) Einmaliges Übertragen (S2) des konstanten Datenob¬ jekt-Anteils der strukturierten Datenobjekte zu einem Empfänger; und
(c) Übertragen (S3) der variablen Datenobjekt-Anteile der zerlegten Datenobjekte des Datenstromes (DS) zu dem Empfänger .
2. Verfahren nach Anspruch 1,
wobei die strukturierten Datenobjekte des Datenstromes (DS) Java Skript Object Notation, JSON, Datenobjekte aufweisen.
3. Verfahren nach Anspruch 1 oder 2,
wobei jedes Schlüssel-Wert-Paar einen Schlüssel aufweist, der durch eine Zeichenkette oder eine Zahl gebildet wird.
4. Verfahren nach einem der vorangehenden Ansprüche 1 bis 3, wobei das Schlüssel-Wert-Paar einen Wert aufweist,
der durch ein Datenobjekt, ein Array, eine Zeichenkette, ei¬ nen Zahlenwert oder einen logischen Wert gebildet wird.
5. Verfahren nach einem der vorangehenden Ansprüche 1 bis 4, wobei der variable Datenobjekt-Anteil des zerlegten struktu¬ rierten Datenobjektes des Datenstromes (DS) ein Array auf¬ weist, dessen Komponenten Schlüssel-Wert-Paare sind, die zu dem Empfänger asynchron gestreamt werden.
6. Verfahren nach einem der vorangehenden Ansprüche 1 bis 4, wobei die variablen Datenobjekt-Anteile eines Datenstromes (DS) jeweils eine eindeutige Identifikationskennzeichnung zur Kennzeichnung ihrer Zugehörigkeit zu dem Datenstrom (DS) ent- halten.
7. Verfahren nach einem der vorangehenden Ansprüche 1 bis 6, wobei Änderungen des variablen Datenobj ektanteils des struk¬ turierten Datenobjektes des Datenstromes (DS) gegenüber einem Referenzdatenobjekt ermittelt und zu dem Empfänger übertragen werden .
8. Verfahren nach Anspruch 7,
wobei das Referenzdatenobjekt durch ein strukturiertes Daten- Objekt des Datenstromes (DS) mit einer vorbestimmten Dauer¬ haftigkeit gebildet wird.
9. Verfahren nach Anspruch 7 oder 8,
wobei das Referenzdatenobjekt des Datenstromes als solches gekennzeichnet wird und zu dem Empfänger übertragen wird.
10. Verfahren nach Anspruch 8 oder 9,
wobei die Dauerhaftigkeit des Referenzdatenobjektes durch ei¬ ne Anzahl von Übertragungszyklen oder einen Gültigkeitszeit- räum festgelegt wird.
11. Verfahren nach einem der vorangehenden Ansprüchen 1 bis 10,
wobei das Zerlegen der strukturierten Datenobjekte des Daten- Stromes (DS) zur Laufzeit während der Übertragung des Daten¬ stromes zu dem Empfänger erfolgt.
12. Verfahren nach einem der vorangehenden Ansprüchen 1 bis 11,
wobei auf Seiten des Empfängers die strukturierten Datenob¬ jekte des Datenstromes (DS) auf Grundlage des erhaltenen kon- stanten Datenobj ektanteils und der empfangenen variablen Da- tenobj ektanteile zur weiteren Datenverarbeitung rekonstruiert werden .
13. Verfahren nach einem der vorangehenden Ansprüchen, wobei auf Seiten des Empfängers die strukturierten Datenob¬ jekte des Datenstromes (DS) auf Grundlage der zwischengespei¬ cherten Referenzdatenobjekte und der empfangenen Änderungen der variablen Datenobj ektanteile zur weiteren Datenverarbei¬ tung rekonstruiert werden.
14. Verfahren nach einem der vorangehenden Ansprüche 1 bis 13,
wobei der Datenstrom (DS) ein Ereignisdatenstrom, insbesondere ein Sensordatenstrom, ist.
15. Kompressionsvorrichtung (1) zur verlustfreien Kompression eines Datenstromes (DS) , der eine Folge von strukturierten Datenobjekten (DO) umfasst, die eine Liste von Eigenschaften aufweisen, welche jeweils aus einem Schlüssel-Wert-Paar be- stehen,
wobei die Vorrichtung aufweist:
(a) eine Datenzerlegeeinheit (2), die geeignet ist, die strukturierten Datenobjekte (DO) des Datenstromes (DS) in einen konstanten Datenobjekt-Anteil, wel- eher Schlüssel-Wert-Paare mit konstanten Werten aufweist, und in variable Datenobjekt-Anteile, wel¬ che Schlüssel-Wert-Paare mit variablen Werten auf¬ weisen, zu zerlegen; und
(b) eine Daten-Übertragungseinheit (3) , welche einmalig den konstanten Datenobj ektanteil und separat die variablen Datenobj ektanteile der zerlegten Datenob¬ jekte an einen Empfänger überträgt.
PCT/EP2017/082521 2017-01-31 2017-12-13 Verfahren und vorrichtung zur verlustfreien kompression eines datenstromes WO2018141449A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/482,286 US20200007154A1 (en) 2017-01-31 2017-12-13 Method and device for the lossless compression of a data stream
CN201780085233.8A CN110214419A (zh) 2017-01-31 2017-12-13 用于无损地压缩数据流的方法和设备
EP17835810.7A EP3560103A1 (de) 2017-01-31 2017-12-13 Verfahren und vorrichtung zur verlustfreien kompression eines datenstromes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017201506.3 2017-01-31
DE102017201506.3A DE102017201506A1 (de) 2017-01-31 2017-01-31 Verfahren und Vorrichtung zur verlustfreien Kompression eines Datenstromes

Publications (1)

Publication Number Publication Date
WO2018141449A1 true WO2018141449A1 (de) 2018-08-09

Family

ID=61054303

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/082521 WO2018141449A1 (de) 2017-01-31 2017-12-13 Verfahren und vorrichtung zur verlustfreien kompression eines datenstromes

Country Status (5)

Country Link
US (1) US20200007154A1 (de)
EP (1) EP3560103A1 (de)
CN (1) CN110214419A (de)
DE (1) DE102017201506A1 (de)
WO (1) WO2018141449A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328607B (zh) * 2020-12-04 2023-04-07 四三九九网络股份有限公司 一种大体积json数据的异步压缩处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034499A1 (en) * 2014-07-29 2016-02-04 Facebook, Inc. Compressing and transmitting structured information

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19822796A1 (de) * 1998-05-20 1999-11-25 Siemens Ag Verfahren und Anordnung zur Echtzeit-Übertragung von komprimierten Daten
US7028023B2 (en) * 2002-09-26 2006-04-11 Lsi Logic Corporation Linked list
US8341501B2 (en) * 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
US20140149605A1 (en) * 2012-11-26 2014-05-29 Saravana Annamalaisami Systems and methods for dictionary based compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034499A1 (en) * 2014-07-29 2016-02-04 Facebook, Inc. Compressing and transmitting structured information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"SNON: the Sensor Network Object Notation", INTERNET ARTICLE, 4 August 2015 (2015-08-04), XP002779798, Retrieved from the Internet <URL:http://www.snon.org/v1/index.html> [retrieved on 20180406] *

Also Published As

Publication number Publication date
DE102017201506A1 (de) 2018-08-02
CN110214419A (zh) 2019-09-06
US20200007154A1 (en) 2020-01-02
EP3560103A1 (de) 2019-10-30

Similar Documents

Publication Publication Date Title
EP2795856B1 (de) Verfahren zur zeitrichtigen beobachtung von tt ethernet nachrichten
DE112018005252T5 (de) System und verfahren zum klassifizieren und zeitstempeln von paketen
CH617053A5 (de)
DE102008000562A1 (de) Kommunikationssystem umfassend einen Datenbus und mehrere daran angeschlossene Teilnehmerknoten sowie Verfahren zum Betreiben eines solchen Kommunikationssystems
DE102010022525A1 (de) Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz
DE10361178B4 (de) Datenalterungsüberwachungsvorrichtung für Sicherheitsnetzwerke
EP1810096A1 (de) Verfahren zum austauschen von daten zwischen teilnehmern aus verschiedenen netzwerken
DE102021205793A1 (de) Genauigkeit des zeitstempels auf der empfangsseite
DE60002501T2 (de) Vorrichtung und verfahren zur fehlertoleranten interaktive konvergenz verwendenden uhrtaktsynchronisierung
EP1485780A2 (de) Verfahren zur zeitsynchronisation von zumindest zwei miteinander ber ein telekommunikationsnetz, wie internet, intranet oder dergleichen, zusammenwirkenden messrechnern
DE102013218328B3 (de) Verfahren zur Lokalisierung einer Frequenzabweichung in einem Kommunikationsnetz und entsprechendes Kommunikationsnetz
DE19917354A1 (de) Synchronisationsverfahren für eine Haupteinheit und mindestens eine Nebeneiheit mit internen, miteinander zu synchronisierenden Zeitgebern, hiermit korrespodierndes Kommunikationssystem sowie Haupteinheit und Nebeneinheit eines derartigen Kommunikationssystems
WO2018141449A1 (de) Verfahren und vorrichtung zur verlustfreien kompression eines datenstromes
EP3861681B1 (de) System und verfahren zur fehlererkennung und fehlerursachen-analyse in einem netzwerk von netzwerkkomponenten
DE102017200597A1 (de) Verfahren zum Betrieb eines Hörsystems und Hörsystem
EP1955491A1 (de) Verfahren und vorrichtung zur kopplung mindestens zweier unabhängiger bussysteme
EP2299614B1 (de) Vorrichtung und Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz
EP1754128A1 (de) Dezentrale zeitintervallsynchronisation in verteilten netzwerken
EP1780516A2 (de) Verfahren zum Aufbau eines Sensornetzwerkes
WO2015164897A1 (de) Verfahren zur flexiblen steuerung von zeitgesteuerten datenflüssen in einem verteilten computersystem
EP1486030B1 (de) Verfahren zur übertragung von messdaten von einem messrechner zu einem steuerrechner eines messsystems
DE112020006988B4 (de) Zeitkorrekturvorrichtung, zeitkorrekturverfahren, und zeitkorrekturprogramm
DE60207107T2 (de) Vorrichtung zur netzüberwachung
DE102015216886A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben einer Datenverarbeitungsanlage
DE102007043267B4 (de) Vorrichtung zur Funktionsprüfung eines Zielsystems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17835810

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017835810

Country of ref document: EP

Effective date: 20190722