Method for controlling network traffic with a subscriber-aware

By introducing a subscriber-aware decoupler into the network traffic management system, the problem of difficulty in managing multi-IP address subscriber network traffic in the prior art is solved, effective aggregation and policy implementation of this type of traffic are realized, and the efficiency of network traffic management is improved.

CN119728559APending Publication Date: 2025-03-28F5 NETWORKS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411362518.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-28
Filing Date
2024-09-27
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

Existing depolymerizers can only direct network traffic based on a single source or destination IP address to one thread in the CNF, while subscribers can generate traffic from multiple IP addresses, resulting in difficulties in managing network traffic and implementing necessary policies.

Method used

By implementing a subscriber-aware decoupler in the network traffic management system, the network address in the network packet received from the client is mapped to the primary network address of one of the subscriber's multiple subscribers in the subscriber database, and the network packet is routed to one of the multiple processing nodes and processing threads based on the primary network address.

Benefits of technology

Effective aggregation and management of network traffic of subscribers with multiple IP addresses is realized, network traffic policies can be implemented more effectively, and network traffic management efficiency and flexibility are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728559A_ABST
    Figure CN119728559A_ABST
Patent Text Reader

Abstract

A method, a network traffic management apparatus, a non-transitory computer-readable medium, and a network traffic management system for controlling network traffic using a subscriber-aware deaggregator include mapping a network address in a network packet received from a client to a subscriber of a plurality of subscribers in a subscriber database. A master network address of the one of the subscribers is identified from the mapped network addresses, wherein the subscriber has at least one other network address associated with the one of the subscribers. The network packet is routed to a determined one of a plurality of processing nodes and processing threads based on the primary network address of the one of the subscribers.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present technology generally relates to methods and systems and methods thereof for controlling network traffic using a subscriber-aware disaggregator. Background Art

[0002] Network traffic management computing systems are often added to perform security, processing, and / or routing functions between client devices seeking to access and interact with server computing devices. These network traffic management computing systems can be configured to provide threads in cloud native network functions (CNFs) that scale horizontally as the network load served increases. In these existing traffic management computing systems, traffic can be directed by a deaggregator to a specific one of the threads to enable executable network traffic policy actions, such as bandwidth control or traffic management, to be implemented on this traffic from a subscriber.

[0003] Unfortunately, existing disaggregators can only direct network traffic based on a single source or destination IP address to a single thread in one of the CNFs, while a subscriber can generate traffic from multiple IP addresses. For example, a single mobile phone can get multiple IPv4 / IPv6 addresses assigned, which can lead to problems with managing network traffic for this subscriber and enforcing necessary policies. Summary of the invention

[0004] A method implemented by a network traffic management system, the network traffic management system including one or more server devices, host devices, or client devices that maps a network address in a network packet received from a client to one of a plurality of subscribers in a subscriber database. A primary network address of one of the subscribers is identified from the mapped network address, wherein the subscriber has at least one other network address associated with the one of the subscribers. Based on the primary network address of the one of the subscribers, the network packet is routed to a determined one of a plurality of processing nodes and processing threads.

[0005] The network traffic management device includes: a memory including programmed instructions stored thereon; and one or more processors configured to execute the stored programmed instructions to map a network address in a network packet received from a client to one of a plurality of subscribers in a subscriber database. Identify a primary network address of one of the subscribers from the mapped network address, wherein the subscriber has at least one other network address associated with the one of the subscribers. Based on the primary network address of the one of the subscribers, route the network packet to a determined one of a plurality of processing nodes and processing threads.

[0006] A non-transitory computer readable medium having instructions stored thereon, the instructions for including executable code that, when executed by one or more processors, causes the processors to map a network address in a network packet received from a client to one of a plurality of subscribers in a subscriber database, identify a primary network address of one of the subscribers from the mapped network address, wherein the subscriber has at least one other network address associated with the one of the subscribers, and route the network packet to a determined one of a plurality of processing nodes and processing threads based on the primary network address of the one of the subscribers.

[0007] A network traffic management system, comprising one or more server devices, network traffic management equipment or client devices, having: a memory including programmed instructions stored thereon; and one or more processors configured to be capable of executing the stored programmed instructions to map a network address in a network packet received from a client to one of a plurality of subscribers in a subscriber database. Identify a primary network address of one of the subscribers from the mapped network address, wherein the subscriber has at least one other network address associated with the one of the subscribers. Based on the primary network address of the one of the subscribers, route the network packet to a determined one of a plurality of processing nodes and processing threads.

