Method for transmitting a sequence of events from an event intermediary to an event receiver by means of an electronic computing device, computer program product, computer-readable storage medium and electronic computing device

DE102023208976A1Inactive Publication Date: 2025-03-20SIEMENS AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE102023208976
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-15
Publication Date
2025-03-20
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for transmitting a sequence of events from an event transmitter to an event receiver by means of an electronic computing device, computer program product, computer-readable storage medium and electronic computing device The invention relates to a method for transmitting a sequence of events from an event transmitter (12) to an event receiver (16) by means of an electronic computing device (14), comprising the steps: - Receiving a multitude of events (T1 - T16) of the event sequence with a respective timestamp from the event intermediary (12) by means of the electronic computing device (14); - Determining a sorting time interval (32) for the event sequence depending on the number of received events (T1 - T16) and depending on the respective timestamps using the electronic computing device (14); - Sorting the received events (T1 - T16) within the sorting time interval (32) depending on the respective timestamps using the electronic computing device (14); and - Transmitting already sorted events (T1 - T16) which lie outside the specified sorting time period (32) to the event receiver (16) using the electronic computing device (14). Furthermore, the invention relates to a computer program product, a computer-readable storage medium and an electronic computing device (14).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Method for transmitting a sequence of events from an event transmitter to an event receiver by means of an electronic computing device, computer program product, computer-readable storage medium and electronic computing device

[0002] The invention relates to a method for transmitting a sequence of events from an event transmitter to an event receiver by means of an electronic computing device according to claim 1. The invention further relates to a computer program product, a computer-readable storage medium and an electronic computing device.

[0003] The following section focuses on software applications implemented using event sourcing. In event sourcing, data persistence is not achieved through traditional databases that store data state, but rather through event streams. An event describes a change in data for the application. Each event also includes a timestamp indicating the time of the change. All events are distributed via an event broker. The software application has program logic that sends events to the event broker, specifically performing a write operation, and program logic that receives events from the event broker, which can be described as a read operation.

[0004] The software application is, in this sense, a computer-implemented system. Events are messages exchanged between two sub-functions, one of which is always the event broker, and the software application. A network may also exist between them. The events are persisted as an event stream. The event stream is, in this respect, a computer-implemented version of a log file. The sequence of events influences the behavior of subscribed applications. This can, under certain circumstances, lead to an action on a technical device.

[0005] One feature of software applications implemented using event sourcing concepts is the ability to perform a "replay" of events. A replay resends the collected events via the event broker, allowing event recipients, particularly clients (such as sub-functions of the software application), to receive and read this data again. Typical use cases include the integration of a new function into the software application; replaying the events ensures that even old data can be processed with the new function. Furthermore, a correction may be made to a function of the software application, requiring the reprocessing of older data. In the event of disaster recovery, the event stream is restored from a backup via the event broker, and the events are then distributed.The software application is thereby restored to the state it was in at the time of the backup.

[0006] In current technology, it is difficult to implement software applications using event sourcing concepts if the application's functions depend on events arriving sequentially in the correct order, particularly in chronological order. Current event brokers typically do not guarantee this chronological sequence. Those event brokers that do offer this feature in the current state of the art sort events upon receipt, which negatively impacts the overall performance of the event broker. Instead, current event brokers store events in the event stream unsorted and, in the case of replay, distribute them to the event recipients in the same unsorted manner. However, the correct order of events is usually crucial, for example, when a create and a delete operation occur on the same entity.The sequence “Create Event + Delete Event” is slightly different from “Delete Event + Create Event”.

[0007] The events in an event stream can be numerous, and the stream itself is constantly growing. To ensure fast processing of events during replay, it's not possible to wait until all events have been read, sorted, and reordered before distribution. Instead, the events must be sorted by the event broker during distribution.

[0008] The object of the present invention is to provide a method, a computer program product, a computer-readable storage medium and an electronic computing device by means of which a temporally sorted sequence of events can be delivered to the event receiver.

[0009] This problem is solved by a method, a computer program product, a computer-readable storage medium, and an electronic computing device according to the independent claims. Advantageous embodiments are specified in the dependent claims.

