US20020016856A1 - Dynamic application port service provisioning for packet switch - Google Patents

Dynamic application port service provisioning for packet switch Download PDF

Info

Publication number
US20020016856A1
US20020016856A1 US09/861,013 US86101301A US2002016856A1 US 20020016856 A1 US20020016856 A1 US 20020016856A1 US 86101301 A US86101301 A US 86101301A US 2002016856 A1 US2002016856 A1 US 2002016856A1
Authority
US
United States
Prior art keywords
session
application port
packet switching
forwarding
switching node
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
Application number
US09/861,013
Inventor
Mathieu Tallegas
David Clear
Timothy Michels
Greg Davis
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.)
Nokia of America Corp
Original Assignee
Alcatel Internetworking PE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Internetworking PE Inc filed Critical Alcatel Internetworking PE Inc
Priority to US09/861,013 priority Critical patent/US20020016856A1/en
Assigned to ALCATEL INTERNETWORKING (PE), INC. reassignment ALCATEL INTERNETWORKING (PE), INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DAVIS, GREG W., CLEAR, DAVID, MICHELS, TIMOTHY S., TALLEGAS, MATHIEU
Publication of US20020016856A1 publication Critical patent/US20020016856A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5045Making service definitions prior to deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • H04L49/503Policing

Definitions

  • the present application is related to packet switching, and particularly to a method and apparatus for providing dynamic application port service provisioning for a packet switch.
  • Applications are determinable by reference to a TCP/UDP application port number in each packet.
  • packets originating from the host will apply the application port number to a destination port field, whereas packets originating from the server will apply the application port number to a source port field.
  • These application port numbers may either be standardized port numbers that have been statically assigned to applications by the IETF or non-standard port numbers that are dynamically negotiated between the host and the server on a per session basis.
  • Packet switching nodes can be statically configured to provide customized application-level QoS and billing for sessions utilizing standardized application port numbers. However, for sessions utilizing non-standard application port numbers that are dynamically negotiated, the application to which the session relates must be resolved in order to provide application-level QoS and billing for packets within the session.
  • a packet switching node for receiving and transmitting packets.
  • the packet switching node receives and transmits packets for one or more sessions.
  • the packet switching node comprises an inspection engine, and first and second forwarding engines.
  • the inspection engine is used to determine an application port by monitoring a first session in which the application port is negotiated.
  • the first and second forwarding engines are interconnected on a first path dependent on the inspection engine and a second path independent of the inspection engine.
  • the first forwarding engine identifies the first session, and directs the first session to the first path.
  • a method of assigning an application port to one or more sessions is provided.
  • a first forwarding engine receives a plurality of packets for the sessions, and identifies a first session in which the application port is to be negotiated.
  • the first session is directed to an inspection engine.
  • the inspection engine determines the application port for a second session by monitoring the application port negotiation.
  • FIG. 1 illustrates a network environment including a packet switching node in which one embodiment of the present invention may be used
  • FIG. 2 is a block diagram of a switching interface in an embodiment according to the present invention.
  • FIG. 3 is a block diagram of a programmable packet switching controller in an embodiment according to the present invention.
  • FIG. 4 is a block diagram of a packet switching node in an embodiment according to the present invention coupled to a host and a server;
  • FIG. 5 is a flow diagram of dynamic application port service provisioning in an embodiment according to the present invention.
  • the packet switching node 10 may also be referred to as a switch, a data communication node or a data communication switch.
  • the packet switching node 10 includes switching interfaces 14 , 16 and 18 interconnected to respective groups of LANs 30 , 32 , 34 , and interconnected to one another over data paths 20 , 22 , 24 via switching backplane 12 .
  • the switching backplane 12 preferably includes switching fabric.
  • the switching interfaces may also be coupled to one another over control paths 26 and 28 .
  • the switching interfaces 14 , 16 , 18 preferably forward packets to and from their respective groups of LANs 30 , 32 , 34 in accordance with one or more operative communication protocols, such as, for example, media access control (MAC) bridging and Internet Protocol (IP) routing.
  • MAC media access control
  • IP Internet Protocol
  • the switching node 10 is shown for illustrative purposes only. In practice, packet switching nodes may include more or less than three switching interfaces. Further, the packet switching nodes may also interface with computer networks other than LANs, such as, for example, WANs (Wide Area Networks) and MANs (Metropolitan Area Networks).
  • FIG. 2 is a block diagram of a switching interface 50 in an embodiment according to the present invention.
  • the switching interface 50 may be similar, for example, to the switching interfaces 14 , 16 , 18 of FIG. 1.
  • the switching interface 50 includes an access controller 54 coupled between LANs and a packet switching controller 52 .
  • the access controller 54 which may, for example, include a media access controller (MAC), preferably receives inbound packets off LANs, performs flow-independent physical and MAC layer operations on the inbound packets and transmits the inbound packets to the packet switching controller 52 for flow-dependent processing.
  • the access controller 54 preferably also receives outbound packets from the packet switching controller 52 and transmits the packets on LANs.
  • the access controller 54 may also perform physical and MAC layer operations on the outbound packets prior to transmitting them on LANs.
  • the packet switching controller 52 preferably is programmable for handling packets having wide variety of communications protocols.
  • the packet switching controller 52 preferably receives inbound packets, classifies the packets, modifies the packets in accordance with flow information and transmits the modified packets on switching backplane, such as the switching backplane 12 of FIG. 1.
  • the packet switching controller 52 preferably also receives packets modified by other packet switching controllers via the switching backplane and transmits them to the access controller 54 for forwarding on LANs.
  • the packet switching controller 52 may also subject selected ones of the packets to egress processing prior to transmitting them to the access controller 54 for forwarding on LANs.
  • FIG. 3 is a block diagram of a programmable packet switching controller 60 in an embodiment according to the present invention.
  • the programmable packet switching controller 60 may be similar to the packet switching controller 52 of FIG. 2.
  • the programmable packet switching controller 60 preferably has flow resolution logic for classifying and routing incoming flows of packets. Due to its programmable nature, the programmable packet switching controller preferably provides flexibility in handling many different protocols and/or field upgradeability.
  • the programmable packet switching controller may also be referred to as a packet switching controller, a switching controller, a programmable packet processor, a network processor, a communications processor or as another designation commonly used by those skilled in the art.
  • the programmable packet switching controller 60 includes a packet buffer 62 , a packet classification engine 64 , an application engine 66 and a policing engine 80 .
  • Packet switching controllers in other embodiments may include more or less components.
  • a packet switching controller in another embodiment may include a pattern match module for comparing packet portions against a predetermined pattern to look for a match.
  • the packet switching controller in yet another embodiment may include an edit module for editing inbound packets to generate outbound packets.
  • the packet switching controller in still other embodiments may contain more than one of one or more of the packet buffer, the packet classification engine, the application engine, the policing engine, and/or other components for array switching, in which packets are processed in multiple processing paths.
  • the programmable packet switching controller 60 preferably receives inbound packets 68 .
  • the packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units.
  • the packet buffer 62 may receive inbound packets from one or more Media Access Control (MAC) Layer interfaces over the Ethernet.
  • MAC Media Access Control
  • the received packets preferably are stored in the packet buffer 62 .
  • the packet buffer 62 may include a packet FIFO for receiving and temporarily storing the packets.
  • the packet buffer 62 preferably provides the stored packets or portions thereof to the packet classification engine 64 and the application engine 66 for processing.
  • the packet buffer 62 may also include an edit module for editing the packets prior to forwarding them out of the switching controller as outbound packets 78 .
  • the edit module may include an edit program construction engine for creating edit programs real-time and/or an edit engine for modifying the packets.
  • the application engine 66 preferably provides application data 76 , which may include a disposition decision for the packet, to the packet buffer 62 , and the edit program construction engine preferably uses the application data to create the edit programs.
  • the outbound packets 78 may be transmitted over a switching fabric interface, such as, for example, the switching backplane 12 of FIG. 1, to communication networks, such as, for example, the Ethernet.
  • the packet buffer 62 may also include either or both a header data extractor and a header data cache.
  • the header data extractor preferably is used to extract one or more fields from the packets, and to store the extracted fields in the header data cache as extracted header data.
  • the extracted header data may include, but are not limited to, some or all of the packet header. In an Ethernet system, for example, the header data cache may also store first N bytes of each frame.
  • the extracted header data preferably is provided in an output signal 70 to the packet classification engine 64 for processing.
  • the application engine may also request and receive the extracted header data over an interface 74 .
  • the extracted header data may include, but are not limited to, one or more of Layer 2 MAC addresses, 802.1P/Q tag status, Layer 2 encapsulation type, Layer 3 protocol type, Layer 3 addresses, ToS (type of service) values and Layer 4 port numbers.
  • the output signal 70 may include the whole inbound packet, instead of or in addition to the extracted header data.
  • the packet classification engine 64 may be used to edit the extracted header data to be placed in a format suitable for use by the application engine, and/or to load data into the header data cache.
  • the packet classification engine 64 preferably includes a programmable microcode-driven embedded processing engine.
  • the packet classification engine 64 preferably is coupled to an instruction RAM (IRAM) (not shown).
  • IRAM instruction RAM
  • the packet classification engine preferably reads and executes instructions stored in the IRAM. In one embodiment, many of the instructions executed by the packet classification engine are conditional jumps.
  • the classification logic includes a decision tree with leaves at the end points that preferably indicate different types of packet classifications. Further, branches of the decision tree preferably are selected based on comparisons between the conditions of the instructions and the header fields stored in the header data cache. In other embodiments, the classification logic may not be based on a decision tree.
  • the application engine 66 preferably has a pipelined architecture wherein multiple programmable sub-engines are pipelined in series. Each programmable sub-engine preferably performs an action on the packet, and preferably forwards the packet to the next programmable sub-engine in a “bucket brigade” fashion.
  • the packet classification engine preferably starts the pipelined packet processing by starting the first programmable sub-engine in the application engine using a start signal 72 .
  • the start signal 72 may include identification of one or more programs to be executed in the application engine 66 .
  • the start signal 72 may also include packet classification information.
  • the programmable sub-engines in the application engine preferably have direct access to the header data and the extracted fields stored in the header data cache over the interface 74 .
  • the application engine may include other processing stages not performed by the programmable sub-engines, however, the decision-making stages preferably are performed by the programmable sub-engines to increase flexibility. In other embodiments, the application engine may include other processing architectures.
  • the disposition decision included in the application data 76 preferably is also provided to the policing engine 80 .
  • the policing engine 80 preferably also receives one or more policing IDs 84 .
  • the policing engine 80 preferably uses the disposition decision and the policing IDs to generate one or more policing recommendations 82 .
  • the policing recommendations may be a type of disposition recommendation, and may also be referred to as policing results.
  • the policing recommendations preferably are provided to the application engine 66 to be used together with other disposition recommendations to generate application data, which may include the disposition decision.
  • FIG. 4 is a block diagram of a packet switching node 102 in an embodiment according to the present invention, coupled to a host 100 and a server 104 .
  • the packet switching node 102 may be a part of one or more LANs, WANs, MANs, and may be coupled to other LANs, WANs, MANs, hosts, servers, and the like, over a computer network, such as, for example, the Internet or an Intranet.
  • the host 100 and the server 104 may be a part of the same LAN or they may be a part of different LANs. Further, there may be one or more other packet switching nodes, in addition to the packet switching node 102 , between the host 100 and the server 104 .
  • the packet switching node 102 includes a forwarding engine 106 , an inspection engine 108 and a forwarding engine 110 .
  • the packet switching node 102 may also include other components (not shown), such as, for example, one or more of, without being limited to, a switching fabric, media access controllers (MACs), CPUs, memories (e.g., databases), and the like, to facilitate conversations between the host 100 and the server 104 as well as other hosts and servers, which may be coupled to the packet switching node 102 .
  • MACs media access controllers
  • CPUs central processing unit
  • memories e.g., databases
  • the inspection engine 108 may be implemented in a CPU subsystem in an embodiment according to the present invention. Inspection engines in other embodiments may be implemented in hardware (e.g., ASIC) or may be implemented as a combination of hardware and software.
  • the forwarding engines 106 and 110 may be similar to the packet switching controller 52 of FIG. 2 and/or the packet switching controller 60 of FIG. 3. Accordingly, the forwarding engines 106 and 110 may include other components (not shown), such as, for example, one or more of, without being limited to, a classification engine, a policing engine, an editing engine, databases, and the like, for classifying and routing packets with appropriate editing and policing. Further, the packet switching node 102 may include additional forwarding engines. For example, packet switching nodes in other embodiments may include 4 , 8 , 12 , 16 , 32 , 64 or different number of forwarding engines.
  • Both the host 100 and the server 104 preferably send and receive packets directed to one another.
  • the packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units. Therefore, for example, both the host 100 and the server 104 may include a media access controller (MAC) for receiving and transmitting Ethernet frames.
  • MAC media access controller
  • the host 100 may request a Web page from the server 104 by sending one or more packets requesting the Web page using TCP/IP protocol.
  • the server 104 may then send the Web page to the host 100 as one or more packets.
  • the host 100 may then send one or more packets back to the server 104 to acknowledge the receipt of the Web page.
  • These transmission and receiving of packetized information are performed via the packet switching node 102 .
  • a series of one or more transmission and receiving of packets between the host 100 and the server 104 may be referred to as a session.
  • the forwarding engines 106 , 110 and the inspection engine 108 may be viewed as forming two paths for packets between the host 100 and the server 104 , in which the packets may enter from either the host 100 or the server 104 .
  • a path from the forwarding engine 106 via the inspection engine 108 to the forwarding engine 110 may be viewed as a first path
  • a path from the forwarding engine 106 directly to the forwarding engine 110 may be viewed as a second path.
  • a conversation between the host 100 and the server 104 preferably are bi-directional.
  • the host 100 preferably applies the application port number to a destination port field, whereas the server 104 preferably applies the application port number to a source port field.
  • the forwarding engine 106 or the forwarding engine 110 receives one or more packets from the host 100 or the server 104 , respectively. If the packet belongs to an application in which the application port number has been statically assigned, the receiving forwarding engine preferably determines the static application port number, and preferably transmits the packet directly to the other forwarding engine over the second path, and the session is directed to the second path.
  • HTTP Hypertext Transfer Protocol
  • HTTP Hypertext Transfer Protocol
  • the receiving forwarding engine preferably sends the packet to the inspection engine 108 on the first path, and the session preferably is directed to the first path.
  • the forwarding engine 106 preferably receives a packet from the host 100 .
  • the forwarding engine 106 preferably detects a start of a control session for an application that is going to negotiate the application port dynamically.
  • the forwarding engine 110 preferably detects the start of a control session.
  • multiple sessions e.g., two sessions, are typically established, including the control session and a data session.
  • the control session as described above, is a session between the host 100 and the server 104 that negotiates the dynamic port for the data session.
  • the control session typically uses a well-known port, which may also be referred to as a static port.
  • the data session uses the dynamic port that has been negotiated between the host 100 and the server 104 .
  • most of the data transfer between the host 100 and the server 104 takes place during the data session.
  • the applications that use dynamic application port negotiation may include one or more of, but are not limited to, File Transfer Protocol (FTP) and Voice over IP (VoIP).
  • FTP File Transfer Protocol
  • VoIP Voice over IP
  • Different QoS, statistics group, policing, bandwidth, provisioning, and the like may be provided to these and other different applications. These different treatments may also be based on the customer using the service, in addition to, or instead of the type of application being used.
  • the statistics group typically comprises, but is not limited to, amount of traffic, size of file transfer, time of day, customer identification, and/or number of bytes.
  • the statistics group may be used for one or more of billing, auditing, network management, traffic profiling, and the like.
  • the control session for each of these applications preferably takes place using an associated well-known (or static) port.
  • file transfer protocol FTP
  • FTP file transfer protocol
  • IETF Internet Engineering Task Force
  • RRC Request for Comments
  • a node When a node (host 100 or server 104 ) wants to request a file from the other node using FTP, it preferably initiates a control session using the well-known port.
  • the node-side forwarding engine looks for the start of the control session directed at the well-known control port for the FTP that indicates start of the dynamic application port negotiation.
  • the start of the control session may be detected by looking for setting of a SYN (synchronization) flag in the TCP header in an embodiment according to the present invention.
  • the initiating node (the host or server) preferably sends an initial packet with the SYN bit set
  • the responder the host or server
  • a SYN ACK synchronization acknowledgement
  • the host 100 and the server 104 use the semantics as defined by FTP to dynamically negotiate an application port, which may be different for different sessions.
  • the control session preferably is discontinued, and both the host 100 and the server 104 preferably switch over to a data session, during which the FTP file transfer takes place, using the application port number that was negotiated during the control session.
  • the traffic between the host 100 and the server 104 is redirected from the first path to the second path.
  • VOIP Voice over IP
  • a control session may be used to negotiate an application port that will carry voice data and once the application port has been negotiated, then the negotiated application port may be used to actually carry the voice data.
  • the inspection engine 108 preferably captures those frames, inspects them and forwards them unedited, except for single hop routing edits if required.
  • the inspection engine does not affect the dynamic negotiation; rather, it monitors the dynamic negotiation between the host and the server. This technique of monitoring application control session used in an embodiment according to the present invention may be referred to as “Stateful Inspection”.
  • the inspection engine 108 preferably discovers the result of the negotiation. For example, the inspection engine 108 preferably determines the application port (or data port), which is the dynamic port that will become the port of the data session. Once the inspection engine 108 observes the dynamic negotiation and discovers what the new port number is going to be, then the inspection engine preferably advises the forwarding engines 106 and 110 of the new application port to use for the data session. The forwarding engines 106 and 110 then place the application port number in their respective database so that appropriate policies, for example, may be applied to the data being transferred during the data session.
  • the inspection engine 108 preferably determines the application port (or data port), which is the dynamic port that will become the port of the data session.
  • the inspection engine 108 preferably advises the forwarding engines 106 and 110 of the new application port to use for the data session.
  • the forwarding engines 106 and 110 then place the application port number in their respective database so that appropriate policies, for example, may be applied to the data being transferred during the data session.
  • a policing engine which may be similar to, for example, the policing engine 80 of FIG. 3, may be used to apply the policies (services levels) to the data.
  • the policies may include one or more of, but are not limited to, Quality of Service (QoS) level, statistics group, the policing, and the like, whatever is programmed in the policy matrix of the respective forwarding engine.
  • QoS Quality of Service
  • the packet switching node preferably has pre-configured itself to treat the incoming traffic (of the data session) appropriately.
  • the service level for the session preferably is configured upon a database in each forwarding engine used during the data session.
  • the database preferably contains the policy matrix, which contains policy parameters, such as, for example, QoS, statistics group, policing, bandwidth and/or provisioning.
  • policy parameters such as, for example, QoS, statistics group, policing, bandwidth and/or provisioning.
  • the policy matrix may allow for keeping track of accounting number for billing purposes and/or keeping track of a data rate for, e.g., policing purposes.
  • the dynamically negotiated application port number (and therefore the session using the port number) preferably is associated with the parameters in the policy matrix.
  • the packet switching nodes in this or other embodiments may include additional inspection engines to support additional forwarding engines since a single inspection engine may be overwhelmed by multiple dynamic negotiations of applications port numbers it needs to monitor.
  • FIG. 5 is a flow diagram of dynamic application port negotiation in an embodiment according to the present invention.
  • a packet switching node such as, for example, the packet switching node 102 , receives packets from a host or a server, such as, for example, the host 100 or server 104 of FIG. 1.
  • a forwarding engine such as, for example, the forwarding engine 106 or the forwarding engine 110 receives and forwards the packets.
  • One or more of the received packets may belong to a control session in which the application port number is to be assigned dynamically (i.e., a dynamic port session).
  • the forwarding engine preferably identifies an initial packet (e.g., the first packet) that has a well-known port number indicative of the initiation of a dynamic application port number negotiation.
  • the forwarding engine preferably directs packets for the control session to an inspection engine, such as, for example, the inspection engine 108 of FIG. 1, on an inspection engine path (a first path).
  • the inspection engine preferably monitors dynamic port negotiation.
  • the inspection engine preferably determines an application port number for a data session through monitoring.
  • the forwarding engines preferably are configured with a service level for the session.
  • the service level configuration may include, for example, but is not limited to, associating the dynamic application port number on the forwarding engines with one or more of a QoS, policing, statistics group, and the like, and/or a customer.
  • the packets belonging to the dynamic port session preferably are directed to the forwarding engines on an inspection engine-independent path (a second path).
  • the forwarding engines preferably forward the packets on the second path, and updates customer statistics per configured associations.
  • the customer statistics may include length of a phone call, local or long distance, and may include billing treatment and provisioning used for accounting purposes.
  • the amount of data being sent by the customer should be tracked so that the customer does not send more data than he is allowed to. If and when the customer goes over his service limit, a corrective action, such as, for example, limiting his bandwidth, may be needed to be taken.