[0008] The present technology provides many advantages, including providing a method, a non-transitory computer-readable medium, a network traffic management device, and a network traffic management system for efficiently controlling network traffic using a subscriber-aware disaggregator. Examples of the present technology are configured in real time to aggregate all network traffic of a subscriber having multiple IP addresses into a single thread of one of a plurality of network processing nodes. With the subscriber's traffic aggregated into a single thread, examples of the present technology can more efficiently implement any applicable policies to manage the subscriber's network traffic. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 is a block diagram of an exemplary network traffic management system, wherein an exemplary network traffic management device is configured to control network traffic using a subscriber-aware disaggregator;

[0010] Figure 2 yes Figure 1 A block diagram of an exemplary network traffic management device is shown;

[0011] Figure 3 is a functional block diagram of an example architecture for controlling network traffic in a subscriber-aware manner; and

[0012] Figure 4 is a flow chart of an exemplary method for controlling network traffic using a subscriber-aware disaggregator. DETAILED DESCRIPTION

[0013] refer to Figure 1 , an exemplary network traffic management system 100 configured to control network traffic using a subscriber-aware deaggregator is shown. The network traffic management system 100 in this example includes a network traffic management device 102, which is coupled to server devices 104(1) to 104(n) and client devices 106(1) to 106(n) via a communication network 110, but the network traffic management device 102, server devices 104(1) to 104(n), and client devices 106(1) to 106(n) can be coupled together via other topologies. The network traffic management system 100 can also include other network devices known in the art and therefore not described herein. The present technology provides many advantages, including a method, a network traffic management device, a non-transitory computer-readable medium, and a network traffic management system configured to control network traffic using a subscriber-aware deaggregator.

[0014] Using an example of the present technology, a service provider may provide a network for use by subscribers using one or more client devices 106(1) to 106(n) to interact with one or more server devices 104(1) to 104(n). As the number of subscribers using one or more client devices 106(1) to 106(n) and the amount of information being communicated increases, the hardware and software resources of the network will be increased to accommodate the additional network traffic. The service provider may control the use of the network by setting usage policies. For example, the policies may include bandwidth quotas or other types of network traffic management rules for different subscribers at the client devices 106(1) to 106(n). However, in order to implement these policies, the network traffic of the subscribers at the client devices 106(1) to 106(n) needs to be aggregated, monitored, and / or processed on a single thread.

[0015] In one exemplary architecture, network traffic for different subscribers at client devices 106(1)-106(n) may be aggregated, processed, and then forwarded to an intended destination (eg, server devices 104(1)-104(n)) by network traffic management device 102.

[0016] As used herein, network traffic may include one or more network packets sent from or addressed to one or more subscribers at one or more of the client devices 106(1) to 106(n). Network traffic for a given subscriber at one of the client devices 106(1) to 106(n) includes one or more network packets that constitute network traffic sent from or addressed to a given subscriber at one of the client devices 106(1) to 106(n). Processing network traffic may also include applying policies to identified subscribers to determine whether and how network traffic should be forwarded through the network. In order to increase the number of subscribers that can use the network, aggregated network traffic may be distributed to multiple network processing nodes 230(1) to 230(n) of the network traffic management system 100, which are shown in this example as part of the network traffic management device 102, but may be implemented in other locations and in other configurations in other examples.

[0017] As shown and described herein by way of example, the network traffic management device 102 of the network traffic management system 100 may include programmed instructions and / or control logic to manage network traffic using a subscriber-aware disaggregator employing a subscriber database 212. In this example, a source network address may be used as a key into a subscriber database 214 and a subscriber policy database 214, the subscriber policy database including a network address and a designated primary network address and a policy associated with each of the subscribers, such as a policy for managing network traffic for a subscriber at one or more of the client devices 106(1)-106(n), which may be utilized by the network processing nodes 230(1)-230(n) to process the network traffic. Examples of the present technology are configured in real time to aggregate network traffic for a subscriber at one of the client devices 106(1)-106(n) having a plurality of network addresses into a single thread of threads T1-T4 of one of the plurality of network processing nodes 230(1)-230(n), although other numbers of processing nodes and / or threads may also be used. Where traffic for a subscriber at one of the client devices 106(1)-106(n) is aggregated into a single thread, examples of the present technology may more efficiently manage network traffic and enforce any applicable policies from subscriber policy database 214 for a subscriber at one of the client devices 106(1)-106(n), as illustrated and described by way of example herein.

