US20090046735A1 - Method for providing prioritized data movement between endpoints connected by multiple logical channels - Google Patents
Method for providing prioritized data movement between endpoints connected by multiple logical channels Download PDFInfo
- Publication number
- US20090046735A1 US20090046735A1 US12/259,061 US25906108A US2009046735A1 US 20090046735 A1 US20090046735 A1 US 20090046735A1 US 25906108 A US25906108 A US 25906108A US 2009046735 A1 US2009046735 A1 US 2009046735A1
- Authority
- US
- United States
- Prior art keywords
- packet
- data
- priority
- node
- queues
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/18—End to end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/16—Flow control; Congestion control in connection oriented networks, e.g. frame relay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/245—Traffic characterised by specific attributes, e.g. priority or QoS using preemption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3072—Packet splitting
Definitions
- the present invention relates to a data network, and more particularly, relates to a method for providing prioritized data movement between endpoints connected by multiple logical point-to-point channels in such a data network.
- a data network is generally consisted of a network of nodes connected by point-to-point links.
- Each physical link may support a number of logical point-to-point channels.
- Each channel may be a bi-directional communication path for allowing commands and data to flow between two connect nodes (e.g., hosts, I/O units and switch/switch elements) within the network.
- Each channel may refer to a single point-to-point connection where data may be transferred between endpoints (e.g., hosts and I/O units) in strict first-in, first-out (FIFO) order.
- Data may be transmitted in packets including groups called cells from source to destination often through intermediate nodes.
- cells between two endpoints may transverse the network along a given channel to ensure that cells are delivered in the order in which they were transmitted.
- strict FIFO ordering of messages in such a data network causes a well known problem called Ahead-of-line blocking.
- Ahead-of-line blocking@problem arises when a high priority message is queued onto the tail of a FIFO queue, and has to wait for all other messages to be processed before the high priority message may reach the head of the FIFO queue for processing.
- the overall performance of the data network can be significantly degraded.
- Such a data network may include a first node comprising a first plurality of first-in, first-out (FIFO) queues arranged for high priority to low priority data movement operations; and a second node operatively connected to the first node by multiple control and data channels, and comprising a second plurality of FIFO queues arranged in correspondence with the first plurality of FIFO queues for high priority to low priority data movement operations via the multiple control and data channels; wherein an I/O transaction is accomplished by one or more control channels and data channels created between the first node and the second node for moving commands and data for the I/O transaction during the data movement operations, in the order from high priority to low priority.
- FIFO first-in, first-out
- FIG. 1 illustrates an example data network having several nodes interconnected by corresponding links of a basic switch
- FIG. 2 illustrates another example data network having several nodes interconnected by corresponding links of a multi-stage switch
- FIG. 3 illustrates an example data in groups of cells for communications according to an embodiment of the present invention
- FIG. 4 illustrates an example data transfer between channel endpoints, for example, source node A and destination node B shown in FIGS. 1-2 connected by multiple logical point-to-point channels in strict first-in, first-out (FIFO) order;
- FIFO first-in, first-out
- FIG. 5 illustrates an example implementation of data transfer between channel endpoints, source node A and destination node B connected by multiple logical point-to-point channels in first-in, first-out (FIFO) order to provide prioritized processing of data movement operations according to an embodiment of the present invention
- FIG. 6 illustrates an example implementation of data transfer between channel endpoints, source node A and destination node B connected by multiple logical point-to-point channels in first-in, first-out (FIFO) order to provide prioritized processing of data movement operations according to another embodiment of the present invention.
- FIFO first-in, first-out
- the present invention is applicable for use with all types of computer networks, I/O channel adapters and chipsets, including follow-on chip designs which link together end stations such as computers, servers, peripherals, storage devices, and communication devices for data communications.
- Examples of such computer networks may include a local area network (LAN), a wide area network (WAN), a campus area network (CAN), a metropolitan area network (MAN), a global area network (GAN) and a system area network (SAN), including newly developed computer networks using Next Generation I/O (NGIO) and Future I/O (FIO) and Server Net and those networks which may become available as computer technology advances in the future.
- LAN local area network
- WAN wide area network
- CAN campus area network
- MAN metropolitan area network
- GAN global area network
- SAN system area network
- NGIO Next Generation I/O
- FIO Future I/O
- LAN system may include Ethernet, FDDI (Fiber Distributed Data Interface) Token Ring LAN, Asynchronous Transfer Mode (ATM) LAN, Fiber Channel, and Wireless LAN.
- FDDI Fiber Distributed Data Interface
- ATM Asynchronous Transfer Mode
- LAN Fiber Channel
- Wireless LAN Wireless Local Area Network
- the data network 10 may include, for example, one or more centralized switches 100 and four different nodes A, B, C, and D.
- Each node (endpoint) may correspond to one or more I/O units and host systems including computers and/or servers.
- I/O unit may include one or more I/O controllers connected thereto.
- Each I/O controller may operate to control one or more I/O devices such as storage devices (e.g., hard disk drive and tape drive).
- the centralized switch 100 may contain switch ports 0 , 1 , 2 , and 3 each connected to a corresponding node of the four different nodes A, B, C, and D via a corresponding physical link 110 , 112 , 114 , and 116 .
- Each physical link may support a number of logical point-to-point channels.
- Each channel may be a bi-directional communication path for allowing commands and data to flow between two connect nodes (e.g., host systems, I/O units and switch/switch elements) within the network.
- Each channel may refer to a single point-to-point connection where data may be transferred between endpoints (e.g., host systems and I/O units) in strict first-in, first-out (FIFO) order.
- FIFO first-in, first-out
- the centralized switch 100 may also contain routing information using, for example, explicit routing and/or destination address routing for routing data from a source node (data transmitter) to a destination node (data receiver) via corresponding link(s), and re-routing information for redundancy.
- end stations e.g., host systems and I/O units
- switches and links shown in FIG. 1 is provided simply as an example data network.
- a wide variety of implementations and arrangements of an number of end stations (e.g., host systems and I/O units), switches and links in all types of data networks may be possible.
- the end stations (e.g., host systems and I/O units) of the example data network shown in FIG. 1 may be compatible with the “Next Generation Input/Output (NGIO) Specification” as set forth by the NGIO Forum on Mar. 26, 1999.
- the switch 100 may be an NGIO fabric
- the end station may be a host system including one or more host channel adapters (HCAs) or an I/O unit including one or more target channel adapters (TCAs).
- HCAs host channel adapters
- TCAs target channel adapters
- FIG. 2 illustrates an example data network 10 ′ using an NGIO architecture to transfer data from a source node to a destination node according to an embodiment of the present invention.
- the data network 10 ′ includes a multi-stage switch 100 ′ comprised of a plurality of switches for allowing a host system and a target system to communicate to a large number of other host systems and target systems.
- any number of end stations, switches and links may be used for relaying data in groups of cells between the end stations and switches via corresponding NGIO links.
- node A may represent a host system 130 .
- node B may represent another network, including, but are not limited to, local area network (LAN), wide area network (WAN), Ethernet, ATM and fibre channel network, that is connected via high speed serial links.
- Node C may represent an I/O unit 170 .
- node D may represent a remote system 190 such as a computer or a server.
- nodes A, B, C, and D may also represent individual switches of the multi-stage switch 100 ′ which serve as intermediate nodes between the host system 130 and the target systems 150 , 170 and 190 .
- the multi-state switch 100 ′ may include a central network manager 250 connected to all the switches for managing all network management functions.
- the central network manager 250 may alternatively be incorporated as part of either the host system 130 , the second network 150 , the I/O unit 170 , or the remote system 190 for managing all network management functions.
- the central network manager 250 may be configured for learning network topology, determining the switch table or forwarding database, detecting and managing faults or link failures in the network and performing other network management functions.
- a host channel adapter (HCA) 120 may be used to provide an interface between a memory controller (not shown) of the host system 130 and a multi-stage switch 100 ′ via high speed serial NGIO links.
- target channel adapters (TCA) 140 and 160 may be used to provide an interface between the multi-stage switch 100 ′ and an I/O controller of either a second network 150 or an I/O unit 170 via high speed serial NGIO links.
- another host channel adapter (HCA) 180 may be used to provide an interface between a memory controller (not shown) of the remote system 190 and the multi-stage switch 100 ′ via high speed serial NGIO links.
- Both the host channel adapter (HCA) and the target channel adapter (TCA) may be implemented in compliance with “Next Generation I/O Link Architecture Specification: HCA Specification, Revision 1.0” as set forth by NGIO Forum on Jul. 20, 1999 for enabling the endpoints (nodes) to communicate to each other over an NGIO channel(s).
- NGIO is merely one example embodiment or implementation of the present invention, and the invention is not limited thereto. Rather, the present invention may be applicable to a wide variety of data networks, hosts and I/O units.
- the source node may communicate with the destination node (data receiver) using a Virtual Interface Architecture (VI-A) in compliance with the “Virtual Interface (VI) Architecture Specification, Version 1.0,” as set forth by Compaq Corp., Intel Corp., and Microsoft Corp., on Dec. 16, 1997.
- VI Virtual Interface Architecture
- the VI Specification defines mechanisms for low-latency, high-bandwidth message-passing between interconnected nodes. Low latency and sustained high bandwidth may be achieved by avoiding intermediate copies of data and bypassing an operating system when sending and receiving messages.
- Other architectures may also be used to implement the present invention.
- FIG. 3 illustrates an embodiment of packet and cell formats of data transmitted from a source node (data transmitter) to a destination node (data receiver) through switches and/or intermediate nodes according to the ANext Generation I/O Link Architecture Specification.@
- a packet 300 may represent a sequence of one or more cells 310 .
- Each cell 310 may include a fixed format header information 312 , a variable format cell payload 314 and a cyclic redundancy check (CRC) information 316
- the header information 312 may consist of 16 bytes of media control access information which specifies cell formation, format and validation.
- Each cell payload provides appropriate packet fields plus up to 256 bytes of data payload.
- the cell CRC may consist of 4-bytes of checksum for all of the data in the cell. Accordingly, the maximum size cell as defined by NGIO specification may be 292 bytes (256-byte Data Payload, 16-byte Header, 16-Byte Virtual Address/Immediate data, and 4-byte CRC).
- FIG. 4 illustrates an example data transfer between channel endpoints, for example, source node A (a particular host) and destination node B (an I/O unit) as shown in FIGS. 1-2 connected by multiple logical point-to-point channels in strict first-in, first-out (FIFO) order.
- These point-to-point channels may be directly supported by the Virtual Interface Architecture (VI-A) and NGIO.
- VIP-A Virtual Interface Architecture
- NGIO Network-to-point connections
- VIP Virtual Interface Architecture
- node A may include, for example, physical FIFO queues (work queues) 410 and 412 for either en-queuing or de-queuing data transfer requests and actual data transfer.
- node B may include, for example, physical FIFO queues 420 and 422 for either en-queuing or de-queuing data transfer requests and actual data transfer.
- a logical I/O transaction between node A and node B may be accomplished by two channels 430 and 440 , one channel for control and another channel for data.
- Each I/O transaction may consist of a I/O request for I/O services followed by data transfer (if indicated by the I/O service request) and a completion notification returned to the source node (initiator) of the I/O service request.
- the control channel 430 may support commands that describe data movement operations (i.e., sending I/O request and I/O reply messages).
- the data channel 440 actually moves the data between node A and node B. Since separate channels 430 and 440 are used for data transfer between channel endpoints, neither request nor reply messages need to wait for large blocks of data transmission between node A and node B. However, the Ahead-of-line blocking@ and FIFO order will not allow prioritizing data once the data is queued on the control channel 430 .
- node A may include, for example, physical FIFO queues (work queue in strict FIFO order) 510 A- 510 N in an order of priority (from high priority to low priority) and FIFO queue 512 for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer.
- physical FIFO queues work queue in strict FIFO order
- FIFO queue 512 for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer.
- node B may include, for example, physical FIFO queues 520 A- 520 N in an order of priority (from high priority to low priority) and FIFO queue 522 for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer.
- a logical I/O transaction may be accomplished by a plurality of control channels 530 A- 530 B created between node A and node B strictly for sending I/O request and I/O reply messages in the order from high priority to low priority, and a single data channel 540 created for moving data between node A and node B. Multiple control channels 530 A- 530 B are used to prioritize command processing.
- Each control channel can be assigned a logical priority by the node (node A or node B) that is en-queuing the commands to be executed. For example, if assuming that only two priorities (high and low FIFO queues 510 A and 510 N) are used, the node (node A or node B) that is en-queuing commands can use the low priority queue (for example, FIFO queue 510 A) for normal traffic, and the high priority queue (for example, FIFO queue 510 N) for urgent traffic. This allows high priority commands to move across the control channel while avoiding blocking behind low priority traffic.
- the specific number and configuration of FIFO queues and point-to-point channels between node A and node B shown in FIG. 5 is provided simply as an example priority level of data movement between endpoints in an example data network.
- a wide variety of implementations and arrangements of any number of data channels and control channels between endpoints in all types of data networks may be possible.
- the priority model shown in FIG. 5 can also be extended to allow for multiple data channels, each assigned a different priority level. This allows for prioritized data to be mapped onto prioritized data channels, and for data of differing priorities to move independently across different data channels between endpoints in an example data network.
- FIG. 6 illustrates the data transfer between channel endpoints, for example, source node A (a particular host) and destination node B (an I/O unit) connected by multiple logical point-to-point channels in first-in, first-out (FIFO) order to provide prioritized processing of data movement operations according to another embodiment of the present invention.
- node A may include a FIFO queue (work queue in strict FIFO order) 610 and FIFO queues 612 A- 612 N in an order of priority (from high priority to low priority) for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer.
- node B may include a FIFO queue 620 and FIFO queues 622 A- 622 N in an order of priority for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer.
- a logical I/O transaction may be accomplished by a single control channel 630 created between node A and node B strictly for sending I/O request and I/O reply messages, and a plurality of data channels 640 A- 640 N created for moving data between node A and node B in the order from high priority to low priority.
- a single control channel 630 may be sufficient and desirable, but data transfer spread between multiple data channels 640 A- 640 N can significantly decrease latency and increase bandwidth. Moreover, dividing data transfer between different data channels may help overall I/O responsiveness and distribute even loading in the data network. Multiple data channels 640 A- 640 N are used to prioritize data processing.
- Each data channel can be assigned a logical priority by the node (node A or node B) that is en-queuing the data to be transferred.
- the number of data channels used for data movement between node A and node B may be assigned by any given node when the channels are created.
- each cell may contain a 3-bit priority indication as part of the 16 byte Media Access Control (MAC) header shown in FIG. 3 for providing, for example, a maximum eight (8) levels of priority. However, currently only five of the eight possible combinations are defined by NGIO protocol.
- the highest level priority may be reserved for management packets. The lowest level priority may be Priority “0” for best effort. Next to the lowest priority may be Priority “1” for privileged best effort, Priority “2” for negotiated normal latency, and Priority “3” for negotiated minimum latency.
- Management class of service may be provided to allow system administrators to communicate with all nodes connected to the NGIO fabric. These priorities may be absolute, meaning that a higher priority will always preempt a lower priority.
- source node A may transmit all data from FIFO queues configured to transmit at management service before any data is sent from FIFO queues configured to transmit at best effort or privileged best effort service.
- Each FIFO queue shown in FIGS. 5 and 6 may be assigned to one of the five priorities based on the end-to-end class-of-service and/or the quality-of-service desired for that FIFO queue.
- Each node may include one or more channel adapters configured with a multiplexing function based on priority for multiplexing and transmitting back to back cells of the same priority from multiple FIFO queues through the assigned control or data channels.
- the present invention advantageously provides a unique cost-effective and performance-efficient solution for prioritized data movement between endpoints connected by multiple logical channels in a data network.
- a prioritized data movement solution is especially important for connections between a host computer and a node that provides inter-networking to external networks running industry standard protocols such as TCP/IP.
- a prioritized data movement solution is also critical for implementation of networking products that allow for end-to-end class-of-service and/or quality-of-service between an NGIO based host computer and another computer on a LAN or WAN.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A data network and a method for providing prioritized data movement between endpoints connected by multiple logical channels. Such a data network may include a first node comprising a first plurality of first-in, first-out (FIFO) queues arranged for high priority to low priority data movement operations; and a second node operatively connected to the first node by multiple control and data channels, and comprising a second plurality of FIFO queues arranged in correspondence with the first plurality of FIFO queues for high priority to low priority data movement operations via the multiple control and data channels; wherein an I/O transaction is accomplished by one or more control channels and data channels created between the first node and the second node for moving commands and data for the I/O transaction during the data movement operations, in the order from high priority to low priority.
Description
- This application is a Continuation of U.S. application Ser. No. 10/973,306 filed on Oct. 27, 2004, which is a continuation of U.S. application Ser. No. 09/461,728 filed on Dec. 16, 1999; the teachings of which are herein incorporated by reference.
- The present invention relates to a data network, and more particularly, relates to a method for providing prioritized data movement between endpoints connected by multiple logical point-to-point channels in such a data network.
- A data network is generally consisted of a network of nodes connected by point-to-point links. Each physical link may support a number of logical point-to-point channels. Each channel may be a bi-directional communication path for allowing commands and data to flow between two connect nodes (e.g., hosts, I/O units and switch/switch elements) within the network. Each channel may refer to a single point-to-point connection where data may be transferred between endpoints (e.g., hosts and I/O units) in strict first-in, first-out (FIFO) order. Data may be transmitted in packets including groups called cells from source to destination often through intermediate nodes. In many data networks, cells between two endpoints (e.g., hosts and I/O units) may transverse the network along a given channel to ensure that cells are delivered in the order in which they were transmitted. However, strict FIFO ordering of messages in such a data network causes a well known problem called Ahead-of-line blocking. Usually the Ahead-of-line blocking@problem arises when a high priority message is queued onto the tail of a FIFO queue, and has to wait for all other messages to be processed before the high priority message may reach the head of the FIFO queue for processing. As a result, the overall performance of the data network can be significantly degraded.
- Therefore, there is a need for a more flexible, cost-effective, priority-driven and performance-efficient technique for providing prioritized data movement between endpoints connected by multiple logical channels in a data network.
- Accordingly, various embodiments of the present invention are directed to a data network and a method for providing prioritized data movement between endpoints connected by multiple logical channels in a data network. Such a data network may include a first node comprising a first plurality of first-in, first-out (FIFO) queues arranged for high priority to low priority data movement operations; and a second node operatively connected to the first node by multiple control and data channels, and comprising a second plurality of FIFO queues arranged in correspondence with the first plurality of FIFO queues for high priority to low priority data movement operations via the multiple control and data channels; wherein an I/O transaction is accomplished by one or more control channels and data channels created between the first node and the second node for moving commands and data for the I/O transaction during the data movement operations, in the order from high priority to low priority.
- A more complete appreciation of exemplary embodiments of the present invention, and many of the attendant advantages of the present invention, will become readily apparent as the same becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference symbols indicate the same or similar components, wherein:
-
FIG. 1 illustrates an example data network having several nodes interconnected by corresponding links of a basic switch; -
FIG. 2 illustrates another example data network having several nodes interconnected by corresponding links of a multi-stage switch; -
FIG. 3 illustrates an example data in groups of cells for communications according to an embodiment of the present invention; -
FIG. 4 illustrates an example data transfer between channel endpoints, for example, source node A and destination node B shown inFIGS. 1-2 connected by multiple logical point-to-point channels in strict first-in, first-out (FIFO) order; -
FIG. 5 illustrates an example implementation of data transfer between channel endpoints, source node A and destination node B connected by multiple logical point-to-point channels in first-in, first-out (FIFO) order to provide prioritized processing of data movement operations according to an embodiment of the present invention; and -
FIG. 6 illustrates an example implementation of data transfer between channel endpoints, source node A and destination node B connected by multiple logical point-to-point channels in first-in, first-out (FIFO) order to provide prioritized processing of data movement operations according to another embodiment of the present invention. - The present invention is applicable for use with all types of computer networks, I/O channel adapters and chipsets, including follow-on chip designs which link together end stations such as computers, servers, peripherals, storage devices, and communication devices for data communications. Examples of such computer networks may include a local area network (LAN), a wide area network (WAN), a campus area network (CAN), a metropolitan area network (MAN), a global area network (GAN) and a system area network (SAN), including newly developed computer networks using Next Generation I/O (NGIO) and Future I/O (FIO) and Server Net and those networks which may become available as computer technology advances in the future. LAN system may include Ethernet, FDDI (Fiber Distributed Data Interface) Token Ring LAN, Asynchronous Transfer Mode (ATM) LAN, Fiber Channel, and Wireless LAN. However, for the sake of simplicity, discussions will concentrate mainly on priority use of data movement in a simple data network having several example nodes (e.g., end stations including computers, servers and I/O units) interconnected by corresponding links in compliance with the ANext Generation I/O Architecture@ for link specification and switch specification as set forth by the NGIO Forum on Mar. 26, 1999, although the scope of the present invention is not limited thereto.
- Attention now is directed to the drawings and particularly to
FIG. 1 , asimple data network 10 having several interconnected nodes for data communications according to an embodiment of the present invention is illustrated. As shown inFIG. 1 , thedata network 10 may include, for example, one or morecentralized switches 100 and four different nodes A, B, C, and D. Each node (endpoint) may correspond to one or more I/O units and host systems including computers and/or servers. I/O unit may include one or more I/O controllers connected thereto. Each I/O controller may operate to control one or more I/O devices such as storage devices (e.g., hard disk drive and tape drive). - The
centralized switch 100 may containswitch ports physical link switch 100 may also contain routing information using, for example, explicit routing and/or destination address routing for routing data from a source node (data transmitter) to a destination node (data receiver) via corresponding link(s), and re-routing information for redundancy. - The specific number and configuration of end stations (e.g., host systems and I/O units), switches and links shown in
FIG. 1 is provided simply as an example data network. A wide variety of implementations and arrangements of an number of end stations (e.g., host systems and I/O units), switches and links in all types of data networks may be possible. - According to an example embodiment or implementation, the end stations (e.g., host systems and I/O units) of the example data network shown in
FIG. 1 may be compatible with the “Next Generation Input/Output (NGIO) Specification” as set forth by the NGIO Forum on Mar. 26, 1999. According to the NGIO Specification, theswitch 100 may be an NGIO fabric, and the end station may be a host system including one or more host channel adapters (HCAs) or an I/O unit including one or more target channel adapters (TCAs). - For example,
FIG. 2 illustrates anexample data network 10′ using an NGIO architecture to transfer data from a source node to a destination node according to an embodiment of the present invention. As shown inFIG. 2 , thedata network 10′ includes amulti-stage switch 100′ comprised of a plurality of switches for allowing a host system and a target system to communicate to a large number of other host systems and target systems. In addition, any number of end stations, switches and links may be used for relaying data in groups of cells between the end stations and switches via corresponding NGIO links. - For example, node A may represent a
host system 130. Similarly, node B may represent another network, including, but are not limited to, local area network (LAN), wide area network (WAN), Ethernet, ATM and fibre channel network, that is connected via high speed serial links. Node C may represent an I/O unit 170. Likewise, node D may represent aremote system 190 such as a computer or a server. Alternatively, nodes A, B, C, and D may also represent individual switches of themulti-stage switch 100′ which serve as intermediate nodes between thehost system 130 and thetarget systems - The
multi-state switch 100′ may include acentral network manager 250 connected to all the switches for managing all network management functions. However, thecentral network manager 250 may alternatively be incorporated as part of either thehost system 130, thesecond network 150, the I/O unit 170, or theremote system 190 for managing all network management functions. In either situation, thecentral network manager 250 may be configured for learning network topology, determining the switch table or forwarding database, detecting and managing faults or link failures in the network and performing other network management functions. - A host channel adapter (HCA) 120 may be used to provide an interface between a memory controller (not shown) of the
host system 130 and amulti-stage switch 100′ via high speed serial NGIO links. Similarly, target channel adapters (TCA) 140 and 160 may be used to provide an interface between themulti-stage switch 100′ and an I/O controller of either asecond network 150 or an I/O unit 170 via high speed serial NGIO links. Separately, another host channel adapter (HCA) 180 may be used to provide an interface between a memory controller (not shown) of theremote system 190 and themulti-stage switch 100′ via high speed serial NGIO links. Both the host channel adapter (HCA) and the target channel adapter (TCA) may be implemented in compliance with “Next Generation I/O Link Architecture Specification: HCA Specification, Revision 1.0” as set forth by NGIO Forum on Jul. 20, 1999 for enabling the endpoints (nodes) to communicate to each other over an NGIO channel(s). However, NGIO is merely one example embodiment or implementation of the present invention, and the invention is not limited thereto. Rather, the present invention may be applicable to a wide variety of data networks, hosts and I/O units. - The source node (data transmitter) may communicate with the destination node (data receiver) using a Virtual Interface Architecture (VI-A) in compliance with the “Virtual Interface (VI) Architecture Specification, Version 1.0,” as set forth by Compaq Corp., Intel Corp., and Microsoft Corp., on Dec. 16, 1997. The VI Specification defines mechanisms for low-latency, high-bandwidth message-passing between interconnected nodes. Low latency and sustained high bandwidth may be achieved by avoiding intermediate copies of data and bypassing an operating system when sending and receiving messages. Other architectures may also be used to implement the present invention.
-
FIG. 3 illustrates an embodiment of packet and cell formats of data transmitted from a source node (data transmitter) to a destination node (data receiver) through switches and/or intermediate nodes according to the ANext Generation I/O Link Architecture Specification.@ As shown inFIG. 3 , apacket 300 may represent a sequence of one ormore cells 310. Eachcell 310 may include a fixedformat header information 312, a variableformat cell payload 314 and a cyclic redundancy check (CRC)information 316 Theheader information 312 may consist of 16 bytes of media control access information which specifies cell formation, format and validation. Each cell payload provides appropriate packet fields plus up to 256 bytes of data payload. The cell CRC may consist of 4-bytes of checksum for all of the data in the cell. Accordingly, the maximum size cell as defined by NGIO specification may be 292 bytes (256-byte Data Payload, 16-byte Header, 16-Byte Virtual Address/Immediate data, and 4-byte CRC). -
FIG. 4 illustrates an example data transfer between channel endpoints, for example, source node A (a particular host) and destination node B (an I/O unit) as shown inFIGS. 1-2 connected by multiple logical point-to-point channels in strict first-in, first-out (FIFO) order. These point-to-point channels may be directly supported by the Virtual Interface Architecture (VI-A) and NGIO. Many networking protocols (for example, Internet Protocol TCP/IP) provide for multiple priorities of traffic to allow for varying types of information to pass between endpoints with varying precedence. Point-to-point connections as presented by the Virtual Interface Architecture (VIA) and the NGIO initiative provide only for FIFO ordering of messages. However, strict FIFO ordering as described, causes a Ahead-of-line blocking@ problem. This is because when a high priority message is queued onto the tail of a FIFO queue, such high priority message has to wait for all other messages to be processed before it reaches the head of the queue for processing. As a result, the overall performance of the data network can be significantly degraded. - As shown in
FIG. 4 , node A may include, for example, physical FIFO queues (work queues) 410 and 412 for either en-queuing or de-queuing data transfer requests and actual data transfer. Likewise, node B may include, for example,physical FIFO queues channels control channel 430 may support commands that describe data movement operations (i.e., sending I/O request and I/O reply messages). The data channel 440 actually moves the data between node A and node B. Sinceseparate channels control channel 430. - Turning now to
FIG. 5 , the data transfer between channel endpoints, for example, source node A (a particular host) and destination node B (an I/O unit) connected by multiple logical point-to-point channels in first-in, first-out (FIFO) order to provide prioritized processing of data movement operations according to an embodiment of the present invention is illustrated. As shown inFIG. 5 , node A may include, for example, physical FIFO queues (work queue in strict FIFO order) 510A-510N in an order of priority (from high priority to low priority) andFIFO queue 512 for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer. Likewise, node B may include, for example,physical FIFO queues 520A-520N in an order of priority (from high priority to low priority) andFIFO queue 522 for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer. A logical I/O transaction may be accomplished by a plurality ofcontrol channels 530A-530B created between node A and node B strictly for sending I/O request and I/O reply messages in the order from high priority to low priority, and asingle data channel 540 created for moving data between node A and node B.Multiple control channels 530A-530B are used to prioritize command processing. Each control channel can be assigned a logical priority by the node (node A or node B) that is en-queuing the commands to be executed. For example, if assuming that only two priorities (high andlow FIFO queues FIFO queue 510A) for normal traffic, and the high priority queue (for example,FIFO queue 510N) for urgent traffic. This allows high priority commands to move across the control channel while avoiding blocking behind low priority traffic. - The specific number and configuration of FIFO queues and point-to-point channels between node A and node B shown in
FIG. 5 is provided simply as an example priority level of data movement between endpoints in an example data network. A wide variety of implementations and arrangements of any number of data channels and control channels between endpoints in all types of data networks may be possible. For example, the priority model shown inFIG. 5 can also be extended to allow for multiple data channels, each assigned a different priority level. This allows for prioritized data to be mapped onto prioritized data channels, and for data of differing priorities to move independently across different data channels between endpoints in an example data network. -
FIG. 6 illustrates the data transfer between channel endpoints, for example, source node A (a particular host) and destination node B (an I/O unit) connected by multiple logical point-to-point channels in first-in, first-out (FIFO) order to provide prioritized processing of data movement operations according to another embodiment of the present invention. As shown inFIG. 6 , node A may include a FIFO queue (work queue in strict FIFO order) 610 andFIFO queues 612A-612N in an order of priority (from high priority to low priority) for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer. Likewise, node B may include aFIFO queue 620 andFIFO queues 622A-622N in an order of priority for either en-queuing or de-queuing commands (data transfer requests) and actual data transfer. - A logical I/O transaction may be accomplished by a
single control channel 630 created between node A and node B strictly for sending I/O request and I/O reply messages, and a plurality ofdata channels 640A-640N created for moving data between node A and node B in the order from high priority to low priority. Asingle control channel 630 may be sufficient and desirable, but data transfer spread betweenmultiple data channels 640A-640N can significantly decrease latency and increase bandwidth. Moreover, dividing data transfer between different data channels may help overall I/O responsiveness and distribute even loading in the data network.Multiple data channels 640A-640N are used to prioritize data processing. Each data channel can be assigned a logical priority by the node (node A or node B) that is en-queuing the data to be transferred. The number of data channels used for data movement between node A and node B may be assigned by any given node when the channels are created. - If node A and node B are channel endpoints (e.g., host systems and I/O units) of an example data network shown in
FIG. 2 implemented in compliance with the “Next Generation Input/Output (NGIO) Specification”, each cell may contain a 3-bit priority indication as part of the 16 byte Media Access Control (MAC) header shown inFIG. 3 for providing, for example, a maximum eight (8) levels of priority. However, currently only five of the eight possible combinations are defined by NGIO protocol. The highest level priority may be reserved for management packets. The lowest level priority may be Priority “0” for best effort. Next to the lowest priority may be Priority “1” for privileged best effort, Priority “2” for negotiated normal latency, and Priority “3” for negotiated minimum latency. Management class of service may be provided to allow system administrators to communicate with all nodes connected to the NGIO fabric. These priorities may be absolute, meaning that a higher priority will always preempt a lower priority. - For example, source node A may transmit all data from FIFO queues configured to transmit at management service before any data is sent from FIFO queues configured to transmit at best effort or privileged best effort service. Each FIFO queue shown in
FIGS. 5 and 6 may be assigned to one of the five priorities based on the end-to-end class-of-service and/or the quality-of-service desired for that FIFO queue. Each node (node A or node B) may include one or more channel adapters configured with a multiplexing function based on priority for multiplexing and transmitting back to back cells of the same priority from multiple FIFO queues through the assigned control or data channels. - As described from the foregoing, the present invention advantageously provides a unique cost-effective and performance-efficient solution for prioritized data movement between endpoints connected by multiple logical channels in a data network. Such a prioritized data movement solution is especially important for connections between a host computer and a node that provides inter-networking to external networks running industry standard protocols such as TCP/IP. Moreover, such a prioritized data movement solution is also critical for implementation of networking products that allow for end-to-end class-of-service and/or quality-of-service between an NGIO based host computer and another computer on a LAN or WAN.
- While there have been illustrated and described what are considered to be exemplary embodiments of the present invention, it will be understood by those skilled in the art and as technology develops that various changes and modifications may be made, and equivalents may be substituted for elements thereof without departing from the true scope of the present invention. For example, the present invention is applicable to all types of redundant type networks, including, but is not limited to, Next Generation Input/Output (NGIO), ATM, SAN (system area network, or storage area network), server net, Future Input/Output (FIO), fiber channel, and Ethernet. Many modifications may be made to adapt the teachings of the present invention to a particular situation without departing from the scope thereof. Therefore, it is intended that the present invention not be limited to the various exemplary embodiments disclosed, but that the present invention includes all embodiments falling within the scope of the appended claims.
Claims (5)
1. A method, comprising:
receiving a packet at a wireless network end station, the packet consisting of, in the following order, a fixed format header, a variable length payload, and a four byte cyclic redundancy check (CRC) value derived from contents of the packet, the fixed format header including a set of three binary digits that represent a priority of the packet as one of eight transmission priorities ranging from zero to seven, the priority of the packet used by a device that transmitted the packet to the wireless network end station to map and enqueue a first entry for the packet to a one of multiple first-in-first-out queues, the multiple first-in-first-out queues comprising transmission queues corresponding to different transmission priorities, a lowest of the priorities having a value equal to zero and corresponding to a best effort transmission priority; and
enqueuing for subsequent dequeuing, at the wireless network end station, a second entry for the received packet in a one of multiple receive first-in-first-out queues based on the set of three binary digits that represent the priority of the received packet, the multiple receive first-in-first-out queues comprising queues corresponding to different priorities and a queue for management class of service.
2. The method of claim 1 , wherein the variable length payload comprises a payload having a maximal length of 256 bytes, the fixed length header consists exclusively of 16 bytes, and wherein the packet is transmitted over a NGIO (Next Generation Input/Output) fabric.
3. The method of claim 1 , further comprising, at the device that transmitted the packet to the end station:
mapping and enqueuing the packet to the one of the transmission queues based on the three binary digits that represent a priority of the packet.
4. An apparatus, comprising logic to:
receive a packet at a wireless network end station, the packet consisting of, in the following order, a fixed format header, a variable length payload, and a four byte cyclic redundancy check (CRC) value derived from contents of the packet, the fixed format header including a set of three binary digits that represent a priority of the packet as one of eight transmission priorities ranging from zero to seven, the priority of the packet used by a device that transmitted the packet to the wireless network end station to map and enqueue a first entry for the packet to a one of multiple first-in-first-out queues, the multiple first-in-first-out queues comprising transmission queues corresponding to different transmission priorities, a lowest of the priorities having a value equal to zero and corresponding to a best effort transmission priority; and
enqueue for subsequent dequeuing, at the wireless network end station, a second entry for the received packet in a one of multiple receive first-in-first-out queues based on the set of three binary digits that represent the priority of the received packet, the multiple receive first-in-first-out queues comprising queues corresponding to different priorities and a queue for management class of service.
5. The apparatus of claim 4 , wherein the variable length payload comprises a payload having a maximal length of 256 bytes, the fixed length header consists exclusively of 16 bytes, and wherein the packet is transmitted over a NGIO (Next Generation Input/Output) fabric.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/259,061 US20090046735A1 (en) | 1999-12-16 | 2008-10-27 | Method for providing prioritized data movement between endpoints connected by multiple logical channels |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US46172899A | 1999-12-16 | 1999-12-16 | |
US10/973,306 US7447229B2 (en) | 1999-12-16 | 2004-10-27 | Method for providing prioritized data movement between endpoints connected by multiple logical channels |
US12/259,061 US20090046735A1 (en) | 1999-12-16 | 2008-10-27 | Method for providing prioritized data movement between endpoints connected by multiple logical channels |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/973,306 Continuation US7447229B2 (en) | 1999-12-16 | 2004-10-27 | Method for providing prioritized data movement between endpoints connected by multiple logical channels |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090046735A1 true US20090046735A1 (en) | 2009-02-19 |
Family
ID=34272410
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/973,306 Expired - Lifetime US7447229B2 (en) | 1999-12-16 | 2004-10-27 | Method for providing prioritized data movement between endpoints connected by multiple logical channels |
US12/259,061 Abandoned US20090046735A1 (en) | 1999-12-16 | 2008-10-27 | Method for providing prioritized data movement between endpoints connected by multiple logical channels |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/973,306 Expired - Lifetime US7447229B2 (en) | 1999-12-16 | 2004-10-27 | Method for providing prioritized data movement between endpoints connected by multiple logical channels |
Country Status (1)
Country | Link |
---|---|
US (2) | US7447229B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020054574A1 (en) * | 2000-07-27 | 2002-05-09 | Symbol Technologies, Inc. | Voice and data wireless communications network and method |
US20070147250A1 (en) * | 2005-12-22 | 2007-06-28 | Druke Michael B | Synchronous data communication |
US20070150631A1 (en) * | 2005-12-22 | 2007-06-28 | Intuitive Surgical Inc. | Multi-priority messaging |
US20070147385A1 (en) * | 2005-12-22 | 2007-06-28 | Druke Michael B | Synchronous data communication |
US20080095181A1 (en) * | 2006-10-20 | 2008-04-24 | Fujitsu Limited | Data relay device, data relay method, and computer product |
US9554392B2 (en) * | 2014-10-15 | 2017-01-24 | At&T Intellectual Property I, L.P. | Machine to machine traffic management methods and systems |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI4638U1 (en) * | 2000-05-26 | 2000-09-29 | Fulcrum Lab Ag | Communications Network |
US7496095B1 (en) * | 2000-06-22 | 2009-02-24 | Intel Corporation | Local area network emulation over a channel based network |
US6920120B2 (en) * | 2002-08-22 | 2005-07-19 | Ericsson Inc. | System and method of scheduling radio resources in a wireless communications network |
EP1766887B1 (en) * | 2004-06-30 | 2017-06-28 | Telecom Italia S.p.A. | Method and system for performance evaluation in communication networks, related network and computer program product therefor |
US20070005833A1 (en) * | 2005-06-30 | 2007-01-04 | Pak-Lung Seto | Transmit buffers in connection-oriented interface |
EP2056425A1 (en) * | 2007-10-26 | 2009-05-06 | Abb Research Ltd. | System and method for transmitting data of different priorities through a hollow transmission device |
US9983801B1 (en) * | 2013-09-21 | 2018-05-29 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Priority queueing for low latency storage networks |
US10999187B2 (en) * | 2019-06-13 | 2021-05-04 | Juniper Networks, Inc. | Wireless control and fabric links for high-availability cluster nodes |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4914650A (en) * | 1988-12-06 | 1990-04-03 | American Telephone And Telegraph Company | Bandwidth allocation and congestion control scheme for an integrated voice and data network |
US5497371A (en) * | 1993-10-26 | 1996-03-05 | Northern Telecom Limited | Digital telecommunication link for efficiently transporting mixed classes of packets |
US5790522A (en) * | 1994-10-07 | 1998-08-04 | International Business Machines Corporation | Method and system for performing traffic congestion control in a data communication network |
US5872769A (en) * | 1995-07-19 | 1999-02-16 | Fujitsu Network Communications, Inc. | Linked list structures for multiple levels of control in an ATM switch |
US5940375A (en) * | 1996-10-31 | 1999-08-17 | Fujitsu Limited | Feedback control apparatus and cell scheduling apparatus for use with cell exchange |
US6028860A (en) * | 1996-10-23 | 2000-02-22 | Com21, Inc. | Prioritized virtual connection transmissions in a packet to ATM cell cable network |
US6067298A (en) * | 1996-10-23 | 2000-05-23 | Nec Corporation | ATM switching system which separates services classes and uses a code switching section and back pressure signals |
US6243359B1 (en) * | 1999-04-29 | 2001-06-05 | Transwitch Corp | Methods and apparatus for managing traffic in an atm network |
US6421742B1 (en) * | 1999-10-29 | 2002-07-16 | Intel Corporation | Method and apparatus for emulating an input/output unit when transferring data over a network |
US6430184B1 (en) * | 1998-04-10 | 2002-08-06 | Top Layer Networks, Inc. | System and process for GHIH-speed pattern matching for application-level switching of data packets |
US6438135B1 (en) * | 1999-10-21 | 2002-08-20 | Advanced Micro Devices, Inc. | Dynamic weighted round robin queuing |
US6570850B1 (en) * | 1998-04-23 | 2003-05-27 | Giganet, Inc. | System and method for regulating message flow in a digital data network |
US6614790B1 (en) * | 1998-06-12 | 2003-09-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Architecture for integrated services packet-switched networks |
US6826153B1 (en) * | 2000-09-13 | 2004-11-30 | Jeffrey Kroon | System and method of increasing the message throughput in a radio network |
US6917614B1 (en) * | 1999-09-17 | 2005-07-12 | Arris International, Inc. | Multi-channel support for virtual private networks in a packet to ATM cell cable system |
US6947756B2 (en) * | 2001-12-24 | 2005-09-20 | Telefonaktiebolaget Lm Ericsson | Method of balancing backhaul delays for a series of daisy chained radio base stations |
-
2004
- 2004-10-27 US US10/973,306 patent/US7447229B2/en not_active Expired - Lifetime
-
2008
- 2008-10-27 US US12/259,061 patent/US20090046735A1/en not_active Abandoned
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4914650A (en) * | 1988-12-06 | 1990-04-03 | American Telephone And Telegraph Company | Bandwidth allocation and congestion control scheme for an integrated voice and data network |
US5497371A (en) * | 1993-10-26 | 1996-03-05 | Northern Telecom Limited | Digital telecommunication link for efficiently transporting mixed classes of packets |
US5790522A (en) * | 1994-10-07 | 1998-08-04 | International Business Machines Corporation | Method and system for performing traffic congestion control in a data communication network |
US5872769A (en) * | 1995-07-19 | 1999-02-16 | Fujitsu Network Communications, Inc. | Linked list structures for multiple levels of control in an ATM switch |
US6028860A (en) * | 1996-10-23 | 2000-02-22 | Com21, Inc. | Prioritized virtual connection transmissions in a packet to ATM cell cable network |
US6067298A (en) * | 1996-10-23 | 2000-05-23 | Nec Corporation | ATM switching system which separates services classes and uses a code switching section and back pressure signals |
US5940375A (en) * | 1996-10-31 | 1999-08-17 | Fujitsu Limited | Feedback control apparatus and cell scheduling apparatus for use with cell exchange |
US6430184B1 (en) * | 1998-04-10 | 2002-08-06 | Top Layer Networks, Inc. | System and process for GHIH-speed pattern matching for application-level switching of data packets |
US6570850B1 (en) * | 1998-04-23 | 2003-05-27 | Giganet, Inc. | System and method for regulating message flow in a digital data network |
US6614790B1 (en) * | 1998-06-12 | 2003-09-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Architecture for integrated services packet-switched networks |
US6243359B1 (en) * | 1999-04-29 | 2001-06-05 | Transwitch Corp | Methods and apparatus for managing traffic in an atm network |
US6917614B1 (en) * | 1999-09-17 | 2005-07-12 | Arris International, Inc. | Multi-channel support for virtual private networks in a packet to ATM cell cable system |
US6438135B1 (en) * | 1999-10-21 | 2002-08-20 | Advanced Micro Devices, Inc. | Dynamic weighted round robin queuing |
US6421742B1 (en) * | 1999-10-29 | 2002-07-16 | Intel Corporation | Method and apparatus for emulating an input/output unit when transferring data over a network |
US6826153B1 (en) * | 2000-09-13 | 2004-11-30 | Jeffrey Kroon | System and method of increasing the message throughput in a radio network |
US6947756B2 (en) * | 2001-12-24 | 2005-09-20 | Telefonaktiebolaget Lm Ericsson | Method of balancing backhaul delays for a series of daisy chained radio base stations |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8149796B2 (en) * | 2000-07-27 | 2012-04-03 | Symbol Technologies, Inc. | Voice and data wireless communications network and method |
US20050281252A1 (en) * | 2000-07-27 | 2005-12-22 | Beach Robert E | Voice and data wireless communications network and method |
US20050281235A1 (en) * | 2000-07-27 | 2005-12-22 | Beach Robert E | Voice and data wireless communications network and method |
US20060002378A1 (en) * | 2000-07-27 | 2006-01-05 | Beach Robert E | Voice and data wireless communications network and method |
US20020054574A1 (en) * | 2000-07-27 | 2002-05-09 | Symbol Technologies, Inc. | Voice and data wireless communications network and method |
US8660061B2 (en) | 2000-07-27 | 2014-02-25 | Symbol Technologies, Inc. | Voice and data wireless communications network and method |
US8189542B2 (en) | 2000-07-27 | 2012-05-29 | Symbol Technologies, Inc. | Voice and data wireless communications network and method |
US20070147250A1 (en) * | 2005-12-22 | 2007-06-28 | Druke Michael B | Synchronous data communication |
US7756036B2 (en) | 2005-12-22 | 2010-07-13 | Intuitive Surgical Operations, Inc. | Synchronous data communication |
US7757028B2 (en) * | 2005-12-22 | 2010-07-13 | Intuitive Surgical Operations, Inc. | Multi-priority messaging |
US8054752B2 (en) * | 2005-12-22 | 2011-11-08 | Intuitive Surgical Operations, Inc. | Synchronous data communication |
US20070147385A1 (en) * | 2005-12-22 | 2007-06-28 | Druke Michael B | Synchronous data communication |
US20070150631A1 (en) * | 2005-12-22 | 2007-06-28 | Intuitive Surgical Inc. | Multi-priority messaging |
US8838270B2 (en) | 2005-12-22 | 2014-09-16 | Intuitive Surgical Operations, Inc. | Synchronous data communication |
US7920573B2 (en) * | 2006-10-20 | 2011-04-05 | Fujitsu Limited | Data relay device, data relay method, and computer product |
US20080095181A1 (en) * | 2006-10-20 | 2008-04-24 | Fujitsu Limited | Data relay device, data relay method, and computer product |
US9554392B2 (en) * | 2014-10-15 | 2017-01-24 | At&T Intellectual Property I, L.P. | Machine to machine traffic management methods and systems |
Also Published As
Publication number | Publication date |
---|---|
US7447229B2 (en) | 2008-11-04 |
US20050058147A1 (en) | 2005-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090046735A1 (en) | Method for providing prioritized data movement between endpoints connected by multiple logical channels | |
US4939724A (en) | Cluster link interface for a local area network | |
US6950885B2 (en) | Mechanism for preventing unnecessary timeouts and retries for service requests in a cluster | |
US7233570B2 (en) | Long distance repeater for digital information | |
US6988161B2 (en) | Multiple port allocation and configurations for different port operation modes on a host | |
US7239636B2 (en) | Multiple virtual channels for use in network devices | |
US6948004B2 (en) | Host-fabric adapter having work queue entry (WQE) ring hardware assist (HWA) mechanism | |
US8553684B2 (en) | Network switching system having variable headers and addresses | |
US8982703B2 (en) | Routing support for lossless data traffic | |
US7362755B2 (en) | Process for implementing a switched full-duplex ethernet type communication network with redundancy | |
US7099337B2 (en) | Mechanism for implementing class redirection in a cluster | |
US11956154B2 (en) | System for avoiding layer 2 network congestion | |
US7660304B2 (en) | Point-to multipoint network interface | |
US20020167950A1 (en) | Fast data path protocol for network switching | |
US7194540B2 (en) | Mechanism for allowing multiple entities on the same host to handle messages of same service class in a cluster | |
US20050018669A1 (en) | Infiniband subnet management queue pair emulation for multiple logical ports on a single physical port | |
US20030101158A1 (en) | Mechanism for managing incoming data messages in a cluster | |
US20100095025A1 (en) | Virtual channel remapping | |
US7082138B2 (en) | Internal communication protocol for data switching equipment | |
US20100002714A1 (en) | PCI express network | |
US20050138238A1 (en) | Flow control interface | |
US6810424B2 (en) | Link layer device and method of translating packets between transport protocols | |
US7639616B1 (en) | Adaptive cut-through algorithm | |
TWI411264B (en) | Non-block network system and packet arbitration method thereof | |
GB2367712A (en) | Flow architecture for remote high-speed interface application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |