Remote device status audit and recovery

Information

  • Patent Grant
  • 10680887
  • Patent Number
    10,680,887
  • Date Filed
    Friday, July 21, 2017
    7 years ago
  • Date Issued
    Tuesday, June 9, 2020
    4 years ago
Abstract
Systems, methods, and computer-readable media are disclosed for remotely managing and correcting implementation of configuration settings at network devices operating in the network. In one aspect of the present disclosure, a method includes transmitting, by a controller, a request to a network device of the network for a status of operation of the network device with respect at least one configuration setting available at the network device; determining, by the controller, whether the status matches an operation status provided by the at least one configuration setting; and performing, by the controller, a recovery process to adjust the implementation of the at least one configuration setting when the determining determines that the status does not match the operation status.
Description

The present technology pertains to remote management of configuration settings on network devices.


BACKGROUND

Many network components/devices such as switches and access points that enable various types of user devices to connect to a network can be remotely controlled and configured. These devices may operate in any number of states and can have various configurations implemented thereby. A corresponding configuration is remotely generated and sent to one or more of these devices. For example, an access point can be remotely reconfigured to disable a protected/secure service set identifier (SSID). However, once the configuration is transmitted to the access point, instead of disabling the SSID, the access point, through implementation of its local computer-readable instructions, may fail to disable the SSID and instead can turn the access point into an insecure, open SSID to which unauthorized network traffic can be bridged, providing access to the underlying secure network by unauthorized devices. Currently, backend components that generate and send configuration data to devices such as the access point in the example above, can check to see if the currently installed configuration file on the access point is up-to-date or not. However, this check is insufficient to validate whether the actual setting (implemented by execution of local computer-readable instructions on the access point) are being implemented at the device correctly or not.





BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:



FIG. 1A illustrates an example wireless network environment, according to one aspect of the present disclosure;



FIG. 1B illustrates a diagram of example networks deployed on the network environment of FIG. 1A, according to one aspect of the present disclosure;



FIG. 2 illustrates an example network device suitable for performing switching, routing, load balancing, and other networking operations, according to an aspect of the present disclosure;



FIG. 3 illustrates a computing system architecture, according to an aspect of the present disclosure; and



FIG. 4 illustrates a process for remote device status audit and recovery, according to one aspect of the present disclosure.





DESCRIPTION OF EXAMPLE EMBODIMENTS

Various examples of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the disclosure.


References to one or an example embodiment in the present disclosure can be, but not necessarily are, references to the same example embodiment; and, such references mean at least one of the example embodiments.


Reference to “one example embodiment” or “an example embodiment” means that a particular feature, structure, or characteristic described in connection with the example embodiment is included in at least one example of the disclosure. The appearances of the phrase “in one example embodiment” in various places in the specification are not necessarily all referring to the same example embodiment, nor are separate or alternative example embodiments mutually exclusive of other example embodiments. Moreover, various features are described which may be exhibited by some example embodiments and not by others. Similarly, various features are described which may be features for some example embodiments but not other example embodiments.


The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Alternative language and synonyms may be used for any one or more of the terms discussed herein, and no special significance should be placed upon whether or not a term is elaborated or discussed herein. Synonyms for certain terms are provided. A recital of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification including examples of any terms discussed herein is illustrative only, and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various examples given in this specification.


Without intent to limit the scope of the disclosure, examples of instruments, apparatus, methods and their related results according to examples of the present disclosure are given below. Note that titles or subtitles may be used in the examples for convenience of a reader, which in no way should limit the scope of the disclosure. Unless otherwise defined, technical and scientific terms used herein have the meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. In the case of conflict, the present document, including definitions will control.


Although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of this disclosure. As used herein, the term “and/or,” includes any and all combinations of one or more of the associated listed items.


When an element is referred to as being “connected,” or “coupled,” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. By contrast, when an element is referred to as being “directly connected,” or “directly coupled,” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between,” versus “directly between,” “adjacent,” versus “directly adjacent,” etc.).


The terminology used herein is for the purpose of describing particular examples only and is not intended to be limiting. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising,”, “includes” and/or “including”, when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.


It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.


Specific details are provided in the following description to provide a thorough understanding of examples. However, it will be understood by one of ordinary skill in the art that examples may be practiced without these specific details. For example, systems may be shown in block diagrams so as not to obscure the examples in unnecessary detail. In other instances, well-known processes, structures and techniques may be shown without unnecessary detail in order to avoid obscuring examples.


In the following description, illustrative examples will be described with reference to acts and symbolic representations of operations (e.g., in the form of flow charts, flow diagrams, data flow diagrams, structure diagrams, block diagrams, etc.) that may be implemented as program services or functional processes include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and may be implemented using hardware at network elements. Non-limiting examples of such hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application-specific-integrated-circuits, field programmable gate arrays (FPGAs), computers or the like.


Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or can be learned by practice of the herein disclosed principles. The features and advantages of the disclosure can be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the disclosure will become more fully apparent from the following description and appended claims, or can be learned by the practice of the principles set forth herein.


Overview

In one aspect of the present disclosure, a method includes transmitting, by a controller, a request to a network device of the network for a status of operation of the network device with respect at least one configuration setting available at the network device; determining, by the controller, whether the status matches an operation status provided by the at least one configuration setting; and performing, by the controller, a recovery process to adjust the implementation of the at least one configuration setting when the determining determines that the status does not match the operation status.


In one aspect of the present disclosure, a system includes one or more processors and at least one computer-readable storage medium having instructions stored therein which, when executed by the one or more processors, cause the system to transmit a request to a network device of the network for a status of operation of the network device with respect at least one configuration setting available at the network device; determine whether the status matches an operation status provided by the at least one configuration setting; and a recovery process to adjust implementation of the at least one configuration setting when the determining determines that the status does not match the operation status.


In one aspect of the present disclosure, a non-transitory computer-readable storage medium having stored therein instructions which, when executed by one or more processors associated with a network controller, cause the network controller to transmit a request to a network device of the network for a status of operation of the network device with respect at least one configuration setting available at the network device; determine whether the status matches an operation status provided by the at least one configuration setting; and perform a recovery process to adjust implementation of the at least one configuration setting when the determining determines that the status does not match the operation status.


DESCRIPTION

Cloud networking provides centralized management, visibility, and control without the cost and complexity of controller appliances or overlay management software. Network components such as access points and switches can be built from the ground up for cloud management. These devices are capable of being centrally managed with centralized management and can be layer 7 devices with application visibility, real time web-based diagnostics, monitoring, reporting, etc.


As indicated above, currently utilized central management systems can only ensure that these remotely accessible network devices (e.g., switches, access points, etc.) have the latest version of corresponding/intended configuration files. These configuration files can be for any one of radio settings, port settings, encryption setting and any other type of setting of these network devices. However, a problem arises when the correct configuration files are sent to the network devices but the receiving network device(s) fail to implement the configurations correctly. For example, local computer-readable instructions running of a given one of receiving network devices may fail to properly implement the configuration file to disable a SSID network, as described above, thus turning a secure network into an insecure SSID network that can be accessed by any unauthorized device.


Examples described herein after, enable a central management component, implemented via cloud networking, ensure that each network component has properly executed and implemented configuration files and parameters sent thereto and upon detection of a failure of any network component in doing so, implement remedial measures to address this issue and prevent unauthorized access to the underlying network.


The present disclosure will be as follows. The discussion begins with an introductory discussion of example network environments, as illustrated in FIGS. 1A-B. The discussion continues with a description of example computing and network devices, as illustrated in FIGS. 2 and 3, including example hardware components suitable for hosting software applications and performing computing operations. Thereafter, examples will be described for addressing the deficiencies described above, with reference to FIG. 4. The disclosure now turns to FIG. 1A.



FIG. 1A illustrates an example network environment, according to one aspect of the present disclosure. The network environment 100 includes access points (APs) 110 for wirelessly connecting wireless clients 116 to the network environment. Wireless clients 116 can include any one of, but is not limited to, a mobile device, a tablet, a laptop, a camera, etc. In other words, wireless clients 116 can be any type of electronic device that can communicate with one of APs 110 and or other network nodes such as nodes 108, router 106, etc., via any known or to be developed wireless and/or wired communication schemes and means.


APs 110 can include hardware and software for transmitting and receiving wireless signals from other devices and supporting wireless communications and connectivity. APs 110 can broadcast one or more wireless networks deployed on the APs 110, allow the wireless clients 116 to access the one or more wireless networks, and bridge or route communications between the wireless clients 116 on the one or more wireless networks and the physical network(s), including other devices in and out of the network environment 100. In some cases, the APs 110 can broadcast the one or more wireless networks deployed on the APs 110 by transmitting the names or service set identifiers (SSIDs) of the one or more wireless networks. The APs 110 can also broadcast other information about the one or more wireless networks, such as channel information, band information, etc.


The APs 110 can have a respective range 112 for transmitting and/or receiving wireless communications. Those of the wireless clients 116 within the respective range 112 of an AP can communicate wirelessly with that AP and maintain such communications as they move within the respective range 112. In some cases, the APs 110 can be positioned such that the respective range 112 of two or more APs 110 can overlap to form an overlapping range 114. Moreover, the APs 110 can be position within communicative range of each other to create a mesh network configuration. The overlapping range 114 and/or mesh network configuration can allow a wireless client to roam outside the respective range of the AP that the wireless client is connected to, and experience minimal to no loss in connectivity. For example, a wireless client connected to AP1 can roam outside of the respective range of AP1 and into the respective range of AP2, and maintain connectivity through AP2. Thus, the wireless client can seamlessly hop from one AP to another during a communication session in order to avoid or limit service disruptions when the wireless client moves beyond the respective range of an AP.


For example, as a wireless client begins to roam toward the limits of an APs respective range, the wireless client may eventually reach an overlapping range 114 which places the wireless client within the respective range of multiple APs, thus allowing the wireless client to transmit and receive wireless signals from those APs 110 associated with the overlapping range 114. The wireless client can hop from one AP associated with the overlapping range to another AP associated with the overlapping range, and maintain connectivity (or limit disruption) as the wireless client roams outside of the respective range of one AP and into the respective range of another AP. The overlapping ranges 114 can provide zones for a “handoff” between APs, where connectivity with a wireless client is transferred from one AP to a different AP in order to continue the wireless clients' wireless communications via the different AP. Thus, the wireless clients 116 can move between respective ranges 112 and maintain wireless connectivity to the network environment 100.


The APs 110 can each be configured to service a single wireless network or multiple wireless networks. Each wireless network deployed on an AP can have a respective SSID which identifies the wireless network. For example, one or more of the APs 110 can provide connectivity to a first wireless network having a “Guest” SSID and a second wireless network having a “Restricted” SSID. The wireless clients 116 can connect to the Guest SSID or the Restricted SSID via those APs 110. Moreover, multiple APs 110 can host a same wireless network or SSID, but may also host other wireless networks or SSIDs. For example, all APs 110 may host a guest wireless network (e.g., Guest SSID), while only one or more APs 110 may host a specific, restricted wireless network (e.g., Restricted SSID).