[0018] In the following description, many specific details are set forth to provide a thorough understanding of examples of the present technology. However, it is apparent that examples of the present technology can be practiced without these specific details. In some cases, well-known structures and devices are shown in block diagram form to avoid unnecessarily obscuring examples of the present technology.

[0019] It should also be understood that: unless otherwise expressly stated, the term "or" can be inclusive or exclusive; the term "set" can include zero, one, or two or more elements; the terms "first", "second", "some" and "particular" are used as naming conventions to distinguish elements from each other, and unless otherwise specified, do not imply an order, time or any characteristics of the referenced items; the terms "such as", "for example", "for example" and the like describe one or more examples, but are not limited to the examples described; the terms "include" and / or "comprise" indicate the presence of the stated features, but do not exclude the presence or addition of one or more other features.

[0020] A "computer system" or "computing device" refers to one or more computers, such as one or more physical computers, virtual computers, and / or other computing systems or devices. As an example, a computer system or computing device may be or may include one or more server computers, cloud-based computers, cloud-based computer clusters, virtual machine instances, or virtual machine computer elements (such as virtual processors, storage devices and memory, data centers, storage devices, desktop computers, laptop computers, mobile devices, or any other special purpose computing devices). Unless otherwise expressly stated, any reference to a "computer system" or "computing device" herein may mean one or more computers. When a computer system or computing device performs an action, the action is performed by one or more computers of the computer system or computing device.

[0021] A "client" (also referred to as a "client device") refers to a combination of an integrated software component and an allocation of computing resources (such as memory, computing devices, and processes on the computing devices for executing the integrated software component). The combination of software and computing resources is configured to interact with one or more servers over a network (such as the Internet). A client can refer to a combination of components on one or more computers, or it can refer to one or more computers.

[0022] A "server" (also referred to as a "server system," "server computer system," "server device," or "server apparatus") refers to an allocation of integrated software components and computing resources, such as memory, computing devices, and processes on the computing devices for executing the integrated software components. The combination of software and computing resources provides a particular type of functionality on behalf of the server's clients. A server may refer to a combination of components on one or more computers, and may also refer to one or more computers. A server may include multiple servers; that is, a server may include a first server computing device and a second server computing device that may provide the same or different functionality to the same or different sets of clients.

[0023] exist Figures 1 to 4 In the example shown, the network traffic management system 100 includes a network traffic management device 102, server devices 104(1)-104(n), and client devices 106(1)-106(n), but the system can have other types and / or numbers of other systems, devices, components, and / or other elements that can be in other configurations. In some examples, one or more of the network traffic management device 102, server devices 104(1)-104(n), and client devices 106(1)-106(n), or portions thereof, can also be implemented in hardware and / or software within one or more other devices in the network traffic management system 100. Although the description herein is generally directed to a system distributed across multiple devices, it should be understood that it is contemplated that the techniques disclosed herein can alternatively be adapted for use in other manners.

[0024] refer to Figure 1 to Figure 2 , the network traffic management device 102 of the network traffic management device system 100 can perform any number of functions and other operations, such as, for example, controlling network traffic using a subscriber-aware deaggregator. The network traffic management device 102 in this example includes a processor 202, a memory 204, a communication interface 206, and network processing nodes 230(1) to 230(n) coupled together by a bus, however the network traffic management device 102 can include other types or numbers of elements in other configurations. In this example, the network processing nodes 230(1) to 230(n) are shown as part of the network traffic management device 102, but in other examples can be implemented in other locations and other configurations.

[0025] The processor 202 of the network traffic management device 102 can execute programmed instructions stored in the memory 204 of the network traffic management device 102 to implement any number of functions as described and shown by way of example herein. For example, the processor 202 of the network traffic management device 102 can include one or more central processing units (CPUs) or general-purpose processors having one or more processing cores, although other types of processors can also be used.

