EP4162667A1 - Alternativer steuerkanal für netzwerkprotokollstapel - Google Patents

Alternativer steuerkanal für netzwerkprotokollstapel

Info

Publication number
EP4162667A1
EP4162667A1 EP21735526.2A EP21735526A EP4162667A1 EP 4162667 A1 EP4162667 A1 EP 4162667A1 EP 21735526 A EP21735526 A EP 21735526A EP 4162667 A1 EP4162667 A1 EP 4162667A1
Authority
EP
European Patent Office
Prior art keywords
network
source
address
message
override
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP21735526.2A
Other languages
English (en)
French (fr)
Inventor
Steve P. JANKLY
Neil R. EPSTEIN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Raytheon Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/891,949 external-priority patent/US11438300B2/en
Application filed by Raytheon Co filed Critical Raytheon Co
Publication of EP4162667A1 publication Critical patent/EP4162667A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5053Lease time; Renewal aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Definitions

  • Embodiments disclosed herein relate to network communications.
  • Some embodiments relate to data transfer between nodes of a network.
  • SWaP SWaP
  • SWaP constrained systems also include limited space for hardware components, making implementations of these capabilities that much more challenging.
  • FIG. 1 A is an overview diagram of a system implementing one or more of the disclosed embodiments.
  • FIG. 1B is an overview diagram of a system implementing one or more of the disclosed embodiments.
  • FIG. 2 shows an example implementation of a source device, such as any of the source devices discussed above with respect to FIG. 1 A.
  • FIG. 3 shows one example of a mailbox data structure that is implemented in one or more of the disclosed embodiments.
  • FIG. 4 shows an example message format for a message that is communicated between the alternate channel controller and the control channel manager in some of the disclosed embodiments.
  • FIG. 5 A shows an example user interface that is implemented in one or more of the disclosed embodiments.
  • FIG. 5B show's an example user interface that is implemented in one or more of the disclosed embodiments.
  • FIG. 6 shows an example user interface that is implemented by one or more of the disclosed embodiments.
  • FIG. 7A is a flowchart of a process for overriding a network parameter.
  • FIG. 7B is a flowchart of a process for overriding a network parameter.
  • FIG. 8A is a flowchart of an example method that is implemented in one or more of the disclosed embodiments.
  • FIG. 8B is a flowchart of an example method that is implemented in one or more of the disclosed embodiments.
  • FIG. 9 illustrates, by way of example, a block diagram of an embodiment of a processing system on which one or more of the processes discussed herein, can be implemented.
  • the network protocol stack is implemented in a SWaP constrained device.
  • the network protocol stack is under various hardware-based constraints with respect to memory, processor size and/or speed, and/or power available. These hardware constraints may give rise to software-based constraints as well. For example, given limited memory and/or processor resources, some of the disclosed devices may lack software that would otherwise provide network capabilities available in more fully featured implementations.
  • the disclosed embodiments provide for control inputs to be provided to one or more source devices.
  • the source devices are SWaP constrained devices in some aspects.
  • the control inputs are provided via a shared memory that is accessible to each of the source devices. From the shared memory, each of the source devices reads configuration information that defines the one or more control inputs.
  • the control inputs are provided by messages exchanged between a wireless node array controller (WNAC) and a control channel manager of a source device.
  • WNAC wireless node array controller
  • the one or more source devices are controlled via a controller, that communicates to the source nodes via either the shared memory or messages exchanged over a wireless network.
  • each of the source nodes are allocated a portion of the shared memory ' which is used for communication between the controller and the source device.
  • each source node is allocated a portion of the shared memory' that include a message pointer and a message waiting indicator. The controller may set the message waiting indicator while the source node may clear the message waiting indicator upon consuming a message from the shared memory mailbox.
  • Some embodiments implement a publish/subscribe model between a WNAC executing in a controller device and a control channel manager executing in the source device. After a connection between the source device and the controller device is established, the source device subscribes to control parameter updates made by the controller device.
  • the source device As the controller updates control parameters, the source device is notified and adjusts its operation consistent with the control parameters.
  • the WNAC dynamically creates and updates unique hardware identifications available to source devices to which they are connected via the wireless network.
  • each source device implements, in at least some embodiments, a client service, which receives messages from the WNAC and effects any changes necessary within the source device. This provides for dynamic assignment and/or reassignment of hardware identifications.
  • LTE Long Term Evolution
  • LPWAN low power wide-area network
  • RFID Radio Frequency Identification
  • NFC near-field communication
  • Hardware identifications contemplated by the disclosed embodiments includes various identification fields in packet formats of various wireless protocols. This includes, but is not limited to, fields such as service set identifiers, and network addresses. Definitions in communications standards such as LTE Packet Core elements, including Packet Data Convergence Protocol (PDCP), Radio Link Control (RFC). Medium Access Control (MAC) can be dynamically assigned by the disclosed embodiments.
  • LTE Packet Core elements including Packet Data Convergence Protocol (PDCP), Radio Link Control (RFC).
  • RRC Radio Link Control
  • MAC Medium Access Control
  • the controller device may, in some embodiments, cause display of a user interface that provides user interface controls allowing for control of the source devices.
  • the controller device reads configuration information for one or more of the source devices from a configuration file.
  • the configuration file is manually edited via a text editor in some embodiments.
  • the configuration file is programmatically modified, either automatically via another control program or via a configuration user interface. The details of the solution will become more apparent in the discussion below.
  • FIG. 1 A is an overview diagram of a system 100 implementing one or more of the disclosed embodiments.
  • FIG. 1A shows three source nodes or devices 102a-c.
  • the three source devices 102a-c are communicating with six target nodes or devices 104a-f.
  • Source device 102a is sending data to target devices 104a and 104b.
  • Source device 102b is sending data to target, device 104c.
  • Source device 102c is sending data to target devices 104d-f.
  • Each of the source devices 102a-e are reading control information from a shared memory 105.
  • the shared memory 105 is divided into at least three mailboxes 106a-c.
  • Each of the mailboxes 106a-c is allocated for communication with one of the source devices 102a-c respectively.
  • FIG. LA also shows a controller device 107.
  • the controller device 107 runs a alternate channel controller 108, which is, in some embodiments, a software or firmware module.
  • the alternate channel controller 108 also has access to the shared memory 105.
  • the alternate channel controller 108 is configured to send instructions, such as network configuration parameters. to each of the source devices 102a-c via its respective mailbox 106a-c respectively.
  • FIG. 1 A also shows external hardware 110, External hardware
  • FPGA 110 may comprise a field programmable gate array (FPGA) or other hardware capable of generating interrupt or discrete signals via connection 112, As discussed further below, some embodiments are configured to receive discrete signals from external hardware 110 to trigger switching of overwrite values as discussed further below.
  • FPGA field programmable gate array
  • FIG. IB is an overview diagram of a system 150 implementing one or more of the disclosed embodiments.
  • FIG. IB shows a controller device
  • WNAC 158 includes, in at least some embodiments, instructions that configure hardware processing circuitry of the controller device 157 to perform one or more of the functions discussed herein that are attributed to the WNAC 158.
  • the WNAC 158 provides, in at least some embodiments, control of the source nodes 152a-c with respect, to which source addresses each of the source nodes 152a-c are using when communicating with the target nodes 154a- f
  • the WNAC 158 is able to command any one or more of the source nodes 152a-c to change a source address used for network communications in response to a command received from the WNAC 158.
  • a source node e.g. 152a-c
  • the WNAC 158 and the source nodes 152a-c communicate over a wireless network
  • some embodiments provide for discovery of any one or more of the source nodes 152a-c by the WNAC 158 via a wireless message that is broadcast by the individual source nodes 152a-c.
  • the WNAC 158 communicates with the source node over a wireless network, such as a WiFi network.
  • a publish/subscribe messaging model is utilized for the communication between the WNAC 158 and an individual source node. For example, a source node, in some embodiments, subscribes to a source address parameter that is subject to modification by the WNAC 158.
  • the source node Upon modification of the source address parameter by the WNAC 158, the source node receives a notification of the modification. Upon receipt of the notification, the source node changes a source address it is using to communicate with one or more target nodes, to be consistent with the modified value.
  • FIG. 1 A Similar to the external hardware 11(3 illustrated in FIG. 1 A, FIG. 1
  • External hardware 160 may comprise a field programmable gate array (FPGA) or other hardware capable of generating interrupt or discrete signals via connection 162, As discussed further below, some embodiments are configured to receive discrete signals from external hardware 160 to trigger switching of overwrite values as discussed further below.
  • FPGA field programmable gate array
  • communication between the controller device 157/WNAC 158 and the source nodes 152a-c utilizes encryption to prevent nefarious actors from interfering with the communications.
  • a block cipher encryption solution is utilized.
  • AES advanced encryption standard
  • 3DES triple data encryption standard
  • multiple keys are managed separately for source nodes 152a-c and target nodes 154a-f.
  • Target nodes 154a-f would generally not communicate directly with the WNAC 158, The target nodes are preconfigured with keys for decryption. Key management between source devices and the WNAC 158 would be per NIST publication 800-57 in some embodiments,
  • FIG. 2 shows an example implementation of a source device 102, such as any of the source devices 102a-c discussed above with respect to FIG,
  • the example source device 102 includes a control channel manager 202.
  • the control channel manager 202 may represent a set or group of instructions that configure hardware processing circuitry to perform one or more of the functions discussed below and attributed to the control channel manager 202.
  • the control channel manager 202 obtains control information 201 for the source device 102 via a variety of techniques, depending on embodiment. In some embodiments, for example, some embodiments consistent with the system 100 of FIG. 1 A, the control channel manager 202 of the source device 102 reads control information 201 from the shared memory 105, discussed above with respect to FIG. 1 A. In some other embodiments, for example, those embodiments consistent with the system 150 discussed above with respect to FIG. IB, the control channel manager 202 exchanges messages with the VVNAC 158 over a wireless network to obtain control information 201. In these embodiments, the control channel manager does not interface with the mailbox 106a as shown in FIG. 2. In embodiments utilizing a shared memory based mailbox (e.g. mailbox 106a), the control channel manager 202 does not necessarily interface with the WNAC 158 for control information.
  • the control channel manager 202 does not necessarily interface with the WNAC 158 for control information.
  • the control information 201 indicates alternative control information for a network protocol stack 203 included in the source device 102.
  • the example source device 102 shown in FIG. 2 includes data communication channels 2Q6a-c between the control channel manager 202 and various components of the network protocol stack 203 included in the source device 102.
  • the example network protocol stack 203 includes a sockets layer 204b, transport layer 204c (shown as implanting a user datagram protocol (UDP) protocol), a network layer 204d (shown as implementing Internet Protocol (IP), and a link layer 204e (shown as implementing an Ethernet protocol, but other link protocols, such as Fiber Channel are also contemplated).
  • UDP user datagram protocol
  • IP Internet Protocol
  • link layer 204e shown as implementing an Ethernet protocol, but other link protocols, such as Fiber Channel are also contemplated.
  • the sockets layer 204b of the network protocol stack 203 is a network application 204a.
  • the network application 204a invokes control and data method (s) 208a-b respectively of the sockets layer 204b to generate network communication by the example source device 102.
  • FIG. 2 show ' s an example network protocol stack 203 that includes the sockets layer 204b, transport layer 204c (e.g. user datagram protocol (UDP), network layer 204d (e.g. the IP protocol), and a link layer 204e
  • transport layer 204c e.g. user datagram protocol (UDP)
  • network layer 204d e.g. the IP protocol
  • link layer 204e e.g. the link layer 204e
  • FIG. 2 shows the network application 204a invoking control and data method (s) 208a-b respectively of the sockets layer 204b
  • the control method(s) 208a modify one or more control parameters of one or more of the layers below the sockets layer 204b.
  • the control method(s) 208a may function to allow the network application 204a to specify a source and/or destination port for use by the transport layer 204c (e.g. UDP protocol).
  • a specified source and/or destination port overwrites a second source and/or destination port that may have been provided by the network application 204a.
  • the control method(s) 208a may further specify a source and/or destination network address (e.g.
  • each interface between a layer N and a layer N+1 includes both control and data methods. These are shown in FIG. 2 as control and data methods 210a-b, 212a- b, and 214a-b, which provide for the control of parameters between each of the sockets layer 204b and transport layer 204c, transport layer 204c and network layer 204d, and network layer 204d and link layer 204e respectively.
  • FIG. 2 also show's a data path 216b which represents a data output of the link layer 204e.
  • one or more communication channels between the control channel manager 202 and a component of the network protocol stack 203 is provided. These control channels allow' the control channel manager 202 to override/overwrite at least, some of the control parameters that may have been provided by the network application 204a via the control methods, such as the control method(s) 208a.
  • the network application 204a may specify a source sendee access point (SAP) value of, for example, 123
  • the control channel manager 202 may specify a source SAP value of 321.
  • the transport layer 204c utilizes the input provided by the control channel manager 202 and essentially ignores or overwrites the input provided by the network application 204a.
  • the control channel manager 202 may obtain alternative station address information from control information 201 received by the control channel manager 202 via either the shared memory based mailbox 106a or via an exchange of messages with the WNAC 158.
  • the station address information may define a link level station address to be applied by the link layer 204e as a source station address when sending data generated by the network application 204a.
  • the defined link level station address may override a station address provided in hardware of the source device 102.
  • the source device 102 may include a network interface that includes a station address that is provided during manufacturing of the network interface.
  • the station address obtained from the control information 201 is used to override this factory supplied station address and any other station address that, may have been provided.
  • control information 201 provided via either the shared memory 105 or via message exchanges with the WNAC 158 by the control channel manager 202 has the highest priority of any control information that is available.
  • control information 201 provided by the control channel manager 202 takes precedence over any other configuration information.
  • control channel manager 202 obtains alternative network address information from the control information 201. In some embodiments, the control channel manager 202 obtains alternative source SAP information from the control information 201. The control channel manager 202 configures the transport layer 204c (e.g. UDP) to utilize the alternative source SAP based on obtaining the instructions from the control information 201.
  • transport layer 204c e.g. UDP
  • FIG. 2 shows that the control channel manager 202 can receive discrete signals 225 from a hardware port, such as hardware ports 222 and/or 224.
  • a hardware port such as hardware ports 222 and/or 224.
  • the external hardware 110 or 160 discussed above with respect to FIG. 1 A and FIG. 1B respectively is connected to one of the hardware ports 222 or 224 shown in FIG. 2.
  • the discrete signals 225 received via one or more of the hardware ports 222 or 224 function as a trigger for the control channel manager 202 to switch an overwritten value from a first value to a second value.
  • FIG. 5B shows an example user interface that is implemented in one or more of the disclosed embodiments.
  • the user interface 520 shown in FIG. 5B is displayed, by some embodiments, upon selection of any one or more of controls 514a-c, discussed above with respect to FIG. 5 A.
  • the user interface 500 provides for configuration of switching parameters relating to the SAP, network, or link level override being configured via user interface 500, discussed above (e.g. via selection of one of controls 514a-c respectively).
  • Selection of check box control 522d provides for switching overwrite values based on reception of a software signal.
  • Example user interface 520 show's that a signal identifier is provided in some embodiments via edit box 524c.
  • POSIX type signals are used to trigger a switch of overwrite values in some embodiments.
  • switching via signals via check box control 522d operates in a similar manner as other methods of switching described above.
  • User interface 600 provides for packet-based criteria (via check box 602a) and time/date-based criteria (via check box 602b).
  • the packet-based criteria may provide for comparisons of a name of a process or application generating the packet via check box 604a. The comparison of the application name or process is performed against a string or regular expression (specified in edit box 606).
  • the packet-based criteria also provide for a comparison at a particular offset within the packet via check box 604b. An offset within the packet for the comparison is specified via edit box 608. A value to compare against the packet value found at the offset is specified via edit box 610.
  • Time/date-based criteria are specified via selection of check box
  • the message is received from the
  • the message received in operation 705 may include one or more of the fields of the example message 400 discussed above with respect to FIG. 4.
  • the message is encrypted when received and is decrypted by operation 705 before being decoded.
  • a block cipher encryption is employed on the message (e.g. Advanced Encryption Standard (AES) or Triple Data Standard Encryption (DES)).
  • AES Advanced Encryption Standard
  • DES Triple Data Standard Encryption
  • the message is decoded to identify an identifier that is predetermined to identify a particular network parameter.
  • the particular network parameter is a source address to be used as an address that identifies the first device in a network message transmitted by the first device.
  • the network parameter includes one or more of a transport-level source port number, a source network address (e.g., IP address), or a link level address (e.g., an Ethernet station address).
  • the message also includes a value to use to override the identified network parameter.
  • the message includes one or more criterion (e.g., criteria) that must be met before the specified network parameter is overridden.
  • the one or more criterion may relate to conditions of a network communication subject to an override. For example, the criterion may evaluate whether a network communication is destined to a particular device or a particular set of addresses (including a single address), a type of transmission of the network communication (e.g., is it unicast, multicast, or broadcast), a source port of the communication, a type of transport protocol used for the communication (e.g., TCP or UDP, etc.), a name of a network application generating the network communication, a number of network packets or network messages generated within a specified time period, a CPU utilization of the first device, or other conditions of the network communication.
  • the message received in operation 705 may specify an alternate source network address that is used to override the default source network address provided via one of the default methods described above.
  • Operation 715 operates similarly for other types of network parameters, such as transport level source ports (e.g., UDP source port) or link level addresses (e.g., an Ethernet station address).
  • These network parameters also have default values that result from nominal operation of the source device (e.g., any of 102a-c or 152a-c) and/or network protocol stack (e.g., network protocol stack 203).
  • these default values are specified by the network application (e.g., network application 204a via control method(s) 208a), or via configuration parameters.
  • these default values are similarly overridden by instructions received from the shared memory (e.g., shared memory 105) or based on a message received from the WNAC 158 via a wireless network.
  • an evaluation of one or more second criterion received in a second message indicates that the second one or more criterion are not met for one or more network messages and/or network packets.
  • the process 700 inhibits any overriding of network parameters associated with the second criterion and allows those network messages and/or packets to be nominally transmitted by the first device.
  • FIG. 7B is a flowchart of a process for overriding a network parameter. In some aspects, one or more of the functions discussed below with respect to FIG. 7B are performed by a controller device (e.g., any of controller device 107 or 157), or by instructions stored in the alternate channel controller 108 or WNAC 158.
  • one or more of the functions discussed below with respect to FIG. 7B and the process 750 are performed by hardware processing circuitry (e.g., processor 902 discussed below).
  • instructions e.g., instructions 924 discussed below
  • a memory e.g., memory' 904 discussed below'
  • Operation 760 generates instructions for one or more source devices consistent with the input received in operation 755. For example, if the input indicates that a source SAP, network address, or link address is to be overwritten, then the instructions are generated to indicate that a source SAP, network address, or link address are to be overwritten by the source node receiving the instructions. Furthermore, if the input indicates use of an address range, the generated instructions similarly indicate use of an address range by the source node receiving the instructions. If the input indicates use of a criterion to evaluate before overwriting the indicated address(es), then the instructions are similarly generated to indicate use of the criterion (e.g. via field 402 of message 400 in some embodiments).
  • Operation 765 provides the instructions to the one or more source devices. As discussed above, some embodiment utilize a shared memory interface between a controller device and one or more source devices. Thus, in these embodiments, operation 765 includes sending the instructions to the one or more source devices via a shared memory. In some embodiments, the instructions are sent via a message including one or more of the fields discussed above with respect to message 400 of FIG. 4.
  • providing the instructions includes transmitting one or more messages over the wireless network to the one or more source nodes/devices. For example, one or more messages including one or more of the fields of example message 400 discussed above with respect to FIG. 4 are transmitted over the wireless network to provide instructions to one or more source nodes consistent with the input received in operation 755.
  • instructions are received.
  • the instructions are received from a shared memory (e.g. the shared memory 105).
  • the instructions are received via a network message from the WNAC 158.
  • the instructions are included in a message that is received by a first device from a second device via either the shared memory (e.g., 105) or a wireless network (e.g. from the WNAC 158).
  • the first device may, in some embodiments, be any one of the source devices 102a-c discussed above with respect to FIGs. 1 A and/or 2 or the source devices 152a-c of FIG. 1B.
  • the second device in some embodiments runs the alternate channel controller 108 discussed above with respect to FIG. 1 A.
  • the second device executes the WNAC 158 of FIG. IB.
  • the network parameters indicated for overwrite are source addresses or source address ranges.
  • the source address or source address ranges identify, in at least some embodiments, the first device in a network communication transmitted by the first device.
  • the second device passes a network parameter range to the first device.
  • the network parameter range indicates a range of network parameter values the first device is to use when overriding the network parameter specified in the message (e.g., via a predetermined value, indicating a network parameter such as a transport level source SAP (e.g., UDP SAP), source network address (e.g., IP address), or source station address (e.g., Ethernet address)).
  • the instructions indicate the first device is to override a particular network parameter using values selected from the range. In some embodiments, the values within the range are randomly selected by the first device when overriding the network parameter.
  • the values are sequentially selected (with a return to a lowest ordered value after the highest value selected value is selected).
  • a mapping between values within the range and separate one or more criterion is determined or assigned. In some aspects, the mapping is included or otherwise indicated in the received message of operation 805.. In some aspects, the first device determines the mapping. The one or more criterion for each value identifies a particular type of network message or packet to which the network parameter value is to be applied. For example, in some aspects, different criterion may identify different network applications. In these aspects, different network parameter values are then applied to network messages or packets generated by different network applications.
  • different criterion may identify network messages or network packets using different transport level protocols. For example, in some aspects, TCP messages are overridden with a first value for a source network address or source link level address, while UDP messages are overridden with a second value for a source network address or source link level address. In some other aspects, the criterion may identify different source ports. Then different override values are applied to network messages or packets having the different source ports. Any of these examples may also be combined such that the one or more criterion evaluates multiple conditions for each network message or network packet before determining a network parameter override value. In some aspects, the criterion is structured such that process 800a performs time division multiplexing across multiple different source network addresses or source link level addresses.
  • a single source device e.g., any of 102a- c or 152a-c
  • a network communication is received.
  • the network communication is generated by a network application executing on the first device (e.g., network application 204a).
  • the network communication is a network message or a network packet in some embodiments.
  • the network message or packet is sent by the network application via a data path (e.g., data method(s) 208b) of a network protocol stack (e.g., network protocol stack 203) in some embodiments.
  • the network communication is received in operation 815 by intercepting a data path between two components of the protocol stack. For example, the network communication is intercepted at any of data method(s) 208b, 210b, 212b, 214b, 216b in at least some embodiments.
  • decision operation 820 a criterion is evaluated against the network communication (e.g., network message and/or network packet).
  • the criterion is one of the criteria included in the mapping of operation 810. If the criterion as applied to the network communication is not met, process 800a moves from decision operation 820 to decision operation 830, which determines if there are additional criterion to evaluate. If there are no further criterion to evaluate, process 800a moves from decision operation 830 to operation 860, which transmits the network communication. Transmitting the network communication may include passing the network communication to a level of a network protocol stack below where the network communication was intercepted.
  • operation 860 includes passing the network communication to the network layer 204d. After the network communication is transmitted in operation 860, processing returns to operation 815 where another network communication is received and processing repeats.
  • process 800a moves from decision operation 830 to operation 840, which obtains the next, criterion.
  • the next criterion is identified from the mapping of operation 810 in some aspects. Processing then returns to decision operation 820, which evaluates the next, criterion.
  • process 800a moves to operation 850.
  • Operation 850 determines a network parameter value mapped to the met criterion of decision operation 820.
  • the parameter value is identified per mapping of operation 810.
  • the network parameter value is then applied to the network communication by overriding the network parameter with the corresponding value.
  • FIG. 8B is a flowchart of an example method implemented in one or more of the disclosed embodiments.
  • one or more of the functions discussed below with respect to FIG. 8B are performed by hardware processing circuitry (e.g., processor 902 discussed below).
  • one or more electronic hardware memories e.g., 904 discussed below
  • stores instructions e.g., 924 discussed below
  • control channel manager 202 e.g, any of source nodes 102a-c or 152a ⁇ c
  • the second device discussed below is the controller device 107 running the alternate channel controller 108 or the controller device 157 running the WNAC 158.
  • operation 860 discussed above, performs one or more of the functions of process 800b, discussed below.
  • process 800b moves to decision operation 864 which determines whether a switch time has elapsed.
  • decision operation 864 may consider parameters set via user interface 520, such as check box control 522a and/or edit box 524a.
  • decision operation 864 first considers whether switching via elapsed time is enabled or not (e.g. via check box control 522a in some embodiments). If switching via elapsed time is enabled, some embodiments then compare an elapsed time since a previous switch to a threshold amount of time (e.g. indicated by edit box 524a in some embodiments). If the elapsed time has elapsed, process 800b moves from decision operation 864 to operation 870, discussed below.
  • decision operation 865 evaluates whether an amount of data transmitted has reached or otherwise transgressed a data threshold. In some embodiments, decision operation 865 first determines whether switching based on an amount of data is enabled (e.g. via check box control 522b in some embodiments). If switching based on data amount is enabled, then an amount of data transmitted since a previous switch or initial overwrite of a parameter has reached a data threshold (e.g. such as a data threshold specified via 524b in some embodiments). If the amount of data transmitted has reached or transgressed the data threshold, then the decision operation 865 moves to operation 870, discussed below. Otherwise, process 800b moves from decision operation 865 to decision operation 866.
  • a data threshold e.g. such as a data threshold specified via 524b in some embodiments
  • Decision operation 866 evaluates whether one or more switching criterion is met. As discussed above with respect to user interface 520, switching criterion is specified, for example, via a regular expression which is applied to data to be transmited (e.g. via edit box 524c in some embodiments).
  • process 800b moves from decision operation 866 to operation 870, discussed below. Otherwise, process 800b moves from decision operation 866 to decision operation 868, which determines whether a signal has been received that indicates a switch in an overwrite parameter.
  • a software generated signal such as a PQSIX signal
  • Some embodiments provide for specification/configuration of a hardware signal, such as a signal received over a particular hardware port (e.g.
  • process 800b moves from decision operation 868 to operation 870. Otherwise, process 800b moves from decision operation 868 back to decision operation 865 and process 800b may iterate.
  • Operation 870 then switches an overwrite value.
  • the overwrite value is for any of the parameters discussed above, such as source/destination SAPs, source/destination network addresses, source/destination link level addresses, or any other network parameter.
  • Switching switches from a first value to a second value.
  • the switch performed in operation 870 is, in some embodiments, in conformance with a overwrite value selection methods specified for the network parameter. For example, as discussed above with respect, to user interface 500, an overwrite operation is specified to use a random value or to select a value from a range of values in at least some embodiments. Thus, operation 870 switches from a first value to a second value consistent with the configured/specified method.
  • operation 870 if random determination of an overwrite value has been configured/ specified (e.g. via 506a), then operation 870 generates a new random value and uses the new random value as the second value. If selection from a range has been configured/ specified (e.g. via 506b), then operation 870 selects a new value from the identified range and uses that value as the second value. In some aspects, when a range of values has been configured/specified, operation 870 iterates through the range sequentially. In other embodiments, operation 870 selects a random value from the range, but ensures the same value is not used twice until all values have been used within at least a switching cycle.
  • process 800b may operate for each overwritten network parameter.
  • process 800b may operate for each of an overwritten link address, network address, and/or SAP.
  • Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules.
  • a hardware-implemented module is a tangible unit capable of performing certain operations and is configured or arranged in a certain manner.
  • one or more computer systems e.g., a standalone, client or server computer system
  • one or more processors are configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein,
  • a hardware-implemented module is implemented mechanically or electronically.
  • a hardware- implemented module may comprise dedicated circuitry or logic that is permanently configured to perform certain operations (e.g,, as a special-purpose processor, such as a field programmable gate array (FPGA) or an application- specific integrated circuit (ASIC)).
  • a hardware-implemented module may also comprise programmable logic or circuitry '’ (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations.
  • hardware-implemented module should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily or transitorily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein.
  • hardware-implemented modules are temporarily configured (e.g., programmed)
  • each of the hardware-implemented modules need not be configured or instantiated at any one instance in time.
  • the hardware-implemented modules comprise a general -purpose processor configured using software
  • the general-purpose processor is configured as respective different hardware-implemented modules at different times.
  • Software may accordingly configure a processor, for example, to constitute a particular hardware-implemented module at one instance of time and to constitute a different hardware-implemented module at a different instance of time.
  • Hardware-implemented modules may provide information to, and receive information from, other hardware-implemented modules. Accordingly, the described hardware-implemented modules are regarded as being communicatively coupled in at least some embodiments. Where multiple of such hardware-implemented modules exist contemporaneously, communications are achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware-implemented modules. In embodiments in which multiple hardware-implemented modules are configured or instantiated at different times, communications between such hardware-implemented modules is achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware-implemented modules have access.
  • one hardware-implemented module may perform an operation, and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware-implemented module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware-implemented modules may also initiate communications with input or output devices, and may operate on a resource (e.g., a collection of information).
  • a resource e.g., a collection of information
  • processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions.
  • the modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
  • the methods described herein are at least partially processor "implemented in some embodiments. For example, at least some of the operations of a method are performed, in at least some embodiments, by one or processors or processor-implemented modules.
  • the one or more processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service” (SaaS). For example, at least some of the operations are performed, in at least some embodiments, by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs)).
  • the one or more processors may operate to support performance of disclosed embodiments in a real-time timing constrained system. For example, a group of computers with deterministic timing are used to implement one or more of the disclosed embodiments.
  • a computer program is written in any form of programming language, including compiled or interpreted languages, and it is deployed, in at least some embodiments, in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment.
  • the system 900 also includes an alphanumeric input device 912 (e.g,, a keyboard), a user interface (UI) navigation device 914 (e.g., a mouse), a mass storage unit 916, a signal generation device 918 (e.g., a speaker), a network interface device 920, and radios or antennas 960 such as Bluetooth, WWAN, WLAN, and NFC, permitting the application of security controls on such protocols.
  • UI user interface
  • the mass storage unit 916 includes the machine-readable medium 922 on which is stored the one or more sets of instructions and data structures (e.g., software) 924 described above and embodying or utilized by any one or more of the methodologies or functions described herein.
  • the instructions 924 may also reside, completely or at least partially, within the main memory 904, the static memory' 906, and/or within the processor 902 during execution thereof by the system 900, the main memory' 904 and the processor 902 also constituting machine-readable media.
  • machine-readable medium 922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions or data structures.
  • the term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions.
  • the term ''machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.
  • Example 1 is a first device configured to operate as a source node to transmit data to a target node, the first device comprising: processing circuitry; and a memory storing instructions that when executed configure the processing circuitry to perform network communications on behalf of a network application executing on the first device, the network communications configured, via one or more network parameters of a network protocol stack, for transmission to a target node, and the processing circuitry further configured by the stored instructions to: receive a message from a second device, the message indicating instructions for overriding a source address network parameter of the network parameters, the instructions further indicating a criterion; determine the criterion is met by a particular network communication of the network communications; override the source address network parameter of the particular network communication with an override value indicated in the message in response to the criterion being met; and transmit the particular network communication including the overridden source address network parameter to the target node.
  • Example 2 the subject matter of Example 1 optionally includes a memory, the memory configured for access by the device and the second device, wherein the message from the second device is received via the memory,
  • Example 3 the subject matter of any one or more of Examples 1-2 optionally include wherein the message is received from a wireless node array controller (WN AC) via wireless network.
  • WN AC wireless node array controller
  • Example 4 the subject matter of any one or more of Examples 1-3 optionally include the processing circuitry further configured to: decode the message to identify an instruction to overwrite a transport level service access point (SAP) source port number with a first value; and override the transport level SAP source port number of the particular network communication with the first value in response to the criterion being met.
  • SAP transport level service access point
  • Example 7 the subject matter of any one or more of Examples 1-6 optionally include the processing circuitry further configured to: decode the message to identify an instruction to override a link level source address of the network communications with an address selected from an indicated link level address range; select an address from the link level address range; and override the link level source address of the particular network communication with the selected address.
  • Example 8 the subject matter of Example 7 optionally includes the processing circuitry further configured to: assign a plurality of link level addresses from the link level address range to a corresponding plurality of network application source ports; and perform time division multiplexing by transmitting packets having the network application source ports via the corresponding assigned link level addresses.
  • Example 9 the subject matter of any one or more of Examples 1-8 optionally include the processing circuitry '’ further configured to periodically switch the override value to a different value.
  • Example 10 the subject matter of any one or more of Examples 1-9 optionally include the processing circuitry' further configured to switch the override value in response to an amount of data transmitting transgressing a data threshold.
  • Example 11 the subject matter of any one or more of Examples 1-10 optionally include the processing circuitry further configured to: decode the message to identify an instruction to override a network level source address of the network communications; and override a network level source address of the particular network communication with the instructed network level source address.
  • the network level source address is an Internet Protocol (IP) address.
  • IP Internet Protocol
  • Example 13 is a method to transmit data to a target node, the method comprising: performing network communications on behalf of a network application executing on a communication device, the network communications configured, via one or more network parameters of a network protocol stack, for transmission to a target node; receiving a message from a device, the message indicating instructions for overriding a source address network parameter of the network parameters, the instructions further indicating a criterion; determining the criterion is met by a particular network communication of the network communications; overriding the source address network parameter of the particular network communication with an override value indicated in the message in response to the criterion being met; and transmitting the particular network communication including the overridden source address network parameter to the target node.
  • Example 14 the subject matter of Example 13 optionally includes decoding the message to identify an instruction to overwrite a transport level service access point (SAP) source port number with a first value; and overriding the transport level SAP source port number of the particular ⁇ network communication with the first, value in response to the criterion being met.
  • SAP transport level service access point
  • Example 16 the subject matter of Example 15 optionally includes assigning a plurality of link level addresses from the link level address range to a corresponding plurality of network application source ports; and performing time division multiplexing by transmitting packets having the network application source ports via the corresponding assigned link level addresses.
  • Example 17 the subject matter of any one or more of Examples 13-16 optionally include periodically switching the override value to a different value.
  • Example 18 the subject matter of any one or more of Examples 13-17 optionally include switching the override value in response to an amount of data transmitting transgressing a data threshold.
  • Example 20 is a n on-transitory computer readable storage medium comprising instructions that when executed configured hardware processing circuitry' to perform operations comprising: performing network communications on behalf of a network application executing on a communication device, the network communications configured, via one or more network parameters of a network protocol stack, for transmission to a target node; receiving a message from a device, the message indicating instructions for overriding a source address network parameter of the network parameters, the instructions further indicating a criterion; determining the criterion is met by a particular network communication of the network communications; overriding the source address network parameter of the particular network communication with an override value indicated in the message in response to the criterion being met; and transmitting the particular network communication including the overridden source address network parameter to the target node.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
EP21735526.2A 2020-06-03 2021-06-02 Alternativer steuerkanal für netzwerkprotokollstapel Withdrawn EP4162667A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/891,949 US11438300B2 (en) 2019-10-16 2020-06-03 Alternate control channel for network protocol stack
PCT/US2021/035434 WO2021247693A1 (en) 2020-06-03 2021-06-02 Alternate control channel for network protocol stack

Publications (1)

Publication Number Publication Date
EP4162667A1 true EP4162667A1 (de) 2023-04-12

Family

ID=76641839

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21735526.2A Withdrawn EP4162667A1 (de) 2020-06-03 2021-06-02 Alternativer steuerkanal für netzwerkprotokollstapel

Country Status (2)

Country Link
EP (1) EP4162667A1 (de)
WO (1) WO2021247693A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11412073B2 (en) 2019-10-16 2022-08-09 Raytheon Company Alternate control channel for network protocol stack
US11438300B2 (en) 2019-10-16 2022-09-06 Raytheon Company Alternate control channel for network protocol stack
CN115086455B (zh) * 2022-07-20 2023-01-13 北京国科天迅科技有限公司 Ipfc通信节点、系统和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104955038B (zh) * 2014-03-25 2019-06-11 华为终端有限公司 分配寻址标识的方法及接入点、站点和通信系统
US9596209B2 (en) * 2014-10-17 2017-03-14 Aruba Netwroks, Inc. Causing client device to request a new internet protocol address based on a link local address
US20170339100A1 (en) * 2016-05-18 2017-11-23 Empire Technology Development Llc Device address update based on event occurrences
US11412073B2 (en) * 2019-10-16 2022-08-09 Raytheon Company Alternate control channel for network protocol stack

Also Published As

Publication number Publication date
WO2021247693A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
EP4162667A1 (de) Alternativer steuerkanal für netzwerkprotokollstapel
US11412073B2 (en) Alternate control channel for network protocol stack
US10666451B2 (en) Method and apparatus for controlling access of household appliance device to network
CN102577264B (zh) 用于设置网络通信参数的方法和设备
JP5800872B2 (ja) 相互接続ネットワークにおけるパケットレベルプライオリティ付け
US9124438B2 (en) Network communication apparatus, network communication method, and program
EP1981227A2 (de) Wartung der Bandbreitenzuweisung für Verkehr mit Multicasts
US20170180311A1 (en) Systems and methods for managing network address information
US20160080318A1 (en) Dynamic host configuration protocol release on behalf of a user
CN113746716A (zh) 多连接接入点
US11438300B2 (en) Alternate control channel for network protocol stack
US20160248886A1 (en) Split-client constrained application execution in an industrial network
US20160248727A1 (en) Delivery control device, data delivery system, delivery control method, and non-transitory computer readable medium storing delivery control program
US20140169349A1 (en) Extended connectivity based on wireless paths between stations of a wireless local area network (wlan)
US20160028650A1 (en) Method and system for a user to create favorite server lists for multiple services
Carlier et al. Analysis of internet protocol based multicast on duty-cycled wireless sensor networks
US8625429B2 (en) Scheduling data over multiple network interfaces
WO2017219777A1 (zh) 一种报文处理方法及装置
US10938772B2 (en) Access device for analysis of physical links and method thereof
CN114584974A (zh) 一种物联网设备配网方法、装置、设备及介质
KR101947169B1 (ko) IP 터널링을 이용한IoT 디바이스제어 방법 및장치
US10652713B2 (en) Method of application data switching between a device in a wireless PAN mesh network and a virtual ethernet interface
CN104038480B (zh) 一种UPnP系统中的设备发现方法和系统
US20130188636A1 (en) Communication terminal and communication method
JP7433559B1 (ja) 通信制御装置、通信システム、通信制御方法およびプログラム

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20221222

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Free format text: PREVIOUS MAIN CLASS: H04L0029080000

Ipc: H04L0061500000

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 67/12 20220101ALI20230629BHEP

Ipc: H04L 61/50 20220101AFI20230629BHEP

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
INTG Intention to grant announced

Effective date: 20230713

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20231124