Method and system for sending a response message

JP2024546213A5Pending Publication Date: 2025-09-29オプティバー アイピー ビーブイ
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023557314
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-12-22
Filing Date
2022-09-29
Publication Date
2025-09-29

AI Technical Summary

Technical Problem

There is a need for high-speed communication methods and systems, particularly in trading environments where liquidity providers must quickly respond to market fluctuations to avoid adverse selection and prevent losses.

Method used

A method and system that splits an incoming physical signal into two copies, where the header portion of the first copy is directly transmitted, and the system generates a response signal based on the header portion and optionally the payload portion of the second copy, allowing for rapid transmission of a response message.

Benefits of technology

Enables ultra-fast response message transmission by sending the header portion of the incoming signal without interpretation, reducing latency and ensuring quick communication in volatile trading environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method is disclosed for transmitting a response message (30) in response to an incoming message, where a header portion of the incoming message is identical to a header portion (4) of the response message, and where a payload of the incoming message is different from a payload (28) of the response message. The method includes splitting an incoming physical signal representative of the incoming message into a first copy and a second copy of the incoming physical signal, and providing the first copy of the incoming physical signal to a transmitter system (12). The method further includes generating a signal, and based on determining that a message has been received from at least a portion of the second copy, providing the generated signal to the transmitter system such that the generated signal is transmitted after at least a portion of a header portion of the first copy is transmitted, where the transmitted at least a portion of the header portion of the first copy and the transmitted generated signal together generate a transmitted response signal representative of the response message.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to methods and systems for transmitting a reply message in response to an incoming message, and in particular to such methods and systems in which at least a portion of a copy of an incoming physical signal is reused as part of the reply signal representing the reply message. [Background technology]

[0002] Ultra-fast communication is very important in many fields, for example in the field of trading. In trading, so-called liquidity providers have a risk of adverse selection. When the market's product prices fluctuate, liquidity providers want to update active bids and offers in the market as soon as possible to prevent transactions from being made based on "stale" prices that could cause losses. In light of this, it is not surprising that liquidity providers want to communicate with the exchange as quickly as possible.

[0003] WO 2017 / 024361 discloses a system for receiving a line encoded data stream from a source. The system includes a deserializer for deserializing the line encoded data stream to generate a raw parallel data stream. The system includes a serializer for serializing the raw parallel data stream. The system includes a parallel data generator configured to generate another raw parallel data stream. The system includes reconfigurable circuitry for communicating the raw parallel data stream to the serializer in one configuration and for communicating the other parallel data stream in another configuration.

[0004] Of course, trading is just one of many areas that could benefit from ultra-fast communications. Summary of the Invention [Problem to be solved by the invention]

[0005] Therefore, there is a need in the art for a method and system that enables high speed communications. [Means for solving the problem]

[0006] To that end, a method is disclosed for transmitting a response message in response to an incoming message. The incoming message includes a header portion and a payload, and the response message also includes a header portion and a payload. The header portion of the incoming message is identical to the header portion of the response message. The payload of the incoming message is different from the payload of the response message. The method includes receiving an incoming physical signal representative of the incoming message. The receiving includes receiving a header part of the incoming physical signal, where the header portion represents the header portion of the incoming message, and thereafter receiving a payload part of the incoming physical signal, where the payload portion represents the payload of the incoming message. The method also includes splitting the incoming physical signal into a first copy of the incoming physical signal and a second copy of the incoming physical signal. The method further includes providing the first copy of the incoming physical signal to a transmitter system such that at least a portion of a header portion of the first copy is transmitted. The method further includes interpreting at least a portion of the second copy of the incoming physical signal to determine that a message has been received. The method further includes generating a signal, and based on determining that a message has been received, providing the generated signal to the transmitter system such that the generated signal is transmitted after the at least a portion of the header portion of the first copy is transmitted, where the transmitted at least a portion of the header portion of the first copy and the transmitted generated signal together generate a transmitted response signal representative of the response message.

[0007] One aspect of the present disclosure relates to a system for transmitting a response message in response to an incoming message. The incoming message comprises a header portion and a payload. The response message also comprises a header portion and a payload, the header portion of the incoming message being identical to the header portion of the response message. The system comprises an input portion for receiving an incoming physical signal representative of the incoming message. The incoming physical signal comprises a header portion and a payload portion, the header portion representing the header portion of the incoming message and the payload portion representing the payload of the incoming message. The system further comprises a transmitter system for transmitting a transmitted response signal representative of the response message. Additionally, the system comprises: splitting the incoming physical signal into a first copy of the incoming physical signal and a second copy of the incoming physical signal; and providing a first copy of the incoming physical signal to the transmitter system such that at least a portion of a header portion of the first copy is transmitted; It is structured as follows. Further, the system comprises: interpreting at least a portion of the second copy of the incoming physical signal to determine that a message has been received; to generate a signal; and and causing the transmitter system to provide the generated signal such that the generated signal is transmitted after the at least a portion of the header portion of the first copy is transmitted based on determining that a message has been received, the transmitted at least a portion of the header portion of the first copy and the transmitted generated signal together generating a transmitted response signal representative of a desired response message.