[0026] For one or more aspects of the present technology, as described and shown herein, the memory 204 of the network traffic management device 102 stores these programmed instructions, but some or all of the programmed instructions may be stored in other locations. Various different types of memory storage devices may be used for memory, such as RAM, ROM, hard disk, solid state drive, flash memory, or other computer readable media that is read and written by a magnetic, optical, or other reading and writing system coupled to a processor.

[0027] Thus, the memory 204 of the network traffic management device 102 may store one or more modules and / or other databases that may include computer-executable instructions and / or other data that, when executed or utilized by the network traffic management device 102, cause the network traffic management device 102 to perform actions, such as those described below with reference to Figure 3 to Figure 4 The actions described and shown above. Modules can be implemented as components of other modules. In addition, modules can be implemented as applications, operating system extensions, plug-ins, etc.

[0028] Further, in some examples, the modules may operate in a cloud-based computing environment. The modules may be executed in or as virtual machines or virtual servers that may be managed in a cloud-based computing environment. Moreover, the modules and even the network traffic management device 102 itself may be located in a virtual server that runs in a cloud-based computing environment rather than being tied to one or more specific physical network computing devices. Moreover, the modules may run in one or more VMs that execute on the network traffic management device 102. Additionally, in one or more examples of the present technology, the virtual machines running on the network traffic management device 102 may be managed or supervised by a hypervisor.

[0029] In this particular example, the memory 204 of the network traffic management device 102 includes a subscriber-aware disaggregation module 210, a subscriber database 212, and a subscriber policy database 214, but the memory may include other types and numbers of modules, databases, and / or other storage elements. In some examples, the subscriber-aware disaggregation module 210 may include software installed on the network traffic management device 102 including programmed instructions that may utilize the subscriber-aware disaggregator and the subscriber database 212 to control network traffic, as shown and disclosed by way of example herein, but other methods may also be used. Additionally, in some examples, the subscriber database 212 may include subscriber identification information that in some examples maps to two or more associated network addresses, such as an Internet Protocol version four (IPv4) address and an Internet Protocol version six (IPv6) address, but other types of programmed instructions, data, and other information may also be stored therein. Additionally, in this example, the subscriber database 212 may identify one of the network addresses associated with a particular subscriber as a primary network address. Further, in this example, a source IP address in a header of a network packet from a requesting subscriber of a subscriber at one of the client devices 106(1)-106(n) may be used as the network address for this mapping, although in other examples, other network addresses such as a destination IP address may be used in place of or in addition to the source IP address. In some examples, the subscriber policy database 214 may store executable network traffic policy actions associated with each of the plurality of subscribers on the network traffic management device 102, such as bandwidth and / or quota limiting, load balancing, rate monitoring and metering, caching, denial of service protection, encryption / decryption, session management, address translation, and / or access control, by way of example only, although executable network traffic policy actions and other network traffic management executable rules may be stored and / or retrieved in other manners.

[0030] like Figure 1 As shown, the network traffic management device 102 can be positioned between the server devices 104(1)-104(n) and the client devices 106(1)-106(n) so that the network traffic management device 102 can identify a subscriber at one of the client devices 106(1)-106(n) based on a mapping in the subscriber database 212 before taking action on a received network traffic packet from a subscriber at one of the client devices 106(1)-106(n). Figure 1As shown in the example in , a subscriber at one or more of client devices 106(1)-106(n) may have multiple network addresses associated with a particular subscriber, such as network addresses 1A and 1B associated with “Subscriber 1” and network addresses nA and nB associated with “Subscriber n” (by way of example only).

[0031] The communication interface 206 of the network traffic management device 102 is operably coupled and communicates between a combination of the network traffic management device 102, server devices 104(1)-104(n), and client devices 106(1)-106(n), which are coupled together at least in part via the communication network 110, although other types or numbers of communication networks or systems having other types or numbers of connections or configurations to other devices or elements may also be used.