Abstract

A packet switching node has first and second forwarding engines interconnected over a first path dependent on an inspection engine and a second path independent of the inspection engine. The first forwarding engine identifies a first session in which an application port number is to be dynamically negotiated for a second session and directs the first session to the first path. The inspection engine monitors a dynamic application port number negotiation for the first session, determines a dynamic application port number for the second session, configures a service level for the second session on the forwarding engines and directs the second session to the second path. The first forwarding engine also identifies a third session in which an application port number is statically assigned and directs the third session to the second path.

Description

    CROSS-REFERENCE TO RELATED APPLICATION(S)
  • The present application claims the priority of U.S. Provisional Application No. 60/206,996 entitled “Flow Resolution Logic System and Method” filed May 24, 2000, U.S. Provisional Application No. 60/206,617 entitled “System and Method for Enhanced Line Cards” filed May 24, 2000, and U.S. Provisional Application No. 60/220,335 entitled “Programmable Packet Processor” filed Jul. 24, 2000, the contents of all of which are fully incorporated by reference herein. The present application contains subject matter related to the subject matter disclosed in U.S. patent application Ser. No. 09/751,194 entitled “Programmable Packet Processor with Flow Resolution Logic” filed Dec. 28, 2000, the contents of which are fully incorporated by reference herein.[0001]
  • FIELD OF THE INVENTION
  • The present application is related to packet switching, and particularly to a method and apparatus for providing dynamic application port service provisioning for a packet switch. [0002]
  • BACKGROUND OF THE INVENTION
  • There is an increasing desire to tailor packet switched networks to the individualized needs of customers. Two areas of customization of packet switched networks to meet individualized needs are application-level Quality of Service (QoS) and billing. In order to provide application-level QoS and billing in packet switched networks, packet switching nodes in the network should be able to determine the application to which each packet relates and provide QoS and billing for the packet in accordance with the application. [0003]
  • Applications are determinable by reference to a TCP/UDP application port number in each packet. When a conversation occurs between a host and a server, packets originating from the host will apply the application port number to a destination port field, whereas packets originating from the server will apply the application port number to a source port field. These application port numbers may either be standardized port numbers that have been statically assigned to applications by the IETF or non-standard port numbers that are dynamically negotiated between the host and the server on a per session basis. Packet switching nodes can be statically configured to provide customized application-level QoS and billing for sessions utilizing standardized application port numbers. However, for sessions utilizing non-standard application port numbers that are dynamically negotiated, the application to which the session relates must be resolved in order to provide application-level QoS and billing for packets within the session. [0004]
  • The process of dynamically negotiating application port numbers is often complex. Different dynamic application port numbers are assigned each session and assignment is often based on random components. Additionally, each application typically employs a different negotiating technique. For some applications, the negotiation spans multiple packets so that “state” must be monitored in the packet switching node in order to correctly determine the application port number resulting from the negotiation. [0005]
  • There is therefore a need for a packet switching node that can efficiently and non-intrusively provide application-level QoS and billing for sessions employing dynamically negotiated application port numbers. [0006]
  • SUMMARY OF THE INVENTION
  • In one embodiment of the present invention, a packet switching node for receiving and transmitting packets is provided. The packet switching node receives and transmits packets for one or more sessions. The packet switching node comprises an inspection engine, and first and second forwarding engines. The inspection engine is used to determine an application port by monitoring a first session in which the application port is negotiated. The first and second forwarding engines are interconnected on a first path dependent on the inspection engine and a second path independent of the inspection engine. The first forwarding engine identifies the first session, and directs the first session to the first path. [0007]
  • In another embodiment of the present invention, a method of assigning an application port to one or more sessions is provided. A first forwarding engine receives a plurality of packets for the sessions, and identifies a first session in which the application port is to be negotiated. The first session is directed to an inspection engine. The inspection engine determines the application port for a second session by monitoring the application port negotiation.[0008]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and other aspects of the invention may be understood by reference to the following detailed description, taken in conjunction with the accompanying drawings, which are briefly described below. [0009]
  • FIG. 1 illustrates a network environment including a packet switching node in which one embodiment of the present invention may be used; [0010]
  • FIG. 2 is a block diagram of a switching interface in an embodiment according to the present invention; [0011]
  • FIG. 3 is a block diagram of a programmable packet switching controller in an embodiment according to the present invention; [0012]
  • FIG. 4 is a block diagram of a packet switching node in an embodiment according to the present invention coupled to a host and a server; and [0013]
  • FIG. 5 is a flow diagram of dynamic application port service provisioning in an embodiment according to the present invention.[0014]
  • DETAILED DESCRIPTION
  • I. Overview [0015]
  • In FIG. 1, network environment including a [0016] packet switching node 10 is illustrated. The packet switching node may also be referred to as a switch, a data communication node or a data communication switch. The packet switching node 10 includes switching interfaces 14, 16 and 18 interconnected to respective groups of LANs 30, 32, 34, and interconnected to one another over data paths 20, 22, 24 via switching backplane 12. The switching backplane 12 preferably includes switching fabric. The switching interfaces may also be coupled to one another over control paths 26 and 28.
  • The [0017] switching interfaces 14, 16, 18 preferably forward packets to and from their respective groups of LANs 30, 32, 34 in accordance with one or more operative communication protocols, such as, for example, media access control (MAC) bridging and Internet Protocol (IP) routing. The switching node 10 is shown for illustrative purposes only. In practice, packet switching nodes may include more or less than three switching interfaces. Further, the packet switching nodes may also interface with computer networks other than LANs, such as, for example, WANs (Wide Area Networks) and MANs (Metropolitan Area Networks).
  • FIG. 2 is a block diagram of a [0018] switching interface 50 in an embodiment according to the present invention. The switching interface 50 may be similar, for example, to the switching interfaces 14, 16, 18 of FIG. 1. The switching interface 50 includes an access controller 54 coupled between LANs and a packet switching controller 52. The access controller 54, which may, for example, include a media access controller (MAC), preferably receives inbound packets off LANs, performs flow-independent physical and MAC layer operations on the inbound packets and transmits the inbound packets to the packet switching controller 52 for flow-dependent processing. The access controller 54 preferably also receives outbound packets from the packet switching controller 52 and transmits the packets on LANs. The access controller 54 may also perform physical and MAC layer operations on the outbound packets prior to transmitting them on LANs.
  • The packet switching controller [0019] 52 preferably is programmable for handling packets having wide variety of communications protocols. The packet switching controller 52 preferably receives inbound packets, classifies the packets, modifies the packets in accordance with flow information and transmits the modified packets on switching backplane, such as the switching backplane 12 of FIG. 1. The packet switching controller 52 preferably also receives packets modified by other packet switching controllers via the switching backplane and transmits them to the access controller 54 for forwarding on LANs. The packet switching controller 52 may also subject selected ones of the packets to egress processing prior to transmitting them to the access controller 54 for forwarding on LANs.
  • FIG. 3 is a block diagram of a programmable [0020] packet switching controller 60 in an embodiment according to the present invention. The programmable packet switching controller 60, for example, may be similar to the packet switching controller 52 of FIG. 2. The programmable packet switching controller 60 preferably has flow resolution logic for classifying and routing incoming flows of packets. Due to its programmable nature, the programmable packet switching controller preferably provides flexibility in handling many different protocols and/or field upgradeability. The programmable packet switching controller may also be referred to as a packet switching controller, a switching controller, a programmable packet processor, a network processor, a communications processor or as another designation commonly used by those skilled in the art.
  • The programmable [0021] packet switching controller 60 includes a packet buffer 62, a packet classification engine 64, an application engine 66 and a policing engine 80. Packet switching controllers in other embodiments may include more or less components. For example, a packet switching controller in another embodiment may include a pattern match module for comparing packet portions against a predetermined pattern to look for a match. The packet switching controller in yet another embodiment may include an edit module for editing inbound packets to generate outbound packets. The packet switching controller in still other embodiments may contain more than one of one or more of the packet buffer, the packet classification engine, the application engine, the policing engine, and/or other components for array switching, in which packets are processed in multiple processing paths.
  • The programmable [0022] packet switching controller 60 preferably receives inbound packets 68. The packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units. For example, the packet buffer 62 may receive inbound packets from one or more Media Access Control (MAC) Layer interfaces over the Ethernet.
  • The received packets preferably are stored in the [0023] packet buffer 62. The packet buffer 62 may include a packet FIFO for receiving and temporarily storing the packets. The packet buffer 62 preferably provides the stored packets or portions thereof to the packet classification engine 64 and the application engine 66 for processing.
  • The [0024] packet buffer 62 may also include an edit module for editing the packets prior to forwarding them out of the switching controller as outbound packets 78. The edit module may include an edit program construction engine for creating edit programs real-time and/or an edit engine for modifying the packets. The application engine 66 preferably provides application data 76, which may include a disposition decision for the packet, to the packet buffer 62, and the edit program construction engine preferably uses the application data to create the edit programs. The outbound packets 78 may be transmitted over a switching fabric interface, such as, for example, the switching backplane 12 of FIG. 1, to communication networks, such as, for example, the Ethernet.
  • The [0025] packet buffer 62 may also include either or both a header data extractor and a header data cache. The header data extractor preferably is used to extract one or more fields from the packets, and to store the extracted fields in the header data cache as extracted header data. The extracted header data may include, but are not limited to, some or all of the packet header. In an Ethernet system, for example, the header data cache may also store first N bytes of each frame.
  • The extracted header data preferably is provided in an [0026] output signal 70 to the packet classification engine 64 for processing. The application engine may also request and receive the extracted header data over an interface 74. The extracted header data may include, but are not limited to, one or more of Layer 2 MAC addresses, 802.1P/Q tag status, Layer 2 encapsulation type, Layer 3 protocol type, Layer 3 addresses, ToS (type of service) values and Layer 4 port numbers. In other embodiments, the output signal 70 may include the whole inbound packet, instead of or in addition to the extracted header data. In still other embodiments, the packet classification engine 64 may be used to edit the extracted header data to be placed in a format suitable for use by the application engine, and/or to load data into the header data cache.
  • The [0027] packet classification engine 64 preferably includes a programmable microcode-driven embedded processing engine. The packet classification engine 64 preferably is coupled to an instruction RAM (IRAM) (not shown). The packet classification engine preferably reads and executes instructions stored in the IRAM. In one embodiment, many of the instructions executed by the packet classification engine are conditional jumps. In this embodiment, the classification logic includes a decision tree with leaves at the end points that preferably indicate different types of packet classifications. Further, branches of the decision tree preferably are selected based on comparisons between the conditions of the instructions and the header fields stored in the header data cache. In other embodiments, the classification logic may not be based on a decision tree.
  • In an embodiment according to the present invention, the [0028] application engine 66 preferably has a pipelined architecture wherein multiple programmable sub-engines are pipelined in series. Each programmable sub-engine preferably performs an action on the packet, and preferably forwards the packet to the next programmable sub-engine in a “bucket brigade” fashion. The packet classification engine preferably starts the pipelined packet processing by starting the first programmable sub-engine in the application engine using a start signal 72. The start signal 72 may include identification of one or more programs to be executed in the application engine 66. The start signal 72 may also include packet classification information. The programmable sub-engines in the application engine preferably have direct access to the header data and the extracted fields stored in the header data cache over the interface 74.
  • The application engine may include other processing stages not performed by the programmable sub-engines, however, the decision-making stages preferably are performed by the programmable sub-engines to increase flexibility. In other embodiments, the application engine may include other processing architectures. [0029]
  • The disposition decision included in the [0030] application data 76 preferably is also provided to the policing engine 80. The policing engine 80 preferably also receives one or more policing IDs 84. The policing engine 80 preferably uses the disposition decision and the policing IDs to generate one or more policing recommendations 82. The policing recommendations may be a type of disposition recommendation, and may also be referred to as policing results. The policing recommendations preferably are provided to the application engine 66 to be used together with other disposition recommendations to generate application data, which may include the disposition decision.
  • II. Dynamic Application Port Service Provisioning [0031]
  • FIG. 4 is a block diagram of a [0032] packet switching node 102 in an embodiment according to the present invention, coupled to a host 100 and a server 104. The packet switching node 102 may be a part of one or more LANs, WANs, MANs, and may be coupled to other LANs, WANs, MANs, hosts, servers, and the like, over a computer network, such as, for example, the Internet or an Intranet. The host 100 and the server 104 may be a part of the same LAN or they may be a part of different LANs. Further, there may be one or more other packet switching nodes, in addition to the packet switching node 102, between the host 100 and the server 104.
  • The [0033] packet switching node 102 includes a forwarding engine 106, an inspection engine 108 and a forwarding engine 110. The packet switching node 102 may also include other components (not shown), such as, for example, one or more of, without being limited to, a switching fabric, media access controllers (MACs), CPUs, memories (e.g., databases), and the like, to facilitate conversations between the host 100 and the server 104 as well as other hosts and servers, which may be coupled to the packet switching node 102.
  • The [0034] inspection engine 108 may be implemented in a CPU subsystem in an embodiment according to the present invention. Inspection engines in other embodiments may be implemented in hardware (e.g., ASIC) or may be implemented as a combination of hardware and software.
  • The forwarding [0035] engines 106 and 110 may be similar to the packet switching controller 52 of FIG. 2 and/or the packet switching controller 60 of FIG. 3. Accordingly, the forwarding engines 106 and 110 may include other components (not shown), such as, for example, one or more of, without being limited to, a classification engine, a policing engine, an editing engine, databases, and the like, for classifying and routing packets with appropriate editing and policing. Further, the packet switching node 102 may include additional forwarding engines. For example, packet switching nodes in other embodiments may include 4, 8, 12, 16, 32, 64 or different number of forwarding engines.
  • Both the [0036] host 100 and the server 104 preferably send and receive packets directed to one another. The packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units. Therefore, for example, both the host 100 and the server 104 may include a media access controller (MAC) for receiving and transmitting Ethernet frames.
  • For instance, the [0037] host 100 may request a Web page from the server 104 by sending one or more packets requesting the Web page using TCP/IP protocol. The server 104 may then send the Web page to the host 100 as one or more packets. The host 100 may then send one or more packets back to the server 104 to acknowledge the receipt of the Web page. These transmission and receiving of packetized information are performed via the packet switching node 102. A series of one or more transmission and receiving of packets between the host 100 and the server 104 may be referred to as a session.
  • The forwarding [0038] engines 106, 110 and the inspection engine 108 may be viewed as forming two paths for packets between the host 100 and the server 104, in which the packets may enter from either the host 100 or the server 104. For example, a path from the forwarding engine 106 via the inspection engine 108 to the forwarding engine 110 may be viewed as a first path, and a path from the forwarding engine 106 directly to the forwarding engine 110 may be viewed as a second path.
  • In both the first and second paths, a conversation (transmission and receiving of packets) between the [0039] host 100 and the server 104 preferably are bi-directional. During the conversation between the host 100 and the server 104, the host 100 preferably applies the application port number to a destination port field, whereas the server 104 preferably applies the application port number to a source port field. In other embodiments, there may be more than two paths between the host 100 and the server 104.
  • During communications between the [0040] host 100 and the server 104, the forwarding engine 106 or the forwarding engine 110 receives one or more packets from the host 100 or the server 104, respectively. If the packet belongs to an application in which the application port number has been statically assigned, the receiving forwarding engine preferably determines the static application port number, and preferably transmits the packet directly to the other forwarding engine over the second path, and the session is directed to the second path. For example, Hypertext Transfer Protocol (HTTP) is a type of application where the application port number is typically statically assigned, and only one session (over the second path) is used to transfer data bi-directionally between the host 100 and the server 104.
  • On the other hand, however, if the packet belongs to an application in which the application port number is to be assigned dynamically, the receiving forwarding engine preferably sends the packet to the [0041] inspection engine 108 on the first path, and the session preferably is directed to the first path. In an exemplary session, the forwarding engine 106 preferably receives a packet from the host 100. The forwarding engine 106 preferably detects a start of a control session for an application that is going to negotiate the application port dynamically. Similarly, when the server 104 initiates the dynamic negotiation of application port, the forwarding engine 110 preferably detects the start of a control session.
  • For dynamic application port negotiation, multiple sessions, e.g., two sessions, are typically established, including the control session and a data session. The control session, as described above, is a session between the [0042] host 100 and the server 104 that negotiates the dynamic port for the data session. The control session typically uses a well-known port, which may also be referred to as a static port. Then, the data session uses the dynamic port that has been negotiated between the host 100 and the server 104. Typically, most of the data transfer between the host 100 and the server 104 takes place during the data session.
  • The applications that use dynamic application port negotiation may include one or more of, but are not limited to, File Transfer Protocol (FTP) and Voice over IP (VoIP). Different QoS, statistics group, policing, bandwidth, provisioning, and the like may be provided to these and other different applications. These different treatments may also be based on the customer using the service, in addition to, or instead of the type of application being used. The statistics group typically comprises, but is not limited to, amount of traffic, size of file transfer, time of day, customer identification, and/or number of bytes. The statistics group may be used for one or more of billing, auditing, network management, traffic profiling, and the like. [0043]
  • The control session for each of these applications preferably takes place using an associated well-known (or static) port. For example, file transfer protocol (FTP) has a well-known port defined by IETF (Internet Engineering Task Force), e.g., in Request for Comments (RFC) 1700 entitled “Assigned Numbers,” which is well known to those skilled in the art. Thus, when the FTP is the application, the associated well-known port is used for the control session. [0044]
  • When a node (host [0045] 100 or server 104) wants to request a file from the other node using FTP, it preferably initiates a control session using the well-known port. The node-side forwarding engine looks for the start of the control session directed at the well-known control port for the FTP that indicates start of the dynamic application port negotiation. The start of the control session may be detected by looking for setting of a SYN (synchronization) flag in the TCP header in an embodiment according to the present invention. The initiating node (the host or server) preferably sends an initial packet with the SYN bit set, and the responder (the host or server) preferably sends an acknowledging packet with a SYN ACK (synchronization acknowledgement) bit set.
  • During the control session, the [0046] host 100 and the server 104 use the semantics as defined by FTP to dynamically negotiate an application port, which may be different for different sessions. Once the dynamic port negotiation has been completed, the control session preferably is discontinued, and both the host 100 and the server 104 preferably switch over to a data session, during which the FTP file transfer takes place, using the application port number that was negotiated during the control session. In the transition between the control session and the data session, the traffic between the host 100 and the server 104 is redirected from the first path to the second path.
  • For another example, similar scheme may be used for Voice over IP (VOIP) application. In VOIP applications, a control session may be used to negotiate an application port that will carry voice data and once the application port has been negotiated, then the negotiated application port may be used to actually carry the voice data. [0047]
  • Once the traffic is diverted to the first path (via the inspection engine), all of the frames (packets) for the control session going both directions between the [0048] host 100 and the server 104 go through the inspection engine 108. The inspection engine 108 preferably captures those frames, inspects them and forwards them unedited, except for single hop routing edits if required. The inspection engine does not affect the dynamic negotiation; rather, it monitors the dynamic negotiation between the host and the server. This technique of monitoring application control session used in an embodiment according to the present invention may be referred to as “Stateful Inspection”.
  • Through monitoring the dynamic negotiation, the [0049] inspection engine 108 preferably discovers the result of the negotiation. For example, the inspection engine 108 preferably determines the application port (or data port), which is the dynamic port that will become the port of the data session. Once the inspection engine 108 observes the dynamic negotiation and discovers what the new port number is going to be, then the inspection engine preferably advises the forwarding engines 106 and 110 of the new application port to use for the data session. The forwarding engines 106 and 110 then place the application port number in their respective database so that appropriate policies, for example, may be applied to the data being transferred during the data session.
  • A policing engine, which may be similar to, for example, the [0050] policing engine 80 of FIG. 3, may be used to apply the policies (services levels) to the data. The policies may include one or more of, but are not limited to, Quality of Service (QoS) level, statistics group, the policing, and the like, whatever is programmed in the policy matrix of the respective forwarding engine. When the control session terminates and the host and the server switch over to the data session, the packet switching node preferably has pre-configured itself to treat the incoming traffic (of the data session) appropriately.
  • The service level for the session preferably is configured upon a database in each forwarding engine used during the data session. The database preferably contains the policy matrix, which contains policy parameters, such as, for example, QoS, statistics group, policing, bandwidth and/or provisioning. For example, the policy matrix may allow for keeping track of accounting number for billing purposes and/or keeping track of a data rate for, e.g., policing purposes. Accordingly, in the forwarding engines, the dynamically negotiated application port number (and therefore the session using the port number) preferably is associated with the parameters in the policy matrix. [0051]
  • The packet switching nodes in this or other embodiments may include additional inspection engines to support additional forwarding engines since a single inspection engine may be overwhelmed by multiple dynamic negotiations of applications port numbers it needs to monitor. [0052]
  • FIG. 5 is a flow diagram of dynamic application port negotiation in an embodiment according to the present invention. A packet switching node, such as, for example, the [0053] packet switching node 102, receives packets from a host or a server, such as, for example, the host 100 or server 104 of FIG. 1. In the packet switching node, a forwarding engine, such as, for example, the forwarding engine 106 or the forwarding engine 110 receives and forwards the packets.
  • One or more of the received packets may belong to a control session in which the application port number is to be assigned dynamically (i.e., a dynamic port session). As shown in [0054] step 200 of FIG. 5, the forwarding engine preferably identifies an initial packet (e.g., the first packet) that has a well-known port number indicative of the initiation of a dynamic application port number negotiation. Once the initial packet is determined, as shown in step 202 of FIG. 2, the forwarding engine preferably directs packets for the control session to an inspection engine, such as, for example, the inspection engine 108 of FIG. 1, on an inspection engine path (a first path).
  • In [0055] step 204, the inspection engine preferably monitors dynamic port negotiation. In step 206, the inspection engine preferably determines an application port number for a data session through monitoring.
  • In [0056] step 208, the forwarding engines preferably are configured with a service level for the session. The service level configuration may include, for example, but is not limited to, associating the dynamic application port number on the forwarding engines with one or more of a QoS, policing, statistics group, and the like, and/or a customer.
  • In step [0057] 210, the packets belonging to the dynamic port session preferably are directed to the forwarding engines on an inspection engine-independent path (a second path). The forwarding engines preferably forward the packets on the second path, and updates customer statistics per configured associations. For example, the customer statistics may include length of a phone call, local or long distance, and may include billing treatment and provisioning used for accounting purposes. When a customer purchases a service, which allows him to send a predetermined amount of data, the amount of data being sent by the customer should be tracked so that the customer does not send more data than he is allowed to. If and when the customer goes over his service limit, a corrective action, such as, for example, limiting his bandwidth, may be needed to be taken.
  • It will be appreciated by those of ordinary skill in the art that the invention can be embodied in other specific forms without departing from the spirit or essential character hereof. The present description is therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims, and all changes that come within the meaning and range of equivalents thereof are intended to be embraced therein. [0058]