[0008] This method and system allows for very fast transmission of a response message in response to an incoming message. The inventors have realized that if the header portion of the incoming message and the header portion of the response message are identical, the header portion of the incoming physical signal can be directly transmitted to a transmitter system which can directly transmit the header portion of the incoming physical signal back as a header portion of the response signal, preferably without interpreting the header portion of the incoming physical signal. In this way, by the time the system determines, based on the second copy of the incoming physical signal, that a message has been received, at least a portion of the header portion of the response signal (wherein the header portion represents the header portion of the response message) will have already been transmitted. At some point, the first copy of the incoming physical signal should not be transmitted any further, otherwise only a copy of the incoming message is transmitted as a response message, which is not the purpose of this method. Thus, the method includes generating a signal, part of which may be determined based on the payload of the incoming message, and providing the generated signal to the transmitter system, e.g., timed such that the generated signal is combined with an already transmitted portion of the first copy of the incoming physical signal to generate a valid transmitted response signal representative of the response message. In any case, because at least a portion of the header portion of the incoming physical signal is used directly for transmission, the response message will be completely transmitted earlier than if the header portion of the response signal was generated by the system itself. That is, generating a signal takes time.

[0009] Any part of the incoming message that is different from any part of the response message may be understood as belonging to the payload of the incoming message. Further, any part of the response message that is different from any part of the incoming message may be understood as belonging to the payload of the response message.

[0010] The system may comprise one or more elements for amplifying and / or filtering the incoming and outgoing physical signals or copies thereof. Such amplification and / or filtering may serve to ensure the integrity of the signals when they are transmitted by the transmitter system. For this purpose, filters may also be implemented in the system. The amplifiers and filters depend on the signal type and physics.

[0011] The incoming message may be sent from a computer system of an exchange, and the payload of the incoming message may indicate market information. Similarly, the payload of the response message may be sent from a computer system of a trading firm, in which case the payload of the response message typically includes updates to bid and / or offer prices.

[0012] Because the incoming physical signal includes the header portion which represents the header portion of the incoming message, it should be understood that the first copy also includes this header portion.

[0013] The incoming physical signal may represent a bitstream.

[0014] A physical signal as used herein may be understood to refer to a variation, preferably a variation in time, of a physical quantity, which is used to convey information. Typically, a transmission medium transmits such variations from a sending device to a receiving device. A physical signal is for example generated by a voltage variation in an electrical conductor and / or by a variation in the optical intensity of light transmitting through an optical conductor, e.g., a fiber optic cable. As used herein, a part of a signal may refer to a period during which the variations generating the signal occur, although the variations also occur outside this period.

[0015] Additionally, where a physical signal refers to a change in a physical quantity, a copy of that physical signal may be understood to refer to the same change in the same physical quantity.

[0016] As used herein, interpreting a physical signal may be performed by quantizing the signal and / or sampling the signal. If both quantization and sampling are performed, interpreting a physical signal may be understood as being performed by converting the physical signal into a digital signal. Sampling may be understood as converting a continuous-time signal into a discrete-time signal. Quantization may be understood as mapping input values ​​from a first, typically continuous, set of values ​​to a smaller set of output values ​​(which can be counted). In case the incoming physical signal represents a bit stream, quantization may be understood to include mapping input values, e.g. light intensity values ​​in case of an optical signal, to "0" or "1" values.

[0017] Deserialization may be understood as the process of reconstructing a data structure or object from a signal, e.g., a signal representing a series of bytes or strings, in order to instantiate the data structure or object. It is the reverse process of serialization, i.e., converting a data structure or object into a signal, e.g., a series of bytes, for storage or transmission between devices. It should be understood that deserializing a signal requires interpretation of the signal, since serial-to-parallel conversion requires knowledge of the different values ​​represented by the signal. Also, any logical operation performed on a signal, e.g., determining the payload for the response message based on an incoming physical signal, requires interpretation of the incoming physical signal.

[0018] Thus, interpreting the signal may optionally include deserializing the signal. Additionally or alternatively, interpreting the signal may optionally include decoding the signal.

[0019] Once the signals are interpreted, eg, converted into a digital format, information, data structures or objects may be reconstructed based on the digital signals.

[0020] The incoming message and the response message may be embodied as Ethernet packets, for example as defined in IEEE Standard 802.3-2018 and the IEEE Standard for Ethernet. In such a case, the header portion of the incoming message and the response message may be a 7-octet Ethernet packet preamble, which is the same for all Ethernet packets. Preferably, the response message and response signal comply with the IEEE standard for 10G-BASE-LR, in particular the IEEE Standard for Ethernet 802.3 section 4.

[0021] The generated signal may optionally include a header portion representative of at least a portion of the header portion of the response message. This may be required, for example, if the generated signal is provided to the transmitter system before the entire header portion of a first copy is transmitted by the transmitter system by transmitting the first copy. If a complete header portion representative of the header portion of the response message has not yet been transmitted, the remaining header portion still has to be transmitted. This remaining header portion should be present in the generated signal.

[0022] The generated signal typically includes a payload portion that represents the payload of the response message.

[0023] The method may include determining that a message has been received based on a header portion of the interpreted signal representing the header portion of the incoming message, such as the Ethernet preamble referred to above, and the data processing system of the system may be configured to make such a determination, for example, the data processing system may be configured to detect an Ethernet preamble to determine that a message has been received.

[0024] Of course, the incoming physical signal may be split into further copies, for example into a third copy, a fourth copy, etc.