[0032] By way of example only, the communication network 110 may include a local area network (LAN) and / or a wide area network (WAN) and may use TCP / IP and industry standard protocols over Ethernet, although other types or numbers of protocols or communication networks may also be used. The communication network 110 in this example may employ any suitable interface mechanisms and network communication technologies, including, for example, any suitable form of telecommunication traffic (e.g., voice, modem, etc.), a public switched telephone network (PSTN), an Ethernet-based packet data network (PDN) hosting a hypertext transfer protocol (HTTP), combinations thereof, and the like. The communication network may also include a local connection between the server devices 104(1) to 104(n) and / or the client devices 106(1) to 106(n) and the network traffic management device 102, such as a direct Wi-Fi connection, a Bluetooth connection, near field communication, a direct wired connection, or any other method by which the server devices 104(1) to 104(n) and / or the client devices 106(1) to 106(n) communicate directly or indirectly with the network traffic management device 102.

[0033] In this example, each of network processing nodes 230(1)-230(n) is a computing device or element (e.g., hardware, software, or a combination thereof) that can transmit and / or receive network packets. Each of network processing nodes 230(1)-230(n) may include a processor, a memory, and a communication interface coupled together via a bus or other communication link, but other numbers or types of components or other elements that may be in different configurations may be used. Each of network processing nodes 230(1)-230(n) may be transparent to a subscriber at one of client devices 106(1)-106(n) and positioned as an intermediate destination between a subscriber at one of client devices 106(1)-106(n) and a source or destination of network packets at one of server devices 104(1)-104(n).

[0034] According to other examples, the network traffic management device 102 can be any type of computing device, such as a server device (for example). In this example, the network traffic management device 102 is shown as a single device, but in other examples, multiple devices can be included, each of which has a processor (each processor having a processing core) that implements the steps of the present technology. In these examples, one or more of the devices can have a dedicated communication interface or memory. Alternatively, one or more of the devices can utilize the memory 204, communication interface 206, or other hardware or software components of one or more other devices in the device included in the network traffic management device 102.

[0035] Thus, one or more of the devices that together comprise the network traffic management device 102 may be stand-alone devices or integrated with one or more other devices or apparatuses, such as, for example, one or more of the server devices 104(1) to 104(n). In addition, one or more of the devices of the network traffic management device 102 may be in the same or different communication networks, including, for example, one or more public, private, or cloud networks. In other examples, multiple network traffic management devices 102 may be deployed within and / or outside of a local area network associated with the server devices 104(1) to 104(n), communicating with any number of application servers or end station computers, and having other network topologies.

[0036] Return to reference Figure 1, the server devices 104(1)-104(n) of the network traffic management system 100 in this example may be, for example, web servers hosting one or more associated web applications or other resources accessible by the client devices 106(1)-106(n). According to some examples, the server devices 104(1)-104(n) may be secure servers accessible only by authorized subscribers. For example, it may first be necessary to identify one of the client devices 106(1)-106(n) requesting access to one of the server devices 104(1)-104(n) before determining an action related to allowing the request.

[0037] Each of the server devices 104(1) to 104(n) may include a processor, memory, and a communication interface coupled together via a bus or other communication link, although other numbers or types of components and other elements may be used, which may be in different configurations. The server devices 104(1) to 104(n) in this example may include, for example, application servers or database servers, but other types of server devices 104(1) to 104(n) may also be included in the network traffic management system 100.

[0038] Although server devices 104(1)-104(n) are illustrated as a single device, in other examples, one of server devices 104(1)-104(n) may include multiple servers (together server device 104) distributed across one or more different network computing devices. Furthermore, server devices 104(1)-104(n) are not limited to a particular configuration. Thus, server devices 104(1)-104(n) may contain network computing devices that operate using a master / slave approach, wherein one of the network computing devices of server devices 104(1)-104(n) operates to manage or otherwise coordinate the operation of another network computing device. One of server devices 104(1)-104(n) may operate as multiple network computing devices, for example, in a cluster architecture, a peer-to-peer architecture, within a virtual machine, or within a cloud architecture.

[0039] Thus, the techniques disclosed herein should not be construed as limited to a single environment, and other configurations and architectures are also contemplated. Thus, any number of network traffic management devices 102, server devices 104(1)-104(n), and client devices 106(1)-106(n) may be used. Figure 1 The number of network traffic management devices 102, server devices 104(1)-104(n), and client devices 106(1)-106(n) shown in FIG. 1 is merely to provide an illustrative example.