Claims (34)

We claim:
1. A packet switching node for receiving and transmitting packets for one or more sessions, the packet switching node comprising:
an inspection engine for determining an application port by monitoring a first session in which the application port is negotiated; and
first and second forwarding engines interconnected on a first path dependent on the inspection engine and a second path independent of the inspection engine,
wherein the first forwarding engine identifies the first session, and directs the first session to the first path.
2. The packet switching node according to claim 1, wherein the application port is dynamically negotiated between a server node and a host node.
3. The packet switching node according to claim 1, wherein the first forwarding engine forwards a second session, for which the application port has been negotiated, over the second path.
4. The packet switching node according to claim 1, wherein the first forwarding engine identifies a third session with a statically assigned application port, and wherein the first forwarding engine forwards the third session over the second path.
5. The packet switching node according to claim 1, wherein the packets are forwarded via the inspection engine and at least one of the forwarding engines on the first path, and the packets are forwarded via at least one of the forwarding engines but not via the inspection engine on the second path.
6. The packet switching node according to claim 3, wherein the inspection engine configures a service level for the second session on the first forwarding engine.
7. The packet switching node according to claim 6, wherein the inspection engine configures the service level for the first session on the second forwarding engine.
8. The packet switching node according to claim 7, wherein the configuration of the service level includes association of the application port with a quality of service (QoS) on at least one of the forwarding engines.
9. The packet switching node according to claim 7, wherein the configuration of the service level includes association of the application port with a customer on at least one of the forwarding engines.
10. The packet switching node according to claim 7, wherein the configuration of the service level includes association of the application port with a statistics group on at least one of the forwarding engines.
11. The packet switching node according to claim 10, wherein the statistics group comprises amount of traffic, size of file transfer, time of day, customer identification or number of bytes.
12. The packet switching node according to claim 10, wherein the statistics group is used to perform billing, auditing, network management or traffic profiling.
13. A method of assigning an application port to one or more sessions, the method comprising the steps of:
receiving a plurality of packets for the sessions on a first forwarding engine;
identifying a first session in which the application port is to be negotiated;
directing the first session to an inspection engine; and
determining the application port for a second session by monitoring the application port negotiation using the inspection engine.
14. The method of assigning an application port according to claim 13, the method further comprising the step of:
forwarding the second session to a second forwarding engine without going through the inspection engine.
15. The method of assigning an application port according to claim 13, the method further comprising the steps of:
identifying a third session in which the application port is statically assigned; and
forwarding the third session to a second forwarding engine without going through the inspection engine.
16. The method of assigning an application port according to claim 13, the method further comprising the step of:
configuring a service level for the second session on the first forwarding engine.
17. The method of assigning an application port according to claim 16, the method further comprising the step of:
configuring the service level for the second session on a second forwarding engine.
18. The method of assigning an application port according to claim 17, wherein the steps of configuring a service level comprise the step of associating the application port with quality of service (QoS).
19. The method of assigning an application port according to claim 17, wherein the steps of configuring a service level comprise the step of associating the application port with a customer.
20. The method of assigning an application port according to claim 17, wherein the steps of configuring a service level comprises the step of associating the application port with a statistics group.
21. The packet switching node according to claim 20, wherein the statistics group comprises amount of traffic, size of file transfer, time of day, customer identification or number of bytes.
22. The packet switching node according to claim 20, wherein the statistics group is used to perform billing, auditing, network management or traffic profiling.
23. A packet switching node for receiving and transmitting packets for one or more sessions, the packet switching node comprising:
inspection means for determining an application port by monitoring a first session in which the application port is negotiated; and
first and second forwarding means interconnected on a first path dependent on the inspection means and a second path independent of the inspection means,
wherein the first forwarding means identifies the first session, and directs the first session to the first path.
24. The packet switching node according to claim 23, wherein the application port is dynamically negotiated between a server node and a host node.
25. The packet switching node according to claim 23, wherein the first forwarding means forwards a second session, for which the application port has been negotiated, over the second path.
26. The packet switching node according to claim 23, wherein the first forwarding means identifies a third session with a statically assigned application port, and wherein the first forwarding means forwards the third session over the second path.
27. The packet switching node according to claim 23, wherein the packets are forwarded via the inspection means and at least one of the forwarding means on the first path, and the packets are forwarded via at least one of the forwarding means but not via the inspection means on the second path.
28. The packet switching node according to claim 25, wherein the inspection means configures a service level for the second session on the first forwarding means.
29. The packet switching node according to claim 28, wherein the inspection means configures the service level for the first session on the second forwarding means.
30. The packet switching node according to claim 28, wherein the configuration of the service level includes association of the application port with a quality of service (QoS) on at least one of the forwarding means.
31. The packet switching node according to claim 28, wherein the configuration of the service level includes association of the application port with a customer on at least one of the forwarding means.
32. The packet switching node according to claim 28, wherein the configuration of the service level includes association of the application port with a statistics group on at least one of the forwarding means.
33. The packet switching node according to claim 32, wherein the statistics group comprises amount of traffic, size of file transfer, time of day, customer identification or number of bytes.
34. The packet switching node according to claim 32, wherein the statistics group is used to perform billing, auditing, network management or traffic profiling.
US09/861,013 2000-05-24 2001-05-18 Dynamic application port service provisioning for packet switch Abandoned US20020016856A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/861,013 US20020016856A1 (en) 2000-05-24 2001-05-18 Dynamic application port service provisioning for packet switch

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US20661700P 2000-05-24 2000-05-24
US20699600P 2000-05-24 2000-05-24
US22033500P 2000-07-24 2000-07-24
US09/861,013 US20020016856A1 (en) 2000-05-24 2001-05-18 Dynamic application port service provisioning for packet switch