[0025] In one embodiment of the method, (i) the incoming physical signal is not interpreted prior to splitting the incoming physical signal into the first copy and the second copy, and / or (ii) splitting the incoming physical signal does not involve interpreting the incoming physical signal, and / or (iii) the first copy of the incoming physical signal is not interpreted prior to and during transmission of the at least a portion of the header portion of the first copy.

[0026] In one embodiment of the system, the system comprises: so as not to interpret the incoming physical signal before it has been split into the first and second copies; and / or to split the incoming physical signal without interpreting the incoming physical signal; and / or so as not to interpret the first copy of the incoming physical signal prior to transmitting the at least a portion of the header portion of the first copy, and so as not to interpret the first copy of the incoming physical signal during transmitting the at least a portion of the header portion of the first copy. It is composed.

[0027] These embodiments allow for directly sending back at least the header portion of the incoming physical signal without losing any time for interpreting the signal, thus allowing for a very fast response. Such interpretation typically involves converting the incoming physical signal into a digital format, which takes more time than without interpretation.

[0028] Thus, in these embodiments, the physical signal is typically not quantized and / or sampled and / or digitized and / or deserialized.

[0029] In one embodiment of the method, the generated signal includes a predefined portion that is already defined prior to determining that a message has been received, where the predefined portion of the generated signal is generated based on pre-stored data representing at least a portion of a payload of a response message.

[0030] In one embodiment of the system, before the data processing system determines that a message has been received, the data processing system includes a storage medium having data stored thereon that represents at least a portion of the payload of the response message, and in this embodiment, the data processing system is configured to generate a signal based on the pre-stored data.

[0031] To illustrate this, the predefined portion may be a portion of the response message indicating a destination address and / or a source address of the response message. The destination address may, for example, be known in advance. Once it is determined that a message has been received, the system may already generate the predefined portion of the response signal, e.g., a portion indicating a destination address for the response message, without inspecting the payload of the incoming message.

[0032] As described above, the response signal may include a payload part representing the payload of the response message. The predefined portion of the generated response signal may include a predefined payload message portion, the predefined payload portion representing a predefined portion of the payload portion of the response message. Additionally or alternatively, the predefined portion of the generated response signal may include a portion representing at least a portion of the header portion of the response message.

[0033] This embodiment is particularly advantageous when the predefined portion of the generated signal includes a predefined payload portion that represents the predefined portion of the payload portion of the response message, e.g., a payload portion that indicates a default destination address of the response message. This allows this predefined portion of the serialized signal to be transmitted already while the payload of the incoming message is still being received and processed, e.g., while the payload of the response message is still being determined. Transmission of a predefined payload portion can be seen to give the data processing system more time to determine an appropriate payload for the response message based on the payload of the incoming message.

[0034] It should be understood that it is not essential per se that the generated signal include a predefined portion.

[0035] In one embodiment, the method includes interpreting at least a portion of the second copy of the incoming physical signal to determine at least a portion of the incoming message, and determining at least a portion of the payload of the response message based on the determined at least a portion of the incoming message. Similarly, in one embodiment of the system, the data processing system is configured to determine at least a portion of the incoming message, and to determine at least a portion of the payload of the response message based on the determined at least a portion of the incoming message.

[0036] In one embodiment, the method includes interpreting the at least a portion of the second copy of the incoming physical signal to determine at least a portion of the header and / or at least a portion of the payload of the incoming message, and determining at least a portion of the payload of the response message based on the determined at least a portion of the header and / or the determined at least a portion of the payload. Similarly, in one embodiment of the system, the data processing system is configured to determine at least a portion of the payload of the response message based on the interpreted portion of the second copy of the incoming physical signal.

[0037] These embodiments allow the system to base its response on the contents of the payload of the incoming message.

[0038] In particular, it will be appreciated that in these embodiments, the generated signal is generated based on the determined payload of the response message.

[0039] Each of the incoming physical signal, the first and second copies of the incoming physical signal, the generated signal, and the transmitted response signal may be a physical signal representing a bit stream.

[0040] In one embodiment, the method includes synchronizing the generated signal to the first copy of the incoming physical signal.

[0041] In one embodiment of the system, the system is configured to synchronize the generated signal with the first copy of the incoming physical signal, and to this end the system may comprise a delay line for delaying the provision of the first copy to a transmitter system.

[0042] This embodiment allows for the correct alignment of the first copy of the incoming physical signal with the generated signal to generate a response signal representing a response message, such that the response signal (which may be understood to be a combination of the first copy of the incoming physical signal and the generated signal) represents a proper signal to the receiver. A proper signal may be understood to refer to a signal that the receiver of the signal can interpret in compliance with all requirements arising from the receiver's specifications. An example of this may be Ethernet over optical fiber.

[0043] In one embodiment, the method includes switching from (i) providing the first copy of the incoming physical signal to a transmitter system to (ii) providing the generated signal to the transmitter system based on determining that a message has been received.

[0044] In one embodiment of the system, the system further comprises a switch for controlling whether the first copy of the incoming physical signal is provided to the transmitter system and for controlling whether the generated signal is provided to the transmitter system, In such an embodiment, the data processing system may be configured to cause the generated signal to be provided to the transmitter system by sending a control signal to the switch.

[0045] The switch may be configured to select either one of providing the first copy to the transmitter system for transmission or providing the generated signal to the transmitter system.