[0040] Each of the client devices 106(1) to 106(n) of the network traffic management system 100 in this example includes any type of computing device, such as a mobile, desktop, laptop or tablet computing device, or other computing device. In addition, each of the client devices 106(1) to 106(n) in this example includes a processor, a memory, and a communication interface coupled together via a bus or other communication link (not shown), although other numbers or types of components may also be used. In addition, each of the client devices 106(1) to 106(n) may run an interface application that may provide an interface to make requests to and receive content stored on one or more of the server devices 104(1) to 104(n) via the network 110. The client devices 106(1) to 106(n) may include an input mechanism or other system for receiving input from a subscriber, such as a keyboard, a mouse, and / or an interactive screen (by way of example only). The client devices 106(1) to 106(n) may also include, for example, a display device such as a display screen or a touch screen or an input device such as a keyboard (not shown).

[0041] Although an exemplary network traffic management system 100 having a network traffic management device 102, server devices 104(1) to 104(n), client devices 106(1) to 106(n), and a communication network 110 is described and shown herein, other types or numbers of systems, devices, components, or elements in other topologies may also be used. It should be understood that the example systems described herein are for exemplary purposes, as many variations of the specific hardware and software used to implement the examples are possible, as will be appreciated by those skilled in the relevant art.

[0042] In some examples, two or more computing systems or devices may replace any of the systems or devices in any example. Therefore, the principles and advantages of distributed processing, such as redundancy and replication, may also be implemented as needed to improve the robustness and performance of the devices and systems of the examples. The examples may also be implemented on a computer system that extends across any suitable network using any suitable interface mechanism and traffic technology, including, by way of example only, a wireless traffic network, a cellular traffic network, a packet data network (PDN), the Internet, an intranet, and combinations thereof.

[0043] For one or more aspects of the present technology, as described and shown by way of example herein, the examples may also be embodied as one or more non-transitory computer-readable media having executable or programmed instructions stored thereon, such as stored in the memory 204 of the network traffic management device 102. The instructions in some examples include executable code that, when executed by the processor 202 of the network traffic management device 102, causes the processor 202 to perform the necessary steps to implement the methods described and shown herein of examples of the present technology.

[0044] refer to Figures 1 to 4 , which shows an example method for controlling network traffic using a subscriber-aware deaggregator. More specifically, referring to Figure 4 , this exemplary method begins at step 400 with the network traffic management device 102, which in this example includes a load balancer, configured to consult a subscriber database 212 and a subscriber policy database 214, respectively, for routing and policy decisions in response to receiving network traffic. In this example, the subscriber database 212 stores a mapping of network addresses of subscribers to identification information associated with each subscriber, and the subscriber policy database 214 stores network traffic management policies and other executable rules assigned to identification information associated with each subscriber.

[0045] At step 402, when network traffic arrives at the network traffic management device 102 from a subscriber at one of the client devices 106(1)-106(n), the network traffic management device 102 maps the source network address in each network packet in the network traffic with the stored network addresses in the subscriber database 212 to find a match. Based on the match between the network addresses, the network traffic management device 102 can obtain the stored identification information in the subscriber database 212 for the particular subscriber associated with the matching source network address of the network packet.

[0046] At step 404, network traffic management device 102 may also identify a primary network address of a particular subscriber associated with the matching source network address. As described earlier, a subscriber at one of client devices 106(1)-106(n) may have multiple associated source network addresses, such as network addresses 1A and 1B associated with "Subscriber 1" and network addresses nA and nB associated with "Subscriber n", as shown in FIG. Figure 1This is shown by way of example only. Thus, in this example, subscriber database 212 has a stored designator of one of the one or more network addresses associated with each of the subscribers as the primary network address for that subscriber, but other means for determining the primary network address may be used. When network traffic management device 102 has identified the primary network address for a particular subscriber at one of client devices 106(1)-106(n), network traffic management device 102 may cache the primary network address for that subscriber for use in future routing decisions during a session.

[0047] At step 406, network traffic management device 102 may also identify one or more executable network policy actions for each packet in the network traffic from subscriber policy database 214 based on the identified primary network address of one of the subscribers at one of client devices 106(1)-106(n). By way of example only, the executable network policy actions may adjust the amount of bandwidth and / or quota, perform load balancing, perform rate monitoring and metering, caching, denial of service protection, encryption / decryption, session management, address translation, and / or access control, by way of example only, although other types of executable network policy actions may be used.