[0010] One aspect of the invention relates to a method for transmitting a sequence of events from an event transmitter to an event receiver by means of an electronic computing device. A multitude of events from the sequence, each with a timestamp, are received from the event transmitter by the electronic computing device. A sorting time interval for the sequence of events is determined by the electronic computing device, depending on the multitude of received events and their respective timestamps. The received events are then sorted within this sorting time interval, again according to their respective timestamps, by the electronic computing device. The already sorted events that fall outside the defined sorting time interval are transmitted to the event receiver by the electronic computing device.

[0011] Thus, the invention enables temporal sorting already in the so-called replay case, in particular before these are delivered to the event receiver, i.e. without having carried out a complete sorting of the events.

[0012] In particular, this allows for the insertion of an intermediary component, especially an electronic computing device, which enables the sorting of events "on the fly." This means it is ultimately a function that can be switched on or off depending on the needs of the software application. The outlined sorting method dynamically adapts to the number of events that may potentially be unsorted. With this invention, it is therefore no longer necessary for an event to be correctly sorted chronologically in the event stream store—that is, a storage device of the event mediator—upon its first occurrence. Consequently, the invention can also be used with event sourcing systems that have already accumulated unsorted data in their event stream stores.Furthermore, the invention is transparent to the software application, meaning that the software application does not need to provide a special function to obtain the events in a chronologically correct order.

[0013] In particular, for example, an electronic computing device can be used in the replay of events between the event broker and the event receiver. This electronic computing device can be described as a "sliding-window event broker." This electronic computing device behaves like an event broker and can receive and distribute events accordingly. Instead of the event receiver being served by the original event broker, it is served by the electronic computing device.

[0014] The electronic computing device includes, for example, a storage unit. All events of the so-called replay are written to the storage unit by the original event relay. The electronic computing device sorts the events in the storage unit according to their timestamps, with the sorting already being performed when the events are placed in the short-term storage. The electronic computing device recognizes when the sorting for a portion of the already received events no longer changes and begins delivering these events to the event receiver.

[0015] In a particularly advantageous implementation, the sorting time interval is continuously adjusted. This allows the system to respond to the number of events within a given time period, depending on the incoming events. Consequently, bursts of events—periods with a high number of occurrences—can also be appropriately accounted for.

[0016] Furthermore, it has proven advantageous to define the sorting time interval as consisting of a dynamic time component and a fixed time component, with the dynamic time component determined based on the number of received events. This dynamic time component can thus help to intercept, for example, burst events. The fixed time component allows for the definition and specification of minimum intervals between events, ensuring reliable sorting with a corresponding level of certainty.

[0017] It is also advantageous if the dynamic fraction is determined based on an expected number of received events. In particular, it is assumed that the events are only unsorted for a limited time. Therefore, it is necessary to determine how many events must be held in short-term storage before being forwarded to the event receiver to ensure that the corresponding sorting positions do not change. The electronic processing unit can use the timestamps of the incoming events and calculate the time difference between these timestamps. Based on this difference, it is calculated how many events are expected for, for example, a day. This number can be considered the dynamic fraction. It is thus assumed that a corresponding number of events, as indicated by the dynamic fraction, may potentially still arrive and be unsorted.In addition to the dynamic portion, there is also a fixed portion. The fixed portion defines a safety margin between the currently processed memory location and a so-called release location, which must be maintained under all circumstances. The more unsorted the events are, the higher this fixed portion is configured. The higher the configured portion, the longer it takes for the electronic processing unit to begin forwarding events to the event recipient—because a correspondingly large number of events are first buffered in short-term storage. The sum of the dynamic portion and the fixed portion constitutes the sorting time. All events located in corresponding memory locations whose distance to the currently processed memory location is greater than the sorting time can therefore be forwarded for transmission to the event recipient.The currently processed memory location is always the memory location that was last used by an inserted event in the short-term buffer. The dynamic portion is continuously recalculated and can therefore increase or decrease dynamically. Specifically, the dynamic portion can increase abruptly when, for example, a burst is detected. However, it can only decrease if the currently calculated dynamic portion is smaller than the previous one, and even then, only by one. The reason for this is that a sufficient number of memory locations must always be considered potentially unsorted until all events of a burst have been processed.

[0018] Furthermore, it has proven advantageous to determine the dynamic share for a predefined period. For example, the predefined period could be one day. It can therefore be stipulated that the number of events that could potentially occur in a day be determined. Based on this, the dynamic share can be determined accordingly. This allows the dynamic share to be adjusted as needed.