[0046] It can be seen that in these embodiments, after the switching, the generated signal is provided to the transmitter system in place of the first copy.

[0047] The switch should be the physical medium of the signal, e.g. single-ended electrical signal, balanced electrical signal, optical signal, pressure signal in any matter phase state, neutrino signal, tachyon signal, etc. Any kind of switch can be chosen as long as it can control whether the first copy of the incoming physical signal is provided to the transmitter and whether the signal generated in response is provided to the transmitter system.

[0048] The switch may be a switch system in the sense that it may comprise multiple sub-switches, for example a first sub-switch for controlling whether the first copy of the incoming physical signal is provided to the transmitter system and a second sub-switch for controlling whether the generated signal is provided to the transmitter system.

[0049] Preferably, the switching is performed such that the transmitted response signal does not include interruptions that would cause reception errors in a receiving system that receives the response signal. Thus, preferably, the switch is configured to switch such that the transmitted response signal can be correctly interpreted by a receiver, e.g. does not include interruptions that would cause reception errors in a receiving system that receives the response signal.

[0050] Preferably, the generated signal is synchronized (e.g., bit-aligned) with the incoming physical signal so that the transmitted response signal can be correctly interpreted by a receiver. To this end, the method may include synchronizing (e.g., bit-aligning) the generated signal with the incoming physical signal.

[0051] The incoming physical signal may be an electrical signal. The incoming physical signal may be an optical signal. The incoming physical signal may be an acoustic signal.

[0052] As will be appreciated by those skilled in the art, aspects of the invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which are generally referred to herein as a "circuit," "module," or "system." Functions described in this disclosure may be implemented as an algorithm executed by a computer processor / microprocessor. Additionally, aspects of the invention may take the form of a computer program product embodied on, e.g., having computer readable program code embodied on, e.g., stored on, one or more computer readable media.

[0053] Any combination of one or more computer readable media may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More specific examples of computer readable storage media may include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present invention, a computer-readable storage medium may be any tangible medium that contains or is capable of storing a program for use by or in connection with an instruction execution system, apparatus, or device.

[0054] A computer-readable signal medium may include a propagated data signal having computer-readable program code embodied therein, for example in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A computer-readable signal medium is not a computer-readable storage medium but may be any computer-readable medium that can communicate, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device.

[0055] The program code embodied on the computer readable medium may be transmitted using any suitable medium, such as, but not limited to, any suitable medium as described above, including, but not limited to, wireless, wired, fiber optic, cable, RF, etc., or any suitable combination thereof. The computer program code for performing operations for aspects of the present invention may be written in any combination of one or more programming languages, such as, for example, object-oriented programming languages, such as Java, Smalltalk, C++, etc., and conventional procedural programming languages, such as the "C" programming language or similar programming languages, as described above. The program code may be executed completely on the user's computer as a stand-alone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, such as, for example, any type of network as described above, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider).

[0056] Aspects of the present invention are described below with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor, particularly a microprocessor or central processing unit (CPU), of a general-purpose computer, special-purpose computer, or other programmable data processing device to create a machine, such that the instructions, executed via the processor of the computer, other programmable data processing device, or other device, create means for implementing the functions / acts specified in one or more blocks of the flowchart illustrations and / or block diagrams.

[0057] These computer program instructions may also be stored in a computer-readable medium that can cause a computer, other programmable data processing apparatus, or other device to function in a particular manner, such that the instructions stored in the computer-readable medium create an article of manufacture including instructions that implement the functions / acts specified in one or more blocks of the flowchart illustrations and / or block diagrams.

[0058] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause the computer, other programmable data processing apparatus, or other device to perform a series of operating steps, creating a computer-implemented process such that the instructions executing on the computer or other programmable data processing apparatus provide a method for implementing the functions / acts specified in one or more blocks of the flowchart illustrations and / or block diagrams.

[0059] The flowchart diagrams and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart diagrams or block diagrams may represent a module, segment, or portion of code, including one or more executable instructions for implementing one or more specified logical functions. It should also be noted that in some alternative implementations, the functions depicted in the block diagrams may occur out of the order depicted in the drawings. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may be executed in reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special purpose hardware-based system that performs the specified functions or acts, or a combination of special purpose hardware and computer instructions.

[0060] In one aspect, an embodiment of the invention may relate to a computer-implemented method for determining that a message has been received.

[0061] Moreover, there is provided a computer program for performing the methods described herein, as well as a non-transitory computer readable storage medium storing the computer program, which may, for example, be downloaded (updated) into existing systems or stored upon manufacture of those systems.

[0062] Elements and features discussed on or in relation to a particular embodiment may be suitably combined with elements and features of other embodiments, unless expressly stated otherwise. The embodiments of the present invention are further described with reference to the accompanying drawings, which show, in a schematic manner, embodiments according to the present invention. It will be understood that the present invention is in no way limited to these particular embodiments.

[0063] Aspects of the present invention will now be explained in more detail with reference to exemplary embodiments thereof as illustrated in the accompanying drawings. [Brief description of the drawings]

[0064] [Figure 1] FIG. 1 illustrates a system and method according to one embodiment. [Diagram 2] FIG. 2 illustrates a system and method according to one embodiment. [Diagram 3] FIG. 3 illustrates a system and method according to one embodiment. [Figure 4] FIG. 4 illustrates a system and method according to one embodiment. [Diagram 5] FIG. 5 illustrates a system and method according to one embodiment. [Figure 6] Figure 6 makes clear the distinction between processing physical signals and processing logical messages. [Figure 7] FIG. 7 illustrates a data processing system according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0065] In the drawings, the same reference numbers indicate the same or similar elements.