[0048] At step 408, the network traffic management device 102 executes the identified executable policy action and routes the packet to a determined one of the processing nodes 230(1)-230(n) and processing threads T1-T4 based on the identification of the primary network address associated with the network packet for one of the subscribers at one of the client devices 106(1)-106(n). In this example, the network traffic management device 102 performs a hash on the primary network address associated with each packet to determine and obtain a route to one of the processing nodes 230(1)-230(n) and processing threads T1-T4. Since each subscriber with multiple network addresses will always have the same designated primary network address, the hash generated by the network traffic management device 10 will remain the same each time, thereby keeping the routing decision the same. For example, IPv4 and IPv6 network traffic for the same subscriber at one of the client devices 106(1)-106(n) will be processed by the network traffic management device 102 on the same of the processing nodes 230(1)-230(n) and processing threads T1-T4. Thus, by maintaining each packet with the same associated primary network address on the same of the processing nodes 230(1)-230(n) and processing threads T1-T4, the network traffic management device 102 can effectively manage any routing and enforcement of any executable network policy actions for this particular subscriber.

[0049] The present disclosure is set forth in the context of representative examples that are not intended to be limiting. Therefore, the present disclosure is directed to all novel and non-obvious features and aspects of the various disclosed examples, which are individual and various combinations and sub-combinations of each other. Many variations of the specific hardware and software used to implement the examples are possible, as will be understood by those skilled in the relevant art under the benefit of the present disclosure. The disclosed systems, methods, and devices are not limited to any particular aspect or feature or combination thereof, nor do the disclosed techniques require the presence of any one or more specific advantages or problem solving. The provision of theories of operation, scientific principles, or other theoretical descriptions proposed herein with reference to the disclosed techniques is for better explanation and is not intended to limit the scope. The devices and methods in the appended claims are not limited to those devices and methods that function in a manner described by such theories of operation.

[0050] As used in this application, the singular forms "a", "an" and "the" include plural forms unless the context clearly indicates otherwise. The term "coupled" includes mechanical, electrical, magnetic, optical and other practical ways of coupling or linking items together, and does not exclude the presence of intermediate elements between the coupled items. The term "and / or" means any one item or combination of items in the phrase.

[0051] Therefore, the described order of processing elements or sequences or the use of numbers, letters or other designators are not intended to limit the claimed processes to any order. Although the operations of some disclosed methods are described in a specific, sequential order for ease of presentation, it should be understood that this description encompasses rearrangement unless the specific claim language set forth below requires a specific order. For example, the operations described sequentially may be rearranged or performed simultaneously in some cases. In addition, for simplicity, the accompanying drawings may not show all the various ways in which the disclosed methods can be used in conjunction with other methods.

[0052] It should also be fully understood that any software functionality described herein may be performed at least in part by one or more hardware logic components rather than software. For example, but not limited to, illustrative types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), and the like.

[0053] For the sake of clarity, only certain selected aspects of software-based implementations are described. Other details known in the art are omitted. For example, it should be understood that the disclosed technology is not limited to any particular computer language or program. For example, the disclosed technology can be implemented by software written in C, C++, Java or any other suitable programming language. Similarly, the disclosed technology is not limited to any particular computer or hardware type. Certain details of suitable computing devices and hardware are known and do not need to be elaborated in this disclosure.

[0054] Having thus described many possible embodiments to which the principles of the present invention may be applied, those skilled in the art will recognize that the foregoing detailed disclosure is intended to be presented by way of example only, and not by way of limitation. Although not expressly stated herein, various changes, improvements, and modifications will occur and are intended to be used by those skilled in the art. These changes, improvements, and modifications are intended to be proposed herein and are within the spirit and scope of the present invention. Therefore, the scope of the subject matter claimed is defined by the appended claims. We therefore claim that our invention falls entirely within the scope of these claims.

Claims

1. A method implemented by a network traffic management system, the network traffic management system comprising one or more server devices, network traffic management devices or client devices, the method comprising: mapping a network address in a network packet received from a client to a subscriber among a plurality of subscribers in a subscriber database; identifying a primary network address of the one of the subscribers from the mapped network addresses, wherein the subscriber has at least one other network address associated with the one of the subscribers; as well as The network packet is routed to a determined one of a plurality of processing nodes and processing threads based on the primary network address of the one of the subscribers.