[0019] Furthermore, it has proven advantageous to equip the electronic computing device with an index-based storage system. In particular, this allows each event to be assigned an index location within the storage system. Depending on the timestamp, this index location then varies and can be changed accordingly. For example, if an event with a certain timestamp occurs before another event, the earlier event can be stored in the index location before the later event. This enables reliable event sorting.

[0020] It is also advantageous if the index-based storage system is provided as short-term storage. This allows for event sorting with less storage space while remaining flexible and reliable.

[0021] It has also proven advantageous to abort the transmission of the event sequence if a received event falls outside the sorting timeframe. For example, if an event is sent to the event receiver outside the sorting timeframe, but the currently processed event needs to be sorted to an index position that has already been transmitted, the entire replay process can be aborted in a fatal error. In this case, an administrator of the electronic computing system, or even an automated system, can increase the fixed portion and restart the replay.

[0022] Furthermore, it has proven advantageous to provide the procedure for event replay. This event replay refers specifically to the so-called event replay function. This allows the procedure to be used with a high degree of flexibility.

[0023] It is also advantageous if the multitude of events in the event sequence is received as a single unsorted event packet. In particular, this means that the events are only unsorted within a narrow timeframe. The event broker works by storing incoming events in a so-called packet or chunk, and these packets are then placed in the event stream. It can therefore be assumed that the chunks are sorted sequentially, but it cannot be assumed that the events within these packets are sorted. This is the only way to achieve high processing speed while simultaneously conserving resources. For example, this means that in a packet containing one hour's worth of events, the events themselves are unsorted, but events from the same hour of the previous day are roughly sorted and then arranged in sequence. This allows the process to be carried out in a resource-efficient manner.

[0024] Furthermore, it has proven advantageous to delete events transmitted to the event receiver from the electronic computer's storage device. This is particularly relevant if the storage device is a short-term memory, which has limited storage capacity. Deleting previously transmitted events frees up storage space for new events, thus enabling the process to be carried out with minimal storage capacity.

[0025] Furthermore, it has proven advantageous if, after receiving all events in the event sequence from the electronic computing device and sorting the unsent events, all unsent events are transmitted to the event receiver regardless of the sorting time. Specifically, if all events from the event intermediary have arrived at the electronic computing device, then all events in the short-term memory are also sorted accordingly. Thus, the sorting time is set to zero, i.e., ignored, and all remaining events can be delivered to the event receiver. The short-term memory is then empty again.

[0026] The presented method is, in particular, a computer-implemented method. Therefore, a further aspect of the invention relates to a computer program product with program code means which, when the program code means are executed by the electronic computing device, cause it to carry out a method according to the preceding aspect.

[0027] The invention also relates to a computer-readable storage medium containing at least one computer program product according to the preceding aspect.

[0028] A further aspect of the invention relates to an electronic computing device for transmitting a sequence of events from an event transmitter to an event receiver, wherein the electronic computing device is configured to carry out a method according to the preceding aspect. In particular, the method is carried out by means of the electronic computing device.

[0029] Advantageous embodiments of the process are to be regarded as advantageous embodiments of the computer program product, the computer-readable storage medium, and the electronic computing device. The electronic computing device, in particular, possesses tangible features to enable the execution of the corresponding process steps.

[0030] A computing unit / electronic computing device can be understood, in particular, as a data processing device containing a processing circuit. The computing unit can therefore process data to perform arithmetic operations. This may also include operations to perform indexed access to a data structure, such as a lookup table (LUT).

[0031] The computing unit may, in particular, contain one or more computers, one or more microcontrollers, and / or one or more integrated circuits, for example, one or more application-specific integrated circuits (ASICs), one or more field-programmable gate arrays (FPGAs), and / or one or more systems on a chip (SoCs). The computing unit may also contain one or more processors, for example, one or more microprocessors, one or more central processing units (CPUs), one or more graphics processing units (GPUs), and / or one or more signal processors, in particular one or more digital signal processors (DSPs). The computing unit may also include a physical or virtual array of computers or other units of the aforementioned type.

[0032] In various embodiments, the computing unit includes one or more hardware and / or software interfaces and / or one or more storage units.

[0033] A storage unit can be volatile data storage, for example as dynamic random access memory (DRAM) or static random access memory (SRAM), or as non-volatile data storage, for example as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or flash EEPROM, ferroelectric random access memory (FRAM), or magnetoresistive random access memory.It can be designed as MRAM (magnetoresistive random access memory) or as phase-change random access memory, PCRAM (phase-change random access memory).