[0066] Figures 1-5 illustrate generally a system for transmitting a reply message in response to an incoming message according to one embodiment, and also generally a method for transmitting a reply message in response to an incoming message according to one embodiment, in that they show different states of the system 1 while the method according to one embodiment is being performed.

[0067] The system 1 of Figures 1-5 comprises an input 8 for receiving an incoming physical signal. The input 8 may be, for example, an input port. However, the input may also simply be a place where an incoming physical signal enters the system 1. This signal may be an electrical signal or may be an electromagnetic signal, for example an optical signal. An electrical signal may use fluctuations in current and / or voltage to convey information. An electromagnetic signal may use fluctuations in the radiant power of electromagnetic radiation, for example fluctuations in light intensity, to convey information. The incoming physical signal may be provided to the system via an electrical conductor in the case of an electrical signal, or via an optical conductor, for example a fiber optic cable, in the case of an electromagnetic signal. The incoming physical signal may be a bit stream. Such a bit stream may represent an Ethernet packet.

[0068] The incoming physical signal represents an incoming message 2. It may be understood that the incoming physical signal conveys information based on which the incoming message can be reconstructed. The incoming message 2 comprises a header portion 4 and a payload 6. In Fig. 1, the header portion comprises, for purposes of example, three bits A, B and C, and the payload 6 comprises six bits D, E, F, G, H, I. It should therefore be understood that the incoming physical signal comprises a header portion representing the header portion 4 and a payload portion representing the payload 6. The header portion of the incoming physical signal is received before the payload portion.

[0069] The system 1 further comprises a splitter 9 for splitting the incoming physical signal into a first copy and a second copy, a transmitter system 12 for transmitting a transmitted response signal representative of a response message, a switch 10, and a data processing system 100. The transmitter system 12 may be an output port of the system 1. However, the transmitter system may also simply be embodied as, for example, an optical and / or electrical wire that transmits the response signal outside the system 1.

[0070] In the illustrated system, data processing system 100 is shown to include a deserialization module 14 configured to interpret at least a portion of the second copy of the incoming physical signal, in particular to deserialize the second copy of the incoming physical signal. Deserialization module 14 is preferably also configured to communicate information to logic 15 in a format that logic 15 can process. Deserialization module 14 may, for example, be configured to digitize the second copy of the incoming physical signal, thus determining a digital signal based on the second copy of the incoming physical signal, and then communicate this digital signal to logic 15 in a format that logic 15 can process.

[0071] In the illustrated system, data processing system 100 is shown to have a serialization module 17 configured to serialize a portion of a response message determined by data processing system 100 to generate a signal, also referred to herein as a “generated signal.”

[0072] 1 further illustrates that the data processing system stores data 16 that represents at least a portion of the payload of the response message, as will be described later. It should be understood that this pre-stored data may be optional. There may be no pre-stored data. The pre-stored data 16 may be used to generate a portion of the response signal. Data 16 may be stored on a non-transitory computer readable storage medium (not shown) of data processing system 100.

[0073] FIG. 2 shows that the system 1 is configured to split the incoming physical signal into a first copy 18 of the incoming physical signal and a second copy 20 of the incoming physical signal. Given a certain type of the incoming physical signal, any suitable element capable of splitting the incoming physical signal can be used. If the incoming physical signal is an electrical signal, the splitter 9 may for example comprise a buffer for splitting the incoming electrical signal into a first copy and a second copy. In the case of an optical signal, such a splitting of a signal may be performed by using an optical splitter as known in the art. The first and second copies of the incoming physical signal may still represent bit streams even after they have been interpreted. It should also be understood that the splitting does not involve any interpretation of the incoming physical signal and therefore does not involve any deserialization.

[0074] 3 shows that the first copy 18 is provided to the transmitter system 12 so that at least a portion of the header portion of the first copy 18 is transmitted. In the illustrated example, the entire header portion representing bits A, B, C is provided to the transmitter system 12 and thus transmitted. In the illustrated example, no interpretation of the first copy of the incoming physical signal is performed, and thus no deserialization is performed on the first copy of the incoming physical signal. Thus, the incoming physical signal is directly fed back to the transmitter system 12 so that it is transmitted. In the illustrated example, the first copy 18 is provided to the transmitter system 12 via the switch 10.

[0075] 3 further illustrates that a second copy 20 of the incoming physical signal is provided to the data processing system 100, and in particular to a deserializer module 14 that interprets (and in particular deserializes) the incoming physical signal. After at least a portion of the second copy 20 has been interpreted, it is provided to logic 15 that is configured to determine that a message has been received. Logic 15 is, for example, configured to recognize a bit pattern as a header portion of an incoming message. It should be understood that the entire second copy of the incoming physical signal does not have to be interpreted in order for logic 15 to determine that a message has been received.

[0076] 4 shows that module 14 has deserialized a second copy 20 of the incoming physical signal. Data processing system 100 can determine that a message has been received based on its interpretation of the second copy of the incoming physical signal.