Publications (1)

Publication Number Publication Date
US20020016856A1 true US20020016856A1 (en) 2002-02-07

Family

ID=27394964

Family Applications (5)

Application Number Title Priority Date Filing Date
US09/751,194 Expired - Lifetime US7075926B2 (en) 2000-05-24 2000-12-28 Programmable packet processor with flow resolution logic
US09/757,354 Abandoned US20010046229A1 (en) 2000-05-24 2001-01-08 Packet processor with real-time edit program construction engine
US09/757,349 Abandoned US20010053150A1 (en) 2000-05-24 2001-01-08 Packet processor with programmable application logic
US09/861,013 Abandoned US20020016856A1 (en) 2000-05-24 2001-05-18 Dynamic application port service provisioning for packet switch
US11/428,616 Expired - Lifetime US7693149B2 (en) 2000-05-24 2006-07-05 Programmable packet processor with flow resolution logic

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US09/751,194 Expired - Lifetime US7075926B2 (en) 2000-05-24 2000-12-28 Programmable packet processor with flow resolution logic
US09/757,354 Abandoned US20010046229A1 (en) 2000-05-24 2001-01-08 Packet processor with real-time edit program construction engine
US09/757,349 Abandoned US20010053150A1 (en) 2000-05-24 2001-01-08 Packet processor with programmable application logic

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/428,616 Expired - Lifetime US7693149B2 (en) 2000-05-24 2006-07-05 Programmable packet processor with flow resolution logic