[0034] For use cases or application situations that may arise during the procedure and are not explicitly described here, it may be provided that, according to the procedure, an error message and / or a request for user feedback is issued and / or a default setting and / or a predetermined initial state is set.

[0035] Regardless of the grammatical gender of a particular term, persons with male, female or other gender identities are included.

[0036] Further features of the invention will become apparent from the claims, the figures, and the description of the figures. The features and combinations of features mentioned above in the description, as well as the features and combinations of features mentioned below in the description of the figures and / or shown in the figures, may be encompassed by the invention not only in the combinations specified, but also in other combinations. In particular, the invention may also encompass embodiments and combinations of features that do not have all the features of an originally formulated claim. Furthermore, the invention may encompass embodiments and combinations of features that go beyond or deviate from the combinations of features set out in the cross-references to the claims.

[0037] This shows: Fig. 1. A schematic block diagram according to an embodiment of an event sourcing system with an embodiment of an electronic computing device; and Fig. 2 a schematic flowchart according to one embodiment of the method.

[0038] The invention is explained in more detail below with reference to specific embodiments and associated schematic drawings. In the figures, identical or functionally equivalent elements may be designated with the same reference numerals. The description of identical or functionally equivalent elements is not necessarily repeated with respect to different figures.

[0039] Fig. Figure 1 shows a schematic block diagram according to an event sourcing system 10. In the present embodiment, the event sourcing system 10 has at least one event intermediary 12 (event broker), one electronic computing device 14 and one event receiver 16 (client).

[0040] The event broker 12 has at least one so-called event stream store 18. This event stream store 18 contains saved events that can be redistributed by the event broker in the event of a replay and can therefore be considered a kind of database.

[0041] In the present embodiment, the electronic computing device 14 has a short-term memory 20. The electronic computing device 14 receives a so-called flow of unsorted events in the replay case from the event relay 12, which is represented here by an arrow 22. The event receiver 16, in turn, receives a flow of sorted events in the replay case from the electronic computing device 14, which is represented here by an arrow 24.

[0042] Fig. Figure 2 shows a schematic flowchart according to one embodiment of the method. In particular, events T1 to T16 are shown in the present embodiment. Furthermore, corresponding days 26, 28, and 30 are shown.

[0043] For example, events T1, T3, T4, T2, and T6 occurred on day 26 and were accordingly stored in event stream store 18. On day 28, events T6, T5, T11, T7, and T10 occurred and were stored. On day 30, events T9, T15, T13, T12, and T14 occurred and were stored. On a subsequent day, event T16 may have occurred. Event T9 is now transferred to short-term storage 20. Short-term storage 20 already contains events T1, T2, T3, T4, T5, T6, T7, T8, T10, and T11.

[0044] Specifically, events T1 to T10, but not T9, have already been transmitted to short-term memory 20. Currently, event T9 is being transferred. Event T9 will now be assigned index position 9 and inserted accordingly.

[0045] The Fig. Figure 2 thus shows a method for transmitting a sequence of events from the event transmitter 12 to the event receiver 16 using the electronic computing device 14. The event transmitter 12 receives the multitude of events T1 to T16 of the sequence, each with a timestamp, using the electronic computing device 14. A sorting time interval 32 for the sequence is then determined by the electronic computing device 14, depending on the number of received events T1 to T16 and their respective timestamps.The received events T1 to T16 are sorted within the sorting time period 32 depending on the respective timestamps by means of the electronic computing device 14, and already sorted events T1 to T16, which lie outside the specified sorting time period 32, are transmitted to the event receiver 16 by means of the electronic computing device 14.

[0046] In particular, the Fig. 2, that the electronic computing device 14 is provided with an index-based storage device 20, in particular with a short-term storage device.

[0047] Furthermore, it can be provided that if an event T1 to T16 is received outside the sorting time interval 32, the transmission of the event sequence is aborted. Additionally, the procedure for re-transmissioning events can be provided. Furthermore, the multitude of events T1 to T16 of the event sequence can be received as an unsorted event packet.