[0077] Based on determining that a message is arriving, data processing system 100 may begin generating a signal. In any event, data processing system 100 may switch from (i) providing the first copy of the incoming physical signal to the transmitter system to (ii) providing the generated signal to transmitter system 12 based on determining that a message has been received. As indicated by the arrow from data processing system 100 to switch 10, data processing system 100 is configured to control switch 10.

[0078] The generated signal in the illustrated example represents the payload 28 of a response message 30 (see also FIG. 5). In this example, the generated signal includes a predefined portion that has already been defined prior to determining that a message has been received, i.e. a portion generated based on pre-stored data 16. This portion represents part of the payload 28 of the response message 30. In the illustrated example, this portion of the pre-defined payload consists of bits J, K, L. However, it should be understood that the pre-stored data 16 and the pre-defined portion are optional.

[0079] In Fig. 4, data processing system 100, and in particular logic 15, determines a portion 26 of payload 28 of response message 30 based on the interpreted second copy of the incoming physical signal. In the illustrated example, this portion of the payload determined by data processing system 100 is composed of bits M, N, and O. In this example, portion 28 is determined based on at least a partially determined header and / or at least a partially determined payload of the incoming message. However, it should be understood that the data processing system can also determine at least a portion of the payload of the response message or the entire payload without knowing what bits are in the header or payload of the incoming message. In one example, when the data processing system is unable to determine the bits of the header and / or payload, for example due to noise, it determines a default payload of the response message, for example a default payload of a response message indicating that the message was not successfully received.

[0080] The data processing system 100 may be understood to generate the signal by first determining a payload portion 28 (FIG. 5) of the response message and then generating a signal representative of the determined payload portion 28. In particular, the generated signal may be generated by serialization module 17 as shown. It should be understood that the data processing system may optionally generate multiple signals based on the content of the incoming message, and then the data processing system selects one of these multiple generated signals and provides the selected signal to a transmitter system. In such a case, the data processing system may include multiple parallel signal generators.

[0081] The switch 10 is controlled such that the generated signal representing bits J, K, L, M, N, O is transmitted immediately after the header portion of the response signal representing bits A, B, C. To this end, the system may be configured to synchronize the generated signal to a first copy of the incoming physical signal. These signals are aligned so as to be interpretable to a receiver. For clarity, Figure 4 illustrates bits L and M separately from each other, but it should be understood that in the response message, they are transmitted consecutively as shown in Figure 5, with bit M following bit L, in a manner compliant with the applicable transmission protocol.

[0082] To ensure that the timing of the generated signals, as well as the timing of the switches, are correct, data processing system 100 may receive a copy of the transmitted response signal from transmitter system 12 (not shown in FIGS. 1-5). Data processing system 100 may then determine whether the transmitted response signal is correct, e.g., whether the transmitted response signal complies with a desired message protocol, e.g., an Ethernet protocol. If not, the timing of the switches and / or the timing of the generated signals may need to be adapted.

[0083] Getting the timing right may be performed using a test signal as an incoming physical signal to which system 1 should respond with a test response message. For example, if, in response to analyzing a transmitted test response message, it is found that the switch switched from the first copy of the incoming physical signal to the generated signal too quickly, causing bits to be missing in the test response message, the data processing system may be programmed to cause the switch to switch at a later point in time.

[0084] In one embodiment, a calibration may be performed to determine the correct timing of the generated signals and switches. In such a calibration, a test incoming signal representing a test message may be input to the system. A copy of the input signal (a third copy, not the first or second copy as described herein) may then be provided to a detector, while the second copy of the input signal is provided to a data processing system for interpreting the signal. The data processing system then detects that a message has been received, determines the payload of a test response message, and generates a test signal, and provides this generated test signal to the detector as well. The detector may then compare the test incoming physical signal and the generated test signal to synchronize (e.g., bit aligned) the signals. The data processing system may then adjust its time delay to synchronize the signals. This time delay is then also used during operation of the data processing system.

[0085] After such calibration, the data processing system knows when it needs to cause a switch from the first copy of the incoming physical signal to the generated signal in response to detecting that an incoming message has been received. The data processing system may then also know which bit should be provided first by the generated response signal. Thus, after such calibration, the data processing system may store information indicating at what particular time after detecting that an incoming message has been received, the data processing system should start generating the signal and when to cause a switch from the first copy to the generated signal, and may also preferably store information indicating that the first bit of the response signal represented by the generated signal is the nth bit of the response message, where n is an integer.

[0086] 5 illustrates that the data processing system 100 provided a response signal (bits J, K, L, M, N, O) to the transmitter system 12 based on determining that a message was received, in a manner such that the response signal is transmitted after at least a portion of the header portion of the first copy is transmitted, and such that the transmitted at least a portion of the header portion of the first copy (bits A, B, C) and the transmitted generated signal together generate a transmitted response signal representing a response message 30. The transmitted response signal may also represent a bit stream.

[0087] 1 and 5, response message 30 comprises a header section 4 and a payload 28, and the header section 4 of incoming message 2 is identical to the header section 4 of response message 30. In this example, both header sections consist of bits A, B, and C. In contrast, the payload of response message 30 is different from the payload 6 of incoming message 2.

[0088] However, it should be understood that system 1 may also send back a response message that is identical to the incoming message. If this occurs, switch 10 simply does not switch. In one example, data processing system 100 may interpret at least a portion of the second copy of some incoming physical signal to determine at least a portion of the incoming message, such as at least a portion of the header and / or payload, and may refrain from causing switch 10 to switch based on the determined at least a portion of the incoming message.