Country Status (5)

Country Link
US (5) US7075926B2 (en)
EP (5) EP1158724A3 (en)
JP (5) JP2002077269A (en)
CN (1) CN1278524C (en)
AU (1) AU4620501A (en)

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002065717A1 (en) * 2001-02-14 2002-08-22 Dynarc Inc. Dba Dynamic Network Architecture Inc., In Ca Dynamic packet processor architecture
US20030028681A1 (en) * 2001-08-02 2003-02-06 International Business Machines Corporation Apparatus and method for port sharing among a plurality of server processes
US20030074467A1 (en) * 2001-10-11 2003-04-17 Oblak Sasha Peter Load balancing system and method for data communication network
US20030126234A1 (en) * 2001-11-20 2003-07-03 P-Cube Ltd. Apparatus, method, and software for analyzing network traffic in a service aware network
US20050190694A1 (en) * 2000-04-03 2005-09-01 P-Cube Method and apparatus for wire-speed application layer classification of upstream and downstream data packets
US20050199292A1 (en) * 2004-03-10 2005-09-15 Stedman David W. Fluid device actuator with manual override
FR2878346A1 (en) * 2004-11-22 2006-05-26 France Telecom METHOD AND SYSTEM FOR MEASURING THE USE OF AN APPLICATION
US20060195556A1 (en) * 2001-11-20 2006-08-31 P-Cube Ltd. Apparatus, method, and software for analyzing network traffic in a service aware network
US20070160073A1 (en) * 2006-01-10 2007-07-12 Kunihiko Toumura Packet communications unit
US7286532B1 (en) * 2001-02-22 2007-10-23 Cisco Technology, Inc. High performance interface logic architecture of an intermediate network node
US7298746B1 (en) 2002-02-11 2007-11-20 Extreme Networks Method and system for reassembling and parsing packets in a network environment
US7321926B1 (en) 2002-02-11 2008-01-22 Extreme Networks Method of and system for allocating resources to resource requests
US7447777B1 (en) * 2002-02-11 2008-11-04 Extreme Networks Switching system
US20080279196A1 (en) * 2004-04-06 2008-11-13 Robert Friskney Differential Forwarding in Address-Based Carrier Networks
US20090119722A1 (en) * 2007-11-01 2009-05-07 Versteeg William C Locating points of interest using references to media frames within a packet flow
US20090217318A1 (en) * 2004-09-24 2009-08-27 Cisco Technology, Inc. Ip-based stream splicing with content-specific splice points
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US7814204B1 (en) 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
US7817546B2 (en) 2007-07-06 2010-10-19 Cisco Technology, Inc. Quasi RTP metrics for non-RTP media flows
US7835406B2 (en) 2007-06-18 2010-11-16 Cisco Technology, Inc. Surrogate stream for monitoring realtime media
US7936695B2 (en) 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US20110119546A1 (en) * 2009-11-18 2011-05-19 Cisco Technology, Inc. Rtp-based loss recovery and quality monitoring for non-ip and raw-ip mpeg transport flows
US7953885B1 (en) * 2003-04-18 2011-05-31 Cisco Technology, Inc. Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause
US7996520B2 (en) 2007-09-19 2011-08-09 Cisco Technology, Inc. Behavioral classification of communication sessions using active session initiation
US8023419B2 (en) 2007-05-14 2011-09-20 Cisco Technology, Inc. Remote monitoring of real-time internet protocol media streams
US8301789B2 (en) 2007-06-18 2012-10-30 Emc Corporation Techniques for port hopping
US20130182722A1 (en) * 2010-11-01 2013-07-18 Deepak Mysore Vishveswaraiah Managing mac moves with secure port groups
US20130198411A1 (en) * 2012-01-27 2013-08-01 Electronics And Telecommunications Research Institute Packet processing apparatus and method for load balancing of multi-layered protocols
US8661295B1 (en) * 2011-03-31 2014-02-25 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US8819714B2 (en) 2010-05-19 2014-08-26 Cisco Technology, Inc. Ratings and quality measurements for digital broadcast viewers
US8937870B1 (en) 2012-09-11 2015-01-20 Amazon Technologies, Inc. Network link monitoring and testing
US20150072236A1 (en) * 2013-04-19 2015-03-12 CellMotive Co. Ltd. Metal Foam for Electrode of Secondary Lithium Battery, Preparing Method Thereof, and Secondary Lithium Battery Including the Metal Foam
US9001667B1 (en) 2011-03-31 2015-04-07 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
CN104809158A (en) * 2015-03-26 2015-07-29 小米科技有限责任公司 Network content filter method and device
US9104543B1 (en) 2012-04-06 2015-08-11 Amazon Technologies, Inc. Determining locations of network failures
US9118590B2 (en) 2004-07-02 2015-08-25 Rpx Clearinghouse Llc VLAN support of differentiated services
US9197495B1 (en) 2013-02-11 2015-11-24 Amazon Technologies, Inc. Determining locations of network failures
US9210038B1 (en) 2013-02-11 2015-12-08 Amazon Technologies, Inc. Determining locations of network failures
US20160006740A1 (en) * 2014-07-03 2016-01-07 Electronics And Telecommunications Research Institute Method and system for extracting access control list
US9356862B2 (en) 2004-04-06 2016-05-31 Rpx Clearinghouse Llc Differential forwarding in address-based carrier networks
US9385917B1 (en) 2011-03-31 2016-07-05 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US20160219131A1 (en) * 2007-04-11 2016-07-28 Palo Alto Networks, Inc. L2/l3 multi-mode switch including policy processing
US20160260968A1 (en) * 2015-03-03 2016-09-08 United States Government, As Represented By The Secretary Of The Army "B" AND "O" SITE DOPED AB2O4 SPINEL CATHODE MATERIAL, METHOD OF PREPARING THE SAME, AND RECHARGEABLE LITHIUM AND Li-ION ELECTROCHEMICAL SYSTEMS CONTAINING THE SAME
US20160373351A1 (en) * 2015-06-17 2016-12-22 Brocade Communications Systems, Inc. Architecture for a network visibility system
US20170092964A1 (en) * 2015-09-28 2017-03-30 General Electric Company Fuel cell module including heat exchanger and method of operating such module
US9742638B1 (en) 2013-08-05 2017-08-22 Amazon Technologies, Inc. Determining impact of network failures
US20180362727A1 (en) * 2015-11-11 2018-12-20 3M Innovative Properties Company Conductive fluoropolymer compositions
US20190072928A1 (en) * 2016-05-09 2019-03-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10750387B2 (en) 2015-03-23 2020-08-18 Extreme Networks, Inc. Configuration of rules in a network visibility system
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382736B2 (en) 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US7996670B1 (en) * 1999-07-08 2011-08-09 Broadcom Corporation Classification engine in a cryptography acceleration chip
JP4080169B2 (en) * 2000-09-29 2008-04-23 株式会社リコー Session establishment method
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7356030B2 (en) 2000-11-17 2008-04-08 Foundry Networks, Inc. Network switch cross point
US7236490B2 (en) 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US6735218B2 (en) * 2000-11-17 2004-05-11 Foundry Networks, Inc. Method and system for encoding wide striped cells
US7002980B1 (en) * 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
FI114597B (en) * 2001-01-24 2004-11-15 Teliasonera Finland Oyj Procedure for logging in
US6606681B1 (en) * 2001-02-23 2003-08-12 Cisco Systems, Inc. Optimized content addressable memory (CAM)
EP1371187B1 (en) * 2001-03-19 2004-12-01 International Business Machines Corporation Cache entry selection method and apparatus
US6910097B1 (en) * 2001-04-09 2005-06-21 Netlogic Microsystems, Inc. Classless interdomain routing using binary content addressable memory
JP2003018196A (en) * 2001-04-27 2003-01-17 Fujitsu Ltd Packet transfer device, semiconductor device, and packet transfer system
US7206283B2 (en) 2001-05-15 2007-04-17 Foundry Networks, Inc. High-performance network switch
US20020188732A1 (en) * 2001-06-06 2002-12-12 Buckman Charles R. System and method for allocating bandwidth across a network
US7095715B2 (en) * 2001-07-02 2006-08-22 3Com Corporation System and method for processing network packet flows
US20030033519A1 (en) * 2001-08-13 2003-02-13 Tippingpoint Technologies,Inc. System and method for programming network nodes
US7170891B2 (en) * 2001-08-30 2007-01-30 Messenger Terabit Networks, Inc. High speed data classification system
US7424019B1 (en) * 2001-11-27 2008-09-09 Marvell Israel (M.I.S.L) Ltd. Packet header altering device
US7239639B2 (en) * 2001-12-27 2007-07-03 3Com Corporation System and method for dynamically constructing packet classification rules
KR100439185B1 (en) * 2001-12-28 2004-07-05 한국전자통신연구원 Method for loading programs in the active network model and hybrid active network node
US6961808B1 (en) * 2002-01-08 2005-11-01 Cisco Technology, Inc. Method and apparatus for implementing and using multiple virtual portions of physical associative memories
SE525183C2 (en) * 2002-04-04 2004-12-21 Xelerated Ab Procedure and means for processing by pipelining of data packets
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7548541B2 (en) * 2002-06-04 2009-06-16 Alcatel-Lucent Usa Inc. Managing VLAN traffic in a multiport network node using customer-specific identifiers
US7167913B2 (en) * 2002-06-05 2007-01-23 Universal Electronics Inc. System and method for managing communication links
WO2004010288A1 (en) * 2002-07-19 2004-01-29 Xelerated Ab Method and apparatus for pipelined processing of data packets
US7515612B1 (en) * 2002-07-19 2009-04-07 Qlogic, Corporation Method and system for processing network data packets
US7411904B2 (en) * 2002-07-22 2008-08-12 Lucent Technologies Inc. Multiprotocol label switching (MPLS) edge service extraction
EP1552412A4 (en) * 2002-08-14 2007-05-23 Drs Technical Services Inc Method and apparatus for monitoring and controlling the allocation of network bandwidth
EP1395015B1 (en) * 2002-08-30 2005-02-02 Errikos Pitsos Method, gateway and system for transmitting data between a device in a public network and a device in an internal network
US20040042463A1 (en) * 2002-08-30 2004-03-04 Intel Corporation Method and apparatus for address lookup
US20040057433A1 (en) * 2002-09-24 2004-03-25 Daniel Wayne T. Methods and systems for prioritizing packets of data in a communications system
JP4598354B2 (en) * 2002-09-30 2010-12-15 株式会社エヌ・ティ・ティ・ドコモ COMMUNICATION SYSTEM, RELAY DEVICE, AND COMMUNICATION CONTROL METHOD
US20040123120A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Cryptography accelerator input interface data handling
US7568110B2 (en) * 2002-12-18 2009-07-28 Broadcom Corporation Cryptography accelerator interface decoupling from cryptography processing cores
US20040196840A1 (en) * 2003-04-04 2004-10-07 Bharadwaj Amrutur Passive measurement platform
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7240041B2 (en) * 2003-11-25 2007-07-03 Freescale Semiconductor, Inc. Network message processing using inverse pattern matching
US7613775B2 (en) 2003-11-25 2009-11-03 Freescale Semiconductor, Inc. Network message filtering using hashing and pattern matching
US8181258B2 (en) * 2003-11-26 2012-05-15 Agere Systems Inc. Access control list constructed as a tree of matching tables
US7644085B2 (en) * 2003-11-26 2010-01-05 Agere Systems Inc. Directed graph approach for constructing a tree representation of an access control list
US7903555B2 (en) * 2003-12-17 2011-03-08 Intel Corporation Packet tracing
US7535899B2 (en) * 2003-12-18 2009-05-19 Intel Corporation Packet classification
US7496684B2 (en) * 2004-01-20 2009-02-24 International Business Machines Corporation Developing portable packet processing applications in a network processor
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8161270B1 (en) 2004-03-30 2012-04-17 Extreme Networks, Inc. Packet data modification processor
US7292591B2 (en) 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US7304996B1 (en) 2004-03-30 2007-12-04 Extreme Networks, Inc. System and method for assembling a data packet
US7385984B2 (en) * 2004-03-30 2008-06-10 Extreme Networks, Inc. Packet processing system architecture and method
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7813263B2 (en) 2004-06-30 2010-10-12 Conexant Systems, Inc. Method and apparatus providing rapid end-to-end failover in a packet switched communications network
US7760719B2 (en) * 2004-06-30 2010-07-20 Conexant Systems, Inc. Combined pipelined classification and address search method and apparatus for switching environments
US20060080467A1 (en) * 2004-08-26 2006-04-13 Sensory Networks, Inc. Apparatus and method for high performance data content processing
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US20060198375A1 (en) * 2004-12-07 2006-09-07 Baik Kwang H Method and apparatus for pattern matching based on packet reassembly
US7990966B2 (en) * 2004-12-13 2011-08-02 Electronics And Telecommunications Research Institute Apparatus for changing MAC address to identify subscriber and method thereof
US7773598B2 (en) 2004-12-21 2010-08-10 Telefonaktiebolaget L M Ericsson (Publ) Arrangement and a method relating to flow of packets in communications systems
WO2006068595A1 (en) 2004-12-22 2006-06-29 Xelerated Ab A method for reducing buffer capacity in a pipeline processor
US7739424B2 (en) * 2005-04-18 2010-06-15 Integrated Device Technology, Inc. Packet processing switch and methods of operation thereof
CN100446505C (en) * 2005-06-06 2008-12-24 华为技术有限公司 Realization method for improving backbone network security
JP2006345406A (en) 2005-06-10 2006-12-21 Ntt Docomo Inc Portable communication terminal, storage medium
US8498297B2 (en) 2005-08-26 2013-07-30 Rockstar Consortium Us Lp Forwarding table minimisation in ethernet switches
US7639715B1 (en) 2005-09-09 2009-12-29 Qlogic, Corporation Dedicated application interface for network systems
US20070136209A1 (en) * 2005-12-06 2007-06-14 Shabbir Khan Digital object title authentication
US9686183B2 (en) * 2005-12-06 2017-06-20 Zarbaña Digital Fund Llc Digital object routing based on a service request
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US7596142B1 (en) * 2006-05-12 2009-09-29 Integrated Device Technology, Inc Packet processing in a packet switch with improved output data distribution
US7817652B1 (en) 2006-05-12 2010-10-19 Integrated Device Technology, Inc. System and method of constructing data packets in a packet switch
US7747904B1 (en) 2006-05-12 2010-06-29 Integrated Device Technology, Inc. Error management system and method for a packet switch
US7706387B1 (en) 2006-05-31 2010-04-27 Integrated Device Technology, Inc. System and method for round robin arbitration
US20070291768A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS
US8064464B2 (en) * 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7895331B1 (en) * 2006-08-10 2011-02-22 Bivio Networks, Inc. Method for dynamically configuring network services
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
KR100847146B1 (en) 2006-11-06 2008-07-18 한국전자통신연구원 2×10 giga bit ethernet application implementation apparatus
US8179896B2 (en) * 2006-11-09 2012-05-15 Justin Mark Sobaje Network processors and pipeline optimization methods
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US8155011B2 (en) 2007-01-11 2012-04-10 Foundry Networks, Llc Techniques for using dual memory structures for processing failure detection protocol packets
US8542720B2 (en) * 2007-04-24 2013-09-24 Aclara Power-Line Systems, Inc. Detection of outbound message signals in a power line two-way communications system
US7693040B1 (en) 2007-05-01 2010-04-06 Integrated Device Technology, Inc. Processing switch for orthogonal frequency division multiplexing
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8271859B2 (en) * 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
ATE505017T1 (en) * 2007-08-10 2011-04-15 Alcatel Lucent METHOD AND DEVICE FOR CLASSIFYING DATA TRAFFIC IN IP NETWORKS
US8149839B1 (en) 2007-09-26 2012-04-03 Foundry Networks, Llc Selection of trunk ports and paths using rotation
US8190881B2 (en) 2007-10-15 2012-05-29 Foundry Networks Llc Scalable distributed web-based authentication
US8656451B2 (en) * 2008-03-07 2014-02-18 At&T Mobility Ii Llc Policy application server for mobile data networks
WO2009143224A2 (en) * 2008-05-20 2009-11-26 Fox Chase Center Center Method for the treatment or prophylaxis of lymphangioleiomyomatosis (lam) and animal model for use in lam research
SE532426C2 (en) * 2008-05-26 2010-01-19 Oricane Ab Method for data packet classification in a data communication network
US7864764B1 (en) * 2008-09-16 2011-01-04 Juniper Networks, Inc. Accelerated packet processing in a network acceleration device
US8539035B2 (en) * 2008-09-29 2013-09-17 Fujitsu Limited Message tying processing method and apparatus
US7916735B2 (en) 2008-12-02 2011-03-29 At&T Intellectual Property I, L.P. Method for applying macro-controls onto IP networks using intelligent route indexing
TWI378688B (en) * 2009-02-10 2012-12-01 Ralink Technology Corp Method and apparatus for preloading packet headers and system using the same
CN101808029B (en) * 2009-02-13 2013-03-13 雷凌科技股份有限公司 Method and device for preloading packet header and system using method
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8284776B2 (en) * 2009-06-10 2012-10-09 Broadcom Corporation Recursive packet header processing
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
WO2011069228A1 (en) * 2009-12-10 2011-06-16 Redknee Inc. Feedback loop for dynamic network resource allocation
US8291058B2 (en) * 2010-02-19 2012-10-16 Intrusion, Inc. High speed network data extractor
KR101145389B1 (en) 2010-09-28 2012-05-15 한국전자통신연구원 Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor
US9225656B2 (en) 2011-02-07 2015-12-29 Brocade Communications Systems, Inc. Quality of service in a heterogeneous network
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
US8730811B2 (en) * 2011-04-07 2014-05-20 Hewlett-Packard Development Company, L.P. Managing network traffic
JP5655692B2 (en) * 2011-04-28 2015-01-21 富士通株式会社 Communication apparatus and communication method
US8830834B2 (en) * 2011-12-21 2014-09-09 Cisco Technology, Inc. Overlay-based packet steering
US9798588B1 (en) * 2012-04-25 2017-10-24 Significs And Elements, Llc Efficient packet forwarding using cyber-security aware policies
US9094459B2 (en) * 2012-07-16 2015-07-28 International Business Machines Corporation Flow based overlay network
KR101467942B1 (en) * 2013-04-24 2014-12-02 주식회사 윈스 Fast Application Recognition System and Processing Method Therof
US9324039B2 (en) 2013-11-27 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Incremental updates for ordered multi-field classification rules when represented by a tree of longest prefix matching tables
US9674102B2 (en) 2013-12-18 2017-06-06 Marvell Israel (M.I.S.L.) Ltd. Methods and network device for oversubscription handling
US9620213B2 (en) 2013-12-27 2017-04-11 Cavium, Inc. Method and system for reconfigurable parallel lookups using multiple shared memories
US9825884B2 (en) 2013-12-30 2017-11-21 Cavium, Inc. Protocol independent programmable switch (PIPS) software defined data center networks
US9880844B2 (en) * 2013-12-30 2018-01-30 Cavium, Inc. Method and apparatus for parallel and conditional data manipulation in a software-defined network processing engine
US9379963B2 (en) 2013-12-30 2016-06-28 Cavium, Inc. Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine
US11921658B2 (en) 2014-03-08 2024-03-05 Diamanti, Inc. Enabling use of non-volatile media-express (NVMe) over a network
CA2941702A1 (en) 2014-03-08 2015-09-17 Diamanti, Inc. Methods and systems for converged networking and storage
US10635316B2 (en) 2014-03-08 2020-04-28 Diamanti, Inc. Methods and systems for data storage using solid state drives
US10628353B2 (en) 2014-03-08 2020-04-21 Diamanti, Inc. Enabling use of non-volatile media-express (NVMe) over a network
CN105024846A (en) * 2014-04-30 2015-11-04 中兴通讯股份有限公司 Heterogeneous network management method and system, and network element management and network management systems
US9503552B2 (en) * 2014-05-09 2016-11-22 Google Inc. System and method for adapting to network protocol updates
TWI726561B (en) * 2019-12-31 2021-05-01 新唐科技股份有限公司 Operating circuit and control method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678268B1 (en) * 1998-09-18 2004-01-13 The United States Of America As Represented By The Secretary Of The Navy Multi-interface point-to-point switching system (MIPPSS) with rapid fault recovery capability
US6728243B1 (en) * 1999-10-28 2004-04-27 Intel Corporation Method for specifying TCP/IP packet classification parameters
US6778546B1 (en) * 2000-02-14 2004-08-17 Cisco Technology, Inc. High-speed hardware implementation of MDRR algorithm over a large number of queues
US6781994B1 (en) * 1997-12-25 2004-08-24 Kabushiki Kaisha Toshiba Distributing ATM cells to output ports based upon destination information using ATM switch core and IP forwarding

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3777797D1 (en) * 1987-01-28 1992-04-30 Ibm DEVICE FOR MEDIATING BETWEEN CHANNELS FOR SYNCHRONOUS MESSAGE AND FOR MEDIATING ASYNCHRONOUS DATA PACKAGES.
US5182748A (en) * 1989-10-20 1993-01-26 Kokusai Denshin Denwa Co., Ltd. Protocol conversion system
US5398245A (en) 1991-10-04 1995-03-14 Bay Networks, Inc. Packet processing method and apparatus
US5430709A (en) * 1992-06-17 1995-07-04 Hewlett-Packard Company Network monitoring method and apparatus
GB9326476D0 (en) * 1993-12-24 1994-02-23 Newbridge Networks Corp Network
US5598410A (en) * 1994-12-29 1997-01-28 Storage Technology Corporation Method and apparatus for accelerated packet processing
US5563878A (en) * 1995-01-05 1996-10-08 International Business Machines Corporation Transaction message routing in digital communication networks
AUPO194696A0 (en) * 1996-08-28 1996-09-19 Canon Information Systems Research Australia Pty Ltd A method of efficiently updating hashed page tables
US5748905A (en) * 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
US5938736A (en) * 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US6212183B1 (en) * 1997-08-22 2001-04-03 Cisco Technology, Inc. Multiple parallel packet routing lookup
AU1421799A (en) * 1997-11-25 1999-06-15 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US7466703B1 (en) * 1998-05-01 2008-12-16 Alcatel-Lucent Usa Inc. Scalable high speed router apparatus
US6628653B1 (en) * 1998-06-04 2003-09-30 Nortel Networks Limited Programmable packet switching device
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6876653B2 (en) * 1998-07-08 2005-04-05 Broadcom Corporation Fast flexible filter processor based architecture for a network device
US6525850B1 (en) * 1998-07-17 2003-02-25 The Regents Of The University Of California High-throughput, low-latency next generation internet networks using optical label switching and high-speed optical header generation, detection and reinsertion
JP2000092118A (en) * 1998-09-08 2000-03-31 Hitachi Ltd Programmable network
US6567408B1 (en) * 1999-02-01 2003-05-20 Redback Networks Inc. Methods and apparatus for packet classification with multi-level data structure
CN1293478C (en) * 1999-06-30 2007-01-03 倾向探测公司 Method and apparatus for monitoring traffic in a network
US6611524B2 (en) * 1999-06-30 2003-08-26 Cisco Technology, Inc. Programmable data packet parser
JP3643507B2 (en) * 1999-09-20 2005-04-27 株式会社東芝 Packet processing apparatus and packet processing method
US6697380B1 (en) * 1999-12-07 2004-02-24 Advanced Micro Devices, Inc. Multiple key lookup arrangement for a shared switching logic address table in a network switch
US6977930B1 (en) * 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US6778534B1 (en) * 2000-06-30 2004-08-17 E. Z. Chip Technologies Ltd. High-performance network processor
US20030009466A1 (en) * 2001-06-21 2003-01-09 Ta John D. C. Search engine with pipeline structure
US20050232303A1 (en) * 2002-04-26 2005-10-20 Koen Deforche Efficient packet processing pipeline device and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6781994B1 (en) * 1997-12-25 2004-08-24 Kabushiki Kaisha Toshiba Distributing ATM cells to output ports based upon destination information using ATM switch core and IP forwarding
US6678268B1 (en) * 1998-09-18 2004-01-13 The United States Of America As Represented By The Secretary Of The Navy Multi-interface point-to-point switching system (MIPPSS) with rapid fault recovery capability
US6728243B1 (en) * 1999-10-28 2004-04-27 Intel Corporation Method for specifying TCP/IP packet classification parameters
US6778546B1 (en) * 2000-02-14 2004-08-17 Cisco Technology, Inc. High-speed hardware implementation of MDRR algorithm over a large number of queues