[0048] It can also be provided that events T1 to T16 transmitted to the event receiver 16 are deleted from a storage device 20 of the electronic computing device 14. Furthermore, it can be provided that after receiving all events T1 to T16 of the event sequence from the electronic computing device 14 and after sorting any untransmitted events, T1 to T16 are transmitted to the event receiver 16 regardless of the sorting time interval 32.

[0049] The Fig. Figure 2 shows, for example, that the electronic computing device 14 has set a fixed fraction of the sorting time interval 32 to one. This in turn results in a dynamic fraction of five based on the events received on days 26, 28, and 30, and thus a sorting time interval 32 of six. Therefore, events T1 and T2 can be sorted according to... Fig. 2 will be transmitted to event receiver 16, since the distance to the last processed index is greater than six.

[0050] In particular, this shows that Fig. 2. In the event of a replay of events T1 to T16 between the event intermediary 12 and the event receiver 16, the electronic computing device, which can also be referred to as a sliding-window event broker, is set. The electronic computing device 14 behaves like an event broker, which corresponds in particular to the event intermediary 12, and can receive and distribute corresponding events T1 to T16. Instead of the event receiver 16 being served by the original event broker, it is served by the electronic computing device 14.

[0051] The electronic computing device 14 is equipped with a short-term memory. All events T1 to T16 of the replay are written to the short-term memory by the original event broker. The electronic computing device 14 sorts the events T1 to T16 based on their timestamps in the short-term memory. The electronic computing device 14 recognizes when the sorting order for a portion of the already received events T1 to T16 no longer changes and begins delivering these events T1 to T16 to the event receiver 16.

[0052] The short-term memory is structured such that it assigns a place in an index-based array for each event T1 to T16. The oldest event ever received, T1 to T16, is located at index position 1. The most recent event, T1 to T16, occupies the index position with the highest number. When the electronic computing unit 16 receives an event T1 to T16, it sorts it into the correct position in the short-term memory.

[0053] Since events T1 to T16 are only unsorted within a narrow timeframe, lower-numbered index positions eventually become static. Once these positions are static, events T1 to T16 at these positions can be sent sequentially, specifically from the lowest to the highest index number, to event receiver 16. After events T1 to T16 have been sent to event receiver 16, they are removed from short-term storage.

[0054] It must be taken into account that on some days 26, 28, 30 very few events T1 to T16 occurred, and on other days 26, 28, 30 very many occurred, for example due to a burst. Especially in the case of such bursts, it must also be ensured that the events T1 to T16 can be sorted in the correct chronological order.

[0055] The detection of when an index position ceases to change is performed according to the following strategy. It is known that events T1 to T16 are only unsorted for a limited time. Therefore, it must be determined how many events T1 to T16 must be held in the short-term memory before being forwarded to the event receiver 16 to ensure that the index positions no longer change. The electronic computing unit 14 determines the timestamps of the incoming events T1 to T16 and calculates the time difference between these timestamps. Based on this difference, the system extrapolates how many events T1 to T16 are expected for a given day (26, 28, 30). For example, if the detected difference is one second, then 86,400 events T1 to T16 can be expected for that day (26, 28, 30). This number is considered the dynamic fraction.It is therefore assumed that as many events T1 to T16 as the dynamic component indicates may potentially still arrive and be unsorted.

[0056] In addition to the dynamic portion, there is also the fixed portion. The fixed portion defines a safety margin between the currently processed index and the release index, which must be maintained under all circumstances. The more unsorted the events T1 to T16 are, the higher the fixed portion must be configured. The higher the fixed portion is defined, the longer it takes for the electronic computing device 14 to start forwarding events T1 to T16 to the event receiver 16 – because a correspondingly large number of events T1 to T16 must first be buffered in the short-term memory.

[0057] The sum of the dynamic and fixed portions is again the sorting time span 32. All events T1 to T16 located in index positions whose distance to the currently processed index is greater than the sorting time span 32 can therefore be passed on to event receiver 16. The currently processed index is always the index that was last used by an inserted event T1 to T16 in the short-term storage.

[0058] The dynamic share is continuously recalculated and can therefore increase or decrease dynamically. It can increase abruptly, for example, if a burst is detected. This share can only decrease if the currently calculated dynamic share is smaller than the previously calculated one, and even then, only by one. The reason for this is to ensure that enough index positions are considered potentially unsorted until all events T1 to T16 have been processed within a burst.