[0089] Figure 6 makes clear the distinction between the processing of physical signals and the processing of logical messages. In Figure 6 the physical signal is shown arriving at a signal splitter 9 which splits the physical signal into a first copy 18 and a second copy 20. It will be understood that this splitting may occur at the physical layer, which is shown conceptually as the area below line 40. No interpretation of the physical signal is necessary for the splitting of the signal.

[0090] 6 shows that the second copy 20 of the physical signal is interpreted in the sense that it is decoded, thereby making it possible to determine the incoming message and process it, and to determine the contents of the reply message. These steps can be understood to be performed at a logical level, which is conceptually indicated by the area above the line 40.

[0091] In the illustrated embodiment, after at least a portion of the response message has been determined, a physical signal is again generated that can be provided to the switch 10. The switch 10 can be controlled by a control signal determined during or after processing of the response message, as illustrated.

[0092] Switch 10 may be switched between providing the first copy and providing the second copy to a transmission system as described herein. As shown, it can be understood that the switching itself occurs again at the physical layer and thus does not require interpretation of a physical signal.

[0093] It should be noted that in the embodiment of FIG. 6, the first copy 18 of the physical signal remains at the physical level and is therefore not interpreted before being provided to the transmission system.

[0094] FIG. 7 is a block diagram illustrating a data processing system according to one embodiment.

[0095] As shown in Figure 7, data processing system 100 may include at least one processor 102 coupled to memory device 104 via a system bus 106. As such, the data processing system may store program code in memory device 104. Furthermore, processor 102 may execute program code accessed from memory device 104 via system bus 106. In one aspect, the data processing system may be implemented as a computer suitable for storing and / or executing program code. However, it should be understood that data processing system 100 may be implemented in the form of any system having a processor and memory capable of performing the functions described herein.

[0096] The memory element 104 may include one or more physical memory devices, such as a local memory 108 and one or more bulk storage devices 110. The local memory may refer to a random access memory or one or more other non-persistent memory devices typically used during the actual execution of the program code. The bulk storage device may be implemented as a hard drive or other persistent data storage device. The data processing system 100 may also include one or more cache memories (not shown) that provide temporary storage of at least some of the program code to reduce the number of times the program code is retrieved from the bulk storage device 110 during execution.

[0097] Input / output (I / O) devices, illustrated as input devices 112 and output devices 114, may optionally be connected to the data processing system. Examples of input devices may include, but are not limited to, pointing devices, such as a keyboard and mouse, a touch-sensitive display, an input 8 that receives an incoming physical signal, etc. Examples of output devices may include, but are not limited to, a monitor or display, a speaker, a switch 10 as described herein, a transmitter system 12 as described herein, etc. The input devices and / or the output devices may be connected to the data processing system directly or through an intervening I / O controller.

[0098] In one embodiment, the input device and the output device may be implemented as a combined input / output device (illustrated in FIG. 7 by the dashed lines surrounding input device 112 and output device 114). An example of such a composite device is a touch-sensitive display, also known as a "touch screen display" or simply a "touch screen." In such an embodiment, input to the device may be provided by the movement of a physical object, such as a stylus or a user's finger, on or near the touch screen display.

[0099] Network adapters 116 may also be connected to the data processing system to enable the data processing system to be connected to other systems, computer systems, remote network devices, and / or remote storage devices through intervening private or public networks. The network adapters may include a data receiver for receiving data transmitted from the systems, devices, and / or networks to data processing system 100, and a data transmitter for transmitting data from data processing system 100 to the systems, devices, and / or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapters that may be used with data processing system 100.

[0100] As illustrated in FIG. 7, memory element 104 may store application 118. In various embodiments, application 118 may be stored in local memory 108, in one or more bulk storage devices 110, or separately from the local memory and the bulk storage devices. It should be understood that data processing system 100 may further execute an operating system (not shown in FIG. 7) that may facilitate execution of application 118. Application 118, implemented in the form of executable program code, may be executed by data processing system 100, such as processor 102. In response to execution of the application, data processing system 100 may be configured to perform one or more operations or method steps described herein.

[0101] Various embodiments of the present invention may be implemented as a program product for use with a computer system, where one or more programs of the program product define the functionality of the embodiments (including the methods described herein). In one embodiment, the one or more programs may be included on various non-transitory computer-readable storage media, where the expression "non-transitory computer-readable storage media" as used herein includes all computer-readable media with the sole exception of transitory propagating signals. In another embodiment, the one or more programs may be included on various transitory computer-readable storage media. Exemplary computer-readable storage media include, but are not limited to, (i) non-writable storage media on which information is permanently stored (e.g., a read-only memory device in a computer, such as a CD-ROM disk readable by a CD-ROM drive, a ROM chip, or any type of solid-state non-volatile semiconductor memory), and (ii) writable storage media on which changeable information is stored (e.g., a flash memory, a floppy disk in a diskette drive or a hard disk drive, or any type of solid-state random access semiconductor memory). The computer program may be executed on the processor 102 described herein.

