US20080291923A1 - Application routing in a distributed compute environment - Google Patents

Application routing in a distributed compute environment Download PDF

Info

Publication number
US20080291923A1
US20080291923A1 US11/807,305 US80730507A US2008291923A1 US 20080291923 A1 US20080291923 A1 US 20080291923A1 US 80730507 A US80730507 A US 80730507A US 2008291923 A1 US2008291923 A1 US 2008291923A1
Authority
US
United States
Prior art keywords
classification
routers
subscriber traffic
traffic
subscriber
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.)
Granted
Application number
US11/807,305
Other versions
US7773510B2 (en
Inventor
Jonathan Back
Siegfried J. Luft
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.)
Coriant Communications Canada Ltd
Original Assignee
Zeugma Systems 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
Assigned to ZEUGMA SYSTEMS, INC. reassignment ZEUGMA SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LUFT, SIEGFRIED J., BACK, JONATHAN
Priority to US11/807,305 priority Critical patent/US7773510B2/en
Application filed by Zeugma Systems Inc filed Critical Zeugma Systems Inc
Assigned to VELOCITY FINANCIAL GROUP INC., ITS SUCCESSORS AND ASSIGNS reassignment VELOCITY FINANCIAL GROUP INC., ITS SUCCESSORS AND ASSIGNS SECURITY AGREEMENT Assignors: ZEUGMA SYSTEMS, INC.
Priority to PCT/CA2008/000965 priority patent/WO2008144886A1/en
Priority to EP08757111A priority patent/EP2151110A4/en
Priority to CA002687355A priority patent/CA2687355A1/en
Publication of US20080291923A1 publication Critical patent/US20080291923A1/en
Publication of US7773510B2 publication Critical patent/US7773510B2/en
Application granted granted Critical
Assigned to ZEUGMA SYSTEMS INC. reassignment ZEUGMA SYSTEMS INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: VELOCITY FINANCIAL GROUP, INC., ITS SUCCESSORS AND ASSIGNS
Assigned to TELLABS COMMUNICATIONS CANADA, LTD. reassignment TELLABS COMMUNICATIONS CANADA, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZEUGMA SYSTEMS INC.
Assigned to TELLABS COMMUNICATIONS CANADA, LTD. reassignment TELLABS COMMUNICATIONS CANADA, LTD. CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S STREET ADDRESS PREVIOUSLY RECORDED ON REEL 025745 FRAME 0495. ASSIGNOR(S) HEREBY CONFIRMS THE DELETE "BROOKFILED PLACE" AND INSERT --BROOKFIELD PLACE--.. Assignors: ZEUGMA SYSTEMS INC.
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Definitions

  • This disclosure relates generally to packet routing in a distributed environment, and in particular but not exclusively, relates to routing packets to a plurality of applications in a distributed compute environment of a network service node.
  • the Internet is becoming a fundamental tool used in our personal and professional lives on a daily basis. As such, the bandwidth demands placed on network elements that underpin the Internet are rapidly increasing. In order to feed the seemingly insatiable hunger for bandwidth, parallel processing techniques have been developed to scale compute power in a cost effective manner.
  • FIG. 1 illustrates a modern metro area network 100 for providing network services to end users or subscribers.
  • Metro area network 100 is composed of two types of networks: a core network 102 and one of more access networks 106 .
  • Core network 102 communicates data traffic from one or more service providers 104 A- 104 N in order to provide services to one or more subscribers 108 A- 108 M.
  • Services supported by the core network 102 include, but are not limited to, (1) a branded service, such as a Voice over Internet Protocol (VoIP), from a branded service provider; (2) a licensed service, such as Video on Demand (VoD) or Internet Protocol Television (IPTV), through a licensed service provider and (3) traditional Internet access through an Internet Service Provider (ISP).
  • VoIP Voice over Internet Protocol
  • IPTV Internet Protocol Television
  • Core network 102 may support a variety of protocols (Synchronous Optical Networking (SONET), Internet Protocol (IP), Packet over SONET (POS), Dense Wave Division Multiplexing (DWDM), Border Gateway Protocol (BGP), etc.) using various types of equipment (core routers, SONET add-drop multiplexers, DWDM equipment, etc.). Furthermore, core network 102 communicates data traffic from the service providers 104 A- 104 N to access network(s) 106 across link(s) 112 . In general, link(s) 112 may be a single optical, copper or wireless link or may comprise several such optical, copper or wireless link(s).
  • SONET Synchronous Optical Networking
  • IP Internet Protocol
  • POS Packet over SONET
  • DWDM Dense Wave Division Multiplexing
  • BGP Border Gateway Protocol
  • core network 102 communicates data traffic from the service providers 104 A- 104 N to access network(s) 106 across link(s) 112 .
  • link(s) 112
  • the access network(s) 106 complements core network 102 by aggregating the data traffic from the subscribers 108 A- 108 M.
  • Access network(s) 106 may support data traffic to and from a variety of types of subscribers 108 A- 108 M, (e.g. residential, corporate, mobile, wireless, etc.). Although access network(s) 106 may not comprise of each of the types of subscriber (residential, corporate, mobile, etc), access(s) network 106 will comprise at least one subscriber. Typically, access network(s) 106 supports thousands of subscribers 108 A- 108 M.
  • Access networks 106 may support a variety of protocols (e.g., IP, Asynchronous Transfer Mode (ATM), Frame Relay, Ethernet, Digital Subscriber Line (DSL), Point-to-Point Protocol (PPP), PPP over Ethernet (PPPoE), etc.) using various types of equipment (Edge routers, Broadband Remote Access Servers (BRAS), Digital Subscriber Line Access Multiplexers (DSLAM), Switches, etc).
  • Access network(s) 106 uses a subscriber policy manager(s) 110 to set policies for individual ones and/or groups of subscribers. Policies stored in a subscriber policy manager(s) 110 allow subscribers access to different ones of the service providers 104 A-N. Examples of subscriber policies are bandwidth limitations, traffic flow characteristics, amount of data, allowable services, etc.
  • a data packet (also known as a “packet”) is a block of user data with necessary address and administration information attached, usually in a packet header and/or footer, which allows the data network to deliver the data packet to the correct destination.
  • Examples of data packets include, but are not limited to, IP packets, ATM cells, Ethernet frames, SONET frames and Frame Relay packets.
  • data packets having similar characteristics are referred to as a flow.
  • FIG. 2 represents the Open Systems Interconnect (OSI) model of a layered protocol stack 200 for transmitting data packets.
  • OSI Open Systems Interconnect
  • the physical layer (layer 1) 202 is used for the physical signaling.
  • the next layer, data link layer (layer 2) 204 enables transferring of data between network entities.
  • the network layer (layer 3) 206 contains information for transferring variable length data packet between one or more networks. For example, IP addresses are contained in the network layer 206 , which allows network devices (also commonly referred to a network elements) to route the data packet.
  • Layer 4 the transport layer 208 , provides transparent data transfer between end users.
  • the session layer (layer 5) 210 provides the mechanism for managing the dialogue between end-user applications.
  • the presentation layer (layer 6) 212 provides independence from difference in data representation (e.g. encryption, data encoding, etc.).
  • the final layer is the application layer (layer 7) 212 , which contains the actual data used by the application sending or receiving the packet. While most protocol stacks do not exactly follow the OSI model, it is commonly used to describe networks.
  • FIG. 1 (Prior Art) illustrates a typical metro area network configuration.
  • FIG. 2 (Prior Art) is a block diagram illustrating layers of the Open Systems Interconnect protocol stack.
  • FIG. 3 is a block diagram illustrating a demonstrative metro area network configuration including a network service node to provide application and subscriber aware packet processing, in accordance with an embodiment of the invention
  • FIG. 4 is a schematic diagram illustrating one configuration of a network service node implemented using an Advanced Telecommunication and Computing Architecture chassis with full-mesh backplane connectivity, in accordance with an embodiment of the invention.
  • FIG. 5 is a functional block diagram illustrating traffic and compute blade architecture of a network service node for supporting application and subscriber aware packet processing, in accordance with an embodiment of the invention.
  • FIG. 7 is a functional block diagram illustrating distributed components for implementing a multi-level classification scheme, in accordance with an embodiment of the invention.
  • FIG. 8 is a functional block diagram illustrating subscriber based routing and application based routing of subscriber traffic in a network service node, in accordance with an embodiment of the invention.
  • FIG. 9 is a flow chart illustrating a process for routing subscriber traffic to a plurality of applications in a distributed environment, in accordance with an embodiment of the invention.
  • FIG. 10 is block diagram illustrating a process of rule flattening to prevent erroneous rule masking by classification rules installed later-in-time, in accordance with an embodiment of the invention.
  • Embodiments of a system and method for routing packets to applications executing in a distributed environment of a network service node are described herein.
  • numerous specific details are set forth to provide a thorough understanding of the embodiments.
  • One skilled in the relevant art will recognize, however, that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, etc.
  • well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
  • a “flow” or “packet flow” is defined herein as a sequence of related packets having common characteristics. For example, a sequence of packets moving through a network node having a common N-tuple signature may be defined as a single flow.
  • the N-tuple signature is a 6-tuple signature including the following packet fields: destination address, source address, destination port, source port, protocol, and differentiated service code point.
  • a “classification rule” is defined herein as the combination of classification criteria with an associated action or actions to be performed on the classified packet flow.
  • the classification criteria may be an exact match N-tuple signature or various wildcard signatures (e.g., range match, prefix match, non-contiguous bit masking match, ternary “don't care” match, etc.).
  • the action or actions may be a forwarding action, an interception action, a bifurcation (e.g., replication) action, a termination action, some combination thereof, or various other processing actions.
  • FIG. 3 is a block diagram illustrating a demonstrative metro area network 300 including a network service node 305 to provide application and subscriber aware packet processing, in accordance with an embodiment of the invention.
  • Metro area network 300 is similar to metro area network 100 with the exception of network service node 305 inserted at the junction between access network 106 and core network 102 .
  • network service node 305 is an application and subscriber aware network element capable of implementing application specific policies on a per subscriber basis at line rates.
  • network service node 305 can perform quality of service (“QoS”) tasks (e.g., traffic shaping, flow control, admission control, etc.) on a per subscriber, per application basis, while monitoring quality of experience (“QoE”) on a per session basis.
  • QoS quality of service
  • QoE quality of experience
  • network service node 305 is capable of deep packet inspection all the way to the session and application layers of the OSI model. To provide this granularity of service to hundreds or thousands of unique subscribers requires leveraging parallel processing advantages of a distributed compute environment.
  • FIG. 4 is a schematic diagram illustrating a network service node 400 implemented using an Advanced Telecommunication and Computing Architecture (“ATCA”) chassis with full-mesh backplane connectivity, in accordance with an embodiment of the invention.
  • Network service node 400 is one possible implementation of network service node 305 .
  • an ATCA chassis 405 is fully populated with 14 ATCA blades—ten traffic blades (“TBs”) 410 and four compute blades (“CBs”) 415 —each installed in a respective chassis slot.
  • chassis 405 may be populated with less blades or may include other types or combinations of TBs 410 and CBs 415 .
  • chassis 405 may include slots to accept more or less total blades in other configurations (e.g., horizontal slots).
  • interconnection mesh 420 each blade is communicatively coupled with every other blade under the control of fabric switching operations performed by each blade's fabric switch.
  • mesh interconnect 420 provides a 10 Gbps connection between each pair of blades, with an aggregate bandwidth of 280 Gbps. It is noted that the ATCA environment depicted herein is merely illustrative of one modular board environment in which the principles and teachings of the embodiments of the invention described herein may be applied. In general, similar configurations may be deployed for other standardized and proprietary board environments, including but not limited to blade server environments.
  • network service node 400 is implemented using a distributed architecture, wherein various processor and memory resources are distributed across multiple blades. To scale a system, one simply adds another blade. The system is further enabled to dynamically allocate processor tasks, and to automatically perform failover operations in response to a blade failure or the like. Furthermore, under an ATCA implementation, blades may be hot-swapped without taking the system down, thus supporting dynamic scaling.
  • FIG. 5 is a functional block diagram illustrating demonstrative hardware architecture of TBs 410 and CBs 415 of network service node 400 , in accordance with an embodiment of the invention.
  • the illustrated embodiment of network service node 400 uses a distinct architecture for TBs 410 versus CBs 415 , while at least one of CBs 415 (e.g., compute blade 415 A) is provisioned to perform operations, administration, maintenance and provisioning (“OAMP”) functionality (the OAMP CB).
  • OAMP operations, administration, maintenance and provisioning
  • CBs 415 each employ four compute node instances (“CNIs”) 505 .
  • CNIs 505 may be implemented using separate processors or processor chips employing multiple processor cores.
  • each of CNI 505 is implemented via an associated symmetric multi-core processor.
  • Each CNI 505 is enabled to communicate with other CNIs via an appropriate interface, such as for example, a “Hyper Transport” (HT) interface.
  • HT Hyper Transport
  • Other native (standard or proprietary) interfaces between CNIs 505 may also be employed.
  • each CNI 505 is allocated various memory resources, including respective RAM. Under various implementations, each CNI 505 may also be allocated an external cache, or may provide one or more levels of cache on-chip.
  • Each CB 415 includes an interface with mesh interconnect 420 . In the illustrated embodiment of FIG. 5 , this is facilitated by a backplane fabric switch 510 , while a field programmable gate array (“FPGA”) 515 containing appropriate programmed logic is used as an intermediary component to enable each of CNIs 505 to access backplane fabric switch 510 using native interfaces.
  • FPGA field programmable gate array
  • the interface between each of CNIs 505 and the FPGA 515 comprises a system packet interface (“SPI”)
  • the interface between FPGA 515 and backplane fabric switch 510 comprises a Broadcom HiGigTM interface. It is noted that these interfaces are mere examples, and that other interfaces may be employed.
  • the CNI 505 associated with the OAMP function (depicted in FIG. 5 as CNI # 1 of CB 415 A, hereinafter referred to as the OAMP CNI) is provided with a local non-volatile store (e.g., flash memory).
  • the non-volatile store is used to store persistent data used for the OAMP function, such as provisioning information and logs.
  • each CNI 505 is provided with local RAM and a local cache.
  • FIG. 5 further illustrates a demonstrative architecture for TBs 410 .
  • TBs 410 include a PHY block 520 , an Ethernet MAC block 525 , a network processor unit (NPU) 530 , a host processor 535 , a serializer/deserializer (“SERDES”) interface 540 , an FPGA 545 , a backplane fabric switch 550 , RAM 555 and 557 and cache 560 .
  • TBs 410 further include one or more I/O ports 565 , which are operatively coupled to PHY block 520 .
  • the number of I/O ports 565 may vary from 1 to N ports. For example, under one traffic blade type a 10 ⁇ 1 Gigabit Ethernet (GigE) port configuration is provided, while for another type a 1 ⁇ 10 GigE port configuration is provided. Other port number and speed combinations may also be employed.
  • GigE 10 ⁇ 1 Gigabit Ethernet
  • One of the operations performed by TBs 410 is packet identification/classification.
  • a multi-level classification hierarchy scheme is implemented for this purpose.
  • a first level of classification such as a 5 or 6 tuple signature classification scheme, is performed by NPU 530 .
  • Additional classification operations in the classification hierarchy may be required to fully classify a packet (e.g., identify an application flow type).
  • these higher-level classification operations are performed by CBc 415 via interception or bifurcation of packet flows at TBs 410 ; however, some higher-level classification may be performed by the TB's host processor 535 .
  • Classification rules used to classify packet flows may be distributed about network service node 305 via a distributed database 570 . In one embodiment, one or more instances of distributed database 570 reside on each TB 410 and each CB 415 .
  • NPUs are designed for performing particular tasks in a very efficient manner. These tasks include packet forwarding and packet classification, among other tasks related to packet processing.
  • NPU 530 includes various interfaces for communicating with other board components. These include an Ethernet MAC interface, a memory controller (not shown) to access RAM 557 , Ethernet and PCI interfaces to communicate with host processor 535 , and an XGMII interface.
  • SERDES interface 540 provides the interface between XGMII interface signals and HiGig signals, thus enabling NPU 530 to communicate with backplane fabric switch 550 .
  • NPU 530 may also provide additional interfaces to interface with other components (not shown).
  • host processor 535 includes various interfaces for communicating with other board components. These include the aforementioned Ethernet and PCI interfaces to communicate with NPU 530 , a memory controller (on-chip or off-chip—not shown) to access RAM 555 , and a pair of SPI interfaces. FPGA 545 is employed as an interface between the SPI interface signals and the HiGig interface signals.
  • Host processor 535 is employed for various purposes, including lower-level (in the hierarchy) packet classification, gathering and correlation of flow statistics, and application of traffic profiles. Host processor 535 may also be employed for other purposes. In general, host processor 535 will comprise a general-purpose processor or the like, and may include one or more compute cores. In one embodiment, host processor 535 is responsible for initializing and configuring NPU 530 (e.g., via network booting).
  • FIG. 6 is a functional block diagram illustrating a multi-level packet classification scheme executed within network service node 305 , in accordance with an embodiment of the invention.
  • the multi-level classification scheme separates packet flow classification in the data plane, where admission control and packet forwarding is executed, from the packet classification in the control plane, where deep packet inspection (e.g., packet inspection at layers 5 to 7 of the OSI model), application processing (layer 7 processing of application data within a packet flow), control processing, and other supervisory/managerial processing is executed.
  • packets arrive and depart service node 305 along trunk line 605 from/to service providers 104 and arrive and depart service node 305 along tributary lines 610 from/to subscribers 108 .
  • access control is performed by comparing Internet protocol (“IP”) header fields, Ethernet header fields, or TCP/UDP header fields against an access control list (“ACL”) to determine whether the packets have permission to enter service node 305 .
  • Access control may be performed by a hardware abstraction layer (“HAL”) of TBs 410 . If access is granted, then network service node 305 will proceed to classify each arriving packet.
  • HAL hardware abstraction layer
  • the first level of classification occurs in the data plane and is referred to as flow classification.
  • Flow classification includes matching upon N fields (or N-tuples) of a packet to determine which classification rule to apply and then executing an action associated with the matched classification rule.
  • TBs 410 perform flow classification in the data plane as a prerequisite to packet forwarding and/or determining whether extended classification is necessary by CBs 415 in the control plane.
  • flow classification involves 6-tuple classification performed on the TCP/IP packet headers (i.e., source address, destination address, source port, destination port, protocol field, and differentiated service code point).
  • TBs 410 may simply forward the traffic, terminate the traffic, bifurcate the traffic, intercept the traffic, notify the control plane of the flow, or otherwise. If a TB 410 determines that a bifurcation classification criteria (bifurcation filter 615 A) has been matched, the TB 410 will generate a copy of the packet that is sent to one of CBs 415 for extended classification, and forward the original packet towards its destination. If a TB 410 determines that an interception classification criteria (interception filter 615 B) has been matched, the TB 410 will divert the packet to one of CBs 415 for extended classification and application processing prior to forwarding the packet to its destination.
  • a bifurcation classification criteria bifurcation filter 615 A
  • interception filter 615 B interception filter 615
  • CBs 415 perform extended classification via deep packet inspection (“DPI”) to further identify application level classification rules to apply to the received packet flows.
  • Extended classification may include inspecting the bifurcated or intercepted packets at the application level to determine to which application 620 a packet flow should be routed.
  • applications 620 may perform additional application classification on the packet flows to determine the specific application processing that should be performed on a packet flow.
  • Application classification enables applications 620 to apply application specific rules to the traffic, on a per subscriber basis.
  • application # 1 may be a VoIP QoE application for monitoring the quality of experience of a VoIP service
  • application # 2 may be a VoD QoE application for monitoring the quality of experience of a VoD service
  • application # 3 may be an IP filtering application providing uniform resource locator (“URL”) filtering to block undesirable traffic, an email filter, a parental control filter on an IPTV service, or otherwise.
  • network applications 620 may intercommunicate to exchange information about flows. It should be appreciated that CBs 415 may execute any number of network applications 620 for implementing a variety of networking functions.
  • FIG. 7 is a functional block diagram illustrating components of a distributed compute environment 700 for implementing a multi-level classification hierarchy 702 , in accordance with an embodiment of the invention.
  • the illustrated of distributed compute environment 700 includes CNIs 705 , TBs 710 , and an OAMP CNI 715 .
  • CNIs 705 may be implemented by CNIs 505
  • TBs 710 may be implemented by TBs 410
  • OAMP CNI 715 may be implemented by CNI( 1 ) 505 of CB 415 A.
  • the illustrated embodiment of CNIs 705 each include an application router 720 , network applications 725 , and an instance 730 of a runtime database (“RTDB”) executing therein.
  • the illustrated embodiment of TBs 710 each include an access control unit 735 , a flow router 740 , a classifier 745 , and an instance 750 of RTDB executing therein.
  • the illustrated embodiment of OAMP CNI 715 includes network applications 760 , a user interface 765 , a configuration manager 770 , a classification engine 775 , and a provisioning database 780 .
  • FIG. 7 illustrates operational components that reside on each CNI 705 , TB 710 , and OAMP CNI 715 .
  • network service node 305 may include a plurality of CNIs 705 with each CNI including its own instances of the operational components illustrated in CNI 705 .
  • network service node 305 may include a plurality of TBs 710 and therefore many instances of each operational component illustrated executing on TB 710 .
  • network service node 305 may include one or more backups of OAMP CNI 715 and therefore include standby redundancies of the operational components illustrated within OAMP CNI 715 .
  • access control unit 735 executes access control to permit or deny packet flows into network service node 305 .
  • Flow router 740 and classifier 745 perform flow classification on permitted packets to classify the permitted packets into flows of related packets (i.e., packet flows). Although classifier 745 and flow router 740 are illustrated as distinct, in one embodiment, classifier 745 is a sub-element of flow router 740 .
  • a classification rule is the combination of classification criteria (e.g., N-tuple signature) and one or more actions to be executed on a packet flow matching the associated classification criteria.
  • Classifier 745 represents a classification structure that may be implemented in hardware (e.g., ternary content addressable memory (“TCAM”)), software (e.g., list, tree, trie, etc.), or some combination thereof. Classifier 745 performs the matching function to determine which classification criteria a particular packet matches, while flow router 740 executes the associated function on the particular packet (e.g., bifurcate, intercept, terminate, notify, forward, etc.).
  • TCAM ternary content addressable memory
  • classifier 745 operates on a first “hit” policy. Classifier 745 will search for matching classification criteria, until a first match is found and search no further. Accordingly, classification criteria that are installed into classifier 745 with higher priority will mask lower priority classification criteria having overlapping criteria. In one embodiment, classifier 745 maintains two separate groups or lists of classification criteria—inbound classification criteria 747 and outbound classification criteria 749 . Inbound classification criteria 747 is used to match against packets inbound to subscribers 108 , while outbound classification criteria 749 is used to match against packets outbound from subscribers 108 .
  • flow router 740 When flow router 740 determines that a particular packet is to be routed to the control plane for extended classification (e.g., intercepted or bifurcated), flow router 740 will provide the packet to an appropriate one of application routers 720 along with classification metadata.
  • the classification metadata may include an indication of the N-tuple match determined by classifier 745 (e.g., a matched rule identifier) so that application router 720 need not re-execute the N-tuple matching function.
  • flow routers 740 executing on the individual TBs 710 perform a subscriber based classification scheme.
  • all subscriber traffic associated with the same subscriber is routed to the same application router 720 executing on the same CNI 705 .
  • outbound traffic e.g., traffic arriving on tributary lines 610
  • inbound traffic e.g., traffic arriving on trunk lines 605
  • inbound and outbound traffic associated with a single subscriber 108 may be routed to the same CNI 705 or to two independent CNIs 705 —one designated for inbound traffic and one designated for outbound traffic.
  • a subscriber based routing scheme enables applications routers 720 and/or network applications 725 to retain stateful information regarding a particular subscriber during the pendancy of a given session or even across multiple sessions.
  • Application router 720 performs extended classification over and above the flow classification performed by flow router 740 to determine to which of network applications 725 a packet that has been elevated to the control plane should be routed.
  • Extended classification may include DPI to inspect packet data at layers 5 through 7 of the OSI model. In other words, application router 720 may not merely inspect header data, but also payload data. Extended classification may require reconstruction IP fragments or TCP segments prior to performing the DPI.
  • the payload data may carry various signatures of application protocols or application data upon which extended classification criteria is matched against. For example, application router 720 may DPI search for session initiation protocol (“SIP”) packets identifiable with various applications running on subscribers 108 . The elevated packets may then be routed to the appropriate network application(s) 725 for processing.
  • SIP session initiation protocol
  • Application routers 720 will match elevated packets against a set of local rules 721 and global rules 723 while attempting to classify the packets.
  • Local rules 721 include those rules that are only locally applicable to subscriber traffic relevant to network applications 725 executing on the single CNI 705 .
  • Global rules 723 are more generally applicable to subscriber traffic that may be elevated to multiple different CNIs 705 .
  • global rules 723 may include various wildcard or multi-match classification criteria that could match subscriber traffic assigned to multiple different CNIs 705 .
  • application router 720 performs application routing to provide packets to the appropriate network applications 725 .
  • multiple network applications 725 need to inspect the same packet. Accordingly, routing packets within a single CNI 705 need not provide redundant copies of the packet to each network application 725 . Rather, application router 720 may simply store a packet in a memory location and provide pointers to the memory location to multiple network applications 725 .
  • network applications 725 may perform application classification on packets promoted to network applications 725 . Application classification may be performed to determine the specific action or function to perform on the packet.
  • network applications 725 are distributed applications having an instance executing on each CNI 705 , as well as, a managerial instance executing on OAMP CNI 715 (e.g., applications 760 ).
  • OAMP CNI 715 includes a user interface 765 (e.g., command line interface, graphical user interface, etc.) providing a portal for an IT technician to install new software, classification criteria, etc. onto network service node 305 .
  • Configuration manager 770 receives the new software updates or configuration settings, performs semantic checks, and stores the updates/configuration settings into provisioning database 780 .
  • Classification engine 775 operates as a centralized application router for creating, managing, and installing global rules 723 .
  • classification engine 775 performs a flattening operation on global rules 723 (discussed in detail below). This flattening operation compares new installed rules against existing global rules 723 to ensure the new rules do not mask any global rule 723 already installed.
  • Classification engine 775 may distribute global rules 723 as well as other rules directly to applications routers 720 via inter-process communication (“IPC”) or push them down to provisioning database 780 , which are then propagated throughout network service node 305 via the distributed instances of the runtime database.
  • configuration manager 770 may store rules into provisioning database 780 , then send the rules to applications 760 , which in turn may install rules into classification engine 775 via a remote procedure call (“RPC”).
  • RPC remote procedure call
  • FIG. 8 is a functional block diagram illustrating subscriber based routing and application based routing of subscriber traffic in a network service node 305 , in accordance with an embodiment of the invention.
  • each flow router 740 can route subscriber traffic to any of the application routers 720 .
  • Each CNI 705 includes a single application router 720 , which is responsible for routing the subscriber traffic to all network applications 725 executing on its CNI 705 .
  • Flow routers 740 perform subscriber based routing by routing all subscriber traffic outbound from the same subscriber 108 to the same application router 720 . Similarly, all subscriber traffic inbound to the same subscriber 108 is routed to the same application router 720 .
  • Inbound and outbound traffic associated with a single subscriber 108 may be routed to the same CNI 705 or to two independent CNIs 705 —one designated for inbound traffic and one designated for outbound traffic.
  • Application routers 720 perform application based routing by routing the subscriber traffic to the appropriate network applications 725 executing on its CNI 705 .
  • network applications 725 can provide differentiated services on a per subscriber, per network service basis.
  • network application # 1 may provide QoE monitoring functionality for supervising a VoD service
  • network application # 2 provides a QoE monitoring functionality for supervising a VoIP service.
  • subscribers 1 and 4 are assigned to CNI 705 A
  • subscribers 2 and 5 are assigned to CNI 705 B
  • subscribers 3 and 6 are assigned to CNI 705 C.
  • application routers 720 to deliver the subscriber traffic to the appropriate network application 725 .
  • the overall workload can be broken down into manageable sizes and distributed across CBs and CNIs in an efficient and effective manner.
  • a diversity of network applications 725 can be installed across CNIs 705 to support a variety of services. New and unexpected behavior can be added to network service node 305 by installing updates to existing network applications 725 or by installing entirely new network applications 725 .
  • These network applications 725 can dynamically install their own classification rules during runtime into their application routers 720 to identify subscriber traffic deemed relevant for higher level processing.
  • network service node 305 is capable of providing these differentiated services at line rates.
  • network service node 305 may support “promiscuous applications.”
  • Promiscuous applications are network applications that are capable of processing subscriber traffic associated with all subscribers 108 , irrelevant of which CNI 705 subscribers 108 have been assigned.
  • Promiscuous applications provide a mechanism to support centralized processing (e.g., collection of metrics or statistics) on all subscriber traffic entering/exiting network service node 305 .
  • At least two different variety of promiscuous applications may be supported within network service node 305 .
  • the first variety may be installed on their own CNI 705 and capable of installing classification rules directly into flow routers 740 .
  • Application routers 720 or classification engine 775 may perform rule flattening on the rules to identifying any overlapping classification criteria. If overlapping classification criteria is found to exist with previously installed classification rules, then flow routers 740 would need to support rule based fanout routing where subscriber traffic associated with a single subscriber may be routed to multiple application routers 720 (e.g., one copy to an application router 720 for routing to a standard network application 725 and one copy to an application router for routing to a promiscuous application).
  • the rule based fanout routing may be achieved may marking the classification rules with a flag indicating subscriber based routing, promiscuous based routing, or both. The flag may then be referenced to determine to which CNIs 705 a flow should be routed.
  • a second variety of promiscuous application may also be installed on their own CNI 705 , but are associated with promiscuous agents installed on each CNI 705 .
  • the promiscuous agents would then be responsible for collecting and forwarding data associated with each subscriber 108 assigned to the individual CNIs 705 to the centralized instance of the promiscuous application.
  • the promiscuous agents would be capable of installing classification rules into their associated application router 720 , which can be pushed down to flow routers 740 . Flow routers 740 could then continue to execute the less intensive subscriber based routing, while the promiscuous agents would be responsible for collecting and forwarding data in the data plane to the centralized instance of the promiscuous application.
  • FIG. 9 is a flow chart illustrating a process 900 for routing subscriber traffic to network applications 725 , in accordance with an embodiment of the invention.
  • the order in which some or all of the process blocks appear in process 900 should not be deemed limiting. Rather, one of ordinary skill in the art having the benefit of the present disclosure will understand that some of the process blocks may be executed in a variety of orders not illustrated.
  • one of network applications 725 installs a new classification rule into its application router 720 .
  • a new classification rule By installing a new classification rule into an application router 720 , the particular network application 725 is registering a new request for selected subscriber traffic to be elevated to the control plane.
  • the installed classification rule will include classification criteria identifying specifically which packets or packet flows the network application 725 desires and the action to be taken (e.g., bifurcate or intercept).
  • FIG. 10 illustrates a classification criteria universe 1000 which delineates the metes and bounds of all possible criteria that could be used to classify packet flows.
  • FIG. 10 also illustrates three installed classification rules R 1 , R 2 , and R 3 that delineate three corresponding classification criteria CC 1 , CC 2 , and CC 3 and have three corresponding actions A 1 , A 2 , and A 3 .
  • classification rules R 1 , R 2 , and R 3 are application routing rules installed into one of application routers 720 , then all packets arriving at the particular application router falling into the metes and bounds of CC 1 will be routed according to action(s) A 1 , falling into the metes and bounds of CC 2 will be routed according to action(s) A 2 , and falling into the metes and bounds of CC 3 will be routed according to action(s) A 3 .
  • R 3 was installed after to R 2 , which was installed after to R 1 . If the application router performed a first “hit” matching scheme that searches through a classification structure 1005 in descending order, then R 3 would partially mask R 1 and R 2 , as would R 2 partially mask R 1 . For example, all packets falling into the metes and bounds of CC 5 , would only be routed according to action(s) A 3 , even though the packet should be routed according to actions A 1 , A 2 , and A 3 . Similarly, all packets falling into the metes and bounds of CC 6 would also only be routed according to action(s) A 3 , when they should be routed according to actions A 1 and A 3 . In other words, classification rules installed later in-time by one network application could mask classification rules installed previous-in-time by other network applications, causing the other network applications to miss subscriber traffic.
  • rule flattening is a process executed by application routers 720 to ensure classification rules installed later-in-time do not mask earlier installed classification rules. It should be appreciated that this discussion is equally applicable to flow routers 740 , if flow routers 740 are permitted to perform rule flattening. Rule flattening prevents rule masking by identifying overlapping classification criteria and automatically generating new auto-rules specifically tailored for the overlapping classification criteria. Auto-rules having the greatest or deepest degree of overlapping classification criteria are given higher priority and inserted at the top of classification structure 1005 above other auto-rules will lesser overlap and above application installed rules.
  • auto-rule AR 2 having classification criteria CC 5 is placed at the top of classification structure 1005 .
  • AR 2 overlaps R 1 , R 2 , and R 3 , AR 2 is associated with actions A 1 , A 2 , and A 3 to ensure all requesting network applications 725 receive a copy of all packets falling into the mete and bounds of CC 5 .
  • auto-rule AR 1 is generated for overlapping classification criteria CC 4 and assigned actions A 1 and A 2 from overlapping installed rules R 1 and R 2
  • auto-rule AR 3 is generated for overlapping classification criteria CC 6 and assigned actions A 1 and A 3 from overlapping installed rules R 1 and R 3 .
  • the particular application router 720 push down the installed extended classification rule to the data plane by installing a flow classification rule into flow routers 740 .
  • flow routers 740 may also perform rule flattening.
  • access control unit 735 will either permit or deny the packet (decision block 930 ). If the packet is denied access to network service node 305 , it is discarded (process block 935 ). If the packet is granted access, then process 900 continues to a process block 940 .
  • the receiving flow router 740 classifies the packet into a flow with the aid of classifier 745 and takes appropriate action(s) (e.g., bifurcate, intercept, forward, drop, etc.) dependent upon the flow classification (process block 945 ).
  • the receiving application router 720 For those packets that are elevated to the control plane as a result of the flow classification, the receiving application router 720 performs extended classification on the elevated packet via DPI (process block 950 ). Dependent upon the result of the extended classification, the particular application router 720 will route (e.g., provide a pointer or other indication to the packet's memory location) the elevated packet to one or more network applications 725 executing on its CNI 705 .
  • the receiving network applications 725 may perform additional application classification on the elevated packets to determine the precise action to be taken.
  • Application classification may include DPI, string matching, or otherwise.
  • the DPI may include inspecting application data carried within the payload of the packet to generate subscriber specific and/or application specific data relating subscriber traffic flowing inbound to or outbound from a specific application/service executing on a specific subscriber 108 .
  • a machine-readable storage medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.).
  • a machine-readable storage medium includes recordable/non-recordable media (e.g., read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.).

Abstract

A multi-level classification scheme for classifying subscriber traffic at a network node coupled between subscribers of network services and providers of the network services includes two levels of classification. The subscriber traffic is received at the network service node. A first portion of the subscriber traffic is selectively routed from a plurality of first level routers to a plurality of second level routers within the network service node. The first portion of the subscriber traffic is then selectively routed from the second level routers to network applications executing within the network service node for processing.

Description

    TECHNICAL FIELD
  • This disclosure relates generally to packet routing in a distributed environment, and in particular but not exclusively, relates to routing packets to a plurality of applications in a distributed compute environment of a network service node.
  • BACKGROUND INFORMATION
  • The Internet is becoming a fundamental tool used in our personal and professional lives on a daily basis. As such, the bandwidth demands placed on network elements that underpin the Internet are rapidly increasing. In order to feed the seemingly insatiable hunger for bandwidth, parallel processing techniques have been developed to scale compute power in a cost effective manner.
  • As our reliance on the Internet deepens, industry innovators are continually developing new and diverse applications for providing a variety of services to subscribers. However, supporting a large diversity of services and applications using parallel processing techniques within a distributed compute environment introduces a number of complexities. One such complexity is to ensure that all available compute resources in the distributed environment are efficiently shared and effectively deployed. Ensuring efficient sharing of distributed resources requires scheduling workloads amongst the distributed resources in an intelligent manner so as to avoid situations where some resources are overburdened, while others lay idle. Another such complexity is how to support new and unexpected behavior demanded by the growing diversity of services within the infrastructure of a distributed environment that has already been deployed in the field.
  • FIG. 1 illustrates a modern metro area network 100 for providing network services to end users or subscribers. Metro area network 100 is composed of two types of networks: a core network 102 and one of more access networks 106. Core network 102 communicates data traffic from one or more service providers 104A-104N in order to provide services to one or more subscribers 108A-108M. Services supported by the core network 102 include, but are not limited to, (1) a branded service, such as a Voice over Internet Protocol (VoIP), from a branded service provider; (2) a licensed service, such as Video on Demand (VoD) or Internet Protocol Television (IPTV), through a licensed service provider and (3) traditional Internet access through an Internet Service Provider (ISP).
  • Core network 102 may support a variety of protocols (Synchronous Optical Networking (SONET), Internet Protocol (IP), Packet over SONET (POS), Dense Wave Division Multiplexing (DWDM), Border Gateway Protocol (BGP), etc.) using various types of equipment (core routers, SONET add-drop multiplexers, DWDM equipment, etc.). Furthermore, core network 102 communicates data traffic from the service providers 104A-104N to access network(s) 106 across link(s) 112. In general, link(s) 112 may be a single optical, copper or wireless link or may comprise several such optical, copper or wireless link(s).
  • On the other hand, the access network(s) 106 complements core network 102 by aggregating the data traffic from the subscribers 108A-108M. Access network(s) 106 may support data traffic to and from a variety of types of subscribers 108A-108M, (e.g. residential, corporate, mobile, wireless, etc.). Although access network(s) 106 may not comprise of each of the types of subscriber (residential, corporate, mobile, etc), access(s) network 106 will comprise at least one subscriber. Typically, access network(s) 106 supports thousands of subscribers 108A-108M. Access networks 106 may support a variety of protocols (e.g., IP, Asynchronous Transfer Mode (ATM), Frame Relay, Ethernet, Digital Subscriber Line (DSL), Point-to-Point Protocol (PPP), PPP over Ethernet (PPPoE), etc.) using various types of equipment (Edge routers, Broadband Remote Access Servers (BRAS), Digital Subscriber Line Access Multiplexers (DSLAM), Switches, etc). Access network(s) 106 uses a subscriber policy manager(s) 110 to set policies for individual ones and/or groups of subscribers. Policies stored in a subscriber policy manager(s) 110 allow subscribers access to different ones of the service providers 104A-N. Examples of subscriber policies are bandwidth limitations, traffic flow characteristics, amount of data, allowable services, etc.
  • Subscriber traffic flows across access network(s) 106 and core network 102 in data packets. A data packet (also known as a “packet”) is a block of user data with necessary address and administration information attached, usually in a packet header and/or footer, which allows the data network to deliver the data packet to the correct destination. Examples of data packets include, but are not limited to, IP packets, ATM cells, Ethernet frames, SONET frames and Frame Relay packets. Typically, data packets having similar characteristics (e.g., common source and destination) are referred to as a flow.
  • FIG. 2 represents the Open Systems Interconnect (OSI) model of a layered protocol stack 200 for transmitting data packets. Each layer installs its own header in the data packet being transmitted to control the packet through the network. The physical layer (layer 1) 202 is used for the physical signaling. The next layer, data link layer (layer 2) 204, enables transferring of data between network entities. The network layer (layer 3) 206 contains information for transferring variable length data packet between one or more networks. For example, IP addresses are contained in the network layer 206, which allows network devices (also commonly referred to a network elements) to route the data packet. Layer 4, the transport layer 208, provides transparent data transfer between end users. The session layer (layer 5) 210, provides the mechanism for managing the dialogue between end-user applications. The presentation layer (layer 6) 212 provides independence from difference in data representation (e.g. encryption, data encoding, etc.). The final layer is the application layer (layer 7) 212, which contains the actual data used by the application sending or receiving the packet. While most protocol stacks do not exactly follow the OSI model, it is commonly used to describe networks.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Non-limiting and non-exhaustive embodiments of the invention are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
  • FIG. 1 (Prior Art) illustrates a typical metro area network configuration.
  • FIG. 2 (Prior Art) is a block diagram illustrating layers of the Open Systems Interconnect protocol stack.
  • FIG. 3 is a block diagram illustrating a demonstrative metro area network configuration including a network service node to provide application and subscriber aware packet processing, in accordance with an embodiment of the invention
  • FIG. 4 is a schematic diagram illustrating one configuration of a network service node implemented using an Advanced Telecommunication and Computing Architecture chassis with full-mesh backplane connectivity, in accordance with an embodiment of the invention.
  • FIG. 5 is a functional block diagram illustrating traffic and compute blade architecture of a network service node for supporting application and subscriber aware packet processing, in accordance with an embodiment of the invention.
  • FIG. 6 is a functional block diagram illustrating multi-level packet classification scheme in a distributed compute environment, in accordance with an embodiment of the invention.
  • FIG. 7 is a functional block diagram illustrating distributed components for implementing a multi-level classification scheme, in accordance with an embodiment of the invention.
  • FIG. 8 is a functional block diagram illustrating subscriber based routing and application based routing of subscriber traffic in a network service node, in accordance with an embodiment of the invention.
  • FIG. 9 is a flow chart illustrating a process for routing subscriber traffic to a plurality of applications in a distributed environment, in accordance with an embodiment of the invention.
  • FIG. 10 is block diagram illustrating a process of rule flattening to prevent erroneous rule masking by classification rules installed later-in-time, in accordance with an embodiment of the invention.
  • DETAILED DESCRIPTION
  • Embodiments of a system and method for routing packets to applications executing in a distributed environment of a network service node are described herein. In the following description numerous specific details are set forth to provide a thorough understanding of the embodiments. One skilled in the relevant art will recognize, however, that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
  • Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
  • Throughout this specification, several terms of art are used. These terms are to take on their ordinary meaning in the art from which they come, unless specifically defined herein or the context of their use would clearly suggest otherwise. A “flow” or “packet flow” is defined herein as a sequence of related packets having common characteristics. For example, a sequence of packets moving through a network node having a common N-tuple signature may be defined as a single flow. In one embodiment, the N-tuple signature is a 6-tuple signature including the following packet fields: destination address, source address, destination port, source port, protocol, and differentiated service code point. A “classification rule” is defined herein as the combination of classification criteria with an associated action or actions to be performed on the classified packet flow. The classification criteria may be an exact match N-tuple signature or various wildcard signatures (e.g., range match, prefix match, non-contiguous bit masking match, ternary “don't care” match, etc.). The action or actions may be a forwarding action, an interception action, a bifurcation (e.g., replication) action, a termination action, some combination thereof, or various other processing actions.
  • FIG. 3 is a block diagram illustrating a demonstrative metro area network 300 including a network service node 305 to provide application and subscriber aware packet processing, in accordance with an embodiment of the invention. Metro area network 300 is similar to metro area network 100 with the exception of network service node 305 inserted at the junction between access network 106 and core network 102.
  • In one embodiment, network service node 305 is an application and subscriber aware network element capable of implementing application specific policies on a per subscriber basis at line rates. For example, network service node 305 can perform quality of service (“QoS”) tasks (e.g., traffic shaping, flow control, admission control, etc.) on a per subscriber, per application basis, while monitoring quality of experience (“QoE”) on a per session basis. To enable QoS and QoE applications for a variety of network services (e.g., VoD, VoIP, IPTV, etc.), network service node 305 is capable of deep packet inspection all the way to the session and application layers of the OSI model. To provide this granularity of service to hundreds or thousands of unique subscribers requires leveraging parallel processing advantages of a distributed compute environment.
  • FIG. 4 is a schematic diagram illustrating a network service node 400 implemented using an Advanced Telecommunication and Computing Architecture (“ATCA”) chassis with full-mesh backplane connectivity, in accordance with an embodiment of the invention. Network service node 400 is one possible implementation of network service node 305.
  • In the configuration illustrated in FIG. 4, an ATCA chassis 405 is fully populated with 14 ATCA blades—ten traffic blades (“TBs”) 410 and four compute blades (“CBs”) 415—each installed in a respective chassis slot. In an actual implementation, chassis 405 may be populated with less blades or may include other types or combinations of TBs 410 and CBs 415. Furthermore, chassis 405 may include slots to accept more or less total blades in other configurations (e.g., horizontal slots). As depicted by interconnection mesh 420, each blade is communicatively coupled with every other blade under the control of fabric switching operations performed by each blade's fabric switch. In one embodiment, mesh interconnect 420 provides a 10 Gbps connection between each pair of blades, with an aggregate bandwidth of 280 Gbps. It is noted that the ATCA environment depicted herein is merely illustrative of one modular board environment in which the principles and teachings of the embodiments of the invention described herein may be applied. In general, similar configurations may be deployed for other standardized and proprietary board environments, including but not limited to blade server environments.
  • In the illustrated embodiments, network service node 400 is implemented using a distributed architecture, wherein various processor and memory resources are distributed across multiple blades. To scale a system, one simply adds another blade. The system is further enabled to dynamically allocate processor tasks, and to automatically perform failover operations in response to a blade failure or the like. Furthermore, under an ATCA implementation, blades may be hot-swapped without taking the system down, thus supporting dynamic scaling.
  • FIG. 5 is a functional block diagram illustrating demonstrative hardware architecture of TBs 410 and CBs 415 of network service node 400, in accordance with an embodiment of the invention. The illustrated embodiment of network service node 400 uses a distinct architecture for TBs 410 versus CBs 415, while at least one of CBs 415 (e.g., compute blade 415A) is provisioned to perform operations, administration, maintenance and provisioning (“OAMP”) functionality (the OAMP CB).
  • CBs 415 each employ four compute node instances (“CNIs”) 505. CNIs 505 may be implemented using separate processors or processor chips employing multiple processor cores. For example, in the illustrated embodiment of FIG. 5, each of CNI 505 is implemented via an associated symmetric multi-core processor. Each CNI 505 is enabled to communicate with other CNIs via an appropriate interface, such as for example, a “Hyper Transport” (HT) interface. Other native (standard or proprietary) interfaces between CNIs 505 may also be employed.
  • As further depicted in FIG. 5, each CNI 505 is allocated various memory resources, including respective RAM. Under various implementations, each CNI 505 may also be allocated an external cache, or may provide one or more levels of cache on-chip.
  • Each CB 415 includes an interface with mesh interconnect 420. In the illustrated embodiment of FIG. 5, this is facilitated by a backplane fabric switch 510, while a field programmable gate array (“FPGA”) 515 containing appropriate programmed logic is used as an intermediary component to enable each of CNIs 505 to access backplane fabric switch 510 using native interfaces. In the illustrated embodiment, the interface between each of CNIs 505 and the FPGA 515 comprises a system packet interface (“SPI”), while the interface between FPGA 515 and backplane fabric switch 510 comprises a Broadcom HiGig™ interface. It is noted that these interfaces are mere examples, and that other interfaces may be employed.
  • In addition to local RAM, the CNI 505 associated with the OAMP function (depicted in FIG. 5 as CNI # 1 of CB 415A, hereinafter referred to as the OAMP CNI) is provided with a local non-volatile store (e.g., flash memory). The non-volatile store is used to store persistent data used for the OAMP function, such as provisioning information and logs. In CBs 415 that do not support the OAMP function, each CNI 505 is provided with local RAM and a local cache.
  • FIG. 5 further illustrates a demonstrative architecture for TBs 410. TBs 410 include a PHY block 520, an Ethernet MAC block 525, a network processor unit (NPU) 530, a host processor 535, a serializer/deserializer (“SERDES”) interface 540, an FPGA 545, a backplane fabric switch 550, RAM 555 and 557 and cache 560. TBs 410 further include one or more I/O ports 565, which are operatively coupled to PHY block 520. Depending on the particular use, the number of I/O ports 565 may vary from 1 to N ports. For example, under one traffic blade type a 10×1 Gigabit Ethernet (GigE) port configuration is provided, while for another type a 1×10 GigE port configuration is provided. Other port number and speed combinations may also be employed.
  • One of the operations performed by TBs 410 is packet identification/classification. A multi-level classification hierarchy scheme is implemented for this purpose. Typically, a first level of classification, such as a 5 or 6 tuple signature classification scheme, is performed by NPU 530. Additional classification operations in the classification hierarchy may be required to fully classify a packet (e.g., identify an application flow type). In general, these higher-level classification operations are performed by CBc 415 via interception or bifurcation of packet flows at TBs 410; however, some higher-level classification may be performed by the TB's host processor 535. Classification rules used to classify packet flows may be distributed about network service node 305 via a distributed database 570. In one embodiment, one or more instances of distributed database 570 reside on each TB 410 and each CB 415.
  • Typically, NPUs are designed for performing particular tasks in a very efficient manner. These tasks include packet forwarding and packet classification, among other tasks related to packet processing. NPU 530 includes various interfaces for communicating with other board components. These include an Ethernet MAC interface, a memory controller (not shown) to access RAM 557, Ethernet and PCI interfaces to communicate with host processor 535, and an XGMII interface. SERDES interface 540 provides the interface between XGMII interface signals and HiGig signals, thus enabling NPU 530 to communicate with backplane fabric switch 550. NPU 530 may also provide additional interfaces to interface with other components (not shown).
  • Similarly, host processor 535 includes various interfaces for communicating with other board components. These include the aforementioned Ethernet and PCI interfaces to communicate with NPU 530, a memory controller (on-chip or off-chip—not shown) to access RAM 555, and a pair of SPI interfaces. FPGA 545 is employed as an interface between the SPI interface signals and the HiGig interface signals.
  • Host processor 535 is employed for various purposes, including lower-level (in the hierarchy) packet classification, gathering and correlation of flow statistics, and application of traffic profiles. Host processor 535 may also be employed for other purposes. In general, host processor 535 will comprise a general-purpose processor or the like, and may include one or more compute cores. In one embodiment, host processor 535 is responsible for initializing and configuring NPU 530 (e.g., via network booting).
  • FIG. 6 is a functional block diagram illustrating a multi-level packet classification scheme executed within network service node 305, in accordance with an embodiment of the invention. The multi-level classification scheme separates packet flow classification in the data plane, where admission control and packet forwarding is executed, from the packet classification in the control plane, where deep packet inspection (e.g., packet inspection at layers 5 to 7 of the OSI model), application processing (layer 7 processing of application data within a packet flow), control processing, and other supervisory/managerial processing is executed.
  • During operation, packets arrive and depart service node 305 along trunk line 605 from/to service providers 104 and arrive and depart service node 305 along tributary lines 610 from/to subscribers 108. Upon entering TBs 410, access control is performed by comparing Internet protocol (“IP”) header fields, Ethernet header fields, or TCP/UDP header fields against an access control list (“ACL”) to determine whether the packets have permission to enter service node 305. Access control may be performed by a hardware abstraction layer (“HAL”) of TBs 410. If access is granted, then network service node 305 will proceed to classify each arriving packet.
  • The first level of classification occurs in the data plane and is referred to as flow classification. Flow classification includes matching upon N fields (or N-tuples) of a packet to determine which classification rule to apply and then executing an action associated with the matched classification rule. TBs 410 perform flow classification in the data plane as a prerequisite to packet forwarding and/or determining whether extended classification is necessary by CBs 415 in the control plane. In one embodiment, flow classification involves 6-tuple classification performed on the TCP/IP packet headers (i.e., source address, destination address, source port, destination port, protocol field, and differentiated service code point).
  • Based upon the flow classification, TBs 410 may simply forward the traffic, terminate the traffic, bifurcate the traffic, intercept the traffic, notify the control plane of the flow, or otherwise. If a TB 410 determines that a bifurcation classification criteria (bifurcation filter 615A) has been matched, the TB 410 will generate a copy of the packet that is sent to one of CBs 415 for extended classification, and forward the original packet towards its destination. If a TB 410 determines that an interception classification criteria (interception filter 615B) has been matched, the TB 410 will divert the packet to one of CBs 415 for extended classification and application processing prior to forwarding the packet to its destination.
  • CBs 415 perform extended classification via deep packet inspection (“DPI”) to further identify application level classification rules to apply to the received packet flows. Extended classification may include inspecting the bifurcated or intercepted packets at the application level to determine to which application 620 a packet flow should be routed. In one embodiment, applications 620 may perform additional application classification on the packet flows to determine the specific application processing that should be performed on a packet flow. Application classification enables applications 620 to apply application specific rules to the traffic, on a per subscriber basis. For example, application # 1 may be a VoIP QoE application for monitoring the quality of experience of a VoIP service, application # 2 may be a VoD QoE application for monitoring the quality of experience of a VoD service, and application # 3 may be an IP filtering application providing uniform resource locator (“URL”) filtering to block undesirable traffic, an email filter, a parental control filter on an IPTV service, or otherwise. In one embodiment, network applications 620 may intercommunicate to exchange information about flows. It should be appreciated that CBs 415 may execute any number of network applications 620 for implementing a variety of networking functions.
  • FIG. 7 is a functional block diagram illustrating components of a distributed compute environment 700 for implementing a multi-level classification hierarchy 702, in accordance with an embodiment of the invention. The illustrated of distributed compute environment 700 includes CNIs 705, TBs 710, and an OAMP CNI 715. CNIs 705 may be implemented by CNIs 505, TBs 710 may be implemented by TBs 410, and OAMP CNI 715 may be implemented by CNI(1) 505 of CB 415A.
  • The illustrated embodiment of CNIs 705 each include an application router 720, network applications 725, and an instance 730 of a runtime database (“RTDB”) executing therein. The illustrated embodiment of TBs 710 each include an access control unit 735, a flow router 740, a classifier 745, and an instance 750 of RTDB executing therein. The illustrated embodiment of OAMP CNI 715 includes network applications 760, a user interface 765, a configuration manager 770, a classification engine 775, and a provisioning database 780. FIG. 7 illustrates operational components that reside on each CNI 705, TB 710, and OAMP CNI 715. It should be appreciated that network service node 305 may include a plurality of CNIs 705 with each CNI including its own instances of the operational components illustrated in CNI 705. Similarly, network service node 305 may include a plurality of TBs 710 and therefore many instances of each operational component illustrated executing on TB 710. Finally, network service node 305 may include one or more backups of OAMP CNI 715 and therefore include standby redundancies of the operational components illustrated within OAMP CNI 715.
  • During operation, access control unit 735 executes access control to permit or deny packet flows into network service node 305. Flow router 740 and classifier 745 perform flow classification on permitted packets to classify the permitted packets into flows of related packets (i.e., packet flows). Although classifier 745 and flow router 740 are illustrated as distinct, in one embodiment, classifier 745 is a sub-element of flow router 740.
  • As discussed above, a classification rule is the combination of classification criteria (e.g., N-tuple signature) and one or more actions to be executed on a packet flow matching the associated classification criteria. Classifier 745 represents a classification structure that may be implemented in hardware (e.g., ternary content addressable memory (“TCAM”)), software (e.g., list, tree, trie, etc.), or some combination thereof. Classifier 745 performs the matching function to determine which classification criteria a particular packet matches, while flow router 740 executes the associated function on the particular packet (e.g., bifurcate, intercept, terminate, notify, forward, etc.).
  • In one embodiment, classifier 745 operates on a first “hit” policy. Classifier 745 will search for matching classification criteria, until a first match is found and search no further. Accordingly, classification criteria that are installed into classifier 745 with higher priority will mask lower priority classification criteria having overlapping criteria. In one embodiment, classifier 745 maintains two separate groups or lists of classification criteria—inbound classification criteria 747 and outbound classification criteria 749. Inbound classification criteria 747 is used to match against packets inbound to subscribers 108, while outbound classification criteria 749 is used to match against packets outbound from subscribers 108. Maintaining inbound and outbound classification criteria independent of each other simplifies the flow classification process and avoids rule masking in the scenario where two subscribers 108 are communicating with each other and all subscriber traffic is arriving or departing along tributary lines 610. Maintaining separate inbound and outbound classification criteria also enables different CNIs 705 to be assigned for processing inbound traffic for a particular subscriber 108 from the CNI 705 assigned for processing outbound traffic for the particular subscriber 108.
  • When flow router 740 determines that a particular packet is to be routed to the control plane for extended classification (e.g., intercepted or bifurcated), flow router 740 will provide the packet to an appropriate one of application routers 720 along with classification metadata. The classification metadata may include an indication of the N-tuple match determined by classifier 745 (e.g., a matched rule identifier) so that application router 720 need not re-execute the N-tuple matching function.
  • In one embodiment, flow routers 740 executing on the individual TBs 710 perform a subscriber based classification scheme. In other words, all subscriber traffic associated with the same subscriber is routed to the same application router 720 executing on the same CNI 705. For example, outbound traffic (e.g., traffic arriving on tributary lines 610) may be classified based on the source IP address of the packet flow, while inbound traffic (e.g., traffic arriving on trunk lines 605) may be classified based on the destination IP address. Accordingly, inbound and outbound traffic associated with a single subscriber 108 may be routed to the same CNI 705 or to two independent CNIs 705—one designated for inbound traffic and one designated for outbound traffic. A subscriber based routing scheme enables applications routers 720 and/or network applications 725 to retain stateful information regarding a particular subscriber during the pendancy of a given session or even across multiple sessions.
  • Application router 720 performs extended classification over and above the flow classification performed by flow router 740 to determine to which of network applications 725 a packet that has been elevated to the control plane should be routed. Extended classification may include DPI to inspect packet data at layers 5 through 7 of the OSI model. In other words, application router 720 may not merely inspect header data, but also payload data. Extended classification may require reconstruction IP fragments or TCP segments prior to performing the DPI. The payload data may carry various signatures of application protocols or application data upon which extended classification criteria is matched against. For example, application router 720 may DPI search for session initiation protocol (“SIP”) packets identifiable with various applications running on subscribers 108. The elevated packets may then be routed to the appropriate network application(s) 725 for processing. Application routers 720 will match elevated packets against a set of local rules 721 and global rules 723 while attempting to classify the packets. Local rules 721 include those rules that are only locally applicable to subscriber traffic relevant to network applications 725 executing on the single CNI 705. Global rules 723 are more generally applicable to subscriber traffic that may be elevated to multiple different CNIs 705. In particular, global rules 723 may include various wildcard or multi-match classification criteria that could match subscriber traffic assigned to multiple different CNIs 705.
  • In one embodiment, application router 720 performs application routing to provide packets to the appropriate network applications 725. In some cases, multiple network applications 725 need to inspect the same packet. Accordingly, routing packets within a single CNI 705 need not provide redundant copies of the packet to each network application 725. Rather, application router 720 may simply store a packet in a memory location and provide pointers to the memory location to multiple network applications 725. Finally, network applications 725 may perform application classification on packets promoted to network applications 725. Application classification may be performed to determine the specific action or function to perform on the packet.
  • In some embodiments, network applications 725 are distributed applications having an instance executing on each CNI 705, as well as, a managerial instance executing on OAMP CNI 715 (e.g., applications 760). OAMP CNI 715 includes a user interface 765 (e.g., command line interface, graphical user interface, etc.) providing a portal for an IT technician to install new software, classification criteria, etc. onto network service node 305. Configuration manager 770 receives the new software updates or configuration settings, performs semantic checks, and stores the updates/configuration settings into provisioning database 780. Classification engine 775 operates as a centralized application router for creating, managing, and installing global rules 723. In particular, classification engine 775 performs a flattening operation on global rules 723 (discussed in detail below). This flattening operation compares new installed rules against existing global rules 723 to ensure the new rules do not mask any global rule 723 already installed. Classification engine 775 may distribute global rules 723 as well as other rules directly to applications routers 720 via inter-process communication (“IPC”) or push them down to provisioning database 780, which are then propagated throughout network service node 305 via the distributed instances of the runtime database. Additionally, configuration manager 770 may store rules into provisioning database 780, then send the rules to applications 760, which in turn may install rules into classification engine 775 via a remote procedure call (“RPC”).
  • FIG. 8 is a functional block diagram illustrating subscriber based routing and application based routing of subscriber traffic in a network service node 305, in accordance with an embodiment of the invention. As illustrated, each flow router 740 can route subscriber traffic to any of the application routers 720. Each CNI 705 includes a single application router 720, which is responsible for routing the subscriber traffic to all network applications 725 executing on its CNI 705. Flow routers 740 perform subscriber based routing by routing all subscriber traffic outbound from the same subscriber 108 to the same application router 720. Similarly, all subscriber traffic inbound to the same subscriber 108 is routed to the same application router 720. Inbound and outbound traffic associated with a single subscriber 108 may be routed to the same CNI 705 or to two independent CNIs 705—one designated for inbound traffic and one designated for outbound traffic. Application routers 720 perform application based routing by routing the subscriber traffic to the appropriate network applications 725 executing on its CNI 705.
  • Since network service node 305 is capable of subscriber specific processing, network applications 725 can provide differentiated services on a per subscriber, per network service basis. For example, network application # 1 may provide QoE monitoring functionality for supervising a VoD service, while network application # 2 provides a QoE monitoring functionality for supervising a VoIP service. Suppose only subscribers 1, 2, 5, 3, and 6 have subscribed for the VoD service while only subscribers 4, 5, and 6 have subscribed to the VoIP service. As illustrated, subscribers 1 and 4 are assigned to CNI 705A, subscribers 2 and 5 are assigned to CNI 705B, and subscribers 3 and 6 are assigned to CNI 705C. It is the responsibility of flow routers 704 to deliver the subscriber traffic to the appropriate application routers 720, while it is the responsibility of application routers 720 to deliver the subscriber traffic to the appropriate network application 725.
  • By breaking up the workload on a per subscriber basis and assigning a subsection of subscribers 108 to each of CNIs 705, the overall workload can be broken down into manageable sizes and distributed across CBs and CNIs in an efficient and effective manner. A diversity of network applications 725 can be installed across CNIs 705 to support a variety of services. New and unexpected behavior can be added to network service node 305 by installing updates to existing network applications 725 or by installing entirely new network applications 725. These network applications 725 can dynamically install their own classification rules during runtime into their application routers 720 to identify subscriber traffic deemed relevant for higher level processing.
  • Because the subscriber traffic is bifurcated by flow routers 740 to the control plane, the higher level processing executed by network applications 725 can proceed without hindering flow routers 740. Once a packet flow has been bifurcated, flow routers can continue to forward the original subscriber traffic towards its destination in the data plane, while the control plane performs higher level processing. In this manner, network service node 305 is capable of providing these differentiated services at line rates.
  • In some embodiments, network service node 305 may support “promiscuous applications.” Promiscuous applications are network applications that are capable of processing subscriber traffic associated with all subscribers 108, irrelevant of which CNI 705 subscribers 108 have been assigned. Promiscuous applications provide a mechanism to support centralized processing (e.g., collection of metrics or statistics) on all subscriber traffic entering/exiting network service node 305.
  • At least two different variety of promiscuous applications may be supported within network service node 305. The first variety may be installed on their own CNI 705 and capable of installing classification rules directly into flow routers 740. Application routers 720 or classification engine 775 may perform rule flattening on the rules to identifying any overlapping classification criteria. If overlapping classification criteria is found to exist with previously installed classification rules, then flow routers 740 would need to support rule based fanout routing where subscriber traffic associated with a single subscriber may be routed to multiple application routers 720 (e.g., one copy to an application router 720 for routing to a standard network application 725 and one copy to an application router for routing to a promiscuous application). In one embodiment, the rule based fanout routing may be achieved may marking the classification rules with a flag indicating subscriber based routing, promiscuous based routing, or both. The flag may then be referenced to determine to which CNIs 705 a flow should be routed.
  • A second variety of promiscuous application may also be installed on their own CNI 705, but are associated with promiscuous agents installed on each CNI 705. The promiscuous agents would then be responsible for collecting and forwarding data associated with each subscriber 108 assigned to the individual CNIs 705 to the centralized instance of the promiscuous application. The promiscuous agents would be capable of installing classification rules into their associated application router 720, which can be pushed down to flow routers 740. Flow routers 740 could then continue to execute the less intensive subscriber based routing, while the promiscuous agents would be responsible for collecting and forwarding data in the data plane to the centralized instance of the promiscuous application.
  • FIG. 9 is a flow chart illustrating a process 900 for routing subscriber traffic to network applications 725, in accordance with an embodiment of the invention. The order in which some or all of the process blocks appear in process 900 should not be deemed limiting. Rather, one of ordinary skill in the art having the benefit of the present disclosure will understand that some of the process blocks may be executed in a variety of orders not illustrated.
  • In a process block 905, one of network applications 725 installs a new classification rule into its application router 720. By installing a new classification rule into an application router 720, the particular network application 725 is registering a new request for selected subscriber traffic to be elevated to the control plane. The installed classification rule will include classification criteria identifying specifically which packets or packet flows the network application 725 desires and the action to be taken (e.g., bifurcate or intercept).
  • Upon receiving the request for a new classification rule installation, the application router 720 will “flatten” the new classification rule against the existing local rules 721 (process block 910) and against the existing global rules 723 (process block 915). The rule flattening process is illustrated in FIG. 10. FIG. 10 illustrates a classification criteria universe 1000 which delineates the metes and bounds of all possible criteria that could be used to classify packet flows. FIG. 10 also illustrates three installed classification rules R1, R2, and R3 that delineate three corresponding classification criteria CC1, CC2, and CC3 and have three corresponding actions A1, A2, and A3. If classification rules R1, R2, and R3 are application routing rules installed into one of application routers 720, then all packets arriving at the particular application router falling into the metes and bounds of CC1 will be routed according to action(s) A1, falling into the metes and bounds of CC2 will be routed according to action(s) A2, and falling into the metes and bounds of CC3 will be routed according to action(s) A3.
  • Further assume that R3 was installed after to R2, which was installed after to R1. If the application router performed a first “hit” matching scheme that searches through a classification structure 1005 in descending order, then R3 would partially mask R1 and R2, as would R2 partially mask R1. For example, all packets falling into the metes and bounds of CC5, would only be routed according to action(s) A3, even though the packet should be routed according to actions A1, A2, and A3. Similarly, all packets falling into the metes and bounds of CC6 would also only be routed according to action(s) A3, when they should be routed according to actions A1 and A3. In other words, classification rules installed later in-time by one network application could mask classification rules installed previous-in-time by other network applications, causing the other network applications to miss subscriber traffic.
  • Accordingly, rule flattening is a process executed by application routers 720 to ensure classification rules installed later-in-time do not mask earlier installed classification rules. It should be appreciated that this discussion is equally applicable to flow routers 740, if flow routers 740 are permitted to perform rule flattening. Rule flattening prevents rule masking by identifying overlapping classification criteria and automatically generating new auto-rules specifically tailored for the overlapping classification criteria. Auto-rules having the greatest or deepest degree of overlapping classification criteria are given higher priority and inserted at the top of classification structure 1005 above other auto-rules will lesser overlap and above application installed rules. For example, since CC5 overlaps R1, R2, and R3, auto-rule AR2 having classification criteria CC5 is placed at the top of classification structure 1005. Furthermore, since AR2 overlaps R1, R2, and R3, AR2 is associated with actions A1, A2, and A3 to ensure all requesting network applications 725 receive a copy of all packets falling into the mete and bounds of CC5. Similarly, auto-rule AR1 is generated for overlapping classification criteria CC4 and assigned actions A1 and A2 from overlapping installed rules R1 and R2, while auto-rule AR3 is generated for overlapping classification criteria CC6 and assigned actions A1 and A3 from overlapping installed rules R1 and R3.
  • Returning to process 900 illustrated in FIG. 9, the particular application router 720 push down the installed extended classification rule to the data plane by installing a flow classification rule into flow routers 740. As mentioned above, depending upon the variety, if promiscuous applications are executing within network service node 305, flow routers 740 may also perform rule flattening.
  • In a decision block 925, when a packet arrives at one of TBs 710 access control unit 735 will either permit or deny the packet (decision block 930). If the packet is denied access to network service node 305, it is discarded (process block 935). If the packet is granted access, then process 900 continues to a process block 940. In process block 940 the receiving flow router 740 classifies the packet into a flow with the aid of classifier 745 and takes appropriate action(s) (e.g., bifurcate, intercept, forward, drop, etc.) dependent upon the flow classification (process block 945).
  • For those packets that are elevated to the control plane as a result of the flow classification, the receiving application router 720 performs extended classification on the elevated packet via DPI (process block 950). Dependent upon the result of the extended classification, the particular application router 720 will route (e.g., provide a pointer or other indication to the packet's memory location) the elevated packet to one or more network applications 725 executing on its CNI 705.
  • Finally, the receiving network applications 725 may perform additional application classification on the elevated packets to determine the precise action to be taken. Application classification may include DPI, string matching, or otherwise. The DPI may include inspecting application data carried within the payload of the packet to generate subscriber specific and/or application specific data relating subscriber traffic flowing inbound to or outbound from a specific application/service executing on a specific subscriber 108.
  • The processes explained above are described in terms of computer software and hardware. The techniques described may constitute machine-executable instructions embodied within a machine (e.g., computer) readable medium, that when executed by a machine will cause the machine to perform the operations described. Additionally, the processes may be embodied within hardware, such as an application specific integrated circuit (“ASIC”) or the like.
  • A machine-readable storage medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). For example, a machine-readable storage medium includes recordable/non-recordable media (e.g., read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.).
  • The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
  • These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.

Claims (34)

1. A method, comprising:
receiving subscriber traffic at a network service node coupled between subscribers of network services and providers of the network services;
selectively providing a first portion of the subscriber traffic from a plurality of first level routers to a plurality of second level routers within the network service node;
selectively providing the first portion of the subscriber traffic from the second level routers to network applications executing within the network service node; and
processing the first portion of the subscriber traffic at the network applications.
2. The method of claim 1, wherein selectively providing the first portion of the subscriber traffic from the first level routers to the second level routers comprises a subscriber based routing scheme wherein the first portion of the subscriber traffic is routed to the second level routers based at least in part upon to which of the subscribers each packet of the subscriber traffic is associated.
3. The method of claim 2, wherein selectively providing the first portion of the subscriber traffic from the second level routers to the network applications comprises an application based routing scheme wherein the first portion of the subscriber traffic is routed to the network applications based at least in part upon which of the network services is carried by each packet of the subscriber traffic.
4. The method of claim 1, wherein the first level routers comprise a plurality of data plane routers executing within a data plane of the network service node and wherein the second level routers comprise a plurality of control plane routers executing within a control plane of the network service node.
5. The method of claim 4, wherein the data plane routers comprise flow routers executing on corresponding traffic modules within the network service node and wherein the control plane routers comprise application routers executing on corresponding compute node instances (“CNIs”) within the control plane of the network service node,
6. The method of claim 5, wherein one of the network applications comprises a promiscuous application executing on a single one of the CNIs, the method further comprising:
executing promiscuous application agents on each of the other CNIs; and
forwarding subscriber specific data associated with the subscribers assigned to each of the other CNIs from each of the promiscuous application agents to the promiscuous application for centralized processing at the promiscuous application.
7. The method of claim 5, wherein multiple ones of the CNIs reside on a single compute blade of a plurality of compute blades within the network service node, wherein the traffic modules comprise traffic blades of the network service node, and wherein the traffic blades and the compute blades are communicatively coupled via a mesh interconnect.
8. The method of claim 1, further comprising:
performing flow classification at the first level routers to classify the subscriber traffic into flows of related packets;
selectively forwarding the subscriber traffic to its destinations based at least in part upon the flow classification; and
providing the first portion of the subscriber traffic to the second level routers based at least in part upon the flow classification.
9. The method of claim 8, further comprising performing extended classification, in addition to the flow classification, on the first portion of the subscriber traffic at the second level routers to determine to which of the applications each packet of the first portion of the subscriber traffic is to be routed.
10. The method of claim 8, wherein providing the first portion of the subscriber traffic to the second level routers comprises providing the first portion of the subscriber traffic along with classification metadata to the second level routers, the classification metadata generated by the flow routers during the flow classification.
11. The method of claim 8, wherein performing flow classification at the first level routers to classify the subscriber traffic into flows of related packets comprises:
classifying the subscriber traffic that is inbound to the subscribers with reference to inbound classification criteria; and
classifying the subscriber traffic that is outbound from the subscribers with reference to outbound classification criteria maintained separate from the inbound classification criteria.
12. The method of claim 9 further comprising:
creating global classification rules to be used by the second level routers when performing the extended classification, the global classification rules maintained by a centralized classification engine; and
distributing the global classification rules to the second level routers from the centralized classification engine.
13. The method of claim 12, further comprising:
comparing the global classification rules received by each of the second level routers against local classification rules maintained by each of the second level routers;
generating automatic rules if one or more of the global classification rules include overlapping classification criteria with one or more of the local classification rules, the automatic rules having associated classification criteria limited to the overlapping classification criteria; and
adding the automatic rules to respective classification structures for each of the second level routers with higher priority than the local classification rules and the global classification rules having the overlapping classification criteria.
14. The method of claim 9, further comprising:
installing extended classification rules into the second level routers by the network applications, the extended classification rules to be used during the extended classification; and
installing flow classification rules into the first level routers by the second level routers, the flow classification rules to be used during the flow classification.
15. The method of claim 1, wherein selectively routing the first portion of the subscriber traffic from the first level routers to the second level routers comprises:
selectively bifurcating some packets of the subscriber traffic to provide a bifurcated copy of the some of the packets to the second level routers; and
selectively intercepting other packets of the subscriber traffic to provide intercepted packets to the second level routers prior to forwarding the intercepted packets to their destinations.
16. Machine-readable media that provide instructions that, if executed by a machine, will cause the machine to perform operations comprising:
receiving subscriber traffic at a network service node coupled between subscribers of network services and providers of the network services;
selectively routing a first portion of the subscriber traffic from a plurality of first level routers to a plurality of second level routers within the network service node;
selectively routing the first portion of the subscriber traffic from the second level routers to network applications executing within the network service node; and
processing the first portion of the subscriber traffic at the network applications.
17. The machine-readable media of claim 16, wherein selectively routing the first portion of the subscriber traffic from the first level routers to the second level routers comprises a subscriber based routing scheme wherein the first portion of the subscriber traffic is routed to the second level routers based at least in part upon to which of the subscribers each packet of the subscriber traffic is associated.
18. The machine-readable media of claim 17, wherein selectively routing the first portion of the subscriber traffic from the second level routers to the network applications comprises an application based routing scheme wherein the first portion of the subscriber traffic is routed to the network applications based at least in part upon which of the network services is carried by each packet of the subscriber traffic.
19. The machine-readable media of claim 16, wherein the first level routers comprise a plurality of data plane routers executing within a data plane of the network service node and wherein the second level routers comprise a plurality of control plane routers executing within a control plane of the network service node.
20. The machine-readable media of claim 19, wherein the data plane routers comprise flow routers executing on corresponding traffic modules within the network service node and wherein the control plane routers comprise application routers executing on corresponding compute node instances (“CNIs”) within the control plane of the network service node,
21. The machine-readable media of claim 16, further providing instructions that, if executed by the machine, will cause the machine to perform further operations, comprising:
performing flow classification at the first level routers to classify the subscriber traffic into flows of related packets;
selectively forwarding the subscriber traffic to its destinations based at least in part upon the flow classification; and
providing the first portion of the subscriber traffic to the second level routers based at least in part upon the flow classification.
22. The machine-readable media of claim 21, further providing instructions that, if executed by the machine, will cause the machine to perform further operations, comprising:
performing extended classification, in addition to the flow classification, on the first portion of the subscriber traffic at the second level routers to determine to which of the applications each packet of the first portion of the subscriber traffic is to be routed.
23. The machine-readable media of claim 21, wherein performing flow classification at the first level routers to classify the subscriber traffic into flows of related packets comprises:
classifying the subscriber traffic that is inbound to the subscribers with reference to inbound classification criteria; and
classifying the subscriber traffic that is outbound from the subscribers with reference to outbound classification criteria maintained separate from the inbound classification criteria.
24. The machine-readable media of claim 22, further providing instructions that, if executed by the machine, will cause the machine to perform further operations, comprising:
creating global classification rules to be used by the second level routers when performing the extended classification, the global classification rules maintained by a centralized classification engine; and
distributing the global classification rules to the second level routers from the centralized classification engine.
25. The machine-readable media of claim 24, further providing instructions that, if executed by the machine, will cause the machine to perform further operations, comprising:
comparing the global classification rules received by each of the second level routers against local classification rules maintained by each of the second level routers;
generating automatic rules if one or more of the global classification rules include overlapping classification criteria with one or more of the local classification rules, the automatic rules having associated classification criteria limited to the overlapping classification criteria; and
adding the automatic rules to respective classification structures for each of the second level routers with higher priority than the local classification rules and the global classification rules having the overlapping classification criteria.
26. The machine-readable media of claim 22, further providing instructions that, if executed by the machine, will cause the machine to perform further operations, comprising:
installing extended classification rules into the second level routers by the network applications, the extended classification rules to be used during the extended classification; and
installing flow classification rules into the first level routers by the second level routers, the flow classification rules to be used during the flow classification.
27. The machine-readable media of claim 16, wherein selectively routing the first portion of the subscriber traffic from the first level routers to the second level routers comprises:
selectively bifurcating some packets of the subscriber traffic to provide a bifurcated copy of the some of the packets to the second level routers; and
selectively intercepting other packets of the subscriber traffic to provide intercepted packets to the second level routers prior to forwarding the intercepted packets to their destinations.
28. A system for coupling between a plurality of subscribers of network services and providers of the network services, the system comprising a plurality of processors and computer readable media, the computer readable media containing a distributed data structure for execution by the plurality of processors, the distributed data structure comprising:
a plurality of network applications to process subscriber traffic;
a plurality of application routers to perform an extended classification on the subscriber traffic and to selectively provide the subscriber traffic to the network applications based upon the extended classification of the subscriber traffic; and
a plurality of flow routers to perform a flow classification on the subscriber traffic to selectively route the subscriber traffic, based upon the flow classification, to the application routers.
29. The system of claim 28, wherein the system further comprises:
a chassis;
a plurality of traffic modules mounted within the chassis, wherein each of the traffic modules includes at least one of the processors to execute at least one of the flow routers;
a plurality of compute modules mounted within the chassis, wherein each of the compute modules includes at least one of the processors to execute at least one of the application routers; and
an interconnect to communicatively interconnect the traffic modules and the compute modules to each other.
30. The system of claim 28, wherein the flow routers include a classifier to classifying the subscriber traffic into packet flows based at least in part upon classification criteria applied to packet headers of the packet flows and wherein the flow routers perform a subscriber based routing scheme to selectively route the packet flows associated with each of the subscribers to a corresponding one of the application routers to which each of the subscribers is assigned.
31. The system of claim 30, wherein the application routers perform the extended classification by deep packet inspection of payload data within the packets of the packet flows to determine to which of the network applications each of the packet flows is to be provided.
32. The system of claim 30, wherein the classifier includes inbound classification criteria for classifying the subscriber traffic inbound to the subscribers and outbound classification criteria for classifying the subscriber traffic outbound from the subscribers.
33. The system of claim 28, wherein the network applications include at least one application for monitoring quality of experience of one of the network services provided to the subscribers.
34. The system of claim 28, wherein the network applications install extended classification rules into the application routers to request selected portions of the subscriber traffic from the application routers and the application routers install flow classification rules into the flow routers to request the selected portions of the subscriber traffic from the flow routers.
US11/807,305 2007-05-25 2007-05-25 Application routing in a distributed compute environment Expired - Fee Related US7773510B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US11/807,305 US7773510B2 (en) 2007-05-25 2007-05-25 Application routing in a distributed compute environment
PCT/CA2008/000965 WO2008144886A1 (en) 2007-05-25 2008-05-21 Multi-level packet classification and routing in a distributed compute environment
EP08757111A EP2151110A4 (en) 2007-05-25 2008-05-21 Multi-level packet classification and routing in a distributed compute environment
CA002687355A CA2687355A1 (en) 2007-05-25 2008-05-21 Multi-level packet classification and routing in a distributed compute environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/807,305 US7773510B2 (en) 2007-05-25 2007-05-25 Application routing in a distributed compute environment

Publications (2)

Publication Number Publication Date
US20080291923A1 true US20080291923A1 (en) 2008-11-27
US7773510B2 US7773510B2 (en) 2010-08-10

Family

ID=40072334

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/807,305 Expired - Fee Related US7773510B2 (en) 2007-05-25 2007-05-25 Application routing in a distributed compute environment

Country Status (4)

Country Link
US (1) US7773510B2 (en)
EP (1) EP2151110A4 (en)
CA (1) CA2687355A1 (en)
WO (1) WO2008144886A1 (en)

Cited By (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127483A1 (en) * 2005-12-02 2007-06-07 Alcatel Network node with modular multi-stage packet classification
US20080298230A1 (en) * 2007-05-30 2008-12-04 Luft Siegfried J Scheduling of workloads in a distributed compute environment
US20090034426A1 (en) * 2007-08-01 2009-02-05 Luft Siegfried J Monitoring quality of experience on a per subscriber, per session basis
US20100070625A1 (en) * 2008-09-05 2010-03-18 Zeus Technology Limited Supplying Data Files to Requesting Stations
US20120026897A1 (en) * 2010-07-29 2012-02-02 Cisco Technology, Inc., A Corporation Of California Packet Switching Device Using Results Determined by an Application Node
WO2012021717A1 (en) * 2010-08-12 2012-02-16 Steve Jackowski Systems and methods for multi-level quality of service classification in an intermediary device
US8374102B2 (en) 2007-10-02 2013-02-12 Tellabs Communications Canada, Ltd. Intelligent collection and management of flow statistics
EP2592784A1 (en) * 2011-11-14 2013-05-15 Alcatel Lucent Apparatus, method and computer program for routing data packets
US20130223226A1 (en) * 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Providing a Split Data Plane in a Flow-Based Switching Device
US20130223442A1 (en) * 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Managing Unknown Flows in a Flow-Based Switching Device
US8638795B2 (en) 2010-08-12 2014-01-28 Citrix Systems, Inc. Systems and methods for quality of service of encrypted network traffic
US20140071985A1 (en) * 2012-09-12 2014-03-13 Vachaspathi Peter Kompella Method and apparatus for optimizing usage of ternary content addressable memory (tcan)
WO2014063733A1 (en) * 2012-10-25 2014-05-01 Telefonaktiebolaget L M Ericsson (Publ) Handling data in a communications network
WO2014063734A1 (en) * 2012-10-25 2014-05-01 Telefonaktiebolaget L M Ericsson (Publ) Handling data in a communications network
US20140286336A1 (en) * 2013-03-25 2014-09-25 Dell Products, Lp System and Method for Paging Flow Entries in a Flow-Based Switching Device
US8990380B2 (en) 2010-08-12 2015-03-24 Citrix Systems, Inc. Systems and methods for quality of service of ICA published applications
US20150200860A1 (en) * 2014-01-14 2015-07-16 Marvell International Ltd. Method and apparatus for packet classification
US20150281339A1 (en) * 2014-03-28 2015-10-01 Futurewei Technologies, Inc. Context-Aware Dynamic Policy Selection for Load Balancing Behavior
US20150365358A1 (en) * 2014-03-28 2015-12-17 Futurewei Technologies, Inc. Context-Aware Dynamic Policy Selection for Messaging Behavior
EP2958280A1 (en) * 2014-06-19 2015-12-23 Palo Alto Research Center, Incorporated Routing based on the content of packets
EP3002915A1 (en) * 2014-10-02 2016-04-06 Palo Alto Research Center, Incorporated Routing in dependence of the application
US20160283859A1 (en) * 2015-03-25 2016-09-29 Cisco Technology, Inc. Network traffic classification
EP3021538A4 (en) * 2013-07-26 2016-11-16 Huawei Tech Co Ltd Message transmission method, router, and service switch
US9559800B1 (en) * 2008-10-24 2017-01-31 Vmware, Inc. Dynamic packet filtering
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US20180234297A1 (en) * 2017-02-15 2018-08-16 Arista Networks, Inc. System and method of dynamic hardware policer allocation
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US10069728B2 (en) * 2009-09-23 2018-09-04 At&T Intellectual Property I, L.P. Signaling-less dynamic call setup and teardown by utilizing observed session state information
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US10110433B2 (en) * 2011-01-04 2018-10-23 Cisco Technology, Inc. System and method for exchanging information in a mobile wireless network environment
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
RU2679538C2 (en) * 2014-10-17 2019-02-11 ИНТЕЛ АйПи КОРПОРЕЙШН Methods and devices for flexible mobile steering in cellular networks
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US10264099B2 (en) 2016-03-07 2019-04-16 Cisco Technology, Inc. Method and system for content closures in a content centric network
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US20210152481A1 (en) * 2018-12-05 2021-05-20 Citrix Systems, Inc. System and methods to filter out noisy application signatures to improve precision of first packet classification
CN113259243A (en) * 2021-04-26 2021-08-13 深圳市奇虎智能科技有限公司 Automatic application interception method and system of router, storage medium and computer equipment

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300207A1 (en) * 2008-06-02 2009-12-03 Qualcomm Incorporated Pcc enhancements for ciphering support
US8850578B2 (en) * 2008-08-06 2014-09-30 International Business Machines Corporation Network intrusion detection
US8159941B2 (en) * 2008-08-28 2012-04-17 Alcatel Lucent In-band DPI media reservation modifications to RFC 3313
US8051167B2 (en) * 2009-02-13 2011-11-01 Alcatel Lucent Optimized mirror for content identification
US8009682B2 (en) 2009-05-05 2011-08-30 Citrix Systems, Inc. Systems and methods for packet steering in a multi-core architecture
US8503459B2 (en) * 2009-05-05 2013-08-06 Citrix Systems, Inc Systems and methods for providing a multi-core architecture for an acceleration appliance
KR101726359B1 (en) * 2009-09-15 2017-04-12 나파테크 에이/에스 An apparatus for analyzing a data packet, a data packet processing system and a method
US9385970B2 (en) 2009-10-07 2016-07-05 Wichorus, Inc. Method and apparatus for assigning resources in a network node
US9106563B2 (en) 2009-10-07 2015-08-11 Wichorus, Inc. Method and apparatus for switching communications traffic in a communications network
US8531945B2 (en) * 2009-10-07 2013-09-10 Wichorus, Inc. Method and apparatus to support deep packet inspection in a mobile network
US8533360B2 (en) * 2009-10-07 2013-09-10 Wichorus, Inc. Method and apparatus to report resource values in a mobile network
KR101292983B1 (en) * 2009-12-21 2013-08-02 한국전자통신연구원 Apparatus and Method for processing Multi-layer Packet
US9038172B2 (en) 2011-05-06 2015-05-19 The Penn State Research Foundation Robust anomaly detection and regularized domain adaptation of classifiers with application to internet packet-flows
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US8773999B2 (en) 2011-10-26 2014-07-08 International Business Machines Corporation Distributed chassis architecture having integrated service appliances
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9043439B2 (en) 2013-03-14 2015-05-26 Cisco Technology, Inc. Method for streaming packet captures from network access devices to a cloud server over HTTP
US9430306B2 (en) 2013-10-08 2016-08-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Anticipatory protection of critical jobs in a computing system
US10122605B2 (en) 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
US9825878B2 (en) * 2014-09-26 2017-11-21 Cisco Technology, Inc. Distributed application framework for prioritizing network traffic using application priority awareness
US10050862B2 (en) 2015-02-09 2018-08-14 Cisco Technology, Inc. Distributed application framework that uses network and application awareness for placing data
US10708342B2 (en) 2015-02-27 2020-07-07 Cisco Technology, Inc. Dynamic troubleshooting workspaces for cloud and network management systems
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
US10034201B2 (en) 2015-07-09 2018-07-24 Cisco Technology, Inc. Stateless load-balancing across multiple tunnels
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
US10129177B2 (en) 2016-05-23 2018-11-13 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
US10659283B2 (en) 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
US10523592B2 (en) 2016-10-10 2019-12-31 Cisco Technology, Inc. Orchestration system for migrating user data and services based on user information
WO2018082044A1 (en) * 2016-11-04 2018-05-11 华为技术有限公司 Network hotspot control method and related device
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
US11481362B2 (en) 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
US10511534B2 (en) 2018-04-06 2019-12-17 Cisco Technology, Inc. Stateless distributed load-balancing
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels

Citations (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4720850A (en) * 1986-03-14 1988-01-19 American Telephone And Telegraph Company At&T Bell Laboratories Communication system control arrangement
US4893302A (en) * 1988-03-31 1990-01-09 American Telephone And Telegraph Company, At&T Bell Laboratories Arrangement for switching concentrated telecommunications packet traffic
US5151874A (en) * 1990-04-03 1992-09-29 Samsung Electronics Co., Ltd. Integrated circuit for square root operation using neural network
US5428781A (en) * 1989-10-10 1995-06-27 International Business Machines Corp. Distributed mechanism for the fast scheduling of shared objects and apparatus
US5673382A (en) * 1996-05-30 1997-09-30 International Business Machines Corporation Automated management of off-site storage volumes for disaster recovery
US6111852A (en) * 1997-09-18 2000-08-29 Nortel Networks Corporation Methods and systems for emergency routing restoration
US6148410A (en) * 1997-09-15 2000-11-14 International Business Machines Corporation Fault tolerant recoverable TCP/IP connection router
US6320863B1 (en) * 1998-04-17 2001-11-20 Dynarc Inc. Dba Dynamic Network Architecture Inc. Backplane architecture for dynamic synchronous transfer mode
US20020016860A1 (en) * 2000-04-28 2002-02-07 Garcia-Luna-Aceves J. J. System and method for resolving network layer anycast addresses to network layer unicast addresses
US20020036983A1 (en) * 2000-05-22 2002-03-28 Ina Widegren Application influenced policy
US6412000B1 (en) * 1997-11-25 2002-06-25 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US20020107908A1 (en) * 2000-12-28 2002-08-08 Alcatel Usa Sourcing, L.P. QoS monitoring system and method for a high-speed diffserv-capable network element
US20020116521A1 (en) * 2001-02-22 2002-08-22 Denis Paul Soft multi-contract rate policing
US20020122424A1 (en) * 2001-03-05 2002-09-05 Kenichi Kawarai Input line interface device and packet communication device
US20020122422A1 (en) * 2000-09-11 2002-09-05 Anthony Kenney Central policy manager
US20020126623A1 (en) * 2000-01-13 2002-09-12 Robert Kiendl Method for decentralized transmission and distribution of user data between subscribers in a telecommunications network
US20020181462A1 (en) * 2001-04-24 2002-12-05 Sorin Surdila System and method for providing end-to-end quality of service (QoS) across multiple internet protocol (IP) networks
US20030005112A1 (en) * 2001-06-28 2003-01-02 Krautkremer Todd Joseph Methods, apparatuses and systems enabling a network services provider to deliver application performance management services
US20030067903A1 (en) * 1998-07-10 2003-04-10 Jorgensen Jacob W. Method and computer program product for internet protocol (IP)-flow classification in a wireless point to multi-point (PTMP)
US20030081546A1 (en) * 2001-10-26 2003-05-01 Luminous Networks Inc. Aggregate fair queuing technique in a communications system using a class based queuing architecture
US20030108015A1 (en) * 2001-12-07 2003-06-12 Nokia Corporation Mechanisms for policy based umts qos and ip qos management in mobile ip networks
US20030118029A1 (en) * 2000-08-31 2003-06-26 Maher Robert Daniel Method and apparatus for enforcing service level agreements
US6587470B1 (en) * 1999-03-22 2003-07-01 Cisco Technology, Inc. Flexible cross-connect with data plane
US6608832B2 (en) * 1997-09-25 2003-08-19 Telefonaktiebolaget Lm Ericsson Common access between a mobile communications network and an external network with selectable packet-switched and circuit-switched and circuit-switched services
US6615262B2 (en) * 1999-06-28 2003-09-02 Xacct Technologies, Ltd. Statistical gathering framework for extracting information from a network multi-layer stack
US6618355B1 (en) * 1999-05-07 2003-09-09 Carriercomm, Inc. Service tariffing based on usage indicators in a radio based network
US20030229710A1 (en) * 2002-06-11 2003-12-11 Netrake Corporation Method for matching complex patterns in IP data streams
US20030235209A1 (en) * 2002-06-25 2003-12-25 Sachin Garg System and method for providing bandwidth management for VPNs
US6678281B1 (en) * 2000-03-08 2004-01-13 Lucent Technologies Inc. Hardware configuration, support node and method for implementing general packet radio services over GSM
US20040013089A1 (en) * 2001-11-08 2004-01-22 Mukesh Taneja Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US6694450B1 (en) * 2000-05-20 2004-02-17 Equipe Communications Corporation Distributed process redundancy
US20040071084A1 (en) * 2002-10-09 2004-04-15 Nortel Networks Limited Non-intrusive monitoring of quality levels for voice communications over a packet-based network
US6741595B2 (en) * 2002-06-11 2004-05-25 Netrake Corporation Device for enabling trap and trace of internet protocol communications
US20040111461A1 (en) * 2002-08-28 2004-06-10 Claudatos Christopher H. Managing and controlling user applications with network switches
US6751191B1 (en) * 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US6779030B1 (en) * 1997-10-06 2004-08-17 Worldcom, Inc. Intelligent network
US6789116B1 (en) * 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US6807156B1 (en) * 2000-11-07 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
US20040248583A1 (en) * 2000-12-27 2004-12-09 Aharon Satt Resource allocation in cellular telephone networks
US6847613B2 (en) * 2000-03-13 2005-01-25 Hitachi, Ltd. Method of monitoring quality of communication for each flow
US20050036512A1 (en) * 2003-08-14 2005-02-17 Dmitrii Loukianov Timestamping network controller for streaming media applications
US20050041584A1 (en) * 2003-08-14 2005-02-24 Richard Lau Auto-IP traffic optimization in mobile telecommunications systems
US20050041583A1 (en) * 2003-08-21 2005-02-24 Su Kailing James Multi-time scale adaptive internet protocol routing system and method
US6873600B1 (en) * 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US20050068722A1 (en) * 2003-09-29 2005-03-31 Wen Wei Front side hot-swap chassis management module
US20050100000A1 (en) * 2003-11-07 2005-05-12 Foursticks Pty Ltd Method and system for windows based traffic management
US20050141493A1 (en) * 1998-12-24 2005-06-30 Hardy William C. Real time monitoring of perceived quality of packet voice transmission
US6920109B2 (en) * 2000-05-17 2005-07-19 Hitachi, Ltd. Packet shaper
US6944673B2 (en) * 2000-09-08 2005-09-13 The Regents Of The University Of Michigan Method and system for profiling network flows at a measurement point within a computer network
US20050213504A1 (en) * 2004-03-25 2005-09-29 Hiroshi Enomoto Information relay apparatus and method for collecting flow statistic information
US6961539B2 (en) * 2001-08-09 2005-11-01 Hughes Electronics Corporation Low latency handling of transmission control protocol messages in a broadband satellite communications system
US20050254502A1 (en) * 2004-05-11 2005-11-17 Lynn Choi Packet classification method through hierarchical rulebase partitioning
US6968394B1 (en) * 1997-09-22 2005-11-22 Zaksat General Trading Co., Wll Asymmetric satellite-based internet service
US20060015698A1 (en) * 2004-05-11 2006-01-19 Samsung Electronics Co., Ltd. Method and apparatus for data backup
US20060028982A1 (en) * 2004-08-06 2006-02-09 Wright Steven A Methods, systems, and computer program products for managing admission control in a regional/access network based on implicit protocol detection
US20060028983A1 (en) * 2004-08-06 2006-02-09 Wright Steven A Methods, systems, and computer program products for managing admission control in a regional/access network using defined link constraints for an application
US7002977B1 (en) * 2001-06-29 2006-02-21 Luminous Networks, Inc. Policy based accounting and billing for network services
US20060072451A1 (en) * 2004-09-27 2006-04-06 Ross Alan D Role-based network traffic-flow rate control
US20060077963A1 (en) * 2004-10-07 2006-04-13 Santera Systems, Inc. Methods and systems for per-session traffic rate policing in a media gateway
US20060101159A1 (en) * 2004-10-25 2006-05-11 Alcatel Internal load balancing in a data switch using distributed network processing
US20060114832A1 (en) * 2001-05-22 2006-06-01 Hamilton Thomas E Platform and method for providing data services in a communication network
US20060140128A1 (en) * 2004-12-29 2006-06-29 Paul Chi Traffic generator and monitor
US20060140119A1 (en) * 2004-12-29 2006-06-29 Alcatel Predictive congestion management in a data communications switch using traffic and system statistics
US20060149841A1 (en) * 2004-12-20 2006-07-06 Alcatel Application session management for flow-based statistics
US20060153174A1 (en) * 2003-06-28 2006-07-13 Towns-Von Stauber Leon Quality determination for packetized information
US7085230B2 (en) * 1998-12-24 2006-08-01 Mci, Llc Method and system for evaluating the quality of packet-switched voice signals
US20060233100A1 (en) * 2005-04-13 2006-10-19 Luft Siegfried J Application aware traffic shaping service node positioned between the access and core networks
US20060233101A1 (en) * 2005-04-13 2006-10-19 Luft Siegfried J Network element architecture for deep packet inspection
US7143006B2 (en) * 2005-03-23 2006-11-28 Cisco Technology, Inc. Policy-based approach for managing the export of network flow statistical data
US20070061433A1 (en) * 2005-09-12 2007-03-15 Scott Reynolds Methods and apparatus to support dynamic allocation of traffic management resources in a network element
US20070058632A1 (en) * 2005-09-12 2007-03-15 Jonathan Back Packet flow bifurcation and analysis
US20070058629A1 (en) * 2005-09-09 2007-03-15 Luft Siegfried J Application driven fast unicast flow replication
US7203169B1 (en) * 2001-12-20 2007-04-10 Packeteer, Inc. Interface facilitating configuration of network resource utilization
US20070127473A1 (en) * 2005-12-01 2007-06-07 Andrew Kessler Interdomain bi-directional protocol independent multicast
US20070140131A1 (en) * 2005-12-15 2007-06-21 Malloy Patrick J Interactive network monitoring and analysis
US7251215B1 (en) * 2002-08-26 2007-07-31 Juniper Networks, Inc. Adaptive network router
US7257616B2 (en) * 1999-08-27 2007-08-14 International Business Machines Corporation Network switch and components and method of operation
US20070195872A1 (en) * 2001-11-09 2007-08-23 Adc Dsl Systems, Inc. Non-chronological system statistics
US20070234364A1 (en) * 2006-03-30 2007-10-04 Daniel Lipton Post-processing phase in a distributed computing system
US20070233698A1 (en) * 2006-03-30 2007-10-04 Cassatt Corporation Distributed computing system having autonomic deployment of virtual machine disk images
US7289433B1 (en) * 2000-10-24 2007-10-30 Nortel Networks Limited Method and system for providing robust connections in networking applications
US7299277B1 (en) * 2002-01-10 2007-11-20 Network General Technology Media module apparatus and method for use in a network monitoring environment
US20070286351A1 (en) * 2006-05-23 2007-12-13 Cisco Technology, Inc. Method and System for Adaptive Media Quality Monitoring
US20080082979A1 (en) * 2006-09-29 2008-04-03 International Business Machines Corporation Job scheduling to maximize use of reusable resources and minimize resource deallocation
US20080104085A1 (en) * 2006-10-25 2008-05-01 Papoutsakis Emmanuel A Distributed database
US7376731B2 (en) * 2002-01-29 2008-05-20 Acme Packet, Inc. System and method for providing statistics gathering within a packet network
US20080134327A1 (en) * 2006-12-01 2008-06-05 Sonus Networks Filtering and Policing for Defending Against Denial of Service Attacks on a Network
US20080155087A1 (en) * 2006-10-27 2008-06-26 Nortel Networks Limited Method and apparatus for designing, updating and operating a network based on quality of experience
US20080177424A1 (en) * 2007-01-24 2008-07-24 Wheeler Andrew R Regulating power consumption
US7420917B2 (en) * 2003-07-17 2008-09-02 Hitachi, Ltd. Bandwidth policing method and packet transfer apparatus with bandwidth policing function
US7453804B1 (en) * 2005-02-08 2008-11-18 Packeteer, Inc. Aggregate network resource utilization control scheme
US7496661B1 (en) * 2004-03-29 2009-02-24 Packeteer, Inc. Adaptive, application-aware selection of differentiated network services
US7620526B2 (en) * 2006-10-25 2009-11-17 Zeugma Systems Inc. Technique for accessing a database of serializable objects using field values corresponding to fields of an object marked with the same index value

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897874A (en) 1988-03-31 1990-01-30 American Telephone And Telegraph Company At&T Bell Laboratories Metropolitan area network arrangement for serving virtual data networks
US5881050A (en) 1996-07-23 1999-03-09 International Business Machines Corporation Method and system for non-disruptively assigning link bandwidth to a user in a high speed digital network
CA2276526A1 (en) 1997-01-03 1998-07-09 Telecommunications Research Laboratories Method for real-time traffic analysis on packet networks
WO2000033511A1 (en) 1998-12-02 2000-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for improving end-user quality of service in packet switched networks
US6680933B1 (en) 1999-09-23 2004-01-20 Nortel Networks Limited Telecommunications switches and methods for their operation
US6948003B1 (en) 2000-03-15 2005-09-20 Ensim Corporation Enabling a service provider to provide intranet services
AU2000266750A1 (en) 2000-08-17 2002-02-25 Redback Networks, Inc. Methods and apparatus for packet classification with multi-level data structure
US7120931B1 (en) 2000-08-31 2006-10-10 Cisco Technology, Inc. System and method for generating filters based on analyzed flow data
EP1323040A4 (en) 2000-09-08 2005-08-03 Goahead Software Inc A system and method for managing clusters containing multiple nodes
US20030206549A1 (en) 2002-05-03 2003-11-06 Mody Sachin Satish Method and apparatus for multicast delivery of information
US7336660B2 (en) 2002-05-31 2008-02-26 Cisco Technology, Inc. Method and apparatus for processing packets based on information extracted from the packets and context indications such as but not limited to input interface characteristics
CA2388792A1 (en) 2002-05-31 2003-11-30 Catena Networks Canada Inc. An improved system and method for transporting multiple services over a backplane
US20040148520A1 (en) 2003-01-29 2004-07-29 Rajesh Talpade Mitigating denial of service attacks
BRPI0413812A (en) 2003-08-21 2006-10-17 Vidiator Entpr Inc quality of experience (qoe) device and method for cellular communication network
JP5356652B2 (en) 2004-02-12 2013-12-04 コア ワイアレス ライセンシング エス アー アール エル Classified media experience quality
WO2006020834A1 (en) 2004-08-11 2006-02-23 Vidiator Enterprises, Inc. Multicast and broadcast streaming method and system

Patent Citations (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4720850A (en) * 1986-03-14 1988-01-19 American Telephone And Telegraph Company At&T Bell Laboratories Communication system control arrangement
US4893302A (en) * 1988-03-31 1990-01-09 American Telephone And Telegraph Company, At&T Bell Laboratories Arrangement for switching concentrated telecommunications packet traffic
US5428781A (en) * 1989-10-10 1995-06-27 International Business Machines Corp. Distributed mechanism for the fast scheduling of shared objects and apparatus
US5151874A (en) * 1990-04-03 1992-09-29 Samsung Electronics Co., Ltd. Integrated circuit for square root operation using neural network
US5673382A (en) * 1996-05-30 1997-09-30 International Business Machines Corporation Automated management of off-site storage volumes for disaster recovery
US6148410A (en) * 1997-09-15 2000-11-14 International Business Machines Corporation Fault tolerant recoverable TCP/IP connection router
US6111852A (en) * 1997-09-18 2000-08-29 Nortel Networks Corporation Methods and systems for emergency routing restoration
US6968394B1 (en) * 1997-09-22 2005-11-22 Zaksat General Trading Co., Wll Asymmetric satellite-based internet service
US6608832B2 (en) * 1997-09-25 2003-08-19 Telefonaktiebolaget Lm Ericsson Common access between a mobile communications network and an external network with selectable packet-switched and circuit-switched and circuit-switched services
US6779030B1 (en) * 1997-10-06 2004-08-17 Worldcom, Inc. Intelligent network
US6412000B1 (en) * 1997-11-25 2002-06-25 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US6320863B1 (en) * 1998-04-17 2001-11-20 Dynarc Inc. Dba Dynamic Network Architecture Inc. Backplane architecture for dynamic synchronous transfer mode
US20030067903A1 (en) * 1998-07-10 2003-04-10 Jorgensen Jacob W. Method and computer program product for internet protocol (IP)-flow classification in a wireless point to multi-point (PTMP)
US7085230B2 (en) * 1998-12-24 2006-08-01 Mci, Llc Method and system for evaluating the quality of packet-switched voice signals
US20050141493A1 (en) * 1998-12-24 2005-06-30 Hardy William C. Real time monitoring of perceived quality of packet voice transmission
US6587470B1 (en) * 1999-03-22 2003-07-01 Cisco Technology, Inc. Flexible cross-connect with data plane
US6618355B1 (en) * 1999-05-07 2003-09-09 Carriercomm, Inc. Service tariffing based on usage indicators in a radio based network
US6615262B2 (en) * 1999-06-28 2003-09-02 Xacct Technologies, Ltd. Statistical gathering framework for extracting information from a network multi-layer stack
US6751191B1 (en) * 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US6789116B1 (en) * 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US7257616B2 (en) * 1999-08-27 2007-08-14 International Business Machines Corporation Network switch and components and method of operation
US20020126623A1 (en) * 2000-01-13 2002-09-12 Robert Kiendl Method for decentralized transmission and distribution of user data between subscribers in a telecommunications network
US6873600B1 (en) * 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US6678281B1 (en) * 2000-03-08 2004-01-13 Lucent Technologies Inc. Hardware configuration, support node and method for implementing general packet radio services over GSM
US6847613B2 (en) * 2000-03-13 2005-01-25 Hitachi, Ltd. Method of monitoring quality of communication for each flow
US20020016860A1 (en) * 2000-04-28 2002-02-07 Garcia-Luna-Aceves J. J. System and method for resolving network layer anycast addresses to network layer unicast addresses
US6920109B2 (en) * 2000-05-17 2005-07-19 Hitachi, Ltd. Packet shaper
US6694450B1 (en) * 2000-05-20 2004-02-17 Equipe Communications Corporation Distributed process redundancy
US20020036983A1 (en) * 2000-05-22 2002-03-28 Ina Widegren Application influenced policy
US7272115B2 (en) * 2000-08-31 2007-09-18 Audiocodes Texas, Inc. Method and apparatus for enforcing service level agreements
US20030118029A1 (en) * 2000-08-31 2003-06-26 Maher Robert Daniel Method and apparatus for enforcing service level agreements
US6944673B2 (en) * 2000-09-08 2005-09-13 The Regents Of The University Of Michigan Method and system for profiling network flows at a measurement point within a computer network
US20020122422A1 (en) * 2000-09-11 2002-09-05 Anthony Kenney Central policy manager
US7289433B1 (en) * 2000-10-24 2007-10-30 Nortel Networks Limited Method and system for providing robust connections in networking applications
US6807156B1 (en) * 2000-11-07 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
US20040248583A1 (en) * 2000-12-27 2004-12-09 Aharon Satt Resource allocation in cellular telephone networks
US20020107908A1 (en) * 2000-12-28 2002-08-08 Alcatel Usa Sourcing, L.P. QoS monitoring system and method for a high-speed diffserv-capable network element
US20020116521A1 (en) * 2001-02-22 2002-08-22 Denis Paul Soft multi-contract rate policing
US20020122424A1 (en) * 2001-03-05 2002-09-05 Kenichi Kawarai Input line interface device and packet communication device
US20020181462A1 (en) * 2001-04-24 2002-12-05 Sorin Surdila System and method for providing end-to-end quality of service (QoS) across multiple internet protocol (IP) networks
US20060114832A1 (en) * 2001-05-22 2006-06-01 Hamilton Thomas E Platform and method for providing data services in a communication network
US20030005112A1 (en) * 2001-06-28 2003-01-02 Krautkremer Todd Joseph Methods, apparatuses and systems enabling a network services provider to deliver application performance management services
US7002977B1 (en) * 2001-06-29 2006-02-21 Luminous Networks, Inc. Policy based accounting and billing for network services
US6961539B2 (en) * 2001-08-09 2005-11-01 Hughes Electronics Corporation Low latency handling of transmission control protocol messages in a broadband satellite communications system
US20030081546A1 (en) * 2001-10-26 2003-05-01 Luminous Networks Inc. Aggregate fair queuing technique in a communications system using a class based queuing architecture
US20040013089A1 (en) * 2001-11-08 2004-01-22 Mukesh Taneja Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US20070195872A1 (en) * 2001-11-09 2007-08-23 Adc Dsl Systems, Inc. Non-chronological system statistics
US20030108015A1 (en) * 2001-12-07 2003-06-12 Nokia Corporation Mechanisms for policy based umts qos and ip qos management in mobile ip networks
US7203169B1 (en) * 2001-12-20 2007-04-10 Packeteer, Inc. Interface facilitating configuration of network resource utilization
US7299277B1 (en) * 2002-01-10 2007-11-20 Network General Technology Media module apparatus and method for use in a network monitoring environment
US7376731B2 (en) * 2002-01-29 2008-05-20 Acme Packet, Inc. System and method for providing statistics gathering within a packet network
US6741595B2 (en) * 2002-06-11 2004-05-25 Netrake Corporation Device for enabling trap and trace of internet protocol communications
US20030229710A1 (en) * 2002-06-11 2003-12-11 Netrake Corporation Method for matching complex patterns in IP data streams
US20030235209A1 (en) * 2002-06-25 2003-12-25 Sachin Garg System and method for providing bandwidth management for VPNs
US7492713B1 (en) * 2002-08-26 2009-02-17 Juniper Networks, Inc. Adaptive network router
US7251215B1 (en) * 2002-08-26 2007-07-31 Juniper Networks, Inc. Adaptive network router
US20040111461A1 (en) * 2002-08-28 2004-06-10 Claudatos Christopher H. Managing and controlling user applications with network switches
US20040071084A1 (en) * 2002-10-09 2004-04-15 Nortel Networks Limited Non-intrusive monitoring of quality levels for voice communications over a packet-based network
US20060153174A1 (en) * 2003-06-28 2006-07-13 Towns-Von Stauber Leon Quality determination for packetized information
US7420917B2 (en) * 2003-07-17 2008-09-02 Hitachi, Ltd. Bandwidth policing method and packet transfer apparatus with bandwidth policing function
US20050041584A1 (en) * 2003-08-14 2005-02-24 Richard Lau Auto-IP traffic optimization in mobile telecommunications systems
US20050036512A1 (en) * 2003-08-14 2005-02-17 Dmitrii Loukianov Timestamping network controller for streaming media applications
US20050041583A1 (en) * 2003-08-21 2005-02-24 Su Kailing James Multi-time scale adaptive internet protocol routing system and method
US20050068722A1 (en) * 2003-09-29 2005-03-31 Wen Wei Front side hot-swap chassis management module
US20050100000A1 (en) * 2003-11-07 2005-05-12 Foursticks Pty Ltd Method and system for windows based traffic management
US20050213504A1 (en) * 2004-03-25 2005-09-29 Hiroshi Enomoto Information relay apparatus and method for collecting flow statistic information
US7496661B1 (en) * 2004-03-29 2009-02-24 Packeteer, Inc. Adaptive, application-aware selection of differentiated network services
US20060015698A1 (en) * 2004-05-11 2006-01-19 Samsung Electronics Co., Ltd. Method and apparatus for data backup
US20050254502A1 (en) * 2004-05-11 2005-11-17 Lynn Choi Packet classification method through hierarchical rulebase partitioning
US20060028983A1 (en) * 2004-08-06 2006-02-09 Wright Steven A Methods, systems, and computer program products for managing admission control in a regional/access network using defined link constraints for an application
US20060028982A1 (en) * 2004-08-06 2006-02-09 Wright Steven A Methods, systems, and computer program products for managing admission control in a regional/access network based on implicit protocol detection
US20060072451A1 (en) * 2004-09-27 2006-04-06 Ross Alan D Role-based network traffic-flow rate control
US20060077963A1 (en) * 2004-10-07 2006-04-13 Santera Systems, Inc. Methods and systems for per-session traffic rate policing in a media gateway
US20060101159A1 (en) * 2004-10-25 2006-05-11 Alcatel Internal load balancing in a data switch using distributed network processing
US20060149841A1 (en) * 2004-12-20 2006-07-06 Alcatel Application session management for flow-based statistics
US20060140128A1 (en) * 2004-12-29 2006-06-29 Paul Chi Traffic generator and monitor
US20060140119A1 (en) * 2004-12-29 2006-06-29 Alcatel Predictive congestion management in a data communications switch using traffic and system statistics
US7453804B1 (en) * 2005-02-08 2008-11-18 Packeteer, Inc. Aggregate network resource utilization control scheme
US7143006B2 (en) * 2005-03-23 2006-11-28 Cisco Technology, Inc. Policy-based approach for managing the export of network flow statistical data
US20060233101A1 (en) * 2005-04-13 2006-10-19 Luft Siegfried J Network element architecture for deep packet inspection
US20060233100A1 (en) * 2005-04-13 2006-10-19 Luft Siegfried J Application aware traffic shaping service node positioned between the access and core networks
US20070058629A1 (en) * 2005-09-09 2007-03-15 Luft Siegfried J Application driven fast unicast flow replication
US20070061433A1 (en) * 2005-09-12 2007-03-15 Scott Reynolds Methods and apparatus to support dynamic allocation of traffic management resources in a network element
US20070058632A1 (en) * 2005-09-12 2007-03-15 Jonathan Back Packet flow bifurcation and analysis
US20070127473A1 (en) * 2005-12-01 2007-06-07 Andrew Kessler Interdomain bi-directional protocol independent multicast
US20070140131A1 (en) * 2005-12-15 2007-06-21 Malloy Patrick J Interactive network monitoring and analysis
US20070233698A1 (en) * 2006-03-30 2007-10-04 Cassatt Corporation Distributed computing system having autonomic deployment of virtual machine disk images
US20070234364A1 (en) * 2006-03-30 2007-10-04 Daniel Lipton Post-processing phase in a distributed computing system
US20070286351A1 (en) * 2006-05-23 2007-12-13 Cisco Technology, Inc. Method and System for Adaptive Media Quality Monitoring
US20080082979A1 (en) * 2006-09-29 2008-04-03 International Business Machines Corporation Job scheduling to maximize use of reusable resources and minimize resource deallocation
US20080104085A1 (en) * 2006-10-25 2008-05-01 Papoutsakis Emmanuel A Distributed database
US7620526B2 (en) * 2006-10-25 2009-11-17 Zeugma Systems Inc. Technique for accessing a database of serializable objects using field values corresponding to fields of an object marked with the same index value
US20080155087A1 (en) * 2006-10-27 2008-06-26 Nortel Networks Limited Method and apparatus for designing, updating and operating a network based on quality of experience
US20080134327A1 (en) * 2006-12-01 2008-06-05 Sonus Networks Filtering and Policing for Defending Against Denial of Service Attacks on a Network
US20080177424A1 (en) * 2007-01-24 2008-07-24 Wheeler Andrew R Regulating power consumption

Cited By (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127483A1 (en) * 2005-12-02 2007-06-07 Alcatel Network node with modular multi-stage packet classification
US20080298230A1 (en) * 2007-05-30 2008-12-04 Luft Siegfried J Scheduling of workloads in a distributed compute environment
US20090034426A1 (en) * 2007-08-01 2009-02-05 Luft Siegfried J Monitoring quality of experience on a per subscriber, per session basis
US7706291B2 (en) 2007-08-01 2010-04-27 Zeugma Systems Inc. Monitoring quality of experience on a per subscriber, per session basis
US8374102B2 (en) 2007-10-02 2013-02-12 Tellabs Communications Canada, Ltd. Intelligent collection and management of flow statistics
US20100070625A1 (en) * 2008-09-05 2010-03-18 Zeus Technology Limited Supplying Data Files to Requesting Stations
US10193770B2 (en) * 2008-09-05 2019-01-29 Pulse Secure, Llc Supplying data files to requesting stations
US9559800B1 (en) * 2008-10-24 2017-01-31 Vmware, Inc. Dynamic packet filtering
US10069728B2 (en) * 2009-09-23 2018-09-04 At&T Intellectual Property I, L.P. Signaling-less dynamic call setup and teardown by utilizing observed session state information
US20120026897A1 (en) * 2010-07-29 2012-02-02 Cisco Technology, Inc., A Corporation Of California Packet Switching Device Using Results Determined by an Application Node
US8520672B2 (en) * 2010-07-29 2013-08-27 Cisco Technology, Inc. Packet switching device using results determined by an application node
US9602577B2 (en) 2010-08-12 2017-03-21 Citrix Systems, Inc. Systems and methods for quality of service of ICA published applications
US8990380B2 (en) 2010-08-12 2015-03-24 Citrix Systems, Inc. Systems and methods for quality of service of ICA published applications
US8638795B2 (en) 2010-08-12 2014-01-28 Citrix Systems, Inc. Systems and methods for quality of service of encrypted network traffic
WO2012021717A1 (en) * 2010-08-12 2012-02-16 Steve Jackowski Systems and methods for multi-level quality of service classification in an intermediary device
US9071542B2 (en) 2010-08-12 2015-06-30 Citrix Systems, Inc. Systems and methods for multi-level quality of service classification in an intermediary device
US9294378B2 (en) 2010-08-12 2016-03-22 Citrix Systems, Inc. Systems and methods for quality of service of encrypted network traffic
US8792491B2 (en) 2010-08-12 2014-07-29 Citrix Systems, Inc. Systems and methods for multi-level quality of service classification in an intermediary device
US10110433B2 (en) * 2011-01-04 2018-10-23 Cisco Technology, Inc. System and method for exchanging information in a mobile wireless network environment
EP2592784A1 (en) * 2011-11-14 2013-05-15 Alcatel Lucent Apparatus, method and computer program for routing data packets
JP2015507383A (en) * 2011-11-14 2015-03-05 アルカテル−ルーセント Apparatus, method and computer program for routing data packets
KR101552451B1 (en) 2011-11-14 2015-09-10 알까뗄 루슨트 Apparatus, method and computer program for routing data packets
TWI481224B (en) * 2011-11-14 2015-04-11 Alcatel Lucent Apparatus, method and computer program for routing data packets
WO2013072137A1 (en) * 2011-11-14 2013-05-23 Alcatel Lucent Apparatus, method and computer program for routing data packets
US10708171B2 (en) 2011-11-14 2020-07-07 Alcatel Lucent Apparatus, method and computer program for routing data packets
US20130223442A1 (en) * 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Managing Unknown Flows in a Flow-Based Switching Device
US9559948B2 (en) * 2012-02-29 2017-01-31 Dell Products, Lp System and method for managing unknown flows in a flow-based switching device
US20130223226A1 (en) * 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Providing a Split Data Plane in a Flow-Based Switching Device
US8937945B2 (en) * 2012-09-12 2015-01-20 Alcatel Lucent Method and apparatus for optimizing usage of ternary content addressable memory (TCAM)
US20140071985A1 (en) * 2012-09-12 2014-03-13 Vachaspathi Peter Kompella Method and apparatus for optimizing usage of ternary content addressable memory (tcan)
WO2014063733A1 (en) * 2012-10-25 2014-05-01 Telefonaktiebolaget L M Ericsson (Publ) Handling data in a communications network
US9668242B2 (en) 2012-10-25 2017-05-30 Telefonaktiebolaget Lm Ericsson (Publ) Handling data in a communications network
WO2014063734A1 (en) * 2012-10-25 2014-05-01 Telefonaktiebolaget L M Ericsson (Publ) Handling data in a communications network
US9622107B2 (en) 2012-10-25 2017-04-11 Telefonaktiebolaget Lm Ericsson (Publ) Handling data in a communications network
US20140286336A1 (en) * 2013-03-25 2014-09-25 Dell Products, Lp System and Method for Paging Flow Entries in a Flow-Based Switching Device
US9641428B2 (en) * 2013-03-25 2017-05-02 Dell Products, Lp System and method for paging flow entries in a flow-based switching device
EP3787242A1 (en) * 2013-07-26 2021-03-03 Huawei Technologies Co., Ltd. Packet sending method, router, and service switching entity
US10693772B2 (en) 2013-07-26 2020-06-23 Huawei Technologies Co., Ltd. Packet sending method, router, and service switching entity
EP3021538A4 (en) * 2013-07-26 2016-11-16 Huawei Tech Co Ltd Message transmission method, router, and service switch
US10148562B2 (en) 2013-07-26 2018-12-04 Huawei Technology Co., Ltd. Packet sending method, router, and service switching entity
US10686696B2 (en) 2013-07-26 2020-06-16 Huawei Technologies Co., Ltd. Packet sending method, router, and service switching entity
US11362938B2 (en) 2013-07-26 2022-06-14 Huawei Technologies Co., Ltd. Packet sending method, router, and service switching entity
US10050892B2 (en) * 2014-01-14 2018-08-14 Marvell International Ltd. Method and apparatus for packet classification
US20150200860A1 (en) * 2014-01-14 2015-07-16 Marvell International Ltd. Method and apparatus for packet classification
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US10445380B2 (en) 2014-03-04 2019-10-15 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
CN106462389A (en) * 2014-03-28 2017-02-22 华为技术有限公司 Context-aware dynamic policy selection for messaging behavior
US20150365358A1 (en) * 2014-03-28 2015-12-17 Futurewei Technologies, Inc. Context-Aware Dynamic Policy Selection for Messaging Behavior
US9450895B2 (en) * 2014-03-28 2016-09-20 Futurewei Technologies, Inc. Context-aware dynamic policy selection for messaging behavior
US9602380B2 (en) * 2014-03-28 2017-03-21 Futurewei Technologies, Inc. Context-aware dynamic policy selection for load balancing behavior
US20150281339A1 (en) * 2014-03-28 2015-10-01 Futurewei Technologies, Inc. Context-Aware Dynamic Policy Selection for Load Balancing Behavior
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US10158656B2 (en) 2014-05-22 2018-12-18 Cisco Technology, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
EP2958280A1 (en) * 2014-06-19 2015-12-23 Palo Alto Research Center, Incorporated Routing based on the content of packets
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US10237075B2 (en) 2014-07-17 2019-03-19 Cisco Technology, Inc. Reconstructable content objects
US9929935B2 (en) 2014-07-18 2018-03-27 Cisco Technology, Inc. Method and system for keeping interest alive in a content centric network
US10305968B2 (en) 2014-07-18 2019-05-28 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US10367871B2 (en) 2014-08-19 2019-07-30 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
CN105490939A (en) * 2014-10-02 2016-04-13 帕洛阿尔托研究中心公司 Routing in dependence of the application
EP3002915A1 (en) * 2014-10-02 2016-04-06 Palo Alto Research Center, Incorporated Routing in dependence of the application
US10979349B2 (en) 2014-10-17 2021-04-13 Apple Inc. Methods and apparatuses for flexible mobile steering in cellular networks
US10560374B2 (en) 2014-10-17 2020-02-11 Apple Inc. Methods and apparatuses for flexible mobile steering in cellular networks
RU2679538C2 (en) * 2014-10-17 2019-02-11 ИНТЕЛ АйПи КОРПОРЕЙШН Methods and devices for flexible mobile steering in cellular networks
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US10715634B2 (en) 2014-10-23 2020-07-14 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US10091012B2 (en) 2014-12-24 2018-10-02 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US10440161B2 (en) 2015-01-12 2019-10-08 Cisco Technology, Inc. Auto-configurable transport stack
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US20160283859A1 (en) * 2015-03-25 2016-09-29 Cisco Technology, Inc. Network traffic classification
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US10419345B2 (en) 2015-09-11 2019-09-17 Cisco Technology, Inc. Network named fragments in a content centric network
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10581967B2 (en) 2016-01-11 2020-03-03 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10264099B2 (en) 2016-03-07 2019-04-16 Cisco Technology, Inc. Method and system for content closures in a content centric network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US10348865B2 (en) 2016-04-04 2019-07-09 Cisco Technology, Inc. System and method for compressing content centric networking messages
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10404537B2 (en) 2016-05-13 2019-09-03 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10897518B2 (en) 2016-10-03 2021-01-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10721332B2 (en) 2016-10-31 2020-07-21 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US20180234297A1 (en) * 2017-02-15 2018-08-16 Arista Networks, Inc. System and method of dynamic hardware policer allocation
US10673704B2 (en) * 2017-02-15 2020-06-02 Arista Networks, Inc. System and method of dynamic hardware policer allocation
US20210152481A1 (en) * 2018-12-05 2021-05-20 Citrix Systems, Inc. System and methods to filter out noisy application signatures to improve precision of first packet classification
US11582158B2 (en) * 2018-12-05 2023-02-14 Citrix Systems, Inc. System and methods to filter out noisy application signatures to improve precision of first packet classification
CN113259243A (en) * 2021-04-26 2021-08-13 深圳市奇虎智能科技有限公司 Automatic application interception method and system of router, storage medium and computer equipment

Also Published As

Publication number Publication date
US7773510B2 (en) 2010-08-10
EP2151110A4 (en) 2013-01-02
WO2008144886A1 (en) 2008-12-04
CA2687355A1 (en) 2008-12-04
EP2151110A1 (en) 2010-02-10

Similar Documents

Publication Publication Date Title
US7773510B2 (en) Application routing in a distributed compute environment
US20230006929A1 (en) Method and system of application-aware routing with crowdsourcing
US8374102B2 (en) Intelligent collection and management of flow statistics
US11374904B2 (en) Method and system of a cloud-based multipath routing protocol
US11677720B2 (en) Method and system of establishing a virtual private network in a cloud service for branch networking
US7508764B2 (en) Packet flow bifurcation and analysis
US7706291B2 (en) Monitoring quality of experience on a per subscriber, per session basis
US7606147B2 (en) Application aware traffic shaping service node positioned between the access and core networks
US7719966B2 (en) Network element architecture for deep packet inspection
CN110784400B (en) N: 1 method, system and standby service gateway for redundancy of stateful application gateway
US20080298230A1 (en) Scheduling of workloads in a distributed compute environment

Legal Events

Date Code Title Description
AS Assignment

Owner name: ZEUGMA SYSTEMS, INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BACK, JONATHAN;LUFT, SIEGFRIED J.;REEL/FRAME:019426/0670;SIGNING DATES FROM 20070522 TO 20070523

Owner name: ZEUGMA SYSTEMS, INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BACK, JONATHAN;LUFT, SIEGFRIED J.;SIGNING DATES FROM 20070522 TO 20070523;REEL/FRAME:019426/0670

AS Assignment

Owner name: VELOCITY FINANCIAL GROUP INC., ITS SUCCESSORS AND

Free format text: SECURITY AGREEMENT;ASSIGNOR:ZEUGMA SYSTEMS, INC.;REEL/FRAME:020887/0861

Effective date: 20080430

AS Assignment

Owner name: ZEUGMA SYSTEMS INC., CANADA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:VELOCITY FINANCIAL GROUP, INC., ITS SUCCESSORS AND ASSIGNS;REEL/FRAME:025448/0536

Effective date: 20101119

AS Assignment

Owner name: TELLABS COMMUNICATIONS CANADA, LTD., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZEUGMA SYSTEMS INC.;REEL/FRAME:025745/0495

Effective date: 20110126

AS Assignment

Owner name: TELLABS COMMUNICATIONS CANADA, LTD., CANADA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S STREET ADDRESS PREVIOUSLY RECORDED ON REEL 025745 FRAME 0495. ASSIGNOR(S) HEREBY CONFIRMS THE DELETE "BROOKFILED PLACE" AND INSERT --BROOKFIELD PLACE--.;ASSIGNOR:ZEUGMA SYSTEMS INC.;REEL/FRAME:026467/0446

Effective date: 20110126

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20180810