[0059] It can happen that the electronic computing device 14 has already started distributing events T1 to T16 to the event receiver 16 because they are considered sorted, and then suddenly stops because the sorting time interval 32 has increased. In this case, it takes a while until enough events T1 to T16 are in the short-term memory and have been processed before index positions outside the sorting time interval 32 become available again. The events T1 to T16 are then redistributed to the event receiver 32. In any case, it is ensured that the events T1 to T16 arrive at the event receiver 16 in a sorted state.

[0060] In the rare event that events T1 to T16 have already been distributed to event receiver 16 because they are outside the sorting time span 32, but the currently processed event T1 to T16 needs to be sorted to an index position that is already allocated, the entire replay process can be aborted with a fatal error. In this case, an administrator of the event sourcing system 10 can increase the fixed portion and attempt the replay again.

[0061] Once all events T1 to T16 have been transmitted from the original event transmitter 12 to the electronic computing unit 14, all events T1 to T16 are sorted accordingly in the short-term memory. This sets the sorting time interval 32 to zero, i.e., it is ignored, and all remaining events T1 to T16 can be delivered to the event receiver 16. The short-term memory is then empty again.

[0062] According to the Fig. Figure 2 shows examples of events T1 to T16. "Tx" represents time points 1, 2, and so on for each event T1 to T16. The correct order according to the Fig. 2 would therefore be T1, T2, T3 to T16. In this example, however, events T1 to T16 within event streaming store 18 are unsorted. Reference symbol list 10 Eventsourcing System 12 event mediators 14 electronic computing equipment 16 event recipients 18 Event Stream Store 20 Storage setup 22 Arrow 24 Arrow 26 first day 28 second day 30 third day 32 Sorting time span T1 - T16 Event

Claims

[1] Method for transmitting a sequence of events from an event transmitter (12) to an event receiver (16) by means of an electronic computing device (14), comprising the steps of: - receiving a plurality of events (T1 - T16) of the event sequence with a respective time stamp from the event broker (12) by means of the electronic computing device (14); - determining a sorting time period (32) for the event sequence as a function of the plurality of received events (T1 - T16) and as a function of the respective time stamps by means of the electronic computing device (14); - sorting the received events (T1 - T16) within the sorting time period (32) depending on the respective time stamps by means of the electronic computing device (14); and - Transmitting already sorted events (T1 - T16) which lie outside the specific sorting time period (32) to the event receiver (16) by means of the electronic computing device (14). [2] Method according to claim 1, characterized by that the sorting time period (32) is continuously adjusted. [3] Method according to claim 1 or 2, characterized by that the sorting time period (32) is formed from a temporally dynamic portion and a temporally fixed portion, wherein the temporally dynamic portion is determined as a function of a number of received events (T1 - T16). [4] Method according to claim 3, characterized by that the dynamic portion is determined based on an expected number of received events (T1 - T16). [5] Method according to claim 3 or 4, characterized by that the dynamic component is determined for a given period of time. [6] Method according to one of the preceding claims, characterized by that the electronic computing device (14) is provided with an index-based storage device (20). [7] Method according to claim 6, characterized by that the index-based storage device (20) is provided as a short-term memory. [8] Method according to one of the preceding claims, characterized by that if an event (T1 - T16) is received outside the sorting time period (32), a transmission of the event sequence is aborted. [9] Method according to one of the preceding claims, characterized by that the procedure for event repetition is provided. [10] Method according to one of the preceding claims, characterized by that the plurality of events (T1 - T16) of the event sequence is received as an unsorted event packet. [11] Method according to one of the preceding claims, characterized bythat events (T1 - T16) transmitted to the event receiver (16) are deleted from a memory device (20) of the electronic computing device (14). [12] Method according to one of the preceding claims, characterized by that after receiving all events (T1 - T16) of the event sequence from the electronic computing device (14) and after sorting the events (T1 - T16) not yet sent, all events (T1 - T16) not yet sent are transmitted to the event receiver (16) regardless of the sorting time period (32). [13] Computer program product with program code means which cause an electronic computing device (14) to carry out a method according to one of claims 1 to 12 when the program code means are processed by the electronic computing device (14). [14] A computer-readable storage medium comprising at least one computer program product according to claim 13. [15] Electronic computing device (14) for transmitting an event sequence from an event transmitter (12) to an event receiver (16), wherein the electronic computing device (14) is designed to carry out a method according to one of claims 1 to 12.