[0102] The terms used herein are for the purpose of describing particular embodiments only and are not intended to be limiting of the present invention. As used herein, the singular "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, as used herein, it will be understood that the words "comprises" and / or "comprising" specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0103] Corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the following claims are intended to encompass any structure, material, or act for performing a function in combination with other claimed elements as specifically claimed. The description of the embodiments of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the practice of the disclosed form. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. The embodiments have been selected and described in order to best explain the principles and some practical applications of the invention, and in particular to enable those skilled in the art to understand the invention in various embodiments with various modifications as suited to the particular use contemplated.

Claims

1. 1. A method for transmitting a reply message in response to an incoming message, comprising: the incoming message includes a header portion and a payload; the response message also includes a header portion and a payload; the header portion of the incoming message is identical to the header portion of the response message; the payload of the incoming message is different from the payload of the response message; The method comprises: receiving an incoming physical signal representing the incoming message, wherein the receiving includes receiving a header portion of the incoming physical signal, wherein the header portion represents the header portion of the incoming message, and thereafter receiving a payload portion of the incoming physical signal, wherein the payload portion represents the payload of the incoming message. splitting the incoming physical signal into a first copy of the incoming physical signal and a second copy of the incoming physical signal; providing the first copy of the incoming physical signal to a transmitter system such that at least a portion of a header portion of the first copy is transmitted; interpreting at least a portion of the second copy of the incoming physical signal to determine that a message has been received; generating a signal; and providing the generated signal to the transmitter system such that the generated signal is transmitted after the at least a portion of the header portion of the first copy is transmitted based on determining that a message has been received, wherein the transmitted at least a portion of the header portion of the first copy and the transmitted generated signal together generate a transmitted response signal representing the response message. The method comprising:

2. the incoming physical signal is uninterpreted prior to splitting the incoming physical signal into the first copy and the second copy; and splitting the incoming physical signal does not involve interpreting the incoming physical signal; and the first copy of the incoming physical signal is not interpreted before transmitting at least a portion of the header portion of the first copy and during transmission of at least a portion of the header portion of the first copy; The method of claim 1.

3. 2. The method of claim 1, wherein the generated signal includes a predefined portion that is already defined before determining that a message has been received, the predefined portion of the generated signal representing at least a portion of a payload of the response message.

4. interpreting at least a portion of the second copy of the incoming physical signal to determine at least a portion of the incoming message; and determining at least a portion of the payload of the response message based on the determined at least a portion of the incoming message; The method of claim 1 or 2, further comprising:

5. 3. The method of claim 1, wherein each of the incoming physical signal, the first copy and the second copy of the incoming physical signal, the generated signal, and the transmitted response signal is a physical signal possibly representing a bit stream.

6. The method of claim 5 further comprising synchronizing the generated signal with the first copy of the incoming physical signal.

7. 3. The method of claim 1, further comprising: switching from (i) providing the first copy of the incoming physical signal to the transmitter system to (ii) providing the generated signal to the transmitter system based on determining that a message has been received.

8. 3. The method of claim 1, wherein the switching is performed such that the transmitted response signal can be correctly interpreted by a receiver.

9. 3. The method of claim 1 or 2, wherein the generated signal is synchronized, e.g. bit-aligned, with the incoming physical signal so that the transmitted response signal can be correctly interpreted by a receiver.

10. 3. The method of claim 1, wherein the incoming physical signal is an electrical signal or an optical signal.

11. 1. A system for transmitting a reply message in response to an incoming message, comprising: the incoming message includes a header portion and a payload; the response message also includes a header portion and a payload; the header portion of the incoming message is identical to the header portion of the response message; The system comprises: an input for receiving an incoming physical signal representative of the incoming message, the incoming physical signal comprising a header portion representative of the header portion of the incoming message and a payload portion representative of the payload of the incoming message; and a transmitter system for transmitting a transmitted response signal representative of said response message; It is equipped with The system comprises: Splitting the incoming physical signal into a first copy of the incoming physical signal and a second copy of the incoming physical signal; and providing the first copy of the incoming physical signal to a transmitter system such that at least a portion of a header portion of the first copy is transmitted; It is structured as follows: The system comprises: interpreting at least a portion of the second copy of the incoming physical signal to determine that a message has been received; to generate a signal; and and causing the system to provide the generated signal to the transmitter system such that the generated signal is transmitted after the at least a portion of the header portion of the first copy is transmitted based on determining that the message has been received. and a data processing system configured to: wherein the transmitted at least a portion of a header portion of the first copy and the transmitted generated signal together generate a transmitted response signal representative of the response message. The system.

12. The system comprises: not interpreting the incoming physical signal before it is split into the first copy and the second copy; and splitting the incoming physical signal without interpreting the incoming physical signal; and not interpreting the first copy of the incoming physical signal before transmitting the at least a portion of the header portion of the first copy, and not interpreting the first copy of the incoming physical signal while transmitting the at least a portion of the header portion of the first copy; The system of claim 11 , wherein the system is configured to:

13. 13. The system of claim 11 or 12, further comprising a switch for controlling whether the first copy of the incoming physical signal is provided to a transmitter system and for controlling whether the generated signal is provided to the transmitter system, wherein the data processing system is configured to cause the system to provide the generated signal to the transmitter by sending a control signal to the switch.

14. 13. The system of claim 11 or 12, wherein the data processing system comprises a storage medium having stored thereon data representing at least a portion of a payload of a response message before the data processing system determines that the message has been received, and wherein the data processing system is configured to generate the signal based on the pre-stored data.