2. The method according to claim 1, further comprising: identifying a policy action based on the primary network address of the identified one of the subscribers; as well as The policy action is performed on the network packet received from the client. 3 . The method of claim 2 , wherein the policy action comprises an executable network traffic instruction assigned to the one of the subscribers.

4. The method of claim 1, wherein the determined one of routing the network packet to the plurality of processing nodes and processing threads is further based on a hash of the primary network address of the one of the subscribers.

5. The method of claim 1, wherein the mapped network address and the at least one other network address associated with the one of the subscribers comprise an Internet Protocol version four (IPv4) address and an Internet Protocol version six (IPv6) address.

6. A network traffic management device, comprising: a memory including programmed instructions stored thereon; and one or more processors configured to execute stored programmed instructions to: mapping a network address in a network packet received from a client to a subscriber among a plurality of subscribers in a subscriber database; identifying a primary network address of the one of the subscribers from the mapped network addresses, wherein the subscriber has at least one other network address associated with the one of the subscribers; and The network packet is routed to a determined one of a plurality of processing nodes and processing threads based on the primary network address of the one of the subscribers.

7. The network traffic management device of claim 6, wherein the one or more processors are further configured to execute the stored programmed instructions to: identifying a policy action based on the primary network address of the identified one of the subscribers; and The policy action is performed on the network packet received from the client.

8. The network traffic management device of claim 7, wherein the policy action comprises an executable network traffic instruction assigned to the one of the subscribers.

9. The network traffic management device of claim 6, wherein the determination to route the network packet to one of the plurality of processing nodes and processing threads is further based on a hash of the primary network address of the one of the subscribers.

10. The network traffic management device of claim 6, wherein the mapped network address and the at least one other network address associated with the one of the subscribers comprise an Internet Protocol version four (IPv4) address and an Internet Protocol version six (IPv6) address.

11. A non-transitory computer readable medium having stored thereon instructions, the instructions comprising executable code that, when executed by one or more processors, causes the processors to: mapping a network address in a network packet received from a client to a subscriber among a plurality of subscribers in a subscriber database; identifying a primary network address of the one of the subscribers from the mapped network addresses, wherein the subscriber has at least one other network address associated with the one of the subscribers; and The network packet is routed to a determined one of a plurality of processing nodes and processing threads based on the primary network address of the one of the subscribers.

12. The computer-readable medium of claim 11, further comprising executable code that, when executed by one or more processors, causes the processor to: identifying a policy action based on the primary network address of the identified one of the subscribers; and The policy action is performed on the network packet received from the client.

13. The computer-readable medium of claim 12, wherein the policy action comprises an executable network traffic instruction assigned to the one of the subscribers.

14. The computer-readable medium of claim 11, wherein the determination to route the network packet to one of the plurality of processing nodes and processing threads is further based on a hash of the primary network address of the one of the subscribers.

15. The computer-readable medium of claim 11, wherein the mapped network address and the at least one other network address associated with the one of the subscribers comprise an Internet Protocol version four (IPv4) address and an Internet Protocol version six (IPv6) address.

16. A network traffic management system, the network traffic management system comprising one or more server devices, network traffic management devices or client devices, having: a memory including programmed instructions stored thereon; and one or more processors configured to execute the stored programmed instructions to: mapping a network address in a network packet received from a client to a subscriber among a plurality of subscribers in a subscriber database; identifying a primary network address of the one of the subscribers from the mapped network addresses, wherein the subscriber has at least one other network address associated with the one of the subscribers; and The network packet is routed to a determined one of a plurality of processing nodes and processing threads based on the primary network address of the one of the subscribers.

17. The system of claim 16, wherein the one or more processors are further configured to execute the stored programmed instructions to: identifying a policy action based on the primary network address of the identified one of the subscribers; and The policy action is performed on the network packet received from the client.

18. The system of claim 17, wherein the policy action comprises an executable network traffic instruction assigned to the one of the subscribers.

19. The system of claim 16, wherein the determination to route the network packet to one of the plurality of processing nodes and processing threads is further based on a hash of the primary network address of the one of the subscribers.

20. The system of claim 16, wherein the mapped network address and the at least one other network address associated with the one of the subscribers comprises an Internet Protocol version four (IPv4) address and an Internet Protocol version six (IPv6) address.