Each wireless network can have one or more configuration settings defined for that wireless network based on the specific requirements or purpose of the wireless network. Non-limiting examples of configuration settings for wireless networks can include a communication channel, a band, an authentication requirement or mechanism (e.g., authorization enforced via a device's media access control (MAC) address, a remote authentication dial-in user service (RADIUS), a preshared key (PSK), 802.1x credentials, etc.), network access restrictions (e.g., which portions and/or resources of a network can be accessed, etc.), security or group policies (e.g., access control list configurations, etc.), network configurations (e.g., subnet, virtual LAN (VLAN), communication protocols, port forwarding, traffic filtering, etc.), etc. Furthermore, each AP 110 can have its own corresponding device configuration settings including, but not limited to, a port setting, a radio setting, an encryption setting, etc.


In some cases, the configuration and location of wireless networks and APs 110 can vary based on one or more factors, such as network requirements, geography, policies, physical restrictions, organizational structure, business factors, inter-office politics, etc. To illustrate, a wireless network associated with the SSID “Restricted Business Department” may be configured specifically to address the networking needs and authorization levels of users in the business department and/or may be deployed on APs located in the office of the business department, while a wireless network associated with the SSID “Guest Network” may be open to all users and hosted by all APs 100 in the network environment 100. Thus, different wireless networks, which can be represented by respective SSIDs, can be configured to separate users, clients, resources, and other aspects of a network.


APs 110 can connect to nodes 108 to communicate with the physical network as well as other devices inside or outside of the network environment. Nodes 108 can be, for example, Layer 2 and/or Layer 3 network devices, such as switches or routers. In some cases, APs 110 can communicatively couple to nodes 108 via a physical link (e.g., wire or cable) between a respective port/interface on APs 110 and a respective port/interface on nodes 108. In some cases, APs 110 can communicatively couple to nodes 108 via any known or to be developed wireless communication scheme/protocol. Furthermore, as shown in FIG. 1, other example components such as server 118, desktop computer 120 and TV (e.g., internet-enabled TV) 122 can communicatively couple to nodes 108. In one example, servers 118 and desktop computer 120 are physically coupled (via any known or to be developed wired communication scheme) to corresponding node 108. Accordingly, APs 110, servers 118 and desktop computer 120 can be coupled to corresponding node(s) 108 via any known, or to be developed, wired and/or wireless communication means and schemes.


Nodes 108 can also connect to other network devices in the network. For example, nodes 108 can connect to a router 106 which can route communications to and from other networks and devices, such as network 102. Thus, traffic to and from the wireless clients 116 and other networks, such as network 102, can flow through router 106, nodes 108, and APs 110, and wirelessly between the wireless clients 116 and APs 110.


Network 102 can include a private network, such as a local area network (LAN) or a private cloud; a public network such as the Internet or a public cloud; and/or a hybrid network such as a virtual private network (VPN), a hybrid cloud, etc. In some cases, network 102 can be a cloud configured to communicate with network environment 100 through router 106 to provide one or more services (e.g., firewall services, intrusion detection services, infrastructure services, management services, monitoring services, authentication services, backup services, configuration or automation services, etc.) to any of devices 106, 108, 110, and 112 in network environment 100.


For example, network 102 can include one or more clouds hosting one or more controllers 104. Controller 104 can be, for example, a network appliance (e.g., a service or application; a physical element, such as a physical server or switch; a virtual element such as a virtual machine, a software container, a virtual device, a virtual network function (VNF), a virtual network service chain; etc.) configured to monitor and manage network configurations and conditions in the network environment 100. Thus, network 102 can include one or more controllers 104 configured to provide services, such as monitoring and configuration management services, to devices in the network environment 100. To illustrate, controller 104 in network 102 can be configured to provide authentication, authorization, and accounting (AAA) services and/or other networking services for the wireless clients 116 and the network environment 100, such as remote management services. Remote management services can include, without limitation, monitoring services, deployment services, configuration services, troubleshooting services, automated services, update services, and other networking services. Configuration parameters and files described above can be transmitted to router 106, nodes 108 and APs 110 by controller 104.


Controller 104 is illustrated in FIG. 1A as a single controller or device for the sake of clarity and explanation purposes. It should be noted that controller 104 can represent one or more controllers, devices, applications, appliances, elements, etc. For example, in some examples, controller 104 can be a single controller, a distributed controller, a cluster of controllers, a plurality of controllers, etc.



FIG. 1B illustrates a diagram of example wireless networks deployed on the network environment of FIG. 1, according to one aspect of the present disclosure. In this example, AP 110 is configured to host multiple wireless networks, represented in this example by SSID1 140 and SSID2 150. SSID1 140 is a restricted wireless network, which may require user authentication for access and may provide access to restricted network resources (e.g., printers, shares, files, databases, applications, intranet, etc.) upon access. SSID2 150 is a guest wireless network that is open to all users and/or available with limited authentication requirements. For the sake of clarity and explanation purposes, SSID1 140 will be referenced herein as “Restricted SSID1 140”, and SSID2 150 will be referenced herein as “Guest SSID2 150”.


Given the reduced authentication and security requirements of Guest SSID2 150, access to network resources in network environment 100 from Guest SSID2 150 may be limited, such as access to printers, shares, files, databases, applications, intranet, etc. In some cases, Guest SSID2 150 may only provide Internet connectivity, and thus may restrict access to all other network resources. For example, Guest SSID2 150 can provide a means for unauthenticated users and guests to access the Internet from their wireless devices for convenience, while preventing unauthenticated users from accessing other resources on the network.


In some cases, Restricted SSID1 140 and Guest SSID2 150 can have different network addressing configurations in order to segregate traffic and users between the wireless networks, whereas mentioned above, the addressing configuration instructions may be remotely provided to AP 110 by controller 104 of network 102. For example, Restricted SSID1 140 and Guest SSID2 150 can reside on different VLANs, subnets, etc. Wireless clients 116 can connect to Restricted SSID1 140 or Guest SSID2 150 via AP 110. As previously mentioned, network configurations, security, policies, authentication, etc., applied to wireless clients 116 will depend on which of the Restricted SSID1 140 or the Guest SSID2 150 they connect to and can be provided remotely by controller 104.


The disclosure now turns to FIGS. 2 and 3, which illustrate example network devices and computing devices, such as switches, routers, load balancers, client devices, and so forth.



FIG. 2 illustrates an example network device suitable for performing switching, routing, load balancing, and other networking operations, according to an aspect of the present disclosure. In one example, network device 200 can be the same as any one of AP 110, nodes 108 and switch 106. Network device 200 includes a central processing unit (CPU) 204, interfaces 202, and a bus 210 (e.g., a PCI bus). When acting under the control of appropriate software or firmware, CPU 204 is responsible for executing packet management, error detection, and/or routing functions. CPU 204 preferably accomplishes all these functions under the control of software including an operating system and any appropriate applications software. CPU 204 may include one or more processors 208, such as a processor from the INTEL X86 family of microprocessors. In some cases, processor 208 can be specially designed hardware for controlling the operations of network device 600. In some cases, a memory 606 (e.g., non-volatile RAM, ROM, etc.) also forms part of CPU 604. However, there are many different ways in which memory could be coupled to the system.


Interfaces 202 are typically provided as modular interface cards (sometimes referred to as “line cards”). Generally, they control the sending and receiving of data packets over the network and sometimes support other peripherals used with network device 200. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided such as fast token ring interfaces, wireless interfaces, Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces, WIFI interfaces, 3G/4G/5G cellular interfaces, CAN BUS, LoRA, and the like. Generally, these interfaces may include ports appropriate for communication with the appropriate media. In some cases, they may also include an independent processor and, in some instances, volatile RAM. The independent processors may control such communications intensive tasks as packet switching, media control, signal processing, crypto processing, and management. By providing separate processors for the communications intensive tasks, these interfaces allow the master microprocessor 604 to efficiently perform routing computations, network diagnostics, security functions, etc.


Although the system shown in FIG. 2 is one specific network device of the present invention, it is by no means the only network device architecture on which the present invention can be implemented. For example, an architecture having a single processor that handles communications as well as routing computations, etc., is often used. Further, other types of interfaces and media could also be used with network device 200.


Regardless of the network device's configuration, it may employ one or more memories or memory modules (including memory 206) configured to store program instructions for the general-purpose network operations and mechanisms for roaming, route optimization and routing functions described herein. The program instructions may control the operation of an operating system and/or one or more applications, for example. The memory or memories may also be configured to store tables such as mobility binding, registration, and association tables, etc. Memory 206 could also hold various software containers and virtualized execution environments and data.


Network device 200 can also include an application-specific integrated circuit (ASIC), which can be configured to perform routing and/or switching operations. The ASIC can communicate with other components in network device 200 via bus 210, to exchange data and signals and coordinate various types of operations by network device 200, such as routing, switching, and/or data storage operations, for example.



FIG. 3 illustrates a computing system architecture, according to an aspect of the present disclosure. As shown in FIG. 3, components of system 300 are in electrical communication with each other using a connection 305, such as a bus. Exemplary system 300 includes a processing unit (CPU or processor) 310 and a system connection 305 that couples various system components including system memory 315, such as read only memory (ROM) 320 and random access memory (RAM) 325, to processor 710. System 300 can include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor 310. System 300 can copy data from memory 315 and/or storage device 330 to cache 312 for quick access by processor 310. In this way, the cache can provide a performance boost that avoids processor 310 delays while waiting for data. These and other modules can control or be configured to control the processor 310 to perform various actions. Other system memory 315 may be available for use as well. Memory 315 can include multiple different types of memory with different performance characteristics. Processor 310 can include any general purpose processor and a hardware or software service, such as Service 1332, Service 2334, and Service 3336 stored in storage device 330, configured to control processor 310 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Processor 310 may be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.


To enable user interaction with the computing device 300, an input device 345 can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 335 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with computing device 300. The communications interface 340 can generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.


Storage device 330 is a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 325, read only memory (ROM) 320, and hybrids thereof.


The storage device 330 can include services 332, 334, 336 for controlling the processor 310. Other hardware or software modules are contemplated. The storage device 330 can be connected to the system connection 305. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as the processor 310, connection 305, output device 335, and so forth, to carry out the function.


Having described examples of network environment 100 and structures of network components such as routers, access points, switches, etc., we now turn to the description of FIG. 4 illustrating examples that enable a central management component (e.g., controller 104 implemented via cloud networking) to manage and monitor software, configurations, and updates to network components and ensure that each network component has properly executed and implemented configuration files and parameters sent thereto. As further described below, the central management component can determine whether operation of a network device (that is remotely managed by the central management component) corresponding to any one of a number of configuration settings available at the network device has failed. In other words, the central management component compares a state of operation of the network device with reference to a given configuration setting with the “should-be” (dictated, directed, instructed) state of the network device according to the given configuration setting and if there is a mismatch between the two, determines that the operation of the network device with respect to the given configuration setting has failed. Upon detection of such failure, the central management component can implement remedial measures to address this failure and prevent unauthorized access to the underlying network as well as unintended/unexpected network behavior or errors.



FIG. 4 illustrates a process for remote device status audit and recovery, according to one aspect of the present disclosure. FIG. 4 will be described from the perspective of controller 104 described above with reference to FIG. 1.


At S400, controller 104 checks for a triggering event. A triggering event is an event upon which controller 104 requests a status update for any number of configuration settings implemented at any one of router 106, nodes 108 and APs 110 (router 106, nodes 108 and APs 110 may hereinafter collectively be referred to as network devices 106-110) described above with reference to FIG. 1. As described, each configuration setting is a set of computer-readable instructions sent by controller 104 to respective ones of network devices 106-110 depending on the functionality of each of network devices 106-110. These computer-readable instructions can then be implemented and executed locally at the receiving ones of network devices 106-110. In one example, one or more of network devices 106-110 can be a security appliance (e.g., any known or to be developed network security appliance) implemented within network 100 to ensure that network 100 is a secure network.


Examples of configuration settings include, but are not limited to, port settings, radio settings, uplink settings, Virtual Local Area Network (VLAN) tagging settings, firewall rules, wireless broadcasting settings (e.g., authentication settings, encryption settings, etc.).


Referring back to S400, the triggering event controller 104 checks for, can be any one of the following non-limiting events.


The triggering event can be a passage (expiration) of a certain period of time (e.g., every 4 hours, one a day, twice a week, etc.) between two consecutive instances of transmitting a request for status update on a particular configurations setting. In this case, the check at S400 and the following detection of a triggering event may be said to be periodic. The periodicity duration can be a reconfigurable parameter determined based on experiments and empirical studies.


In another example, the triggering event can be when controller 104 provides a set of computer-readable instructions for a particular configuration setting to one or more of network devices 106-110. Alternatively, the triggering event can be shortly (e.g., a few seconds, minutes, hours, etc.) after controller 104 provides the set of computer-readable instructions for the particular configuration setting to the one or more of network devices 106.


In another example, the triggering event can be when any one of network devices 106-110 come online (e.g., activate to be part of network 100) after being offline for a period of time. The offline period of time can be a reconfigurable parameter determined based on experiments and empirical studies (e.g., after being offline for more than a few seconds, minutes, hours, days, weeks, months, years, etc.).


At S405, controller 104 determines if the check at S400 results in a detection of a triggering event. If at S405, controller 104 determines that no triggering event is detected, the process reverts back to S405. Controller 104 repeats S400 and S405 until a triggering event is detected.


If and when controller 104 detects a triggering event at S405, then at S410, controller 104 transmits a request to one or more of network devices 106-110 at which a corresponding triggering event is detected. The request is for a status of operation of the one or more of network devices 106-110 with respect to at least one configuration setting available at the network device. In one example, controller 104 transmits the request via a backend secure and encrypted tunnel/channel created between each of network devices 106-110 and controller 104. In view thereof, the controller 104 can also be referred to as backend component 104.


For example, if at a first point in time, controller 104 transmits a radio configuration settings to one or more APs 110, then at a second point in time (this can be a short time after the transmission of the settings, or regularly thereafter, as described above), controller 104 can make an inquiry into a status of radio operation of the one or more APs 110. For example, controller 104 can communicate with a handler installed on the one or more APs 110 to request information on the nature of what the one or more APs 110 are broadcasting.


Other examples of requests made by controller 104 to one or more network devices 106-110 include what VLAN a switch is trunking to (e.g., when the network device is a switch such as one of nodes 108), what the status of a hardware component at the switch is, what is it that Linux running on the switch is exporting, what is a particular driver on the switch is expecting about a status of a particular function or task, etc.


In examples, where one or more network devices 106-110 are vendor specific devices with vendor specific configurations and settings, controller 104 utilizes a configuration tool to communicate with the vendor specific configuration tool installed on each vendor specific network device in order to transmit the request thereto.


In one example, while a triggering event may be specific to a given configuration setting (e.g., installment of new radio settings on an AP 110 by controller 104), the ensuing request for status update on operations of a network device can be either limited to that corresponding to the radio configuration settings or can encompass a status update on operation the same network device on any number of (or all of) configuration settings hosted by or available on the AP 110. This may be referred to as a partial or full sweep of configuration settings on given network device, depending on whether the request is for a number of or all of the configuration settings hosted by or available on a given network device. In another example, the triggering event can result in controller 104 transmitting the request to all available network devices 106-110 for operations thereof with respect to all or any number of configuration settings available on or hosted by network devices 106-110. This may be referred to as a partial or full sweep of configuration settings on all available network devices, depending on whether the request is for a number of or all of the configuration settings hosted by or available on a given network device.


A S415, controller 104 receives a feedback, through the backend channel described above, from each one of network devices 106-110 to which controller 104 transmits a request at S410. Examples of feedbacks received from network devices 106-110 include responses to examples requests made by controller 104 at S410 described above. For example, in response to a request by controller 104 made to one AP 110 regarding the nature of what it is that the one AP 110 is broadcasting, the feedback received at controller 104 can be, that the one AP 110 is not broadcasting anything (which means that any wireless network/SSID hosted by the one AP 110 that should be available to end devices such as one or more wireless clients 116 is not available). Other example feedbacks, in response to example requests transmitted by controller 104 described above, can include the VLAN(s) to which the corresponding switch is trunking, requested information on status of hardware components at corresponding one(s) of network devices 106-110, etc.


In one example, processes performed at S410 and S415 can be referred to as auditing one or more of network devices 106-110.


At S420, controller 405 determines whether operation of one or more network devices with respect to configuration setting(s) for which request(s) is/are transmitted by controller 104 to corresponding network device(s) at S410 and from which feedback is/are received at S415, matches operations, as commanded (instructed, directed, dictated) by corresponding one of configuration settings (e.g., computer-readable instructions and codes included in the corresponding one of the configuration settings). In the example of controller 104 requesting information on nature of what is it that the one AP 110 is broadcasting, when the corresponding feedback received at S415 is that the one AP 110 is not broadcasting anything, controller 405 determines that the radio operation of the one AP 110 does not match with the operation commanded by radio configuration settings on the one AP 110 and thus determines that the one AP 110 is not functioning correctly (at least with respect to radio configurations thereof). In another example, when the feedback received from a network device from among network devices 106-110 indicates a certain status of a hardware component at the corresponding network device, controller 104 compares the feedback with what controller 104 has as the “should-be” status of the same hardware component (the “should-be” status is the status that the hardware component should be in/have at the time controller 104 requests the status, according to the original configuration setting of the hardware component provided to the corresponding network device by controller 104). If the comparison indicates a mismatch between the reported status and the “should-be” status of the hardware component, then at S420, controller 104 determines that the configuration setting for the hardware component is not being implemented correctly. However, if the reported status and the “should-be” status are the same, then at S420, controller 104 determines that the hardware component configuration setting is being implemented correctly.


At S425, controller 104 determines whether the determination at S420 indicates that the configuration setting(s) is/are implemented correctly (e.g., whether a status of operation of a network device with respect to at least one configuration setting available at the network device matches that commanded by the at least one configuration setting). If at S425, controller 104 determines that the configuration setting(s) is/are implemented correctly, then the process reverts back to S400 and controller 104 repeats S400-S425.


However, if at S425, controller 104 determines that one or more configuration settings is/are not implemented correctly based on the determination at S420, then at S430, controller 104 performs a recovery process for each configuration setting that is not implemented correctly. In other words, controller 104 performs a recovery process so as to adjust (e.g., restart, modify, etc.) implementation of the at last one configuration setting at a network device in order to ensure that the status of operation of the network device, after adjustment, matches that commanded by the at least one configuration setting.


The recovery process for any given configuration setting can be performed at various levels/stages with each stage being verified and if unsuccessful, the next stage being implemented/performed. In other words, the recovery process can be a gradual recovery process. For example, a first stage of a recovery process for correcting the radio configuration settings on the one AP 110 described above (in order to correct the broadcasting of SSID hosted by the one AP 110 and thus enabling wireless clients 116 to access the internet thereby) is for controller 104 to request the one AP 110 to update the radio configuration file that is currently being implement on the one AP 110. Thereafter, at S435, controller 104 can determine if the first stage of the recovery process has been successful. In one example, the determination at S435 can be performed in the same manner as S410, S415 and S420 described above. In other words, controller 104, after performing the first stage of the recovery process, can request an update on the radio configurations setting of the one AP 110, receive a feedback thereon, compare the feedback with the “should-be” radio configuration setting on the AP 110 and determine if the first stage recovery process has been successful.


If at S435, controller 104 determines that the first stage of the recovery process has been successful, the process reverts back to S400 and controller 104 repeats S400 to S435.


However, if at S435, controller 104 determines that the first stage of the recovery process has not been successful, the process reverts back to S430 and controller 104 performs a second stage of the recovery process. In the example of the radio setting of the one AP 110 mentioned above, the second stage can be a limited or a full reconfiguration of the radio setting of the one AP 110 based on the radio setting configuration file available on the one AP 110. This is then followed by the process at S435, as described above.


Should the second stage of the recovery process be inadequate and unsuccessful, S430 is performed again where a third stage of the recovery process is performed. The third stage of the recovery process can be for example, a full reboot of the one AP 110. This is then followed by the process at S435, as described above.


Should the third stage of the recovery process be inadequate and unsuccessful, S430 is performed again where a fourth stage of the recovery process is performed. The fourth stage of the recovery process can be for example, a full wipe and reboot of the one AP 110. In one example, the full wipe and reboot includes clearing all saved states on the AP 110 (e.g., saved authentication information for access the hosted SSID such as usernames, passwords, etc.). This is then followed by the process at S435, as described above.


While several examples of different stages of a corrective process are described above, the present disclosure is not limited thereto. Accordingly, any gradual and multi-stage corrective process for any given configuration setting on a network device such as network devices 106-110 can be implemented at S430 and S435.


For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks including functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software.


In some embodiments the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.


Methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions can comprise, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, or source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.


Devices implementing methods according to these disclosures can comprise hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include laptops, smart phones, small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.


The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are means for providing the functions described in these disclosures.


Although a variety of examples and other information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements in such examples, as one of ordinary skill would be able to use these examples to derive a wide variety of implementations. Further and although some subject matter may have been described in language specific to examples of structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts. For example, such functionality can be distributed differently or performed in components other than those identified herein. Rather, the described features and steps are disclosed as examples of components of systems and methods within the scope of the appended claims.


Claim language reciting “at least one of” refers to at least one of a set and indicates that one member of the set or multiple members of the set satisfy the claim. For example, claim language reciting “at least one of A and B” means A, B, or A and B.

Claims
  • 1. A method comprising: transmitting, by a controller, a request to a network device of the network for a status of operation of the network device with respect at least one configuration setting available at the network device;determining, by the controller, whether the status of operation provided by the network device matches an operation status provided by the at least one configuration setting available at the network device; andwhen the status of operation does not match the operation status available at the network device, performing, by the controller, a recovery process to adjust implementation of the at least one configuration setting available at the network device.
  • 2. The method of claim 1, further comprising: detecting a triggering event,wherein the determining is performed when the triggering event is detected.
  • 3. The method of claim 2, wherein, the triggering event includes at least one of: receiving an update request from the network device for an update to a configuration setting implemented at the network device;activation of the network device within the network; orexpiration of a period of time between two consecutive transmittings.
  • 4. The method of claim 1, wherein, the recovery process is a gradual recovery process, anda next stage of the gradual recovery process is performed only when a preceding stage of the gradual recovery process fails to correctly implement the at least one configuration setting.
  • 5. The method of claim 1, further comprising: receiving a feedback from the network device corresponding to the request; andperforming the determining based on the feedback.
  • 6. The method of claim 1, wherein, the request is a full sweep request for the status of operation of the network device with respect to each of a plurality of configuration settings available at the network device; andthe determining determines a corresponding status of operation of the network device with respect to each of the plurality of configuration settings based on a corresponding feedback received from the network device.
  • 7. The method of claim 1, wherein, the at least one configuration setting includes at least one of: a service set identifier setting of at least one wireless network hosted by the network device;a virtual local area network tagging setting of the at least one wireless network;an uplink setting at the network device;a port configuration of the network device;a radio setting of the network device;firewall rules of the network device; andat least one wireless broadcasting configuration by the at least one wireless network.
  • 8. The method of claim 1, wherein, the recovery process includes at least one of: updating a configuration file on the network device corresponding to the at least one configuration setting at the network device;performing a reconfiguration of the at least one configuration setting;performing a reboot of the network device; andperforming a wipe and reboot of the network device.
  • 9. A system comprising: one or more processors; andat least one computer-readable storage medium having instructions stored therein which, when executed by the one or more processors, cause the system to: transmit a request to a network device of the network for a status of operation of the network device with respect at least one configuration setting available at the network device;determine whether the status of operation provided by the network device matches an operation status provided by the at least one configuration setting available at the network device; andwhen the status of operation provided by the network device does not match the operation status, performing a recovery process to adjust implementation of the at least one configuration setting available at the network device.
  • 10. The system of claim 9, wherein, the at least one computer-readable storage medium has additional instructions which, when executed by the one or more processors, cause the system to determine whether to detecting a triggering event, andtransmitting the request is performed when triggering event is detected.
  • 11. The system of claim 10, wherein, the triggering event includes at least one of receiving an update request from the network device for an update to a configuration setting implemented at the network device;activation of the network device within the network; orexpiration of a period of time between two consecutive transmittings.
  • 12. The system of claim 9, wherein, the recovery process is a gradual recovery process, andthe instructions further cause the system to perform a next stage of the gradual recovery process only when a preceding stage of the gradual recovery process fails to correctly implement the at least one configuration setting.
  • 13. The system of claim 9, wherein, the instructions further cause the system to receive a feedback from the network device corresponding to the request, anddetermining whether the status of operation provided by the network device matches the operation status provided by the at least one configuration setting available at the network device is performed based on the feedback.
  • 14. The system of claim 9, wherein, the at least one configuration setting available at the network device is a plurality of configuration settings available at the network device,the request is a full sweep request for the status of operation of the network device with respect to each of the plurality of configuration settings available at the network device; andthe instructions further cause the system to determine a corresponding status of operation of the network device with respect to each of the plurality of configuration settings based on a corresponding feedback received from the network device.
  • 15. The system of claim 9, wherein, the at least one configuration setting includes at least one of: a service set identifier setting of at least one wireless network hosted by the network device,a virtual local area network tagging setting of the at least one wireless network,an uplink setting at the network device,a port configuration of the network device,a radio setting of the network device,firewall rules of the network device, andat least one wireless broadcasting configuration by the at least one wireless network; andthe recovery process includes at least one of: updating a configuration file on the network device corresponding to the at least one configuration setting at the network device,performing a reconfiguration of the at least one configuration setting,performing a reboot of the network device, andperforming a wipe and reboot of the network device.
  • 16. The system of claim 9, wherein, the system is a cloud based controller that is configured to remotely access and manage the network device;the network device is at least one of an access point, a switch, a router or a network security appliance; andthe cloud based controller is configured to remotely access and manage the network device via a secure encrypted backend tunnel.
  • 17. A non-transitory computer-readable storage medium having stored therein instructions which, when executed by one or more processors associated with a network controller, cause the network controller to: transmit a request to a network device of the network for a status of operation of the network device with respect at least one configuration setting available at the network device;determine whether the status of operation provided by the network device matches an operation status provided by the at least one configuration setting available at the network device; andwhen the status of operation provided by the network device does not match the operation status, perform a recovery process to adjust implementation of the at least one configuration setting available at the network device.
  • 18. The non-transitory computer-readable storage medium of claim 17, wherein the instructions further cause the controller to transmit the request based on a detection of a triggering event.
  • 19. The non-transitory computer-readable storage medium of claim 17, wherein, the recovery process is a gradual recovery process, andthe instructions further cause the network controller to perform a next stage of the gradual recovery process only when a preceding stage of the gradual recovery process fails to correctly implement the at least one configuration setting.
  • 20. The non-transitory computer-readable storage medium of claim 17, wherein, the network device is remotely accessed and managed by a cloud based controller;the network device is at least one of an access point, a switch, a router or a network security appliance;the cloud based controller is configured to remotely access and manage the network device via a secure encrypted backend tunnel; andthe recovery process results in a correct implementation of the at least one configuration setting by the network device.
US Referenced Citations (669)
Number Name Date Kind
5086385 Launey et al. Feb 1992 A
5319754 Meinecke et al. Jun 1994 A
5400246 Wilson et al. Mar 1995 A
5436909 Dev et al. Jul 1995 A
5555416 Owens et al. Sep 1996 A
5726644 Jednacz et al. Mar 1998 A
5742829 Davis et al. Apr 1998 A
5822731 Schultz Oct 1998 A
5831848 Rielly et al. Nov 1998 A
5903545 Sabourin et al. May 1999 A
6012096 Link et al. Jan 2000 A
6141595 Gloudeman et al. Oct 2000 A
6144962 Weinberg et al. Nov 2000 A
6239699 Ronnen May 2001 B1
6247058 Miller et al. Jun 2001 B1
6249241 Jordan et al. Jun 2001 B1
6330562 Boden et al. Dec 2001 B1
6353775 Nichols Mar 2002 B1
6525658 Streetman et al. Feb 2003 B2
6546420 Lemler et al. Apr 2003 B1
6597663 Rekhter Jul 2003 B1
6611896 Mason, Jr. et al. Aug 2003 B1
6654750 Adams et al. Nov 2003 B1
6728779 Griffin et al. Apr 2004 B1
6801878 Hintz et al. Oct 2004 B1
6816461 Scrandis et al. Nov 2004 B1
6847993 Novaes et al. Jan 2005 B1
6848106 Hipp Jan 2005 B1
6925490 Novaes et al. Aug 2005 B1
6958998 Shorey Oct 2005 B2
6983323 Cantrell et al. Jan 2006 B2
6996817 Birum et al. Feb 2006 B2
6999452 Drummond-Murray et al. Feb 2006 B1
7002464 Bruemmer et al. Feb 2006 B2
7024468 Meyer et al. Apr 2006 B1
7096368 Kouznetsov et al. Aug 2006 B2
7111055 Falkner Sep 2006 B2
7120934 Ishikawa Oct 2006 B2
7133923 MeLampy et al. Nov 2006 B2
7162643 Sankaran et al. Jan 2007 B1
7181769 Keanini et al. Feb 2007 B1
7185103 Jain Feb 2007 B1
7203740 Putzolu et al. Apr 2007 B1
7302487 Ylonen et al. Nov 2007 B2
7337206 Wen et al. Feb 2008 B1
7349761 Cruse Mar 2008 B1
7353511 Ziese Apr 2008 B1
7356679 Le et al. Apr 2008 B1
7360072 Soltis et al. Apr 2008 B1
7370092 Aderton et al. May 2008 B2
7395195 Suenbuel et al. Jul 2008 B2
7444404 Wetherall et al. Oct 2008 B2
7466681 Ashwood-Smith et al. Dec 2008 B2
7467205 Dempster et al. Dec 2008 B1
7496040 Seo Feb 2009 B2
7496575 Buccella et al. Feb 2009 B2
7530105 Gilbert et al. May 2009 B2
7539770 Meier May 2009 B2
7568107 Rathi et al. Jul 2009 B1
7610330 Quinn et al. Oct 2009 B1
7633942 Bearden et al. Dec 2009 B2
7644438 Dash et al. Jan 2010 B1
7676570 Levy et al. Mar 2010 B2
7681131 Quarterman et al. Mar 2010 B1
7693947 Judge et al. Apr 2010 B2
7743242 Oberhaus et al. Jun 2010 B2
7752307 Takara Jul 2010 B2
7774498 Kraemer et al. Aug 2010 B1
7783457 Cunningham Aug 2010 B2
7787480 Mehta et al. Aug 2010 B1
7788477 Huang et al. Aug 2010 B1
7808897 Mehta et al. Oct 2010 B1
7813822 Hoffberg Oct 2010 B1
7844696 Labovitz et al. Nov 2010 B2
7844744 Abercrombie et al. Nov 2010 B2
7864707 Dimitropoulos et al. Jan 2011 B2
7873025 Patel et al. Jan 2011 B2
7873074 Boland Jan 2011 B1
7874001 Beck et al. Jan 2011 B2
7885197 Metzler Feb 2011 B2
7895649 Brook et al. Feb 2011 B1
7904420 Ianni Mar 2011 B2
7930752 Hertzog et al. Apr 2011 B2
7934248 Yehuda et al. Apr 2011 B1
7957934 Greifeneder Jun 2011 B2
7961637 McBeath Jun 2011 B2
7970946 Djabarov et al. Jun 2011 B1
7975035 Popescu et al. Jul 2011 B2
8001610 Chickering et al. Aug 2011 B1
8005935 Pradhan et al. Aug 2011 B2
8040232 Oh et al. Oct 2011 B2
8040822 Proulx et al. Oct 2011 B2
8056134 Ogilvie Nov 2011 B1
8115617 Thubert et al. Feb 2012 B2
8135657 Kapoor et al. Mar 2012 B2
8156430 Newman Apr 2012 B2
8160063 Maltz et al. Apr 2012 B2
8179809 Eppstein et al. May 2012 B1
8181248 Oh et al. May 2012 B2
8185824 Mitchell et al. May 2012 B1
8239365 Salman Aug 2012 B2
8239915 Satish et al. Aug 2012 B1
8250657 Nachenberg et al. Aug 2012 B1
8255972 Azagury et al. Aug 2012 B2
8266697 Coffman Sep 2012 B2
8272875 Jurmain Sep 2012 B1
8281397 Vaidyanathan et al. Oct 2012 B2
8291495 Burns et al. Oct 2012 B1
8296847 Mendonca et al. Oct 2012 B2
8311973 Zadeh Nov 2012 B1
8365286 Poston Jan 2013 B2
8370407 Devarajan et al. Feb 2013 B1
8381289 Pereira et al. Feb 2013 B1
8391270 Van Der Stok et al. Mar 2013 B2
8407164 Malik et al. Mar 2013 B2
8407798 Lotem et al. Mar 2013 B1
8413235 Chen et al. Apr 2013 B1
8442073 Skubacz et al. May 2013 B2
8451731 Lee et al. May 2013 B1
8462212 Kundu et al. Jun 2013 B1
8489765 Vasseur et al. Jul 2013 B2
8499348 Rubin Jul 2013 B1
8516590 Ranadive et al. Aug 2013 B1
8527977 Cheng et al. Sep 2013 B1
8549635 Muttik et al. Oct 2013 B2
8570861 Brandwine et al. Oct 2013 B1
8572600 Chung et al. Oct 2013 B2
8572734 McConnell et al. Oct 2013 B2
8572735 Ghosh et al. Oct 2013 B2
8572739 Cruz et al. Oct 2013 B1
8588081 Salam et al. Nov 2013 B2
8600726 Varshney et al. Dec 2013 B1
8613084 Dalcher Dec 2013 B2
8615803 Dacier et al. Dec 2013 B2
8630316 Haba Jan 2014 B2
8631464 Belakhdar et al. Jan 2014 B2
8640086 Bonev et al. Jan 2014 B2
8656493 Capalik Feb 2014 B2
8661544 Yen et al. Feb 2014 B2
8677487 Balupari et al. Mar 2014 B2
8683389 Bar-Yam et al. Mar 2014 B1
8706914 Duchesneau Apr 2014 B2
8713676 Pandrangi et al. Apr 2014 B2
8719452 Ding et al. May 2014 B1
8719835 Kanso et al. May 2014 B2
8750287 Bui et al. Jun 2014 B2
8752042 Ratica Jun 2014 B2
8752179 Zaitsev Jun 2014 B2
8755396 Sindhu et al. Jun 2014 B2
8762951 Kosche et al. Jun 2014 B1
8769084 Westerfeld et al. Jul 2014 B2
8775577 Alford et al. Jul 2014 B1
8776180 Kumar et al. Jul 2014 B2
8812448 Anderson et al. Aug 2014 B1
8812725 Kulkarni Aug 2014 B2
8813236 Saha et al. Aug 2014 B1
8825848 Dotan et al. Sep 2014 B1
8832013 Adams et al. Sep 2014 B1
8832461 Saroiu et al. Sep 2014 B2
8849926 Marzencki et al. Sep 2014 B2
8881258 Paul et al. Nov 2014 B2
8887238 Howard et al. Nov 2014 B2
8904520 Nachenberg et al. Dec 2014 B1
8908685 Patel et al. Dec 2014 B2
8914497 Xiao et al. Dec 2014 B1
8931043 Cooper et al. Jan 2015 B2
8954610 Berke et al. Feb 2015 B2
8955124 Kim et al. Feb 2015 B2
8966021 Allen Feb 2015 B1
8966625 Zuk et al. Feb 2015 B1
8973147 Pearcy et al. Mar 2015 B2
8984331 Quinn Mar 2015 B2
8990386 He et al. Mar 2015 B2
8996695 Anderson et al. Mar 2015 B2
8997227 Mhatre et al. Mar 2015 B1
9014047 Alcala et al. Apr 2015 B2
9015716 Fletcher et al. Apr 2015 B2
9071575 Lemaster et al. Jun 2015 B2
9088598 Zhang et al. Jul 2015 B1
9110905 Polley et al. Aug 2015 B2
9117075 Yeh Aug 2015 B1
9130836 Kapadia et al. Sep 2015 B2
9152789 Natarajan et al. Oct 2015 B2
9160764 Stiansen et al. Oct 2015 B2
9170917 Kumar et al. Oct 2015 B2
9178906 Chen et al. Nov 2015 B1
9185127 Neou et al. Nov 2015 B2
9191400 Ptasinski et al. Nov 2015 B1
9191402 Yan Nov 2015 B2
9197654 Ben-Shalom et al. Nov 2015 B2
9225793 Dutta et al. Dec 2015 B2
9237111 Banavalikar et al. Jan 2016 B2
9246702 Sharma et al. Jan 2016 B1
9246773 Degioanni Jan 2016 B2
9253042 Lumezanu et al. Feb 2016 B2
9253206 Fleischman Feb 2016 B1
9258217 Duffield et al. Feb 2016 B2
9281940 Matsuda et al. Mar 2016 B2
9286047 Avramov et al. Mar 2016 B1
9294486 Chiang et al. Mar 2016 B1
9317574 Brisebois et al. Apr 2016 B1
9319384 Yan et al. Apr 2016 B2
9369435 Short et al. Jun 2016 B2
9369479 Lin Jun 2016 B2
9378068 Anantharam et al. Jun 2016 B2
9396327 Auger et al. Jul 2016 B2
9405903 Xie et al. Aug 2016 B1
9417985 Baars et al. Aug 2016 B2
9418222 Rivera et al. Aug 2016 B1
9426068 Dunbar et al. Aug 2016 B2
9454324 Madhavapeddi Sep 2016 B1
9462013 Boss et al. Oct 2016 B1
9465696 McNeil et al. Oct 2016 B2
9501744 Brisebois et al. Nov 2016 B1
9531589 Clemm et al. Dec 2016 B2
9563517 Natanzon et al. Feb 2017 B1
9621413 Lee Apr 2017 B1
9634915 Bley Apr 2017 B2
9645892 Patwardhan May 2017 B1
9684453 Holt et al. Jun 2017 B2
9697033 Koponen et al. Jul 2017 B2
9733973 Prasad et al. Aug 2017 B2
9749145 Banavalikar et al. Aug 2017 B2
9792188 Shen Oct 2017 B2
9800608 Korsunsky et al. Oct 2017 B2
9904584 Konig et al. Feb 2018 B2
9916538 Zadeh et al. Mar 2018 B2
9935851 Gandham et al. Apr 2018 B2
10009240 Rao et al. Jun 2018 B2
20010028646 Arts et al. Oct 2001 A1
20020053033 Cooper et al. May 2002 A1
20020097687 Meiri et al. Jul 2002 A1
20020103793 Koller et al. Aug 2002 A1
20020107857 Teraslinna Aug 2002 A1
20020141343 Bays Oct 2002 A1
20020184393 Leddy et al. Dec 2002 A1
20030023601 Fortier, Jr. et al. Jan 2003 A1
20030065986 Fraenkel et al. Apr 2003 A1
20030097439 Strayer et al. May 2003 A1
20030126242 Chang Jul 2003 A1
20030145232 Poletto et al. Jul 2003 A1
20030151513 Herrmann et al. Aug 2003 A1
20030154399 Zuk et al. Aug 2003 A1
20030177208 Harvey, IV Sep 2003 A1
20040019676 Iwatsuki et al. Jan 2004 A1
20040030776 Cantrell et al. Feb 2004 A1
20040213221 Civanlar et al. Oct 2004 A1
20040220984 Dudfield et al. Nov 2004 A1
20040243533 Dempster et al. Dec 2004 A1
20040255050 Takehiro et al. Dec 2004 A1
20040268149 Aaron Dec 2004 A1
20050028154 Smith et al. Feb 2005 A1
20050039104 Shah et al. Feb 2005 A1
20050063377 Bryant et al. Mar 2005 A1
20050083933 Fine et al. Apr 2005 A1
20050108331 Osterman May 2005 A1
20050122325 Twait Jun 2005 A1
20050138157 Jung et al. Jun 2005 A1
20050166066 Ahuja et al. Jul 2005 A1
20050177829 Vishwanath Aug 2005 A1
20050182681 Bruskotter et al. Aug 2005 A1
20050185621 Sivakumar et al. Aug 2005 A1
20050198247 Perry et al. Sep 2005 A1
20050198371 Smith et al. Sep 2005 A1
20050198629 Vishwanath Sep 2005 A1
20050207376 Ashwood-Smith et al. Sep 2005 A1
20050228874 Edgett Oct 2005 A1
20050257244 Joly et al. Nov 2005 A1
20050289244 Sahu et al. Dec 2005 A1
20060048218 Lingafelt et al. Mar 2006 A1
20060077909 Saleh et al. Apr 2006 A1
20060080733 Khosmood et al. Apr 2006 A1
20060089985 Poletto Apr 2006 A1
20060095968 Portolani et al. May 2006 A1
20060143432 Rothman et al. Jun 2006 A1
20060156408 Himberger et al. Jul 2006 A1
20060159032 Ukrainetz et al. Jul 2006 A1
20060173912 Lindvall et al. Aug 2006 A1
20060195448 Newport Aug 2006 A1
20060272018 Fouant Nov 2006 A1
20060274659 Ouderkirk Dec 2006 A1
20060280179 Meier Dec 2006 A1
20060294219 Ogawa et al. Dec 2006 A1
20070014275 Bettink et al. Jan 2007 A1
20070025306 Cox et al. Feb 2007 A1
20070038743 Hellhake Feb 2007 A1
20070044147 Choi et al. Feb 2007 A1
20070097976 Wood et al. May 2007 A1
20070118654 Jamkhedkar et al. May 2007 A1
20070127491 Verzijp et al. Jun 2007 A1
20070162420 Ou et al. Jul 2007 A1
20070169179 Narad Jul 2007 A1
20070195729 Li et al. Aug 2007 A1
20070195794 Fujita et al. Aug 2007 A1
20070195797 Patel et al. Aug 2007 A1
20070201474 Isobe Aug 2007 A1
20070211637 Mitchell Sep 2007 A1
20070214348 Danielsen Sep 2007 A1
20070220303 Kimura Sep 2007 A1
20070230415 Malik Oct 2007 A1
20070232265 Park et al. Oct 2007 A1
20070250930 Aziz et al. Oct 2007 A1
20070300061 Kim et al. Dec 2007 A1
20080002697 Anantharamaiah et al. Jan 2008 A1
20080005609 Zimmer Jan 2008 A1
20080022385 Crowell et al. Jan 2008 A1
20080028389 Genty et al. Jan 2008 A1
20080046708 Fitzgerald et al. Feb 2008 A1
20080049633 Edwards et al. Feb 2008 A1
20080056124 Nanda et al. Mar 2008 A1
20080082662 Danliker et al. Apr 2008 A1
20080101234 Nakil et al. May 2008 A1
20080120350 Grabowski et al. May 2008 A1
20080126534 Mueller et al. May 2008 A1
20080141246 Kuck et al. Jun 2008 A1
20080155245 Lipscombe et al. Jun 2008 A1
20080250122 Zsigmond et al. Oct 2008 A1
20080270199 Chess et al. Oct 2008 A1
20080282347 Dadhia et al. Nov 2008 A1
20080295163 Kang Nov 2008 A1
20080301765 Nicol et al. Dec 2008 A1
20090034543 Thomas Feb 2009 A1
20090059934 Aggarwal et al. Mar 2009 A1
20090064332 Porras et al. Mar 2009 A1
20090109849 Wood et al. Apr 2009 A1
20090133126 Jang et al. May 2009 A1
20090138590 Lee et al. May 2009 A1
20090180393 Nakamura Jul 2009 A1
20090241170 Kumar et al. Sep 2009 A1
20090292795 Ford et al. Nov 2009 A1
20090296593 Prescott Dec 2009 A1
20090300180 Dehaan et al. Dec 2009 A1
20090307753 Dupont et al. Dec 2009 A1
20090313373 Hanna et al. Dec 2009 A1
20090313698 Wahl Dec 2009 A1
20090319912 Serr et al. Dec 2009 A1
20090323543 Shimakura Dec 2009 A1
20090328219 Narayanaswamy Dec 2009 A1
20100005288 Rao et al. Jan 2010 A1
20100049839 Parker et al. Feb 2010 A1
20100054241 Shah et al. Mar 2010 A1
20100077445 Schneider et al. Mar 2010 A1
20100095293 O'Neill et al. Apr 2010 A1
20100095367 Narayanaswamy Apr 2010 A1
20100095377 Krywaniuk Apr 2010 A1
20100138526 DeHaan et al. Jun 2010 A1
20100138810 Komatsu et al. Jun 2010 A1
20100148940 Gelvin et al. Jun 2010 A1
20100153316 Duffield et al. Jun 2010 A1
20100153696 Beachem et al. Jun 2010 A1
20100180016 Bugwadia et al. Jul 2010 A1
20100194741 Finocchio Aug 2010 A1
20100220584 DeHaan et al. Sep 2010 A1
20100235514 Beachem Sep 2010 A1
20100235879 Burnside et al. Sep 2010 A1
20100235915 Memon et al. Sep 2010 A1
20100287266 Asati et al. Nov 2010 A1
20100303240 Beachem Dec 2010 A1
20100306180 Johnson et al. Dec 2010 A1
20100317420 Hoffberg Dec 2010 A1
20100319060 Aiken et al. Dec 2010 A1
20110004935 Moffie et al. Jan 2011 A1
20110010585 Bugenhagen et al. Jan 2011 A1
20110022641 Werth et al. Jan 2011 A1
20110055381 Narasimhan et al. Mar 2011 A1
20110055388 Yumerefendi et al. Mar 2011 A1
20110066719 Miryanov et al. Mar 2011 A1
20110069685 Tofighbakhsh Mar 2011 A1
20110072119 Bronstein et al. Mar 2011 A1
20110083125 Komatsu et al. Apr 2011 A1
20110085556 Breslin et al. Apr 2011 A1
20110103259 Aybay et al. May 2011 A1
20110106528 Maddison May 2011 A1
20110107074 Chan et al. May 2011 A1
20110107331 Evans et al. May 2011 A1
20110126136 Abella et al. May 2011 A1
20110126275 Anderson et al. May 2011 A1
20110145885 Rivers et al. Jun 2011 A1
20110153039 Gvelesiani et al. Jun 2011 A1
20110153811 Jeong et al. Jun 2011 A1
20110158088 Lofstrand et al. Jun 2011 A1
20110170860 Smith et al. Jul 2011 A1
20110173490 Narayanaswamy et al. Jul 2011 A1
20110185423 Sallam Jul 2011 A1
20110196957 Ayachitula et al. Aug 2011 A1
20110202655 Sharma et al. Aug 2011 A1
20110214174 Herzog et al. Sep 2011 A1
20110225207 Subramanian et al. Sep 2011 A1
20110228696 Agarwal et al. Sep 2011 A1
20110238793 Bedare et al. Sep 2011 A1
20110246663 Melsen et al. Oct 2011 A1
20110277034 Hanson Nov 2011 A1
20110283277 Castillo et al. Nov 2011 A1
20110302652 Westerfeld Dec 2011 A1
20110314148 Petersen et al. Dec 2011 A1
20110317982 Xu et al. Dec 2011 A1
20120005542 Petersen et al. Jan 2012 A1
20120079592 Pandrangi Mar 2012 A1
20120089664 Igelka Apr 2012 A1
20120102361 Sass et al. Apr 2012 A1
20120102543 Kohli et al. Apr 2012 A1
20120110188 Van Biljon et al. May 2012 A1
20120117226 Tanaka et al. May 2012 A1
20120117642 Lin et al. May 2012 A1
20120136996 Seo et al. May 2012 A1
20120137278 Draper et al. May 2012 A1
20120137361 Yi et al. May 2012 A1
20120140626 Anand et al. Jun 2012 A1
20120195198 Regan Aug 2012 A1
20120197856 Banka et al. Aug 2012 A1
20120198541 Reeves Aug 2012 A1
20120216271 Cooper et al. Aug 2012 A1
20120218989 Tanabe et al. Aug 2012 A1
20120219004 Balus et al. Aug 2012 A1
20120233348 Winters Sep 2012 A1
20120233473 Vasseur et al. Sep 2012 A1
20120240232 Azuma Sep 2012 A1
20120246303 Petersen et al. Sep 2012 A1
20120254109 Shukla et al. Oct 2012 A1
20120260227 Shukla et al. Oct 2012 A1
20120278021 Lin et al. Nov 2012 A1
20120281700 Koganti et al. Nov 2012 A1
20120300628 Prescott et al. Nov 2012 A1
20130003538 Greenburg et al. Jan 2013 A1
20130003733 Venkatesan et al. Jan 2013 A1
20130006935 Grisby Jan 2013 A1
20130007435 Bayani Jan 2013 A1
20130038358 Cook et al. Feb 2013 A1
20130041934 Annamalaisami et al. Feb 2013 A1
20130054682 Malik et al. Feb 2013 A1
20130085889 Fitting et al. Apr 2013 A1
20130086272 Chen et al. Apr 2013 A1
20130103827 Dunlap et al. Apr 2013 A1
20130107709 Campbell et al. May 2013 A1
20130124807 Nielsen et al. May 2013 A1
20130125107 Bandakka et al. May 2013 A1
20130145099 Liu et al. Jun 2013 A1
20130148663 Xiong Jun 2013 A1
20130159999 Chiueh et al. Jun 2013 A1
20130173784 Wang et al. Jul 2013 A1
20130174256 Powers Jul 2013 A1
20130179487 Lubetzky et al. Jul 2013 A1
20130179879 Zhang et al. Jul 2013 A1
20130198517 Mazzarella Aug 2013 A1
20130198839 Wei et al. Aug 2013 A1
20130201986 Sajassi et al. Aug 2013 A1
20130205293 Levijarvi et al. Aug 2013 A1
20130219161 Fontignie et al. Aug 2013 A1
20130219500 Lukas et al. Aug 2013 A1
20130232498 Mangtani et al. Sep 2013 A1
20130242999 Kamble et al. Sep 2013 A1
20130246925 Ahuja et al. Sep 2013 A1
20130247201 Alperovitch et al. Sep 2013 A1
20130254879 Chesla et al. Sep 2013 A1
20130268994 Cooper et al. Oct 2013 A1
20130275579 Hernandez et al. Oct 2013 A1
20130283374 Zisapel et al. Oct 2013 A1
20130290521 Labovitz Oct 2013 A1
20130297771 Osterloh et al. Nov 2013 A1
20130301472 Allan Nov 2013 A1
20130304900 Trabelsi et al. Nov 2013 A1
20130305369 Karta et al. Nov 2013 A1
20130318357 Abraham et al. Nov 2013 A1
20130326623 Kruglick Dec 2013 A1
20130333029 Chesla et al. Dec 2013 A1
20130336164 Yang et al. Dec 2013 A1
20130346736 Cook et al. Dec 2013 A1
20130347103 Veteikis et al. Dec 2013 A1
20140006610 Formby et al. Jan 2014 A1
20140006871 Lakshmanan et al. Jan 2014 A1
20140012814 Bercovici et al. Jan 2014 A1
20140019972 Yahalom et al. Jan 2014 A1
20140031005 Sumcad et al. Jan 2014 A1
20140033193 Palaniappan Jan 2014 A1
20140036688 Stassinopoulos et al. Feb 2014 A1
20140040343 Nickolov et al. Feb 2014 A1
20140047185 Peterson et al. Feb 2014 A1
20140047372 Gnezdov et al. Feb 2014 A1
20140056318 Hansson et al. Feb 2014 A1
20140059200 Nguyen et al. Feb 2014 A1
20140074946 Dirstine et al. Mar 2014 A1
20140089494 Dasari et al. Mar 2014 A1
20140092884 Murphy et al. Apr 2014 A1
20140096058 Molesky et al. Apr 2014 A1
20140105029 Jain et al. Apr 2014 A1
20140115219 Ajanovic et al. Apr 2014 A1
20140122674 Gray May 2014 A1
20140129942 Rathod May 2014 A1
20140137109 Sharma et al. May 2014 A1
20140140244 Kapadia et al. May 2014 A1
20140143825 Behrendt et al. May 2014 A1
20140149490 Luxenberg et al. May 2014 A1
20140156814 Barabash et al. Jun 2014 A1
20140156861 Cruz-Aguilar et al. Jun 2014 A1
20140164607 Bai et al. Jun 2014 A1
20140165200 Singla Jun 2014 A1
20140165207 Engel et al. Jun 2014 A1
20140173623 Chang et al. Jun 2014 A1
20140192639 Smirnov Jul 2014 A1
20140201717 Mascaro et al. Jul 2014 A1
20140215573 Cepuran Jul 2014 A1
20140215621 Xaypanya et al. Jul 2014 A1
20140224784 Kohler Aug 2014 A1
20140225603 Auguste et al. Aug 2014 A1
20140233387 Zheng et al. Aug 2014 A1
20140269777 Rothstein et al. Sep 2014 A1
20140280499 Basavaiah et al. Sep 2014 A1
20140280920 Foley Sep 2014 A1
20140281030 Cui et al. Sep 2014 A1
20140286354 Van De Poel et al. Sep 2014 A1
20140289854 Mahvi Sep 2014 A1
20140298461 Hohndel et al. Oct 2014 A1
20140307686 Su et al. Oct 2014 A1
20140317278 Kersch et al. Oct 2014 A1
20140317737 Shin et al. Oct 2014 A1
20140330616 Lyras Nov 2014 A1
20140331048 Casas-Sanchez et al. Nov 2014 A1
20140331276 Frascadore et al. Nov 2014 A1
20140331280 Porras et al. Nov 2014 A1
20140331304 Wong Nov 2014 A1
20140348182 Chandra et al. Nov 2014 A1
20140351203 Kunnatur et al. Nov 2014 A1
20140351415 Harrigan et al. Nov 2014 A1
20140359695 Chari et al. Dec 2014 A1
20150006689 Szilagyi et al. Jan 2015 A1
20150006714 Jain Jan 2015 A1
20150009840 Pruthi et al. Jan 2015 A1
20150026809 Altman et al. Jan 2015 A1
20150033305 Shear et al. Jan 2015 A1
20150036480 Huang et al. Feb 2015 A1
20150036533 Sodhi et al. Feb 2015 A1
20150039751 Harrigan et al. Feb 2015 A1
20150046882 Menyhart et al. Feb 2015 A1
20150052441 Degioanni Feb 2015 A1
20150058976 Carney et al. Feb 2015 A1
20150067143 Babakhan et al. Mar 2015 A1
20150067786 Fiske Mar 2015 A1
20150082151 Liang et al. Mar 2015 A1
20150082430 Sridhara et al. Mar 2015 A1
20150085665 Kompella et al. Mar 2015 A1
20150095332 Beisiegel et al. Apr 2015 A1
20150112933 Satapathy Apr 2015 A1
20150113133 Srinivas et al. Apr 2015 A1
20150124608 Agarwal et al. May 2015 A1
20150124652 Dhamapurikar et al. May 2015 A1
20150128133 Pohlmann May 2015 A1
20150128205 Mahaffey et al. May 2015 A1
20150130359 Bosua May 2015 A1
20150138993 Forster et al. May 2015 A1
20150142962 Srinivas et al. May 2015 A1
20150195291 Zuk et al. Jul 2015 A1
20150222939 Gallant et al. Aug 2015 A1
20150249622 Phillips et al. Sep 2015 A1
20150256555 Choi et al. Sep 2015 A1
20150261842 Huang et al. Sep 2015 A1
20150261886 Wu et al. Sep 2015 A1
20150271008 Jain et al. Sep 2015 A1
20150271255 Mackay et al. Sep 2015 A1
20150295945 Canzanese, Jr. et al. Oct 2015 A1
20150312233 Graham, III et al. Oct 2015 A1
20150347554 Vasantham et al. Dec 2015 A1
20150356297 Guri et al. Dec 2015 A1
20150358352 Chasin et al. Dec 2015 A1
20160006753 McDaid et al. Jan 2016 A1
20160019030 Shukla et al. Jan 2016 A1
20160020959 Rahaman Jan 2016 A1
20160021131 Heilig Jan 2016 A1
20160026552 Holden et al. Jan 2016 A1
20160036636 Erickson et al. Feb 2016 A1
20160036837 Jain et al. Feb 2016 A1
20160050132 Zhang et al. Feb 2016 A1
20160072815 Rieke et al. Mar 2016 A1
20160080414 Kolton et al. Mar 2016 A1
20160087861 Kuan et al. Mar 2016 A1
20160094394 Sharma et al. Mar 2016 A1
20160094529 Mityagin Mar 2016 A1
20160103692 Guntaka et al. Apr 2016 A1
20160105350 Greifeneder et al. Apr 2016 A1
20160112270 Danait et al. Apr 2016 A1
20160112284 Pon et al. Apr 2016 A1
20160119234 Valencia Lopez et al. Apr 2016 A1
20160127395 Underwood et al. May 2016 A1
20160147585 Konig et al. May 2016 A1
20160162308 Chen et al. Jun 2016 A1
20160162312 Doherty et al. Jun 2016 A1
20160173446 Nantel Jun 2016 A1
20160173535 Barabash et al. Jun 2016 A1
20160183093 Vaughn et al. Jun 2016 A1
20160191476 Schutz et al. Jun 2016 A1
20160205002 Rieke et al. Jul 2016 A1
20160216994 Sefidcon et al. Jul 2016 A1
20160217022 Velipasaoglu et al. Jul 2016 A1
20160224298 Nogawa Aug 2016 A1
20160255082 Rathod Sep 2016 A1
20160269424 Chandola et al. Sep 2016 A1
20160269442 Shieh Sep 2016 A1
20160269482 Jamjoom et al. Sep 2016 A1
20160294691 Joshi Oct 2016 A1
20160308908 Kirby et al. Oct 2016 A1
20160337204 Dubey et al. Nov 2016 A1
20160357424 Pang et al. Dec 2016 A1
20160357546 Chang et al. Dec 2016 A1
20160357587 Yadav et al. Dec 2016 A1
20160357957 Deen et al. Dec 2016 A1
20160359592 Kulshreshtha et al. Dec 2016 A1
20160359628 Singh et al. Dec 2016 A1
20160359658 Yadav et al. Dec 2016 A1
20160359673 Gupta et al. Dec 2016 A1
20160359677 Kulshreshtha et al. Dec 2016 A1
20160359678 Madani et al. Dec 2016 A1
20160359679 Parasdehgheibi et al. Dec 2016 A1
20160359680 Parasdehgheibi et al. Dec 2016 A1
20160359686 Parasdehgheibi et al. Dec 2016 A1
20160359695 Yadav et al. Dec 2016 A1
20160359696 Yadav et al. Dec 2016 A1
20160359697 Scheib et al. Dec 2016 A1
20160359698 Deen et al. Dec 2016 A1
20160359699 Gandham et al. Dec 2016 A1
20160359700 Pang et al. Dec 2016 A1
20160359701 Pang et al. Dec 2016 A1
20160359703 Gandham et al. Dec 2016 A1
20160359704 Gandham et al. Dec 2016 A1
20160359705 Parasdehgheibi et al. Dec 2016 A1
20160359708 Gandham et al. Dec 2016 A1
20160359709 Deen et al. Dec 2016 A1
20160359711 Deen et al. Dec 2016 A1
20160359712 Alizadeh Attar et al. Dec 2016 A1
20160359740 Parasdehgheibi et al. Dec 2016 A1
20160359759 Singh et al. Dec 2016 A1
20160359872 Yadav et al. Dec 2016 A1
20160359877 Kulshreshtha et al. Dec 2016 A1
20160359878 Prasad et al. Dec 2016 A1
20160359879 Deen et al. Dec 2016 A1
20160359880 Pang et al. Dec 2016 A1
20160359881 Yadav et al. Dec 2016 A1
20160359888 Gupta et al. Dec 2016 A1
20160359889 Yadav et al. Dec 2016 A1
20160359890 Deen et al. Dec 2016 A1
20160359891 Pang et al. Dec 2016 A1
20160359897 Yadav et al. Dec 2016 A1
20160359905 Touboul et al. Dec 2016 A1
20160359912 Gupta et al. Dec 2016 A1
20160359913 Gupta et al. Dec 2016 A1
20160359914 Deen et al. Dec 2016 A1
20160359915 Gupta et al. Dec 2016 A1
20160359917 Rao et al. Dec 2016 A1
20160373481 Sultan et al. Dec 2016 A1
20160380865 Dubai et al. Dec 2016 A1
20170006141 Bhadra Jan 2017 A1
20170024453 Raja et al. Jan 2017 A1
20170032310 Mimnaugh Feb 2017 A1
20170034018 Parasdehgheibi et al. Feb 2017 A1
20170048121 Hobbs et al. Feb 2017 A1
20170070582 Desai et al. Mar 2017 A1
20170085483 Mihaly et al. Mar 2017 A1
20170208487 Ratakonda et al. Jul 2017 A1
20170250880 Akens et al. Aug 2017 A1
20170250951 Wang et al. Aug 2017 A1
20170289067 Lu et al. Oct 2017 A1
20170295141 Thubert et al. Oct 2017 A1
20170302691 Singh et al. Oct 2017 A1
20170331747 Singh et al. Nov 2017 A1
20170346736 Chander et al. Nov 2017 A1
20170364380 Frye, Jr. et al. Dec 2017 A1
20180006911 Dickey Jan 2018 A1
20180007115 Nedeltchev et al. Jan 2018 A1
20180013670 Kapadia et al. Jan 2018 A1
20180145906 Yadav et al. May 2018 A1
20180309651 Kim Oct 2018 A1
Foreign Referenced Citations (25)
Number Date Country
101093452 Dec 2007 CN
101770551 Jul 2010 CN
102521537 Jun 2012 CN
103023970 Apr 2013 CN
103716137 Apr 2014 CN
104065518 Sep 2014 CN
107196807 Sep 2017 CN
0811942 Dec 1997 EP
1076848 Jul 2002 EP
1383261 Jan 2004 EP
1450511 Aug 2004 EP
2045974 Apr 2008 EP
2043320 Apr 2009 EP
2860912 Apr 2015 EP
2887595 Jun 2015 EP
2009-016906 Jan 2009 JP
1394338 May 2014 KR
WO 2007014314 Feb 2007 WO
WO 2007070711 Jun 2007 WO
WO 2008069439 Jun 2008 WO
WO 2013030830 Mar 2013 WO
WO 2015042171 Mar 2015 WO
WO 2015099778 Jul 2015 WO
WO 2016004075 Jan 2016 WO
WO 2016019523 Feb 2016 WO
Non-Patent Literature Citations (100)
Entry
Arista Networks, Inc., “Application Visibility and Network Telemtry using Splunk,” Arista White Paper, Nov. 2013, 11 pages.
Australian Government Department of Defence, Intelligence and Security, “Top 4 Strategies to Mitigate Targeted Cyber Intrusions,” Cyber Security Operations Centre Jul. 2013, http://www.asd.gov.au/infosec/top-mitigations/top-4-strategies-explained.htm.
Author Unknown, “Blacklists & Dynamic Reputation: Understanding Why the Evolving Threat Eludes Blacklists,” www.dambala.com, 9 pages, Dambala, Atlanta, GA, USA.
Aydin, Galip, et al., “Architecture and Implementation of a Scalable Sensor Data Storage and Analysis Using Cloud Computing and Big Data Technologies,” Journal of Sensors, vol. 2015, Article ID 834217, Feb. 2015, 11 pages.
Backes, Michael, et al., “Data Lineage in Malicious Environments,” IEEE 2015, pp. 1-13.
Bauch, Petr, “Reader's Report of Master's Thesis, Analysis and Testing of Distributed NoSQL Datastore Riak,” May 28, 2015, Brno. 2 pages.
Bayati, Mohsen, et al., “Message-Passing Algorithms for Sparse Network Alignment,” Mar. 2013, 31 pages.
Berezinski, Przemyslaw, et al., “An Entropy-Based Network Anomaly Detection Method,” Entropy, 2015, vol. 17, www.mdpi.com/joumal/entropy, pp. 2367-2408.
Berthier, Robin, et al. “Nfsight: Netflow-based Network Awareness Tool,” 2010, 16 pages.
Bhuyan, Dhiraj, “Fighting Bots and Botnets,” 2006, pp. 23-28.
Blair, Dana, et al., U.S. Appl. No. 62/106,006, filed Jan. 21, 2015, entitled “Monitoring Network Policy Compliance.”
Bosch, Greg, “Virtualization,” 2010, 33 pages.
Breen, Christopher, “MAC 911, How to dismiss Mac App Store Notifications,” Macworld.com, Mar. 24, 2014, 3 pages.
Chandran, Midhun, et al., “Monitoring in a Virtualized Environment,” GSTF International Journal on Computing, vol. 1, No. 1, Aug. 2010.
Chari, Suresh, et al., “Ensuring continuous compliance through reconciling policy with usage,” Proceedings of the 18th ACM symposium on Access control models and technologies (SACMAT '13). ACM, New York, NY, USA, 49-60.
Chen, Xu, et al., “Automating network application dependency discovery: experiences, limitations, and new solutions,” 8th USENIX conference on Operating systems design and implementation (OSDI'08), USENIX Association, Berkeley, CA, USA, 117-130.
Chou, C.W., et al., “Optical Clocks and Relativity,” Science vol. 329, Sep. 24, 2010, pp. 1630-1633.
Cisco Systems, “Cisco Network Analysis Modules (NAM) Tutorial,” Cisco Systems, Inc., Version 3.5.
Cisco Systems, Inc., “Addressing Compliance from One Infrastructure: Cisco Unified Compliance Solution Framework,” 2014.
Cisco Systems, Inc., “Cisco Application Dependency Mapping Service,” 2009.
Cisco Systems, Inc., “White Paper—New Cisco Technologies Help Customers Achieve Regulatory Compliance,” 1992-2008.
Cisco Systems, Inc., “A Cisco Guide to Defending Against Distributed Denial of Service Attacks,” May 3, 2016, 34 pages.
Cisco Systems, Inc., “Cisco Application Visibility and Control,” Oct. 2011, 2 pages.
Cisco Systems, Inc., “Cisco Tetration Platform Data Sheet”, Updated Mar. 5, 2018, 21 pages.
Cisco Technology, Inc., “Cisco Lock-and-Key:Dynamic Access Lists,” http://www/cisco.com/c/en/us/support/docs/security-vpn/lock-key/7604-13.html; Updated Jul. 12, 2006, 16 pages.
Di Lorenzo, Guisy, et al., “EXSED: An Intelligent Tool for Exploration of Social Events Dynamics from Augmented Trajectories,” Mobile Data Management (MDM), pp. 323-330, Jun. 3-6, 2013.
Duan, Yiheng, et al., Detective: Automatically Identify and Analyze Malware Processes in Forensic Scenarios via DLLs, IEEE ICC 2015—Next Generation Networking Symposium, pp. 5691-5696.
Feinstein, Laura, et al., “Statistical Approaches to DDoS Attack Detection and Response,” Proceedings of the DARPA Information Survivability Conference and Exposition (DISCEX '03), Apr. 2003, 12 pages.
George, Ashley, et al., “NetPal: A Dynamic Network Administration Knowledge Base,” 2008, pp. 1-14.
Goldsteen, Abigail, et al., “A Tool for Monitoring and Maintaining System Trustworthiness at Run Time,” REFSQ (2015), pp. 142-147.
Hamadi, S., et al., “Fast Path Acceleration for Open vSwitch in Overlay Networks,” Global Information Infrastructure and Networking Symposium (GIIS), Montreal, QC, pp. 1-5, Sep. 15-19, 2014.
Heckman, Sarah, et al., “On Establishing a Benchmark for Evaluating Static Analysis Alert Prioritization and Classification Techniques,” IEEE, 2008; 10 pages.
Hewlett-Packard, “Effective use of reputation intelligence in a security operations center,” Jul. 2013, 6 pages.
Hideshima, Yusuke, et al., “STARMINE: A Visualization System for Cyber Attacks,” https://www.researchgate.net/publication/221536306, Feb. 2006, 9 pages.
Huang, Hing-Jie, et al., “Clock Skew Based Node Identification in Wireless Sensor Networks,” IEEE, 2008, 5 pages.
InternetPerils, Inc., “Control Your Internet Business Risk,” 2003-2015, http://www.internetperils.com.
Ives, Herbert, E., et al., “An Experimental Study of the Rate of a Moving Atomic Clock,” Journal of the Optical Society of America, vol. 28, No. 7, Jul. 1938, pp. 215-226.
Janoff, Christian, et al., “Cisco Compliance Solution for HIPAA Security Rule Design and Implementation Guide,” Cisco Systems, Inc., Updated Nov. 14, 2015, part 1 of 2, 350 pages.
Janoff, Christian, et al., “Cisco Compliance Solution for HIPAA Security Rule Design and Implementation Guide,” Cisco Systems, Inc., Updated Nov. 14, 2015, part 2 of 2, 588 pages.
Kerrison, Adam, et al., “Four Steps to Faster, Better Application Dependency Mapping—Laying the Foundation for Effective Business Service Models,” BMCSoftware, 2011.
Kim, Myung-Sup, et al. “A Flow-based Method for Abnormal Network Traffic Detection,” IEEE, 2004, pp. 599-612.
Kraemer, Brian, “Get to know your data center with CMDB,” TechTarget, Apr. 5, 2006, http://searchdatacenter.techtarget.com/news/118820/Get-to-know-your-data-center-with-CMDB.
Lab Sku, “VMware Hands-on Labs—HOL-SDC-1301” Version: 20140321-160709, 2013; http://docs.hol.vmware.com/HOL-2013/holsdc-1301_html_en/ (part 1 of 2).
Lab Sku, “VMware Hands-on Labs— HOL-SDC-1301” Version: 20140321-160709, 2013; http://docs.hol.vmware.com/HOL-2013/holsdc-1301_html_en/ (part 2 of 2).
Lachance, Michael, “Dirty Little Secrets of Application Dependency Mapping,” Dec. 26, 2007.
Landman, Yoav, et al., “Dependency Analyzer,” Feb. 14, 2008, http://jfrog.com/confluence/display/DA/Home.
Lee, Sihyung, “Reducing Complexity of Large-Scale Network Configuration Management,” Ph.D. Dissertation, Carniege Mellon University, 2010.
Li, Ang, et al., “Fast Anomaly Detection for Large Data Centers,” Global Telecommunications Conference (GLOBECOM 2010, Dec. 2010, 6 pages.
Li, Bingbong, et al, “A Supervised Machine Learning Approach to Classify Host Roles on Line Using sFlow,” in Proceedings of the first edition workshop on High performance and programmable networking, 2013, ACM, New York, NY, USA, 53-60.
Liu, Ting, et al., “Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems,” In Proceedings of the Ninth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming(PPoPP '03), ACM, New York, NY, USA, Jun. 11-13, 2003, pp. 107-118.
Lu, Zhonghai, et al., “Cluster-based Simulated Annealing for Mapping Cores onto 2D Mesh Networks on Chip,” Design and Diagnostics of Electronic Circuits and Systems, pp. 1, 6, Apr. 16-18, 2008.
Matteson, Ryan, “Depmap: Dependency Mapping of Applications Using Operating System Events: a Thesis,” Master's Thesis, California Polytechnic State University, Dec. 2010.
Natarajan, Arun, et al., “NSDMiner: Automated Discovery of Network Service Dependencies,” Institute of Electrical and Electronics Engineers INFOCOM, Feb. 2012, 9 pages.
Navaz, A.S. Syed, et al., “Entropy based Anomaly Detection System to Prevent DDoS Attacks in Cloud,” International Journal of computer Applications (0975-8887), vol. 62, No. 15, Jan. 2013, pp. 42-47.
Neverfail, “Neverfail IT Continuity Architect,” 2015, https://web.archive.org/web/20150908090456/http://neverfailgroup.com/products/it-continuity-architect.
Nilsson, Dennis K., et al., “Key Management and Secure Software Updates in Wireless Process Control Environments,” In Proceedings of the First ACM Conference on Wireless Network Security (WiSec '08), ACM, New York, NY, USA, Mar. 31-Apr. 2, 2008, pp. 100-108.
Nunnally, Troy, et al., “P3D: A Parallel 3D Coordinate Visualization for Advanced Network Scans,” IEEE 2013, Jun. 9-13, 2013, 6 pages.
O'Donnell, Glenn, et al., “The CMDB Imperative: How to Realize the Dream and Avoid the Nightmares,” Prentice Hall, Feb. 19, 2009.
Ohta, Kohei, et al., “Detection, Defense, and Tracking of Internet-Wide Illegal Access in a Distributed Manner,” 2000, pp. 1-16.
Pathway Systems International Inc., “How Blueprints does Integration,” Apr. 15, 2014, 9 pages, http://pathwaysystems.com/company-blog/.
Pathway Systems International Inc., “What is Blueprints?” 2010-2016, http://pathwaysystems.com/blueprints-about/.
Popa, Lucian, et al., “Macroscope: End-Point Approach to Networked Application Dependency Discovery,” CoNEXT'09, Dec. 1-4, 2009, Rome, Italy, 12 pages.
Prasad, K. Munivara, et al., “An Efficient Detection of Flooding Attacks to Internet Threat Monitors (ITM) using Entropy Variations under Low Traffic,” Computing Communication & Networking Technologies (ICCCNT '12), Jul. 26-28, 2012, 11 pages.
Sachan, Mrinmaya, et al., “Solving Electrical Networks to incorporate Supervision in Random Walks,” May 13-17, 2013, pp. 109-110.
Sammarco, Matteo, et al., “Trace Selection for Improved WLAN Monitoring,” Aug. 16, 2013, pp. 9-14.
Shneiderman, Ben, et al., “Network Visualization by Semantic Substrates,” Visualization and Computer Graphics, vol. 12, No. 5, pp. 733,740, Sep.-Oct. 2006.
Thomas, R., “Bogon Dotted Decimal List,” Version 7.0, Team Cymru NOC, Apr. 27, 2012, 5 pages.
Wang, Ru, et al., “Learning directed acyclic graphs via bootstarp aggregating,” 2014, 47 pages, http://arxiv.org/abs/1406.2098.
Wang, Yongjun, et al., “A Network Gene-Based Framework for Detecting Advanced Persistent Threats,” Nov. 2014, 7 pages.
Witze, Alexandra, “Special relativity aces time trial, ‘Time dilation’ predicted by Einstein confirmed by lithium ion experiment,” Nature, Sep. 19, 2014, 3 pages.
Woodberg, Brad, “Snippet from Juniper SRX Series” Jun. 17, 2013, 1 page, O'Reilly Media, Inc.
Zatrochova, Zuzana, “Analysis and Testing of Distributed NoSQL Datastore Riak,” Spring, 2015, 76 pages.
Zhang, Yue, et al., “CANTINA: A Content-Based Approach to Detecting Phishing Web Sites,” May 8-12, 2007, pp. 639-648.
Al-Fuqaha, Ala, et al., “Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications,” IEEE Communication Surveys & Tutorials. vol. 17, No. 4, Nov. 18, 2015, pp. 2347-2376.
Baek, Kwang-Hyun, et al., “Preventing Theft of Quality of Service on Open Platforms,” 2005 Workshop of the 1st International Conference on Security and Privacy for Emerging Areas in Communication Networks, 2005, 12 pages.
Brocade Communications Systems, Inc., “Chapter 5—Configuring Virtual LANs (VLANs),” Jun. 2009, 38 pages.
Cisco Systems, Inc. “Cisco, Nexus 3000 Series NX-OS Release Notes, Release 5.0(3)U3(1),” Feb. 29, 2012, Part No. OL-26631-01, 16 pages.
Cisco Systems, Inc., “Cisco—VPN Client User Guide for Windows,” Release 4.6, Aug. 2004, 148 pages.
Cisco Systems, Inc., “Cisco 4710 Application Control Engine Appliance Hardware Installation Guide,” Nov. 2007, 66 pages.
Cisco Systems, Inc., “Cisco Data Center Network Architecture and Solutions Overview,” Feb. 2006, 19 pages.
Cisco Systems, Inc., “Cisco IOS Configuration Fundamentals Configuration Guide: Using Autoinstall and Setup,” Release 12.2, first published Apr. 2001, last updated Sep. 2003, 32 pages.
Cisco Systems, Inc., “Cisco VN-Link: Virtualization-Aware Networking,” White Paper, Mar. 2009, 10 pages.
Cisco Systems, Inc., “Cisco, Nexus 5000 Series and Cisco Nexus 2000 Series Release Notes, Cisco NX-OS Release 5.1(3)N2(1b), NX-OS Release 5.1(3)N2(1a) and NX-OS Release 5.1(3)N2(1),” Sep. 5, 2012, Part No. OL-26652-03 CO, 24 pages.
Cisco Systems, Inc., “Nexus 3000 Series NX-OS Fundamentals Configuration Guide, Release 5.0(3)U3(1): Using PowerOn Auto Provisioning,” Feb. 29, 2012, Part No. OL-26544-01, 10 pages.
Cisco Systems, Inc., “Quick Start Guide, Cisco ACE 4700 Series Application Control Engine Appliance,” Software Ve740rsion A5(1.0), Sep. 2011, 138 pages.
Cisco Systems, Inc., “Routing and Bridging Guide, Cisco ACE Application Control Engine,” Software Version A5(1.0), Sep. 2011, 248 pages.
Cisco Systems, Inc., “VMWare and Cisco Virtualization Solution: Scale Virtual Machine Networking,” Jul. 2009, 4 pages.
Cisco Systems, Inc., “Cisco Remote Integrated Service Engine for Citrix NetScaler Appliances and Cisco Nexus 7000 Series Switches Configuration Guide,” Last modified Apr. 29, 2014, 78 pages.
Cisco Technology, Inc., “Cisco IOS Software Release 12.4T Features and Hardware Support,” Feb. 2009, 174 pages.
Cisco Systems, Inc., “Cisco Application Control Engine (ACE) Troubleshooting Guide—Understanding the ACE Module Architecture and Traffic Flow,” Mar. 11, 2011, 6 pages.
Costa, Raul, et al., “An Intelligent Alarm Management System for Large-Scale Telecommunication Companies,” In Portuguese Conference on Artificial Intelligence, Oct. 2009, 14 pages.
De Carvalho, Tiago Filipe Rodrigues, “Root Cause Analysis in Large and Complex Networks,” Dec. 2008, Repositorio.ul.pt, pp. 1-55.
Foundation for Intelligent Physical Agents, “FIPA Agent Message Transport Service Specification,” Dec. 3, 2002, http://www.fipa.org; 15 pages.
Gia, Tuan Nguyen, et al., “Fog Computing in Healthcare Internet of Things: A Case Study on ECG Feature Extraction,” 2015 IEEE International Conference on Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing, Oct. 26, 2015, pp. 356-363.
Joseph, Dilip, et al., “Modeling Middleboxes,” IEEE Network, Sep./Oct. 2008, pp. 20-25.
Kent, S., et al. “Security Architecture for the Internet Protocol,” Network Working Group, Nov. 1998, 67 pages.
Online Collins English Dictionary, 1 page (Year: 2018).
Theodorakopoulos, George, et al., “On Trust Models and Trust Evaluation Metrics for Ad Hoc Networks,” IEEE Journal on Selected Areas in Communications. vol. 24, Issue 2, Feb. 2006, pp. 318-328.
Voris, Jonathan, et al., “Bait and Snitch: Defending Computer Systems with Decoys,” Columbia University Libraries, Department of Computer Science, 2013, pp. 1-25.
Zeng, Sai, et al., “Managing Risk in Multi-node Automation of Endpoint Management,” 2014 IEEE Network Operations and Management Symposium (NOMS), 2014, 6 pages.
Related Publications (1)
Number Date Country
20190028346 A1 Jan 2019 US