Cited By (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050190694A1 (en) * 2000-04-03 2005-09-01 P-Cube Method and apparatus for wire-speed application layer classification of upstream and downstream data packets
US7436830B2 (en) 2000-04-03 2008-10-14 P-Cube Ltd. Method and apparatus for wire-speed application layer classification of upstream and downstream data packets
WO2002065717A1 (en) * 2001-02-14 2002-08-22 Dynarc Inc. Dba Dynamic Network Architecture Inc., In Ca Dynamic packet processor architecture
US7286532B1 (en) * 2001-02-22 2007-10-23 Cisco Technology, Inc. High performance interface logic architecture of an intermediate network node
US20030028681A1 (en) * 2001-08-02 2003-02-06 International Business Machines Corporation Apparatus and method for port sharing among a plurality of server processes
US6950873B2 (en) * 2001-08-02 2005-09-27 International Business Machines Corporation Apparatus and method for port sharing a plurality of server processes
US20030074467A1 (en) * 2001-10-11 2003-04-17 Oblak Sasha Peter Load balancing system and method for data communication network
US9038035B2 (en) 2001-11-20 2015-05-19 Cisco Systems Israel, Inc. Apparatus, method, and software for analyzing network traffic in a service aware network
US20060195556A1 (en) * 2001-11-20 2006-08-31 P-Cube Ltd. Apparatus, method, and software for analyzing network traffic in a service aware network
US7844688B2 (en) 2001-11-20 2010-11-30 P-Cube Ltd. Apparatus, method, and software for analyzing network traffic in a service aware network
US20030126234A1 (en) * 2001-11-20 2003-07-03 P-Cube Ltd. Apparatus, method, and software for analyzing network traffic in a service aware network
US20100333077A1 (en) * 2001-11-20 2010-12-30 Yuval Shachar Apparatus, Method, and Software for Analyzing Network Traffic in a Service Aware Network
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US8412838B1 (en) 2002-02-11 2013-04-02 Extreme Networks Method of and system for analyzing the content of resource requests
US7298746B1 (en) 2002-02-11 2007-11-20 Extreme Networks Method and system for reassembling and parsing packets in a network environment
US7321926B1 (en) 2002-02-11 2008-01-22 Extreme Networks Method of and system for allocating resources to resource requests
US7814204B1 (en) 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
US7447777B1 (en) * 2002-02-11 2008-11-04 Extreme Networks Switching system
US8560693B1 (en) 2002-02-11 2013-10-15 Extreme Networks, Inc. Method of and system for allocating resources to resource requests based on application of persistence policies
US7953885B1 (en) * 2003-04-18 2011-05-31 Cisco Technology, Inc. Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause
US20050199292A1 (en) * 2004-03-10 2005-09-15 Stedman David W. Fluid device actuator with manual override
US20080279196A1 (en) * 2004-04-06 2008-11-13 Robert Friskney Differential Forwarding in Address-Based Carrier Networks
US9356862B2 (en) 2004-04-06 2016-05-31 Rpx Clearinghouse Llc Differential forwarding in address-based carrier networks
US8976793B2 (en) 2004-04-06 2015-03-10 Rockstar Consortium Us Lp Differential forwarding in address-based carrier networks
US8923292B2 (en) 2004-04-06 2014-12-30 Rockstar Consortium Us Lp Differential forwarding in address-based carrier networks
US9118590B2 (en) 2004-07-02 2015-08-25 Rpx Clearinghouse Llc VLAN support of differentiated services
US9197857B2 (en) 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
US20090217318A1 (en) * 2004-09-24 2009-08-27 Cisco Technology, Inc. Ip-based stream splicing with content-specific splice points
WO2006054032A1 (en) * 2004-11-22 2006-05-26 France Telecom Method and system for measuring use of an application
FR2878346A1 (en) * 2004-11-22 2006-05-26 France Telecom METHOD AND SYSTEM FOR MEASURING THE USE OF AN APPLICATION
US20070160073A1 (en) * 2006-01-10 2007-07-12 Kunihiko Toumura Packet communications unit
US8149705B2 (en) * 2006-01-10 2012-04-03 Alaxala Networks Corporation Packet communications unit
US20160219131A1 (en) * 2007-04-11 2016-07-28 Palo Alto Networks, Inc. L2/l3 multi-mode switch including policy processing
US9800697B2 (en) * 2007-04-11 2017-10-24 Palo Alto Networks, Inc. L2/L3 multi-mode switch including policy processing
US7936695B2 (en) 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US8867385B2 (en) 2007-05-14 2014-10-21 Cisco Technology, Inc. Tunneling reports for real-time Internet Protocol media streams
US8023419B2 (en) 2007-05-14 2011-09-20 Cisco Technology, Inc. Remote monitoring of real-time internet protocol media streams
US8301789B2 (en) 2007-06-18 2012-10-30 Emc Corporation Techniques for port hopping
US7835406B2 (en) 2007-06-18 2010-11-16 Cisco Technology, Inc. Surrogate stream for monitoring realtime media
US7817546B2 (en) 2007-07-06 2010-10-19 Cisco Technology, Inc. Quasi RTP metrics for non-RTP media flows
US7996520B2 (en) 2007-09-19 2011-08-09 Cisco Technology, Inc. Behavioral classification of communication sessions using active session initiation
US20090119722A1 (en) * 2007-11-01 2009-05-07 Versteeg William C Locating points of interest using references to media frames within a packet flow
US9762640B2 (en) 2007-11-01 2017-09-12 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US8966551B2 (en) 2007-11-01 2015-02-24 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US8301982B2 (en) 2009-11-18 2012-10-30 Cisco Technology, Inc. RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows
US20110119546A1 (en) * 2009-11-18 2011-05-19 Cisco Technology, Inc. Rtp-based loss recovery and quality monitoring for non-ip and raw-ip mpeg transport flows
US8819714B2 (en) 2010-05-19 2014-08-26 Cisco Technology, Inc. Ratings and quality measurements for digital broadcast viewers
US9148360B2 (en) * 2010-11-01 2015-09-29 Hewlett-Packard Development Company, L.P. Managing MAC moves with secure port groups
US20130182722A1 (en) * 2010-11-01 2013-07-18 Deepak Mysore Vishveswaraiah Managing mac moves with secure port groups
US9001667B1 (en) 2011-03-31 2015-04-07 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US10785093B2 (en) 2011-03-31 2020-09-22 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US11575559B1 (en) 2011-03-31 2023-02-07 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US8661295B1 (en) * 2011-03-31 2014-02-25 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US9385917B1 (en) 2011-03-31 2016-07-05 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US20130198411A1 (en) * 2012-01-27 2013-08-01 Electronics And Telecommunications Research Institute Packet processing apparatus and method for load balancing of multi-layered protocols
US9104543B1 (en) 2012-04-06 2015-08-11 Amazon Technologies, Inc. Determining locations of network failures
US8937870B1 (en) 2012-09-11 2015-01-20 Amazon Technologies, Inc. Network link monitoring and testing
US9712290B2 (en) 2012-09-11 2017-07-18 Amazon Technologies, Inc. Network link monitoring and testing
US10103851B2 (en) 2012-09-11 2018-10-16 Amazon Technologies, Inc. Network link monitoring and testing
US9210038B1 (en) 2013-02-11 2015-12-08 Amazon Technologies, Inc. Determining locations of network failures
US9197495B1 (en) 2013-02-11 2015-11-24 Amazon Technologies, Inc. Determining locations of network failures
US20150072236A1 (en) * 2013-04-19 2015-03-12 CellMotive Co. Ltd. Metal Foam for Electrode of Secondary Lithium Battery, Preparing Method Thereof, and Secondary Lithium Battery Including the Metal Foam
US9742638B1 (en) 2013-08-05 2017-08-22 Amazon Technologies, Inc. Determining impact of network failures
US20160006740A1 (en) * 2014-07-03 2016-01-07 Electronics And Telecommunications Research Institute Method and system for extracting access control list
US9894074B2 (en) * 2014-07-03 2018-02-13 Electronics And Telecommunications Research Institute Method and system for extracting access control list
US20160260968A1 (en) * 2015-03-03 2016-09-08 United States Government, As Represented By The Secretary Of The Army "B" AND "O" SITE DOPED AB2O4 SPINEL CATHODE MATERIAL, METHOD OF PREPARING THE SAME, AND RECHARGEABLE LITHIUM AND Li-ION ELECTROCHEMICAL SYSTEMS CONTAINING THE SAME
US10750387B2 (en) 2015-03-23 2020-08-18 Extreme Networks, Inc. Configuration of rules in a network visibility system
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system
CN104809158A (en) * 2015-03-26 2015-07-29 小米科技有限责任公司 Network content filter method and device
US10911353B2 (en) * 2015-06-17 2021-02-02 Extreme Networks, Inc. Architecture for a network visibility system
US20160373351A1 (en) * 2015-06-17 2016-12-22 Brocade Communications Systems, Inc. Architecture for a network visibility system
US20170092964A1 (en) * 2015-09-28 2017-03-30 General Electric Company Fuel cell module including heat exchanger and method of operating such module
US20180362727A1 (en) * 2015-11-11 2018-12-20 3M Innovative Properties Company Conductive fluoropolymer compositions
US10627795B2 (en) 2016-05-09 2020-04-21 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10528018B2 (en) 2016-05-09 2020-01-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10558187B2 (en) 2016-05-09 2020-02-11 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10551811B2 (en) 2016-05-09 2020-02-04 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10739743B2 (en) 2016-05-09 2020-08-11 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10545472B2 (en) * 2016-05-09 2020-01-28 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial Internet of Things
US10545473B2 (en) 2016-05-09 2020-01-28 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10775757B2 (en) 2016-05-09 2020-09-15 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10775758B2 (en) 2016-05-09 2020-09-15 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10539940B2 (en) 2016-05-09 2020-01-21 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10877449B2 (en) 2016-05-09 2020-12-29 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10551812B2 (en) 2016-05-09 2020-02-04 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11067959B2 (en) 2016-05-09 2021-07-20 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11106188B2 (en) 2016-05-09 2021-08-31 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11126153B2 (en) 2016-05-09 2021-09-21 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11144025B2 (en) 2016-05-09 2021-10-12 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11150621B2 (en) 2016-05-09 2021-10-19 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11163283B2 (en) 2016-05-09 2021-11-02 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11163282B2 (en) 2016-05-09 2021-11-02 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11169497B2 (en) 2016-05-09 2021-11-09 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11175642B2 (en) 2016-05-09 2021-11-16 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11327455B2 (en) 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial Internet of Things
US11340573B2 (en) 2016-05-09 2022-05-24 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US20190072928A1 (en) * 2016-05-09 2019-03-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things

Also Published As

Publication number Publication date
EP1158726A3 (en) 2004-05-12
US20010046229A1 (en) 2001-11-29
EP1158724A2 (en) 2001-11-28
EP1158727A3 (en) 2004-05-19
EP1158730A2 (en) 2001-11-28
EP1158726A2 (en) 2001-11-28
JP2002077269A (en) 2002-03-15
US20060251069A1 (en) 2006-11-09
JP2002044150A (en) 2002-02-08
US20020085560A1 (en) 2002-07-04
EP1158728A2 (en) 2001-11-28
JP2002064563A (en) 2002-02-28
EP1158724A3 (en) 2004-06-23
US7075926B2 (en) 2006-07-11
US7693149B2 (en) 2010-04-06
JP2002051081A (en) 2002-02-15
EP1158730A3 (en) 2004-06-30
EP1158727A2 (en) 2001-11-28
AU4620501A (en) 2001-11-29
CN1278524C (en) 2006-10-04
CN1359217A (en) 2002-07-17
EP1158728A3 (en) 2004-05-19
JP2002051080A (en) 2002-02-15
US20010053150A1 (en) 2001-12-20

Similar Documents

Publication Publication Date Title
US20020016856A1 (en) Dynamic application port service provisioning for packet switch
US8942242B2 (en) Method and apparatus for self-learning of VPNS from combinations of unidirectional tunnels in MPLS/VPN networks
US8537818B1 (en) Packet structure for mirrored traffic flow
US6141755A (en) Firewall security apparatus for high-speed circuit switched networks
US7730521B1 (en) Authentication device initiated lawful intercept of network traffic
US6614795B1 (en) Network node apparatus and connection set-up method for setting up cut-through connection
US7729352B1 (en) System and method for handling flows in a network
US10362132B2 (en) System and method for diverting established communication sessions on the basis of content
US7031297B1 (en) Policy enforcement switching
US20030141093A1 (en) System and method for routing a media stream
US7720073B2 (en) System and/or method for bidding
CA2632579A1 (en) Electronic message delivery system including a network device
US6421734B1 (en) System for managing dynamic processing resources in a network
US8014389B2 (en) Bidding network
MXPA03004670A (en) Network access system including a programmable access device having distributed service control.
US6615358B1 (en) Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network
US10432519B2 (en) Packet redirecting router
US8194701B2 (en) System and/or method for downstream bidding
US20060268905A1 (en) Method for controlling QoS and QoS policy converter
US7643496B1 (en) Application specified steering policy implementation
KR100891208B1 (en) A method of processing a packet data flow in a packet data network, an apparatus thereof, a system thereof and a computer readable recording medium having a computer program for performing the method
US7929443B1 (en) Session based resource allocation in a core or edge networking device
JP2002368787A (en) Explicit path designation relay device
Headquarters WAN and Application Optimization Solution Guide Cisco Validated Design

Legal Events

Date Code Title Description
AS Assignment

Owner name: ALCATEL INTERNETWORKING (PE), INC., WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TALLEGAS, MATHIEU;CLEAR, DAVID;MICHELS, TIMOTHY S.;AND OTHERS;REEL/FRAME:012154/0948;SIGNING DATES FROM 20010802 TO 20010824

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION