System and method of detecting packet loss in a distributed sensor-collector architecture

Information

  • Patent Grant
  • 11968102
  • Patent Number
    11,968,102
  • Date Filed
    Thursday, June 2, 2016
    8 years ago
  • Date Issued
    Tuesday, April 23, 2024
    8 months ago
Abstract
A method includes analyzing, via a first capturing agent, packets processed in a first environment associated with a first host to yield first data. The method includes analyzing, via a second capturing agent, packets processed by a second environment associated with a second host to yield second data, collecting the first data and the second data at a collector to yield aggregated data, transmitting the aggregated data to an analysis engine which analyzes the aggregated data to yield an analysis. Based on the analysis, the method includes identifying first packet loss at the first environment and second packet loss at the second environment.
Description
TECHNICAL FIELD

The present disclosure pertains to network analytics, and more specifically to systems that detect packet loss by analyzing packets processed by several different network environments and analyzing the various data to determine whether there is packet loss at the different environments.


BACKGROUND

Network architectures for observing and capturing information about network traffic in a datacenter are described herein. Network traffic processed in a compute environment is captured by entities called sensors or capturing agents. Sensors export data or metadata of the observed network activity to collection agents called “Collectors.” Collectors can be a group of processes running on a single machine or a cluster of machines. For sake of simplicity, collectors can be treated as one logical entity and referred to as one collector. In actual deployment of datacenter scale, there will be more than just one collector, each responsible for handling export data from a group of sensors. Collectors are capable of doing preprocessing and analysis of the data collected from sensors. The collector is capable of sending the processed or unprocessed data to a cluster of processes responsible for analysis of network data. The entities which receive the data from the collector can be a cluster of processes, and this logical group can be considered or referred to as a “pipeline.” Note that sensors and collectors are not limited to observing and processing just network data, but can also capturing other system information like currently active processes, active file handles, socket handles, status of I/O devices, memory, etc.


A network will often experience different amounts of packet loss at different points within the path of a packet flow. It is important to identify the amount of packet loss at each point to fine tune and improve the network. Current solutions implement a request/reply model when trying to identify packet loss at different points. In this approach, a system will send a request at each point and will identify packet loss if a reply is not received. However, this model cannot be implemented in a live environment. Moreover, this model is not as efficient or accurate as it can lead to additional network traffic and be subject to errors.





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. 1 illustrates a diagram of an example network environment;



FIG. 2A illustrates a schematic diagram of an example capturing agent deployment in a virtualized environment;



FIG. 2B illustrates a schematic diagram of an example capturing agent deployment in an example network device;



FIG. 2C illustrates a schematic diagram of an example reporting system in an example capturing agent topology;



FIG. 3 illustrates a schematic diagram of an example configuration for collecting capturing agent reports;



FIG. 4 illustrates an example method embodiment;



FIG. 5 illustrates a listing of example fields on a capturing agent report;



FIG. 6 illustrates an example network device; and



FIGS. 7A and 7B illustrate example system embodiments.





DESCRIPTION OF EXAMPLE EMBODIMENTS

Various embodiments 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.


Overview

It is advantageous to identify the amount of packet loss at each point in a network and to fine tune and improve the network. Prior art solutions noted above implement a request/reply model when trying to identify packet loss at different points. However, unlike the concepts disclosed herein, the prior model cannot be implemented in a live environment. Moreover, the model is not as efficient or accurate as the concepts disclosed herein.


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.


Disclosed are systems, methods, and computer-readable storage media for determining a packet loss in a network environment. The method can include analyzing, via a first capturing agent, packets coming into and out of or processed by a first environment associated with a first computing device or host to yield first data. The method includes analyzing, via a second capturing agent, packets coming into and out of or processed by a second environment associated with a second computing device or host to yield second data, collecting the first data and the second data at a collector to yield aggregated data, transmitting the aggregated data to an analysis engine which analyzes the aggregated data to yield an analysis, and based on the analysis, identifying first packet loss at the first environment and second packet loss at the second environment.


The identifying of the first packet loss at the first environment and the second packet loss at the second environment can be performed by comparing packets captured and reported by the first capturing agent and the second capturing agent. The comparing of the packets captured and reported by the first capturing agent and the second capturing agent can also be performed on one of a per flow, per link and per host basis. The comparing of the packets captured and reported by the first capturing agent and the second capturing agent can also be performed during a specific time window. In one example, the packet flow occurs through the first environment and the second environment.


Description

The disclosed technology addresses the need in the art for identifying packet loss within a network. A description of an example network environment, as illustrated in FIG. 1, is first disclosed herein. A discussion of capturing agents will then follow. The disclosure continues with a discussion of the specific process for identifying a packet loss at specific points within the network. The discussion then concludes with a description of example systems and devices. These variations shall be described herein as the various examples are set forth. The disclosure now turns to FIG. 1.



FIG. 1 illustrates a diagram of example network environment 100. Fabric 112 can represent the underlay (i.e., physical network) of network environment 100. Fabric 112 can include spine routers 1-N (102A-N) (collectively “102”) and leaf routers 1-N (104A-N) (collectively “104”). Leaf routers 104 can reside at the edge of fabric 112, and can thus represent the physical network edges. Leaf routers 104 can be, for example, top-of-rack (“ToR”) switches, aggregation switches, gateways, ingress and/or egress switches, provider edge devices, and/or any other type of routing or switching device.


Leaf routers 104 can be responsible for routing and/or bridging tenant or endpoint packets and applying network policies. Spine routers 102 can perform switching and routing within fabric 112. Thus, network connectivity in fabric 112 can flow from spine routers 102 to leaf routers 104, and vice versa.


Leaf routers 104 can provide servers (106A-D) (collectively “106”), hypervisors (108A-108C) (collectively “108”), virtual machines (VMs) 1-4 (110A-110D) (collectively “110”), collectors 118, engines 120, and the Layer 2 (L2) network access to fabric 112. For example, leaf routers 104 can encapsulate and decapsulate packets to and from servers 106 in order to enable communications throughout environment 100. Leaf routers 104 can also connect other network-capable device(s) or network(s), such as a firewall, a database, a server, etc., to the fabric 112. Leaf routers 104 can also provide any other servers, resources, endpoints, external networks, VMs, services, tenants, or workloads with access to fabric 112.


VMs 110 can be virtual machines hosted by hypervisors 108 running on servers 106. VMs 110 can include-workloads running on a guest operating system on a respective server. Hypervisors 108 can provide a layer of software, firmware, and/or hardware that creates and runs the VMs 110. Hypervisors 108 can allow VMs 110 to share hardware resources on servers 106, and the hardware resources on servers 106 to appear as multiple, separate hardware platforms. Moreover, hypervisors 108 and servers 106 can host one or more VMs 110. For example, server 106A and hypervisor 108A can host VMs 110A-B.


In some cases, VMs 110 and/or hypervisors 108 can be migrated to other servers 106. For example, VM 110A can be migrated to server 106C and hypervisor 108B. Servers 106 can similarly be migrated to other locations in network environment 100. For example, a server connected to a specific leaf router can be changed to connect to a different or additional leaf router. In some cases, some or all of servers 106, hypervisors 108, and/or VMs 110 can represent tenant space. Tenant space can include workloads, services, applications, devices, and/or resources that are associated with one or more clients or subscribers. Accordingly, traffic in network environment 100 can be routed based on specific tenant policies, spaces, agreements, configurations, etc. Moreover, addressing can vary between one or more tenants. In some configurations, tenant spaces can be divided into logical segments and/or networks and separated from logical segments and/or networks associated with other tenants.


Any of leaf routers 104, servers 106, hypervisors 108, and VMs 110 can include capturing agent 116 (also referred to as a “sensor” or a “capturing agent”) configured to capture network data, and report any portion of the captured data to collector 118. Capturing agents 116 can be processes, agents, modules, drivers, or components deployed on a respective system or system layer (e.g., a server, VM, virtual container, hypervisor, leaf router, etc.), configured to capture network data for the respective system (e.g., data received or transmitted by the respective system), and report some or all of the captured data and statistics to collector 118.


For example, a VM capturing agent can run as a process, kernel module, software element, or kernel driver on the guest operating system installed in a VM and configured to capture and report data (e.g., network and/or system data) processed (e.g., sent, received, generated, etc.) by the VM.


A hypervisor capturing agent can run as a process, kernel module, software element, or kernel driver on the host operating system installed at the hypervisor layer and configured to capture and report data (e.g., network and/or system data) processed (e.g., sent, received, generated, etc.) by the hypervisor.


A container capturing agent can run as a process, kernel module, software element, or kernel driver on the operating system of a device, such as a switch or server, which can be configured to capture and report data processed by the container.


A server capturing agent can run as a process, kernel module, software element, or kernel driver on the host operating system of a server and configured to capture and report data (e.g., network and/or system data) processed (e.g., sent, received, generated, etc.) by the server.


A network device capturing agent can run as a process, software element, or component in a network device, such as leaf routers 104, and configured to capture and report data (e.g., network and/or system data) processed (e.g., sent, received, generated, etc.) by the network device.


Capturing agents 116 can be configured to report observed data, statistics, and/or metadata about one or more packets, flows, communications, processes, events, and/or activities to collector 118. For example, capturing agents 116 can capture network data and statistics processed (e.g., sent, received, generated, dropped, forwarded, etc.) by the system or host (e.g., server, hypervisor, VM, container, switch, etc.) of the capturing agents 116 (e.g., where the capturing agents 116 are deployed). The capturing agents 116 can also report the network data and statistics to one or more devices, such as collectors 118 and/or engines 120. For example, the capturing agents 116 can report an amount of traffic processed by their host, a frequency of the traffic processed by their host, a type of traffic processed (e.g., sent, received, generated, etc.) by their host, a source or destination of the traffic processed by their host, a pattern in the traffic, an amount of traffic dropped or blocked by their host, types of requests or data in the traffic received, discrepancies in traffic (e.g., spoofed addresses, invalid addresses, hidden sender, etc.), protocols used in communications, type or characteristics of responses to traffic by the hosts of the capturing agents 116, what processes have triggered specific packets, etc.


Capturing agents 116 can also capture and report information about the system or host of the capturing agents 116 (e.g., type of host, type of environment, status of host, conditions of the host, etc.). Such information can include, for example, data or metadata of active or previously active processes of the system, operating system user identifiers, kernel modules loaded or used, network software characteristics (e.g., software switch, virtual network card, etc.), metadata of files on the system, system alerts, number and/or identity of applications at the host, domain information, networking information (e.g., address, topology, settings, connectivity, etc.), session information (e.g., session identifier), faults or errors, memory or CPU usage, threads, filename and/or path, services, security information or settings, and so forth.


Capturing agents 116 may also analyze the processes running on the respective VMs, hypervisors, servers, or network devices to determine specifically which process is responsible for a particular flow of network traffic. Similarly, capturing agents 116 may determine which operating system user (e.g., root, system, John Doe, Admin, etc.) is responsible for a given flow. Reported data from capturing agents 116 can provide details or statistics particular to one or more tenants or customers. For example, reported data from a subset of capturing agents 116 deployed throughout devices or elements in a tenant space can provide information about the performance, use, quality, events, processes, security status, characteristics, statistics, patterns, conditions, configurations, topology, and/or any other information for the particular tenant space.


Collectors 118 can be one or more devices, modules, workloads, VMs, containers, and/or processes capable of receiving data from capturing agents 116. Collectors 118 can thus collect reports and data from capturing agents 116. Collectors 118 can be deployed anywhere in network environment 100 and/or even on remote networks capable of communicating with network environment 100. For example, one or more collectors can be deployed within fabric 112, on the L2 network, or on one or more of the servers 106, VMs 110, hypervisors. Collectors 118 can be hosted on a server or a cluster of servers, for example. In some cases, collectors 118 can be implemented in one or more servers in a distributed fashion.


As previously noted, collectors 118 can include one or more collectors. Moreover, a collector can be configured to receive reported data from all capturing agents 116 or a subset of capturing agents 116. For example, a collector can be assigned to a subset of capturing agents 116 so the data received by that specific collector is limited to data from the subset of capturing agents 116. Collectors 118 can be configured to aggregate data from all capturing agents 116 and/or a subset of capturing agents 116. Further, collectors 118 can be configured to analyze some or all of the data reported by capturing agents 116.


Environment 100 can include one or more analytics engines 120 configured to analyze the data reported to collectors 118. For example, engines 120 can be configured to receive collected data from collectors 118, aggregate the data, analyze the data (individually and/or aggregated), generate reports, identify conditions, compute statistics, visualize reported data, troubleshoot conditions, visualize the network and/or portions of the network (e.g., a tenant space), generate alerts, identify patterns, calculate misconfigurations, identify errors, generate suggestions, generate testing, detect compromised elements (e.g., capturing agents 116, devices, servers, switches, etc.), and/or perform any other analytics functions.


Engines 120 can include one or more modules or software programs for performing such analytics. Further, engines 120 can reside on one or more servers, devices, VMs, nodes, etc. For example, engines 120 can be separate VMs or servers, an individual VM or server, or a cluster of servers or applications. Engines 120 can reside within the fabric 112, within the L2 network, outside of the environment 100 (e.g., WAN 114), in one or more segments or networks coupled with the fabric 112 (e.g., overlay network coupled with the fabric 112), etc. Engines 120 can be coupled with the fabric 112 via the leaf switches 104, for example.


While collectors 118 and engines 120 are shown as separate entities, this is simply a non-limiting example for illustration purposes, as other configurations are also contemplated herein. For example, any of collectors 118 and engines 120 can be part of a same or separate entity. Moreover, any of the collector, aggregation, and analytics functions can be implemented by one entity (e.g., a collector 118 or engine 120) or separately implemented by multiple entities (e.g., engines 120 and/or collectors 118).


Each of the capturing agents 116 can use a respective address (e.g., internet protocol (IP) address, port number, etc.) of their host to send information to collectors 118 and/or any other destination. Collectors 118 may also be associated with their respective addresses such as IP addresses. Moreover, capturing agents 116 can periodically send information about flows they observe to collectors 118. Capturing agents 116 can be configured to report each and every flow they observe or a subset of flows they observe. For example, capturing agents 116 can report every flow always, every flow within a period of time, every flow at one or more intervals, or a subset of flows during a period of time or at one or more intervals.


Capturing agents 116 can report a list of flows that were active during a period of time (e.g., between the current time and the time of the last report). The consecutive periods of time of observance can be represented as pre-defined or adjustable time series. The series can be adjusted to a specific level of granularity. Thus, the time periods can be adjusted to control the level of details in statistics and can be customized based on specific requirements or conditions, such as security, scalability, bandwidth, storage, etc. The time series information can also be implemented to focus on more important flows or components (e.g., VMs) by varying the time intervals. The communication channel between a capturing agent and collector 118 can also create a flow in every reporting interval. Thus, the information transmitted or reported by capturing agents 116 can also include information about the flow created by the communication channel.


When referring to a capturing agent's host herein, the host can refer to the physical device or component hosting the capturing agent (e.g., server, networking device, ASIC, etc.), the virtualized environment hosting the capturing agent (e.g., hypervisor, virtual machine, etc.), the operating system hosting the capturing agent (e.g., guest operating system, host operating system, etc.), and/or system layer hosting the capturing agent (e.g., hardware layer, operating system layer, hypervisor layer, virtual machine layer, etc.).



FIG. 2A illustrates a schematic diagram of an example capturing agent deployment 200 in a server 106A. Server 106A can execute and host one or more VMs 110A-N (collectively “110”). VMs 110 can be configured to run workloads (e.g., applications, services, processes, functions, etc.) based on hardware resources 210 on server 106A. VMs 110 can run on guest operating systems 204A-N (collectively “204”) on a virtual operating platform provided by hypervisor 108A. Each VM 110 can run a respective guest operating system 204 which can be the same or different as other guest operating systems 204 associated with other VMs 110 on server 106A. Each of guest operating systems 204 can execute one or more processes, which may in turn be programs, applications, modules, drivers, services, widgets, etc. Moreover, each VM 110 can have one or more network addresses, such as an internet protocol (IP) address. VMs 110 can thus communicate with hypervisor 108A, server 106A, and/or any remote devices or networks using the one or more network addresses.


Hypervisor 108A (otherwise known as a virtual machine manager or monitor) can be a layer of software, firmware, and/or hardware that creates and runs VMs 110. Guest operating systems 204 running on VMs 110 can share virtualized hardware resources created by hypervisor 108A. The virtualized hardware resources can provide the illusion of separate hardware components. Moreover, the virtualized hardware resources can perform as physical hardware components (e.g., memory, storage, processor, network interface, peripherals, etc.), and can be driven by hardware resources 210 on server 106A. Hypervisor 108A can have one or more network addresses, such as an internet protocol (IP) address, to communicate with other devices, components, or networks. For example, hypervisor 108A can have a dedicated IP address which it can use to communicate with VMs 110, server 106A, and/or any remote devices or networks.


Hypervisor 108A can be assigned a network address, such as an IP, with a global scope. For example, hypervisor 108A can have an IP that can be reached or seen by VMs 110A-N as well any other devices in the network environment 100 illustrated in FIG. 1. On the other hand, VMs 110 can have a network address, such as an IP, with a local scope. For example, VM 110A can have an IP that is within a local network segment where VM 110A resides and/or which may not be directly reached or seen from other network segments in the network environment 100.


Hardware resources 210 of server 106A can provide the underlying physical hardware that drive operations and functionalities provided by server 106A, hypervisor 108A, and VMs 110. Hardware resources 210 can include, for example, one or more memory resources, one or more storage resources, one or more communication interfaces, one or more processors, one or more circuit boards, one or more buses, one or more extension cards, one or more power supplies, one or more antennas, one or more peripheral components, etc.


Server 106A can also include one or more host operating systems (not shown). The number of host operating systems can vary by configuration. For example, some configurations can include a dual boot configuration that allows server 106A to boot into one of multiple host operating systems. In other configurations, server 106A may run a single host operating system. Host operating systems can run on hardware resources 210. In some cases, hypervisor 108A can run on, or utilize, a host operating system on server 106A. Each of the host operating systems can execute one or more processes, which may be programs, applications, modules, drivers, services, widgets, etc.


Server 106A can also have one or more network addresses, such as an IP address, to communicate with other devices, components, or networks. For example, server 106A can have an IP address assigned to a communications interface from hardware resources 210, which it can use to communicate with VMs 110, hypervisor 108A, leaf router 104A in FIG. 1, collectors 118 in FIG. 1, and/or any remote devices or networks.


VM capturing agents 202A-N (collectively “202”) can be deployed on one or more of VMs 110. VM capturing agents 202 can be data and packet inspection agents or sensors deployed on VMs 110 to capture packets, flows, processes, events, traffic, and/or any data flowing into, out of, or through VMs 110. VM capturing agents 202 can be configured to export or report any data collected or captured by the capturing agents 202 to a remote entity, such as collectors 118, for example. VM capturing agents 202 can communicate or report such data using a network address of the respective VMs 110 e.g., VM IP address).


VM capturing agents 202 can capture and report any traffic (e.g., packets, flows, etc.) sent, received, generated, and/or processed by VMs 110. For example, capturing agents 202 can report every packet or flow of communication sent and received by VMs 110. Such communication channel between capturing agents 202 and collectors 108 creates a flow in every monitoring period or interval and the flow generated by capturing agents 202 may be denoted as a control flow. Moreover, any communication sent or received by VMs 110, including data reported from capturing agents 202, can create a network flow. VM capturing agents 202 can report such flows in the form of a control flow to a remote device, such as collectors 118 illustrated in FIG. 1.


VM capturing agents 202 can report each flow separately or aggregated with other flows. When reporting a flow via a control flow, VM capturing agents 202 can include a capturing agent identifier that identifies capturing agents 202 as reporting the associated flow. VM capturing agents 202 can also include in the control flow a flow identifier, an IP address, a timestamp, metadata, a process ID, an OS username associated with the process ID, a host or environment descriptor (e.g., type of software bridge or virtual network card, type of host such as a hypervisor VM, etc.), and any other information, as further described below. In addition, capturing agents 202 can append the process and user information which process and/or user is associated with a particular flow) to the control flow. The additional information as identified above can be applied to the control flow as labels. Alternatively, the additional information can be included as part of a header, a trailer, or a payload.


VM capturing agents 202 can also report multiple flows as a set of flows. When reporting a set of flows, VM capturing agents 202 can include a flow identifier for the set of flows and/or a flow identifier for each flow in the set of flows. VM capturing agents 202 can also include one or more timestamps and other information as previously explained.


VM capturing agents 202 can run as a process, kernel module, or kernel driver on guest operating systems 204 of VMs 110. VM capturing agents 202 can thus monitor any traffic sent, received, or processed by VMs 110, any processes running on guest operating systems 204, any users and user activities on guest operating system 204, any workloads on VMs 110, etc.


Hypervisor capturing agent 206 can be deployed on hypervisor 108A. Hypervisor capturing agent 206 can be a data inspection agent, capturing agent or sensor deployed on hypervisor 108A to capture traffic (e.g., packets, flows, etc.) and/or data flowing through hypervisor 108A. Hypervisor capturing agent 206 can be configured to export or report any data collected or captured by hypervisor capturing agent 206 to a remote entity, such as collectors 118, for example. Hypervisor capturing agent 206 can communicate or report such data using a network address of hypervisor 108A, such as an IP address of hypervisor 108A.


Because hypervisor 108A can see traffic and data originating from VMs 110, hypervisor capturing agent 206 can also capture and report any data (e.g., traffic data) associated with VMs 110. For example, hypervisor capturing agent 206 can report every packet or flow of communication sent or received by VMs 110 and/or VM capturing agents 202. Moreover, any communication sent or received by hypervisor 108A, including data reported from hypervisor capturing agent 206, can create a network flow. Hypervisor capturing agent 206 can report such flows in the form of a control flow to a remote device, such as collectors 118 illustrated in FIG. 1. Hypervisor capturing agent 206 can report each flow separately and/or in combination with other flows or data.


When reporting a flow, hypervisor capturing agent 206 can include a capturing agent identifier that identifies hypervisor capturing agent 206 as reporting the flow. Hypervisor capturing agent 206 can also include in the control flow a flow identifier, an IP address, a timestamp, metadata, a process ID, and any other information, as explained below. In addition, capturing agents 206 can append the process and user information (i.e., which process and/or user is associated with a particular flow) to the control flow. The additional information as identified above can be applied to the control flow as labels. Alternatively, the additional information can be included as part of a header, a trailer, or a payload.


Hypervisor capturing agent 206 can also report multiple flows as a set of flows. When reporting a set of flows, hypervisor capturing agent 206 can include a flow identifier for the set of flows and/or a flow identifier for each flow in the set of flows. Hypervisor capturing agent 206 can also include one or more timestamps and other information as previously explained, such as process and user information.


As previously explained, any communication captured or reported by VM capturing agents 202 can flow through hypervisor 108A. Thus, hypervisor capturing agent 206 can observe and capture any flows or packets reported by VM capturing agents 202, including any control flows. Accordingly, hypervisor capturing agent 206 can also report any packets or flows reported by VM capturing agents 202 and any control flows generated by VM capturing agents 202. For example, VM capturing agent 202A on VM 1 (110A) captures flow 1 (“F1”) and reports F1 to collector 118 on FIG. 1. Hypervisor capturing agent 206 on hypervisor 108A can also see and capture F1, as F1 would traverse hypervisor 108A when being sent or received by VM 1 (110A). Accordingly, hypervisor capturing agent 206 on hypervisor 108A can also report F1 to collector 118. Thus, collector 118 can receive a report of F1 from VM capturing agent 202A VM 1 (110A) and another report of F1 from hypervisor capturing agent 206 on hypervisor 108A.


When reporting F1, hypervisor capturing agent 206 can report F1 as a message or report that is separate from the message or report of F1 transmitted by VM capturing agent 202A on VM 1 (110A). However, hypervisor capturing agent 206 can also, or otherwise, report F1 as a message or report that includes or appends the message or report of F1 transmitted by VM capturing agent 202A on VM 1 (110A). In other words, hypervisor capturing agent 206 can report F1 as a separate message or report from VM capturing agent 202A's message or report of F1, and/or a same message or report that includes both a report of F1 by hypervisor capturing agent 206 and the report of F1 by VM capturing agent 202A at VM 1 (110A). In this way, VM capturing agents 202 at VMs 110 can report packets or flows received or sent by VMs 110, and hypervisor capturing agent 206 at hypervisor 108A can report packets or flows received or sent by hypervisor 108A, including any flows or packets received or sent by VMs 110 and/or reported by VM capturing agents 202.


Hypervisor capturing agent 206 can run as a process, kernel module, or kernel driver on the host operating system associated with hypervisor 108A. Hypervisor capturing agent 206 can thus monitor any traffic sent and received by hypervisor 108A, any processes associated with hypervisor 108A, etc.


Server 106A can also have server capturing agent 208 running on it. Server capturing agent 208 can be a data inspection agent or sensor deployed on server 106A to capture data (e.g., packets, flows, traffic data, etc.) on server 106A. Server capturing agent 208 can be configured to export or report any data collected or captured by server capturing agent 206 to a remote entity, such as collector 118, for example. Server capturing agent 208 can communicate or report such data using a network address of server 106A, such as an IP address of server 106A.


Server capturing agent 208 can capture and report any packet or flow of communication associated with server 106A. For example, capturing agent 208 can report every packet or flow of communication sent or received by one or more communication interfaces of server 106A. Moreover, any communication sent or received by server 106A, including data reported from capturing agents 202 and 206, can create a network flow associated with server 106A. Server capturing agent 208 can report such flows in the form of a control flow to a remote device, such as collector 118 illustrated in FIG. 1. Server capturing agent 208 can report each flow separately or in combination. When reporting a flow, server capturing agent 208 can include a capturing agent identifier that identifies server capturing agent 208 as reporting the associated flow. Server capturing agent 208 can also include in the control flow a flow identifier, an IP address, a timestamp, metadata, a process ID, and any other information. In addition, capturing agent 208 can append the process and user information (i.e., which process and/or user is associated with a particular flow) to the control flow. The additional information as identified above can be applied to the control flow as labels. Alternatively, the additional information can be included as part of a header, a trailer, or a payload.


Server capturing agent 208 can also report multiple flows as a set of flows. When reporting a set of flows, server capturing agent 208 can include a flow identifier for the set of flows and/or a flow identifier for each flow in the set of flows. Server capturing agent 208 can also include one or more timestamps and other information as previously explained.


Any communications captured or reported by capturing agents 202 and 206 can flow through server 106A. Thus, server capturing agent 208 can observe or capture any flows or packets reported by capturing agents 202 and 206. In other words, network data observed by capturing agents 202 and 206 inside VMs 110 and hypervisor 108A can be a subset of the data observed by server capturing agent 208 on server 106A. Accordingly, server capturing agent 208 can report any packets or flows reported by capturing agents 202 and 206 and any control flows generated by capturing agents 202 and 206. For example, capturing agent 202A on VM 1 (110A) captures flow 1 (F1) and reports F1 to collector 118 as illustrated on FIG. 1. Capturing agent 206 on hypervisor 108A can also observe and capture F1, as F1 would traverse hypervisor 108A when being sent or received by VM 1 (110A). In addition, capturing agent 206 on server 106A can also see and capture F1, as F1 would traverse server 106A when being sent or received by VM 1 (110A) and hypervisor 108A. Accordingly, capturing agent 208 can also report F1 to collector 118. Thus, collector 118 can receive a report (i.e., control flow) regarding F1 from capturing agent 202A on VM 1 (110A), capturing agent 206 on hypervisor 108A, and capturing agent 208 on server 106A.


When reporting F1, server capturing agent 208 can report F1 as a message or report that is separate from any messages or reports of F1 transmitted by capturing agent 202A on VM 1 (110A) or capturing agent 206 on hypervisor 108A. However, server capturing agent 208 can also, or otherwise, report F1 as a message or report that includes or appends the messages or reports or metadata of F1 transmitted by capturing agent 202A on VM 1 (110A) and capturing agent 206 on hypervisor 108A. In other words, server capturing agent 208 can report F1 as a separate message or report from the messages or reports of F1 from capturing agent 202, and capturing agent 206, and/or a same message or report that includes a report of F1 by capturing agent 202A, capturing agent 206, and capturing agent 208. In this way, capturing agents 202 at VMs 110 can report packets or flows received or sent by VMs 110, capturing agent 206 at hypervisor 108A can report packets or flows received or sent by hypervisor 108A, including any flows or packets received or sent by VMs 110 and reported by capturing agents 202, and capturing agent 208 at server 106A can report packets or flows received or sent by server 106A, including any flows or packets received or sent by VMs 110 and reported by capturing agents 202, and any flows or packets received or sent by hypervisor 108A and reported by capturing agent 206.


Server capturing agent 208 can run as a process, kernel module, or kernel driver on the host operating system or a hardware component of server 106A. Server capturing agent 208 can thus monitor any traffic sent and received by server 106A, any processes associated with server 106A, etc.


In addition to network data, capturing agents 202, 206, and 208 can capture additional information about the system or environment in which they reside. For example, capturing agents 202, 206, and 208 can capture data or metadata of active or previously active processes of their respective system or environment, operating system user identifiers, metadata of files on their respective system or environment, timestamps, network addressing information, flow identifiers, capturing agent identifiers, etc. Capturing agents 202, 206, and 208


Moreover, capturing agents 202, 206, 208 are not specific to any operating system environment, hypervisor environment, network environment, or hardware environment. Thus, capturing agents 202, 206, and 208 can operate in any environment.


As previously explained, capturing agents 202, 206, and 208 can send information about the network traffic they observe. This information can be sent to one or more remote devices, such as one or more servers, collectors, engines, etc. Each capturing agent can be configured to send respective information using a network address, such as an IP address, and any other communication details, such as port number, to one or more destination addresses or locations. Capturing agents 202, 206, and 208 can send metadata about one or more flows, packets, communications, processes, events, etc.


Capturing agents 202, 206, and 208 can periodically report information about each flow or packet they observe. The information reported can contain a list of flows or packets that were active during a period of time (e.g., between the current time and the time at which the last information was reported). The communication channel between the capturing agent and the destination can create a flow in every interval. For example, the communication channel between capturing agent 208 and collector 118 can create a control flow. Thus, the information reported by a capturing agent can also contain information about this control flow. For example, the information reported by capturing agent 208 to collector 118 can include a list of flows or packets that were active at hypervisor 108A during a period of time, as well as information about the communication channel between capturing agent 206 and collector 118 used to report the information by capturing agent 206.



FIG. 2B illustrates a schematic diagram of example capturing agent deployment 220 in an example network device. The network device is described as leaf router 104A, as illustrated in FIG. 1. However, this is for explanation purposes. The network device can be any other network device, such as any other switch, router, etc.


In this example, leaf router 104A can include network resources 222, such as memory, storage, communication, processing, input, output, and other types of resources. Leaf router 104A can also include operating system environment 224. The operating system environment 224 can include any operating system, such as a network operating system, embedded operating system, etc. Operating system environment 224 can include processes, functions, and applications for performing networking, routing, switching, forwarding, policy implementation, messaging, monitoring, and other types of operations.


Leaf router 104A can also include capturing agent 226. Capturing agent 226 can be an agent or sensor configured to capture network data, such as flows or packets, sent received, or processed by leaf router 104A. Capturing agent 226 can also be configured to capture other information, such as processes, statistics, users, alerts, status information, device information, etc. Moreover, capturing agent 226 can be configured to report captured data to a remote device or network, such as collector 118 shown in FIG. 1, for example. Capturing agent 226 can report information using one or more network addresses associated with leaf router 104A or collector 118. For example, capturing agent 226 can be configured to report information using an IP assigned to an active communications interface on leaf router 104A.


Leaf router 104A can be configured to route traffic to and from other devices or networks, such as server 106A. Accordingly, capturing agent 226 can also report data reported by other capturing agents on other devices. For example, leaf router 104A can be configured to route traffic sent and received by server 106A to other devices. Thus, data reported from capturing agents deployed on server 106A, such as VM and hypervisor capturing agents on server 106A, would also be observed by capturing agent 226 and can thus be reported by capturing agent 226 as data observed at leaf router 104A. Such report can be a control flow generated by capturing agent 226. Data reported by the VM and hypervisor capturing agents on server 106A can therefore be a subset of the data reported by capturing agent 226.


Capturing agent 226 can run as a process or component (e.g., firmware, module, hardware device, etc.) in leaf router 104A. Moreover, capturing agent 226 can be installed on leaf router 104A as a software or firmware agent. In some configurations, leaf router 104A itself can act as capturing agent 226. Moreover, capturing agent 226 can run within operating system 224 and/or separate from operating system 224.



FIG. 2C illustrates a schematic diagram of example reporting system 240 in an example capturing agent topology. The capturing agent topology includes capturing agents along a path from a virtualized environment (e.g., VM and hypervisor) to the fabric 112.


Leaf router 104A can route packets or traffic 242 between fabric 112 and server 106A, hypervisor 108A, and VM 110A. Packets or traffic 242 between VM 110A and leaf router 104A can flow through hypervisor 108A and server 106A. Packets or traffic 242 between hypervisor 108A and leaf router 104A can flow through server 106A. Finally, packets or traffic 242 between server 106A and leaf router 104A can flow directly to leaf router 104A. However, in some cases, packets or traffic 242 between server 106A and leaf router 104A can flow through one or more intervening devices or networks, such as a switch or a firewall.


Moreover, VM capturing agent 202A at VM 110A, hypervisor capturing agent 206A at hypervisor 108A, network device capturing agent 226 at leaf router 104A, and any server capturing agent at server 106A (e.g., capturing agent running on host environment of server 106A) can send reports 244 (also referred to as control flows) to collector 118 based on the packets or traffic 242 captured at each respective capturing agent. Reports 244 from VM capturing agent 202A to collector 118 can flow through VM 110A, hypervisor 108A, server 106A, and leaf router 104A. Reports 244 from hypervisor capturing agent 206A to collector 118 can flow through hypervisor 108A, server 106A, and leaf router 104A. Reports 244 from any other server capturing agent at server 106A to collector 118 can flow through server 106A and leaf router 104A. Finally, reports 244 from network device capturing agent 226 to collector 118 can flow through leaf router 104A. Although reports 244 are depicted as being routed separately from traffic 242 in FIG. 2C, one of ordinary skill in the art will understand that reports 244 and traffic 242 can be transmitted through the same communication channel(s).


Reports 244 can include any portion of packets or traffic 242 captured at the respective capturing agents. Reports 244 can also include other information, such as timestamps, process information, capturing agent identifiers, flow identifiers, flow statistics, notifications, logs, user information, system information, etc. Some or all of this information can be appended to reports 244 as one or more labels, metadata, or as part of the packet(s)' header, trailer, or payload. For example, if a user opens a browser on VM 110A and navigates to examplewebsite.com, VM capturing agent 202A of VM 110A can determine which user (i.e., operating system user) of VM 110A (e.g., username “johndoe85”) and which process being executed on the operating system of VM 110A (e.g., “chrome.exe”) were responsible for the particular network flow to and from examplewebsite.com. Once such information is determined, the information can be included in report 244 as labels for example, and report 244 can be transmitted from VM capturing agent 202A to collector 118. Such additional information can help system 240 to gain insight into flow information at the process and user level, for instance. This information can be used for security, optimization, and determining structures and dependencies within system 240.


In some examples, the reports 244 can include various statistics and/or usage information reported by the respective capturing agents. For example, the reports 244 can indicate an amount of traffic captured by the respective capturing agent, which can include the amount of traffic sent, received, and generated by the capturing agent's host; a type of traffic captured, such as video, audio, Web (e.g., HTTP or HTTPS), database queries, application traffic, etc.; a source and/or destination of the traffic, such as a destination server or application, a source network or device, a source or destination address or name (e.g., IP address, DNS name, FQDN, packet label, MAC address, WAN, VNID, VxLAN, source or destination domain, etc.); a source and/or destination port (e.g., port 25, port 80, port 443, port 8080, port 22); a traffic protocol; traffic metadata; etc. The reports 244 can also include indications of traffic or usage patterns and information, such as frequency of communications, intervals, type of requests, type of responses, triggering processes or events (e.g., causality), resource usage, etc.


Each of the capturing agents 202A, 206A, 226 can include a respective unique capturing agent identifier on each of reports 244 it sends to collector 118, to allow collector 118 to determine which capturing agent sent the report. Capturing agent identifiers in reports 244 can also be used to determine which capturing agents reported what flows. This information can then be used to determine capturing agent placement and topology, as further described below, as well as mapping individual flows to processes and users. Such additional insights gained can be useful for analyzing the data in reports 244, as well as troubleshooting, security, visualization, configuration, planning, and management, and so forth.


As previously noted, the topology of the capturing agents can be ascertained from the reports 244. To illustrate, a packet received by VM 110A from fabric 112 can be captured and reported by VM capturing agent 202A. Since the packet received by VM 110A will also flow through leaf router 104A and hypervisor 108A, it can also be captured and reported by hypervisor capturing agent 206A and network device capturing agent 226. Thus, for a packet received by VM 110A from fabric 112, collector 118 can receive a report of the packet from VM capturing agent 202A, hypervisor capturing agent 206A, and network device capturing agent 226.


Similarly, a packet sent by VM 110A to fabric 112 can be captured and reported by VM capturing agent 202A. Since the packet sent by VM 110A will also flow through leaf router 104A and hypervisor 108A, it can also be captured and reported by hypervisor capturing agent 206A and network device capturing agent 226. Thus, for a packet sent by VM 110A to fabric 112, collector 118 can receive a report of the packet from VM capturing agent 202A, hypervisor capturing agent 206A, and network device capturing agent 226.


On the other hand, a packet originating at, or destined to, hypervisor 108A, can be captured and reported by hypervisor capturing agent 206A and network device capturing agent 226, but not VM capturing agent 202A, as such packet may not flow through VM 110A. Moreover, a packet originating at, or destined to, leaf router 104A, will be captured and reported by network device capturing agent 226, but not VM capturing agent 202A, hypervisor capturing agent 206A, or any other capturing agent on server 106A, as such packet may not flow through VM 110A, hypervisor 108A, or server 106A.


Information ascertained or inferred about the topology of the capturing agents can also be used with the reports 244 to detect problems. For example, the inferred topology of the capturing agents can be used with the current and/or historical statistics included in the reports 244 to infer or detect various conditions. To illustrate, traffic to and from fabric 112 captured by VM capturing agent 202 should also be captured by hypervisor capturing agent 206 and network device capturing agent 226. Thus, if VM capturing agent 202 reports 200 packets to or from fabric 112 during a period of time and network device capturing agent 226 only reports 20 packets to or from fabric 112 during that same period of time, then one can infer from this discrepancy that VM capturing agent 202 has reported and/or captured an abnormal or unexpected number of packets during that period of time. This abnormal activity can be determined to indicate a faulty state of the VM capturing agent 202, such as an error, a bug, malware, a virus, or a compromised condition.


Other statistics and usage details determined from reports 244 can also be considered for determining problems or faults with capturing agents and/or hosts. For example, if hypervisor capturing agent 206 has typically reported in the past an average of 10K server hits (e.g., Web, email, database, etc.) every 7 days, and reports 244 indicate a spike of 50K server hits over the last 2 days, then one can infer that this abnormal levels of activity indicate a problem with the hypervisor capturing agent 206 and/or its host (i.e., hypervisor 108 or server 106). The abnormal levels of activity can be a result of malware or a virus affecting the hypervisor capturing agent 206.


In another example, if the reports 244 indicate that the VM capturing agent 202 has been generating unexpected, improper, or excessive traffic, such as sending packets or commands to a new or different device other than collector 118—or other than any other system with which VM capturing agent 202 is expected or configured to communicate with—or sending the wrong types of packets (e.g., other than reports 244) or sending traffic at unexpected times or events (e.g., without being triggered by a predefined setting or event such as the capturing of a packet processed by the host), then one can assume that VM capturing agent 202 has been compromised or is being manipulated by an unauthorized user or device.


Reports 244 can be transmitted to collector 118 periodically as new packets or traffic 242 are captured by a capturing agent, or otherwise based on a schedule, interval, or event, for example. Further, each capturing agent can send a single report or multiple reports to collector 118. For example, each of the capturing agents can be configured to send a report to collector 118 for every flow, packet, message, communication, or network data received, transmitted, and/or generated by its respective host (e.g., VM 110A, hypervisor 108A, server 106A, and leaf router 104A). As such, collector 118 can receive a report of a same packet from multiple capturing agents. In other examples, one or more capturing agents can be configured to send a report to collector 118 for one or more flows, packets, messages, communications, network data, or subset(s) thereof, received, transmitted, and/or generated by the respective host during a period of time or interval.



FIG. 3 illustrates a schematic diagram of an example configuration 300 for collecting capturing agent reports (i.e., control flows). In configuration 300, traffic between fabric 112 and VM 110A is configured to flow through hypervisor 108A. Moreover, traffic between fabric 112 and hypervisor 108A is configured to flow through leaf router 104A.


VM capturing agent 202A can be configured to report to collector 118 traffic sent, received, or processed by VM 110A. Hypervisor capturing agent 210 can be configured to report to collector 118 traffic sent, received, or processed by hypervisor 108A. Finally, network device capturing agent 226 can be configured to report to collector 118 traffic sent, received, or processed by leaf router 104A.


Collector 118 can thus receive flows 302 from VM capturing agent 202A, flows 304 from hypervisor capturing agent 206A, and flows 306 from network device capturing agent 226. Flows 302, 304, and 306 can include control flows. Flows 302 can include flows captured by VM capturing agent 202A at VM 110A.


Flows 304 can include flows captured by hypervisor capturing agent 206A at hypervisor 108A. Flows captured by hypervisor capturing agent 206A can also include flows 302 captured by VM capturing agent 202A, as traffic sent and received by VM 110A will be received and observed by hypervisor 108A and captured by hypervisor capturing agent 206A.


Flows 306 can include flows captured by network device capturing agent 226 at leaf router 104A. Flows captured by network device capturing agent 226 can also include flows 302 captured by VM capturing agent 202A and flows 304 captured by hypervisor capturing agent 206A, as traffic sent and received by VM 110A and hypervisor 108A is routed through leaf router 104A and can thus be captured by network device capturing agent 226.


Collector 118 can collect flows 302, 304, and 306, and store the reported data. Collector 118 can also forward some or all of flows 302, 304, and 306, and/or any respective portion thereof, to engine 120. Engine 120 can process the information, including any information about the capturing agents (e.g., agent placement, agent environment, etc.) and/or the captured traffic (e.g., statistics), received from collector 118 to identify patterns, conditions, network or device characteristics; log statistics or history details; aggregate and/or process the data; generate reports, timelines, alerts, graphical user interfaces; detect errors, events, inconsistencies; troubleshoot networks or devices; configure networks or devices; deploy services or devices; reconfigure services, applications, devices, or networks; etc.


Collector 118 and/or engine 120 can map individual flows that traverse VM 110A, hypervisor 108A, and/or leaf router 104A to the specific capturing agents at VM 110A, hypervisor 108A, and/or leaf router 104A. For example, collector 118 or engine 120 can determine that a particular flow that originated from VM 110A and destined for fabric 112 was sent by VM 110A and such flow was reported by VM capturing agent 202. It may be determined that, the same flow was received by a process named Z on hypervisor 108A and forwarded to a process named W on leaf router 104A and also reported by hypervisor capturing agent 206.


While engine 120 is illustrated as a separate entity, other configurations are also contemplated herein. For example, engine 120 can be part of collector 118 and/or a separate entity. Indeed, engine 120 can include one or more devices, applications, modules, databases, processing components, elements, etc. Moreover, collector 118 can represent one or more collectors. For example, in some configurations, collector 118 can include multiple collection systems or entities, which can reside in one or more networks.


Having disclosed some basic system components and concepts, the disclosure now turns to the exemplary method embodiment shown in FIG. 4. For the sake of clarity, the method is described in terms of collector 118 and capturing agents 116, as shown in FIG. 1, configured to practice the various steps in the method. However, the example methods can be practiced by any software or hardware components, devices, etc. heretofore disclosed. The steps outlined herein are exemplary and can be implemented in any combination thereof in any order, including combinations that exclude, add, or modify certain steps.


The current disclosure implements capturing agents or sensors within VMs, hypervisors, servers, and hardware switches which capture data sent and received at each of these points and report the data to a collector which can aggregate and maintain the reported, sensed data. The collector can transmit the collected data from each capturing agent to the pipeline (e.g., particular engine), which can analyze the aggregated data and identify precise amounts of packet loss at each point. The pipeline can identify packet loss at each point by comparing data or packets captured and reported by capturing agents at each point. This comparison can be performed per flow, per link, or on a host basis.


Moreover, the pipeline can perform the comparison for data captured within a specific time window. For example, the pipeline can compare data from each point within a 30 minute time window. The pipeline can then identify packet loss at each point and determine if there is a problem at a specific point within the link, path, or flow. For example, the pipeline can analyze an aggregate of data captured for a 30 minute window of communications from S1 to H1 to S2. Based on the aggregated data, the pipeline can determine that S1 reported 100% of the packets, H1 reported 90% of the packets, and S2 reported 80% of the packets. Here, the pipeline can thus determine that there is a 10% packet loss at each of H1 and S2. In another aspect, the time window can be more flexible and dynamic. For example, the time window might be for a particular communication session (or any task) between two hosts plus 60 seconds following the conclusion of the session. The extended time of the time window beyond the communication session can depend on whether packet loss is reported. Thus, if over a threshold amount of packet loss is experienced, the time window can be extended by a period of time like 1 minute. The amount of time added or used for the window may be dependent on how much over or under a threshold the packet loss is.


The concepts disclosed herein allow a centralized system to collect and aggregate data captured from sensors at each point within a communication path over a specific period of time and compare the information reported at each point to identify packet loss at each point. This mechanism can be implemented in a live environment and can accurately and efficiently ascertain packet loss at each point within a network.



FIG. 4 illustrates a method aspect of this disclosure. An exemplary method can be performed by a system or any computing device whether physical or virtual. The method includes analyzing, via a first capturing agent, packets processed by a first environment associated with a first host to yield first data (402). The method includes analyzing, via a second capturing agent, packets processed by a second environment associated with a second host to yield second data (404), collecting the first data and the second data at a collector to yield aggregated data (406), transmitting the aggregated data to an analysis engine which analyzes the aggregated data to yield an analysis (408), and based on the analysis, identifying first packet loss at the first environment and second packet loss at the second environment (410). The first capturing agent is deployed in a first layer of the network and the second capturing agent is deployed in a second layer of the network.


The identifying of the first packet loss at the first environment and the second packet loss at the second environment can be performed by comparing packets captured and reported by the first capturing agent and the second capturing agent. The comparing of the packets captured and reported by the first capturing agent and the second capturing agent can also be performed on one of a per flow, per link and per host basis. In one example, the packet flow occurs through the first environment and the second environment.


Moreover, the identifying can take into account an inferred topology associated with the capturing agents. For example, the number of packets reported by a first capturing agent can be compared with the number of packets reported by a second capturing agent. The delta can suggest a difference in packets processed at the respective hosts of the two capturing agents. In some cases, the delta can indicate the number of packets lost or an amount of packet loss between the two hops associated with the capturing agents. However, in some cases, the delta can be adjusted based on a topology of the capturing agents when ascertaining the packet loss. Moreover, the topology can be used to determine whether the delta indicates a packet loss or whether the delta is simply a result of the network topology. For example, if capturing agent A resides in a hypervisor and capturing agent B resides in a VM hosted by the hypervisor, then this topology can suggest that capturing agent A is expected to detect more packets than capturing agent B, as all packets to and from the VM must traverse the hypervisor while all of the packets to and from the hypervisor may not necessarily traverse the VM. Thus, if the delta indicates that capturing agent A has captured more packets than capturing agent B, then the delta can be ignored or attributed to the topology of components associated with the reported communications. On the other hand, if the delta indicates that capturing agent B has reported more traffic than capturing agent A, then the topology information can be used to infer that this delta suggests a packet loss at the hypervisor layer.


Furthermore, specific characteristics of the reported traffic can be extracted from the reported data and used to infer packet loss conditions and estimates. For example, the data reported by the capturing agents can be reviewed to determine the type(s) of traffic or activity captured by the respective capturing agents. The type of traffic or activity can then be used to adjust packet loss calculations or estimates. For example, capturing agent A may report an increased number of packets than capturing agent B. In one non-limiting example, upon further review, the extra packets may be identified as packets that can only be processed by the host of capturing agent A and not the host of capturing agent B due to reasons other than a packet loss, for example, protocol or network requirements.


To illustrate, assume that capturing agent A resides on a switch in an overlay fabric (e.g., 112). Further assume that capturing agent B resides on a host in a L2 network connected to the fabric via a virtual tunneling endpoint switch, for example (e.g., leaf 104). Also assume that spanning tree protocol (STP) is running and configured on the L2 network. Thus, in this scenario, such topology may suggest, in some cases, that capturing agent A is expected to report more traffic than capturing agent B because the traffic sent and received by capturing agent B's host would also be captured by capturing agent A's host. However, in some cases when STP is running on the L2 network, it may be possible for capturing agent B to capture significantly more packets than capturing agent A. Upon further review of the type of traffic captured by capturing agent B, one may determine that the extra packets are STP packets (e.g., BPDUs). Moreover, since STP packets (e.g., BPDUs) are propagated in the L2 network but cannot be propagated on overlay fabrics, this difference in reported packets may be normal. Thus, where such difference in the number of reported packets may otherwise indicate a packet loss because capturing agent A is expected to capture all of the packets captured by capturing agent B plus additional packets, upon further review of the type of traffic which accounts for such additional traffic, it may be determined that such difference is not attributed to packet loss but rather the specific configuration, topology, and protocols of the associated hosts.


The data for identifying packet loss can be derived from one or more of an external source or sources, such as malware trackers or whois databases, and/or data obtained from the various layers of a network including a physical layer, a hypervisor layer and a virtual layer. The identification of packet loss can be based, at least in part, on capturing agents configured in a device hardware layer 104A, a hypervisor layer 108A, and/or a virtual machine layer 110A. The data obtained from these capturing agents can also be coordinated with external data or other data to arrive at conclusions about packet loss.


With the information at the various levels, increased fine tuning can occur with respect to identifying where packet loss might be occurring. For example, detecting traffic flow information between different layers such as at a hypervisor as well as one of its virtual machine, can help to tailor a targeted response or solution.


The hypervisors will each have a virtual switch and each virtual machine can also have a virtual network interface. With the disclosure, one can analyze the behavior of these virtual switches and/or virtual network interfaces and use that data in establishing packet loss data.



FIG. 5 illustrates a listing 500 of example fields on a capturing agent report. The listing 500 can include one or more fields, such as:


Flow identifier (e.g., unique identifier associated with the flow).


Capturing agent identifier (e.g., data uniquely identifying reporting capturing agent).


Timestamp (e.g., time of event, report, etc.).


Interval (e.g., time between current report and previous report, interval between flows or packets, interval between events, etc.).


Duration (e.g., duration of event,duration of communication, duration of flow, duration of report, etc.).


Flow direction (e.g., egress flow, ingress flow,etc.).


Application identifier (e.g., identifier of application associated with flow, process, event, or data).


Port (e.g., source port,destination port, layer 4 port, etc.).


Destination address (e.g., interface address associated with destination, IP address, domain name, network address, hardware address, virtual address, physical address, etc.).


Source address (e.g., interface address associated with source, IP address, domain name, network address, hardware address, virtual address, physical address, etc.).


Interface (e.g., interface address, interface information, etc.).


Protocol (e.g., layer 4 protocol, layer 3 protocol, etc.).


Event (e.g., description of event, event identifier, etc.).


Flag (e.g., layer 3 flag, flag options, etc.).


Tag (e.g., virtual local area network tag, etc.).


Process (e.g., process identifier, etc.).


User (e.g., OS username, etc.).


Bytes (e.g., flow size, packet size, transmission size, etc.).


Sensor Type (e.g., the type of virtualized environment hosting the capturing agent, such as hypervisor or VM; the type of virtual network device, such as VNIC, LINUX bridge, OVS, software switch, etc.).


The listing 500 includes a non-limiting example of fields in a report. Other fields and data items are also contemplated herein, such as handshake information, system information, network address associated with capturing agent or host, operating system environment information, network data or statistics, process statistics, system statistics, etc. The order in which these fields are illustrated is also exemplary and can be rearranged in any other way. One or more of these fields can be part of a header, a trailer, or a payload of in one or more packets. Moreover, one or more of these fields can be applied to the one or more packets as labels. Each of the fields can include data, metadata, and/or any other information relevant to the fields.


The disclosure now turns o the example network device and system illustrated in FIGS. 6 and 7A-B.



FIG. 6 illustrates an example network device 610 according to some embodiments. Network device 610 includes a master central processing unit (CPU) 662, faces 668, and a bus 615 (e.g., a PCI bus). When acting under the control of appropriate software or firmware, the CPU 662 is responsible for executing packet management, error detection, and/or routing functions. The CPU 662 preferably accomplishes all these functions under the control of software including an operating system and any appropriate applications software. CPU 662 may include one or more processors 663 such as a processor from the Motorola family of microprocessors or the MIPS family of microprocessors. In an alternative embodiment, processor 663 is specially designed hardware for controlling the operations of router 610. In a specific embodiment, a memory 661 (such as non-volatile RAM and/or ROM) also forms part of CPU 662. However, there are many different ways in which memory could be coupled to the system.


The interfaces 668 are typically provided as 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 the router 610. 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 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 and management. By providing separate processors for the communications intensive tasks, these interfaces allow the master microprocessor 662 to efficiently perform routing computations, network diagnostics, security functions, etc.


Although the system shown in FIG. 6 is one specific network device of the present disclosure, it is by no means the only network device architecture on which the present disclosure 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 the router.


Regardless of the network device's configuration, it may employ one or more memories or memory modules (including memory 661) 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.



FIG. 7A and FIG. 7B illustrate example system embodiments. The more appropriate embodiment will be apparent to those of ordinary skill in the art when practicing the present technology. Persons of ordinary skill in the art will also readily appreciate that other system embodiments are possible.



FIG. 7A illustrates a conventional system bus computing system architecture 700 wherein the components of the system are in electrical communication with each other using a bus 705. Exemplary system 700 includes a processing unit (CPU or processor) 710 and a system bus 705 that couples various system components including the system memory 715, such as read only memory (ROM) 720 and random access memory (RAM) 725, to the processor 710. The system 700 can include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor 710. The system 700 can copy data from the memory 715 and/or the storage device 730 to the cache 712 for quick access by the processor 710. In this way, the cache can provide a performance boost that avoids processor 710 delays while waiting for data. These and other modules can control or be configured to control the processor 710 to perform various actions. Other system memory 715 may be available for use as well. The memory 715 can include multiple different types of memory with different performance characteristics. The processor 710 can include any general purpose processor and a hardware module or software module, such as module 1732, module 2734, and module 3736 stored in storage device 730, configured to control the processor 710 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. The processor 710 may essentially 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 700, an input device 745 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 735 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 the computing device 700. The communications interface 740 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 730 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) 725, read only memory (ROM) 720, and hybrids thereof.


The storage device 730 can include software modules 732, 734, 736 for controlling the processor 710. Other hardware or software modules are contemplated. The storage device 730 can be connected to the system bus 705. 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 710, bus 705, display 735, and so forth, to carry out the function.



FIG. 7B illustrates an example computer system 750 having a chipset architecture that can be used in executing the described method and generating and displaying a graphical user interface (GUI). Computer system 750 is an example of computer hardware, software, and firmware that can be used to implement the disclosed technology. System 750 can include a processor 755, representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. Processor 755 can communicate with a chipset 760 that can control input to and output from processor 755. In this example, chipset 760 outputs information to output device 765, such as a display, and can read and write information to storage device 770, which can include magnetic media, and solid state media, for example. Chipset 760 can also read data from and write data to RAM 775. A bridge 780 for interfacing with a variety of user interface components 785 can be provided for interfacing with chipset 760. Such user interface components 785 can include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. In general, inputs to system 750 can come from any of a variety of sources, machine generated and/or human generated.


Chipset 760 can also interface with one or more communication interfaces 790 that can have different physical interfaces. Such communication interfaces can include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein can include receiving ordered datasets over the physical interface or be generated by the machine itself by processor 755 analyzing data stored in storage 770 or 775. Further, the machine can receive inputs from a user via user interface components 785 and execute appropriate functions, such as browsing functions by interpreting these inputs using processor 755.


It can be appreciated that example systems 700 and 750 can have more than one processor 710/755 or be part of a group or cluster of computing devices networked together to provide greater processing capability. In one aspect, reference to a “processor” can mean a group of processors of the same or different types. For example, the “processor” can include a central processing unit and a graphical processing unit. The “processor” can include one or multiple virtual and/or hardware processors.


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. Moreover, claim language reciting “at least one of” a set indicates that one member of the set or multiple members of the set satisfy the claim.


It should be understood that features or configurations herein with reference to one embodiment or example can be implemented in, or combined with, other embodiments or examples herein. That is, terms such as “embodiment”, “variation”, “aspect”, “example”, “configuration”, “implementation”, “case”, and any other terms which may connote an embodiment, as used herein to describe specific features or configurations, are not intended to limit any of the associated features or configurations to a specific or separate embodiment or embodiments, and should not be interpreted to suggest that such features or configurations cannot be combined with features or configurations described with reference to other embodiments, variations, aspects, examples, configurations, implementations, cases, and so forth. In other words, features described herein with reference to a specific example (e.g., embodiment, variation, aspect, configuration, implementation, case, etc.) can be combined with features described with reference to another example. Precisely, one of ordinary skill in the art will readily recognize that the various embodiments or examples described herein, and their associated features, can be combined with each other.


A phrase such as an “aspect” does not imply that such aspect is essential to the subject technology or that such aspect applies to all configurations of the subject technology. A disclosure relating to an aspect may apply to all configurations, or one or more configurations. A phrase such as an aspect may refer to one or more aspects and vice versa. A phrase such as a “configuration” does not imply that such configuration is essential to the subject technology or that such configuration applies to all configurations of the subject technology. A disclosure relating to a configuration may apply to all configurations, or one or more configurations. A phrase such as a configuration may refer to one or more configurations and vice versa. The word “exemplary” is used herein to mean “serving as an example or illustration.” Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.


Moreover, claim language reciting “at least one of” a set 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, B, and C” or “at least one of A, B, or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.

Claims
  • 1. A method comprising: analyzing, via a first capturing agent deployed on a hypervisor of a first host, first packets associated with the first host to yield first data at a first level of analysis, wherein the first packets include data flowing through the hypervisor and through one or more virtual machines of the first host;analyzing, via a second capturing agent deployed on a network device, second packets associated with the network device to yield second data at a second level of analysis, wherein the second packets include data flowing through the network device;collecting, via a collector, the first data and the second data during a period of time to yield aggregated data, the period of time including at least a duration of a predefined event;comparing the aggregated data to identify a delta; andanalyzing the delta to determine whether the delta represents a packet loss or is a result of a network topology.
  • 2. The method of claim 1, wherein a packet flow occurs through a first environment and a second environment.
  • 3. The method of claim 1, wherein the comparing of the packets captured and reported by the first capturing agent and the second capturing agent is performed on one of a per flow basis, a per link basis, or a per host basis.
  • 4. The method of claim 1, wherein the period of time includes the constant factor defined by the one or more units of time and another factor defined by a particular communication session.
  • 5. The method of claim 4, wherein the constant factor defined by the one or more units of time follows a completion of the particular communication session such that the period of time is extendable beyond the completion of the particular communication session.
  • 6. The method of claim 1, further comprising: determining the packet loss exceeds a threshold; andextending the period of time for an extended period of time, the extended period of time being variable and determined based on how much the at least one of first packet loss exceeds the threshold.
  • 7. The method of claim 1, wherein the analyzing the delta further comprises analyzing the network topology.
  • 8. A system comprising: a processor; anda computer-readable storage medium storing instructions which, when executed by the processor, cause the processor to perform operations comprising: collecting first data and second data during a period of time to yield aggregated data, the period of time including at least a duration of a predefined event, wherein: the first data is captured via a first capturing agent deployed on a hypervisor of a first host and the first data is yielded from first packets associated with the first host at a first level of analysis, the first packets include data flowing through the hypervisor and through one or more virtual machines of the first host, andthe second data is captured via a second capturing agent deployed on a network device and the second data is yielded from second packets associated with the network device at a second level of analysis, the second packets include data flowing through the network device; comparing the aggregated data to identify a delta; andanalyzing the delta to determine whether the delta represents a packet loss or is a result of a network topology.
  • 9. The system of claim 8, wherein a packet flow occurs through a first environment and a second environment.
  • 10. The system of claim 8, wherein the comparing of the packets captured and reported by the first capturing agent and the second capturing agent is performed on one of a per flow basis, a per link basis, or a per host basis.
  • 11. The system of claim 8, wherein the period of time includes the constant factor defined by the one or more units of time and another factor defined by a particular communication session.
  • 12. The system of claim 11, wherein the constant factor defined by the one or more units of time follows a completion of the particular communication session such that the period of time is extendable beyond the completion of the particular communication session.
  • 13. The system of claim 8, wherein, the operations include determining the packet loss exceeds a threshold and extending the period of time for an extended period of time, andthe extended period of time is variable and set based on how much the at least one of the packet loss exceeds the threshold.
  • 14. The system of claim 8, wherein the analyzing the delta further comprises analyzing the network topology.
  • 15. A computer-readable storage device that stores instructions which, when executed by a processor, cause the processor to perform operations comprising: collecting first data and second data during a period of time to yield aggregated data, the period of time including at least a duration of a predefined event, wherein: the first data is captured via a first capturing agent deployed on a hypervisor of a first host and the first data is yielded from first packets associated with the first host at a first level of analysis, the first packets include data flowing through the hypervisor and through one or more virtual machines of the first host, andthe second data is captured via a second capturing agent deployed on a network device and the second data is yielded from second packets associated with the network device at a second level of analysis, the second packets include data flowing through the network device;comparing the aggregated data to identify a delta; andanalyzing the delta to determine whether the delta represents a packet loss or is a result of a network topology.
  • 16. The computer-readable storage device of claim 15, wherein a packet flow occurs through a first environment and a second environment.
  • 17. The computer-readable storage device of claim 15, wherein the comparing of the packets captured and reported by the first capturing agent and the second capturing agent is performed on one of a per flow, per link per host basis.
  • 18. The computer-readable storage device of claim 15, wherein, the period of time includes the constant factor defined by the one or more units of time and another factor defined by a particular communication session, andthe constant factor defined by the one or more units of time follows a completion of the particular communication session such that the period of time is extendable beyond the completion of the particular communication session.
  • 19. The computer-readable storage device of claim 15, wherein, the operations include determining the packet loss exceeds a threshold and extending the period of time for an extended period of time, andthe extended period of time is variable and set based on how much the at least one of the packet loss exceeds the threshold.
  • 20. The computer-readable storage device of claim 15, wherein the analyzing the delta further comprises analyzing the network topology.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application No. 62/171,899, entitled “SYSTEM FOR MONITORING AND MANAGING DATACENTERS,” filed on Jun. 5, 2015, which is incorporated herein by reference in its entirety.

US Referenced Citations (1103)
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
5448724 Hayashi Sep 1995 A
5555416 Owens et al. Sep 1996 A
5726644 Jednacz et al. Mar 1998 A
5742803 Igarashi et al. Apr 1998 A
5742829 Davis et al. Apr 1998 A
5751914 Coley et al. May 1998 A
5794047 Meier Aug 1998 A
5822731 Schultz Oct 1998 A
5831848 Rielly et al. Nov 1998 A
5903545 Sabourin et al. May 1999 A
5949974 Ewing et al. Sep 1999 A
6012096 Link et al. Jan 2000 A
6026362 Kim et al. Feb 2000 A
6085243 Fletcher et al. Jul 2000 A
6115462 Servi et al. Sep 2000 A
6141595 Gloudeman et al. Oct 2000 A
6144962 Weinberg et al. Nov 2000 A
6192402 Iwase Feb 2001 B1
6204850 Green Mar 2001 B1
6215898 Woodfill et al. Apr 2001 B1
6226273 Busuioc et al. May 2001 B1
6230312 Hunt May 2001 B1
6239699 Ronnen May 2001 B1
6247058 Miller et al. Jun 2001 B1
6249241 Jordan et al. Jun 2001 B1
6279035 Brown et al. Aug 2001 B1
6295527 McCormack et al. Sep 2001 B1
6307837 Ichikawa et al. Oct 2001 B1
6330562 Boden et al. Dec 2001 B1
6338131 Dillon Jan 2002 B1
6351843 Berkley et al. Feb 2002 B1
6353775 Nichols Mar 2002 B1
6381735 Hunt Apr 2002 B1
6499137 Hunt Dec 2002 B1
6525658 Streetman et al. Feb 2003 B2
6546420 Lemler et al. Apr 2003 B1
6546553 Hunt Apr 2003 B1
6597663 Rekhter Jul 2003 B1
6611896 Mason, Jr. et al. Aug 2003 B1
6629123 Hunt Sep 2003 B1
6633909 Barrett et al. Oct 2003 B1
6654750 Adams et al. Nov 2003 B1
6718414 Doggett Apr 2004 B1
6728779 Griffin et al. Apr 2004 B1
6751663 Farrell et al. Jun 2004 B1
6774899 Ryall et al. Aug 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
6965861 Dailey et al. Nov 2005 B1
6983323 Cantrell et al. Jan 2006 B2
6996808 Niewiadomski et al. Feb 2006 B1
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
7036049 Ali et al. Apr 2006 B2
7089583 Mehra et al. Aug 2006 B2
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
7167483 Sharma et al. Jan 2007 B1
7181769 Keanini et al. Feb 2007 B1
7185103 Jain Feb 2007 B1
7194664 Fung et al. Mar 2007 B1
7203740 Putzolu et al. Apr 2007 B1
7213068 Kohli et al. May 2007 B1
7263689 Edwards et al. Aug 2007 B1
7296288 Hill et al. Nov 2007 B1
7302487 Ylonen et al. Nov 2007 B2
7327735 Robotham et al. Feb 2008 B2
7331060 Ricciulli Feb 2008 B1
7337206 Wen et al. Feb 2008 B1
7349761 Cruse Mar 2008 B1
7353507 Gazdik et al. Apr 2008 B2
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
7453879 Lo Nov 2008 B1
7454486 Kaler et al. Nov 2008 B2
7466681 Ashwood-Smith et al. Dec 2008 B2
7467205 Dempster et al. Dec 2008 B1
7469290 Liubovich et al. Dec 2008 B1
7496040 Seo Feb 2009 B2
7496575 Buccella et al. Feb 2009 B2
7496661 Morford et al. Feb 2009 B1
7523178 Reeves et al. Apr 2009 B2
7523465 Aamodt et al. Apr 2009 B2
7523493 Liang et al. Apr 2009 B2
7530105 Gilbert et al. May 2009 B2
7539770 Meier May 2009 B2
7568107 Rathi et al. Jul 2009 B1
7571478 Munson et al. Aug 2009 B2
7606203 Shabtay Oct 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
7742406 Muppala Jun 2010 B1
7742413 Bugenhagen Jun 2010 B1
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
7840618 Zhang et al. Nov 2010 B2
7844696 Labovitz et al. Nov 2010 B2
7844744 Abercrombie et al. Nov 2010 B2
7864707 Dimitropoulos et al. Jan 2011 B2
7870204 LeVasseur 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
7990847 Leroy et al. Aug 2011 B1
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
8040832 Nishio et al. Oct 2011 B2
8056134 Ogilvie Nov 2011 B1
8115617 Thubert et al. Feb 2012 B2
8135657 Kapoor et al. Mar 2012 B2
8135847 Pujol 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
8181253 Zaitsev et al. May 2012 B1
8185343 Fitzgerald et al. May 2012 B1
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
8280683 Finkler Oct 2012 B2
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
8312540 Kahn et al. Nov 2012 B1
8339959 Moisand et al. Dec 2012 B1
8356007 Arson et al. Jan 2013 B2
8365005 Bengtson et al. Jan 2013 B2
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
8463860 Guruswamy et al. Jun 2013 B1
8489765 Vasseur et al. Jul 2013 B2
8494985 Keralapura et al. Jul 2013 B1
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
8565109 Poovendran et al. Oct 2013 B1
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
8578491 McNamee et al. Nov 2013 B2
8588081 Salam et al. Nov 2013 B2
8595709 Rao et al. Nov 2013 B2
8600726 Varshney et al. Dec 2013 B1
8612530 Sapovalovs et al. Dec 2013 B1
8613084 Dalcher Dec 2013 B2
8615803 Dacier et al. Dec 2013 B2
8624898 Bugaj et al. Jan 2014 B1
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
8689172 Amaral et al. Apr 2014 B2
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
8779921 Curtiss Jul 2014 B1
8793255 Bilinski et al. Jul 2014 B1
8805946 Glommen Aug 2014 B1
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
8832103 Isaacson et al. Sep 2014 B2
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
8887285 Jordan 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
8924941 Krajec et al. Dec 2014 B2
8931043 Cooper et al. Jan 2015 B2
8954546 Krajec Feb 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
8997063 Krajec 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
9043905 Allen et al. May 2015 B1
9071575 Lemaster et al. Jun 2015 B2
9088598 Zhang et al. Jul 2015 B1
9104543 Cavanagh et al. Aug 2015 B1
9110905 Polley et al. Aug 2015 B2
9117075 Yeh Aug 2015 B1
9122599 Jaladanki et al. Sep 2015 B1
9130836 Kapadia et al. Sep 2015 B2
9135145 Voccio et al. Sep 2015 B2
9141912 Shircliff et al. Sep 2015 B2
9141914 Viswanathan et al. Sep 2015 B2
9146820 Alfadhly et al. Sep 2015 B2
9152789 Natarajan et al. Oct 2015 B2
9158720 Shirlen 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
9179058 Zeira et al. Nov 2015 B1
9185127 Neou et al. Nov 2015 B2
9191042 Dhayni 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
9252915 Bakken Feb 2016 B1
9253042 Lumezanu et al. Feb 2016 B2
9253206 Fleischman Feb 2016 B1
9258217 Duffield et al. Feb 2016 B2
9276829 Castro et al. Mar 2016 B2
9281940 Matsuda et al. Mar 2016 B2
9286047 Avramov et al. Mar 2016 B1
9292415 Seto et al. Mar 2016 B2
9294486 Chiang et al. Mar 2016 B1
9294498 Yampolskiy et al. Mar 2016 B1
9300689 Tsuchitoi Mar 2016 B2
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 Shimomura et al. Jun 2016 B2
9385917 Khanna et al. Jul 2016 B1
9397902 Dragon et al. Jul 2016 B2
9405903 Xie et al. Aug 2016 B1
9413615 Singh 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
9483334 Walsh Nov 2016 B2
9487222 Palmer et al. Nov 2016 B2
9501744 Brisebois et al. Nov 2016 B1
9531589 Clemm et al. Dec 2016 B2
9536084 Lukacs et al. Jan 2017 B1
9552221 Pora Jan 2017 B1
9563517 Natanzon et al. Feb 2017 B1
9575869 Pechanec et al. Feb 2017 B2
9575874 Gautallin et al. Feb 2017 B2
9576240 Jeong et al. Feb 2017 B2
9582669 Shen et al. Feb 2017 B1
9596196 Hills Mar 2017 B1
9602536 Brown, Jr. et al. Mar 2017 B1
9621413 Lee Apr 2017 B1
9621575 Jalan et al. Apr 2017 B1
9634915 Bley Apr 2017 B2
9645892 Patwardhan May 2017 B1
9658942 Bhat et al. May 2017 B2
9665474 Li et al. May 2017 B2
9678803 Suit Jun 2017 B2
9684453 Holt et al. Jun 2017 B2
9686233 Paxton Jun 2017 B2
9697033 Koponen et al. Jul 2017 B2
9727394 Kun et al. Aug 2017 B2
9729568 Lefebvre et al. Aug 2017 B2
9733973 Prasad et al. Aug 2017 B2
9736041 Lumezanu et al. Aug 2017 B2
9749145 Banavalikar et al. Aug 2017 B2
9800608 Korsunsky et al. Oct 2017 B2
9804830 Raman et al. Oct 2017 B2
9804951 Liu et al. Oct 2017 B2
9813307 Walsh et al. Nov 2017 B2
9813324 Nampelly et al. Nov 2017 B2
9813516 Wang Nov 2017 B2
9825911 Brandwine Nov 2017 B1
9836183 Love et al. Dec 2017 B1
9857825 Johnson et al. Jan 2018 B1
9858621 Konrardy et al. Jan 2018 B1
9860208 Ettema et al. Jan 2018 B1
9904584 Konig et al. Feb 2018 B2
9916232 Voccio et al. Mar 2018 B2
9916538 Zadeh et al. Mar 2018 B2
9935851 Gandham et al. Apr 2018 B2
9996529 McCandless et al. Jun 2018 B2
10002187 McCandless et al. Jun 2018 B2
10009240 Rao et al. Jun 2018 B2
10116531 Alizadeh Attar et al. Oct 2018 B2
10171319 Yadav et al. Jan 2019 B2
10243862 Cafarelli et al. Mar 2019 B2
10394692 Liu et al. Aug 2019 B2
10447551 Zhang et al. Oct 2019 B1
10454793 Deen et al. Oct 2019 B2
10454999 Eder Oct 2019 B2
10476982 Tarre et al. Nov 2019 B2
10652225 Koved et al. May 2020 B2
10686804 Yadav et al. Jun 2020 B2
10749890 Aloisio et al. Aug 2020 B1
10944683 Roskind Mar 2021 B1
11368378 Gandham et al. Jun 2022 B2
11516098 Spadaro et al. Nov 2022 B2
11528283 Yadav et al. Dec 2022 B2
11556808 Kim et al. Jan 2023 B1
20010028646 Arts et al. Oct 2001 A1
20020023210 Tuomenoksa et al. Feb 2002 A1
20020053033 Cooper et al. May 2002 A1
20020083175 Afek et al. Jun 2002 A1
20020097687 Meiri et al. Jul 2002 A1
20020103793 Koller et al. Aug 2002 A1
20020107857 Teraslinna Aug 2002 A1
20020107875 Seliger et al. Aug 2002 A1
20020141343 Bays Oct 2002 A1
20020169739 Carr et al. Nov 2002 A1
20020184393 Leddy et al. Dec 2002 A1
20020196292 Toh et al. Dec 2002 A1
20030005145 Bullard Jan 2003 A1
20030016627 MeLampy et al. Jan 2003 A1
20030023600 Nagamura et al. Jan 2003 A1
20030023601 Fortier, Jr. et al. Jan 2003 A1
20030035140 Tomita et al. Feb 2003 A1
20030046388 Milliken Mar 2003 A1
20030065986 Fraenkel et al. Apr 2003 A1
20030069953 Bottom et al. Apr 2003 A1
20030072269 Teruhi et al. Apr 2003 A1
20030084158 Saito et al. May 2003 A1
20030097439 Strayer et al. May 2003 A1
20030105976 Copeland, III Jun 2003 A1
20030126242 Chang Jul 2003 A1
20030133443 Klinker et al. Jul 2003 A1
20030145232 Poletto et al. Jul 2003 A1
20030149888 Yadav Aug 2003 A1
20030151513 Herrmann et al. Aug 2003 A1
20030154399 Zuk et al. Aug 2003 A1
20030177208 Harvey, IV Sep 2003 A1
20030206205 Kawahara et al. Nov 2003 A1
20040019676 Iwatsuki et al. Jan 2004 A1
20040030776 Cantrell et al. Feb 2004 A1
20040036478 Logvinov et al. Feb 2004 A1
20040046787 Henry et al. Mar 2004 A1
20040049698 Ott et al. Mar 2004 A1
20040054680 Kelley et al. Mar 2004 A1
20040111679 Subasic et al. Jun 2004 A1
20040133640 Yeager et al. Jul 2004 A1
20040133690 Chauffour et al. Jul 2004 A1
20040137908 Sinivaara et al. Jul 2004 A1
20040167921 Carson et al. Aug 2004 A1
20040205536 Newman et al. Oct 2004 A1
20040213221 Civanlar et al. Oct 2004 A1
20040218532 Khirman Nov 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
20050060403 Bernstein et al. Mar 2005 A1
20050063377 Bryant et al. Mar 2005 A1
20050068907 Garg Mar 2005 A1
20050083933 Fine et al. Apr 2005 A1
20050104885 Jager et al. May 2005 A1
20050108331 Osterman May 2005 A1
20050122325 Twait Jun 2005 A1
20050138157 Jung et al. Jun 2005 A1
20050154625 Chua et al. Jul 2005 A1
20050166066 Ahuja et al. Jul 2005 A1
20050177829 Vishwanath Aug 2005 A1
20050177871 Roesch et al. 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
20050210331 Connelly et al. Sep 2005 A1
20050210533 Copeland et al. Sep 2005 A1
20050228885 Winfield et al. Oct 2005 A1
20050237948 Wan et al. Oct 2005 A1
20050257244 Joly et al. Nov 2005 A1
20050289244 Sahu et al. Dec 2005 A1
20060004758 Teng et al. Jan 2006 A1
20060026669 Zakas Feb 2006 A1
20060048218 Lingafelt et al. Mar 2006 A1
20060058218 Syud et al. Mar 2006 A1
20060075396 Surasinghe Apr 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
20060098625 King et al. May 2006 A1
20060101516 Sudaharan et al. May 2006 A1
20060106550 Morin et al. May 2006 A1
20060143432 Rothman et al. Jun 2006 A1
20060156408 Himberger et al. Jul 2006 A1
20060158266 Yonekawa et al. Jul 2006 A1
20060158354 Aberg et al. Jul 2006 A1
20060159032 Ukrainetz et al. Jul 2006 A1
20060173912 Lindvall et al. Aug 2006 A1
20060195448 Newport Aug 2006 A1
20060212556 Yacoby et al. Sep 2006 A1
20060224398 Lakshman et al. Oct 2006 A1
20060253566 Stassinopoulos Nov 2006 A1
20060265713 Depro et al. Nov 2006 A1
20060272018 Fouant Nov 2006 A1
20060274659 Ouderkirk Dec 2006 A1
20060280179 Meier Dec 2006 A1
20060294219 Ogawa et al. Dec 2006 A1
20070010898 Hosek et al. Jan 2007 A1
20070014275 Bettink et al. Jan 2007 A1
20070019618 Shaffer et al. Jan 2007 A1
20070025306 Cox et al. Feb 2007 A1
20070044147 Choi et al. Feb 2007 A1
20070067756 Garza Mar 2007 A1
20070074288 Chang et al. Mar 2007 A1
20070097976 Wood et al. May 2007 A1
20070118654 Jamkhedkar et al. May 2007 A1
20070124376 Greenwell May 2007 A1
20070127491 Verzijp et al. Jun 2007 A1
20070150568 Ruiz Jun 2007 A1
20070162420 Ou et al. Jul 2007 A1
20070169179 Narad Jul 2007 A1
20070177626 Kotelba Aug 2007 A1
20070180526 Copeland, III Aug 2007 A1
20070195729 Li et al. Aug 2007 A1
20070195794 Fujita et al. Aug 2007 A1
20070195797 Patel et al. Aug 2007 A1
20070199060 Touboul Aug 2007 A1
20070201474 Isobe Aug 2007 A1
20070209074 Coffman Sep 2007 A1
20070211637 Mitchell Sep 2007 A1
20070214348 Danielsen Sep 2007 A1
20070220159 Choi et al. Sep 2007 A1
20070223388 Arad et al. Sep 2007 A1
20070230415 Malik Oct 2007 A1
20070232265 Park et al. Oct 2007 A1
20070250640 Wells Oct 2007 A1
20070250930 Aziz et al. Oct 2007 A1
20070280108 Sakurai Dec 2007 A1
20070300061 Kim et al. Dec 2007 A1
20080002697 Anantharamaiah et al. Jan 2008 A1
20080013532 Garner et al. Jan 2008 A1
20080017619 Yamakawa et al. Jan 2008 A1
20080022385 Crowell et al. Jan 2008 A1
20080028389 Genty et al. Jan 2008 A1
20080040088 Vankov et al. Feb 2008 A1
20080046708 Fitzgerald et al. Feb 2008 A1
20080049633 Edwards et al. Feb 2008 A1
20080052387 Heinz et al. Feb 2008 A1
20080056124 Nanda et al. Mar 2008 A1
20080066009 Gardner 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
20080181100 Yang et al. Jul 2008 A1
20080185621 Yi et al. Aug 2008 A1
20080201109 Zill et al. Aug 2008 A1
20080208367 Koehler et al. Aug 2008 A1
20080222352 Booth et al. Sep 2008 A1
20080232358 Baker et al. Sep 2008 A1
20080247539 Huang et al. Oct 2008 A1
20080250122 Zsigmond et al. Oct 2008 A1
20080250128 Sargent Oct 2008 A1
20080262990 Kapoor et al. Oct 2008 A1
20080270199 Chess et al. Oct 2008 A1
20080282347 Dadhia et al. Nov 2008 A1
20080295163 Kang Nov 2008 A1
20080298271 Morinaga Dec 2008 A1
20080301755 Sinha et al. Dec 2008 A1
20080301765 Nicol et al. Dec 2008 A1
20080320592 Suit et al. Dec 2008 A1
20090019026 Valdes-Perez et al. Jan 2009 A1
20090059934 Aggarwal et al. Mar 2009 A1
20090064332 Porras et al. Mar 2009 A1
20090077097 Lacapra et al. Mar 2009 A1
20090077543 Siskind et al. Mar 2009 A1
20090077666 Chen et al. Mar 2009 A1
20090106646 Mollicone et al. Apr 2009 A1
20090109849 Wood et al. Apr 2009 A1
20090133126 Jang et al. May 2009 A1
20090138590 Lee et al. May 2009 A1
20090158432 Zheng et al. Jun 2009 A1
20090161658 Danner et al. Jun 2009 A1
20090164565 Underhill Jun 2009 A1
20090177484 Davis et al. Jul 2009 A1
20090180393 Nakamura Jul 2009 A1
20090192847 Lipkin et al. Jul 2009 A1
20090193495 McAfee et al. Jul 2009 A1
20090241170 Kumar et al. Sep 2009 A1
20090249302 Xu et al. Oct 2009 A1
20090252181 Desanti Oct 2009 A1
20090260083 Szeto et al. Oct 2009 A1
20090271412 Lacapra et al. Oct 2009 A1
20090271504 Ginter et al. Oct 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
20090310485 Averi 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
20100005478 Helfman et al. Jan 2010 A1
20100042716 Farajidana et al. Feb 2010 A1
20100049839 Parker et al. Feb 2010 A1
20100054241 Shah et al. Mar 2010 A1
20100070647 Irino 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
20100128598 Gandhewar et al. May 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
20100157809 Duffield et al. Jun 2010 A1
20100161817 Xiao et al. Jun 2010 A1
20100174813 Hildreth et al. Jul 2010 A1
20100180016 Bugwadia et al. Jul 2010 A1
20100185901 Hirsch Jul 2010 A1
20100188989 Wing et al. Jul 2010 A1
20100188995 Raleigh Jul 2010 A1
20100194741 Finocchio Aug 2010 A1
20100220584 DeHaan et al. Sep 2010 A1
20100226373 Rowell et al. Sep 2010 A1
20100235514 Beachem Sep 2010 A1
20100235879 Burnside et al. Sep 2010 A1
20100235915 Memon et al. Sep 2010 A1
20100246432 Zhang 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
20110055382 Narasimhan Mar 2011 A1
20110055388 Yumerefendi et al. Mar 2011 A1
20110060704 Rubin et al. Mar 2011 A1
20110066719 Miryanov et al. Mar 2011 A1
20110069685 Tofighbakhsh Mar 2011 A1
20110072119 Bronstein et al. Mar 2011 A1
20110083124 Moskal et al. Apr 2011 A1
20110083125 Komatsu et al. Apr 2011 A1
20110085556 Breslin et al. Apr 2011 A1
20110103259 Aybay et al. May 2011 A1
20110107074 Chan et al. May 2011 A1
20110107331 Evans et al. May 2011 A1
20110125894 Anderson 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
20110158112 Finn et al. Jun 2011 A1
20110158410 Falk et al. Jun 2011 A1
20110167435 Fang Jul 2011 A1
20110170860 Smith et al. Jul 2011 A1
20110173490 Narayanaswamy et al. Jul 2011 A1
20110185423 Sallam Jul 2011 A1
20110191465 Hofstaedter et al. Aug 2011 A1
20110196957 Ayachitula et al. Aug 2011 A1
20110202655 Sharma et al. Aug 2011 A1
20110202761 Sarela 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
20110239058 Umezuki Sep 2011 A1
20110239194 Braude Sep 2011 A1
20110246663 Melsen et al. Oct 2011 A1
20110267952 Ko et al. Nov 2011 A1
20110276951 Jain Nov 2011 A1
20110277034 Hanson Nov 2011 A1
20110283266 Gallagher et al. Nov 2011 A1
20110283277 Castillo et al. Nov 2011 A1
20110289122 Grube et al. Nov 2011 A1
20110289301 Allen et al. Nov 2011 A1
20110302652 Westerfeld Dec 2011 A1
20110310892 DiMambro Dec 2011 A1
20110314148 Petersen et al. Dec 2011 A1
20110317982 Xu et al. Dec 2011 A1
20120005542 Petersen et al. Jan 2012 A1
20120011153 Buchanan et al. Jan 2012 A1
20120016972 Tamura Jan 2012 A1
20120047394 Jain et al. Feb 2012 A1
20120075999 Ko et al. Mar 2012 A1
20120079592 Pandrangi Mar 2012 A1
20120089664 Igelka Apr 2012 A1
20120096394 Balko et al. Apr 2012 A1
20120102361 Sass et al. Apr 2012 A1
20120102543 Kohli et al. Apr 2012 A1
20120102545 Carter, III 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
20120144030 Narasimhan Jun 2012 A1
20120167057 Schmich 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
20120216282 Pappu 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
20120240185 Kapoor et al. Sep 2012 A1
20120240232 Azuma Sep 2012 A1
20120246303 Petersen et al. Sep 2012 A1
20120254109 Shukla et al. Oct 2012 A1
20120255875 Vicente et al. Oct 2012 A1
20120260135 Beck et al. Oct 2012 A1
20120260227 Shukla et al. Oct 2012 A1
20120260236 Basak et al. Oct 2012 A1
20120268405 Ferren et al. Oct 2012 A1
20120278021 Lin et al. Nov 2012 A1
20120281700 Koganti et al. Nov 2012 A1
20120287815 Attar 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
20130019008 Jorgenson et al. Jan 2013 A1
20130038358 Cook et al. Feb 2013 A1
20130041934 Annamalaisami et al. Feb 2013 A1
20130054682 Malik et al. Feb 2013 A1
20130055145 Antony et al. Feb 2013 A1
20130055373 Beacham et al. Feb 2013 A1
20130064096 Degioanni et al. Mar 2013 A1
20130080375 Viswanathan et al. Mar 2013 A1
20130085889 Fitting et al. Apr 2013 A1
20130086272 Chen et al. Apr 2013 A1
20130094372 Boot Apr 2013 A1
20130094376 Reeves Apr 2013 A1
20130097706 Titonis et al. Apr 2013 A1
20130103827 Dunlap et al. Apr 2013 A1
20130107709 Campbell et al. May 2013 A1
20130114598 Schrum et al. May 2013 A1
20130117748 Cooper et al. May 2013 A1
20130117847 Friedman May 2013 A1
20130122854 Agarwal 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
20130160128 Dolan-Gavitt et al. Jun 2013 A1
20130166730 Wilkinson Jun 2013 A1
20130173784 Wang et al. Jul 2013 A1
20130173787 Tateishi et al. Jul 2013 A1
20130174256 Powers Jul 2013 A1
20130179487 Lubetzky et al. Jul 2013 A1
20130179879 Zhang et al. Jul 2013 A1
20130198509 Buruganahalli et al. Aug 2013 A1
20130198517 Mazzarella Aug 2013 A1
20130198839 Wei et al. Aug 2013 A1
20130201986 Sajassi et al. Aug 2013 A1
20130205137 Farrugia et al. Aug 2013 A1
20130205293 Levijarvi et al. Aug 2013 A1
20130219161 Fontignie et al. Aug 2013 A1
20130219263 Abrahami Aug 2013 A1
20130219500 Lukas et al. Aug 2013 A1
20130232498 Mangtani et al. Sep 2013 A1
20130238665 Sequin 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
20130283240 Krajec et al. Oct 2013 A1
20130283281 Krajec et al. Oct 2013 A1
20130283374 Zisapel et al. Oct 2013 A1
20130290521 Labovitz Oct 2013 A1
20130297771 Osterloh et al. Nov 2013 A1
20130298244 Kumar et al. Nov 2013 A1
20130301472 Allan Nov 2013 A1
20130304900 Trabelsi et al. Nov 2013 A1
20130305369 Karta et al. Nov 2013 A1
20130308468 Cowie Nov 2013 A1
20130312097 Turnbull Nov 2013 A1
20130318357 Abraham et al. Nov 2013 A1
20130322441 Anumala Dec 2013 A1
20130326623 Kruglick Dec 2013 A1
20130326625 Anderson et al. Dec 2013 A1
20130332773 Yuan et al. Dec 2013 A1
20130333029 Chesla et al. Dec 2013 A1
20130335219 Malkowski Dec 2013 A1
20130336164 Yang et al. Dec 2013 A1
20130343207 Cook et al. Dec 2013 A1
20130346054 Mumtaz 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
20140009338 Lin et al. Jan 2014 A1
20140012562 Chang Jan 2014 A1
20140012814 Bercovici et al. Jan 2014 A1
20140019972 Yahalom et al. Jan 2014 A1
20140020099 Vaidyanathan 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
20140047274 Lumezanu et al. Feb 2014 A1
20140047372 Gnezdov et al. Feb 2014 A1
20140050222 Lynar et al. Feb 2014 A1
20140053226 Fadida 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
20140075048 Yuksel et al. Mar 2014 A1
20140075336 Curtis et al. Mar 2014 A1
20140081596 Agrawal 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
20140108665 Arora et al. Apr 2014 A1
20140115219 Ajanovic et al. Apr 2014 A1
20140115403 Rhee et al. Apr 2014 A1
20140115654 Rogers et al. Apr 2014 A1
20140122656 Baldwin et al. May 2014 A1
20140129942 Rathod May 2014 A1
20140130039 Chaplik et al. May 2014 A1
20140136680 Joshi et al. May 2014 A1
20140137109 Sharma et al. May 2014 A1
20140137180 Lukacs et al. May 2014 A1
20140140213 Raleigh et al. May 2014 A1
20140140244 Kapadia et al. May 2014 A1
20140141524 Keith 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
20140173723 Singla et al. Jun 2014 A1
20140192639 Smirnov Jul 2014 A1
20140201717 Mascaro et al. Jul 2014 A1
20140201838 Varsanyi et al. Jul 2014 A1
20140208296 Dang et al. Jul 2014 A1
20140210616 Ramachandran 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
20140230062 Kumaran Aug 2014 A1
20140233387 Zheng et al. Aug 2014 A1
20140247206 Grokop et al. Sep 2014 A1
20140258310 Wong et al. Sep 2014 A1
20140269777 Rothstein et al. Sep 2014 A1
20140280499 Basavaiah et al. Sep 2014 A1
20140280892 Reynolds Sep 2014 A1
20140280908 Rothstein et al. Sep 2014 A1
20140281030 Cui et al. Sep 2014 A1
20140286174 Iizuka et al. Sep 2014 A1
20140286354 Van De Poel et al. Sep 2014 A1
20140289418 Cohen et al. Sep 2014 A1
20140289854 Mahvi Sep 2014 A1
20140297357 Zeng et al. Oct 2014 A1
20140298461 Hohndel et al. Oct 2014 A1
20140301213 Khanal 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
20140321290 Jin 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
20140344438 Chen et al. 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
20140363076 Han et al. Dec 2014 A1
20140376379 Fredette et al. Dec 2014 A1
20150006689 Szilagyi et al. Jan 2015 A1
20150006714 Jain Jan 2015 A1
20150007317 Jain Jan 2015 A1
20150009840 Pruthi et al. Jan 2015 A1
20150019140 Downey Jan 2015 A1
20150019569 Parker et al. Jan 2015 A1
20150023170 Kakadia et al. Jan 2015 A1
20150026794 Zuk 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 Feb 2015 A1
20150039751 Harrigan et al. Feb 2015 A1
20150039757 Petersen et al. Feb 2015 A1
20150043351 Ohkawa et al. Feb 2015 A1
20150046882 Menyhart et al. Feb 2015 A1
20150047032 Hannis 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
20150089614 Mathew et al. Mar 2015 A1
20150095332 Beisiegel et al. Apr 2015 A1
20150112933 Satapathy Apr 2015 A1
20150113063 Liu Apr 2015 A1
20150113133 Srinivas et al. Apr 2015 A1
20150117624 Rosenshine 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
20150128246 Feghali et al. May 2015 A1
20150134801 Walley et al. May 2015 A1
20150138993 Forster et al. May 2015 A1
20150142962 Srinivas et al. May 2015 A1
20150147973 Williams et al. May 2015 A1
20150156118 Madani et al. Jun 2015 A1
20150170213 O'Malley Jun 2015 A1
20150195291 Zuk et al. Jul 2015 A1
20150199254 Vesepogu et al. Jul 2015 A1
20150215334 Bingham et al. Jul 2015 A1
20150222516 Deval et al. Aug 2015 A1
20150222939 Gallant et al. Aug 2015 A1
20150227396 Nimmagadda et al. Aug 2015 A1
20150227598 Hahn Aug 2015 A1
20150244617 Nakil et al. Aug 2015 A1
20150244739 Ben-Shalom et al. Aug 2015 A1
20150245248 Shudark et al. Aug 2015 A1
20150249622 Phillips et al. Sep 2015 A1
20150254330 Chan et al. Sep 2015 A1
20150256413 Du et al. Sep 2015 A1
20150256555 Choi et al. Sep 2015 A1
20150256587 Walker et al. Sep 2015 A1
20150261842 Huang et al. Sep 2015 A1
20150261886 Wu et al. Sep 2015 A1
20150261887 Joukov Sep 2015 A1
20150271008 Jain et al. Sep 2015 A1
20150271255 Mackay et al. Sep 2015 A1
20150278273 Wigington et al. Oct 2015 A1
20150281116 Ko et al. Oct 2015 A1
20150281277 May et al. Oct 2015 A1
20150281407 Raju et al. Oct 2015 A1
20150294212 Fein Oct 2015 A1
20150295945 Canzanese, Jr. et al. Oct 2015 A1
20150304346 Kim Oct 2015 A1
20150312233 Graham, III et al. Oct 2015 A1
20150356297 Yang et al. Oct 2015 A1
20150336016 Chaturvedi Nov 2015 A1
20150341376 Nandy et al. Nov 2015 A1
20150341379 Lefebvre et al. Nov 2015 A1
20150341383 Reddy et al. Nov 2015 A1
20150347554 Vasantham et al. Dec 2015 A1
20150358287 Caputo et al. Dec 2015 A1
20150358352 Chasin et al. Dec 2015 A1
20150379278 Thota et al. Dec 2015 A1
20150381409 Margalit 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
20160028605 Gil et al. Jan 2016 A1
20160030683 Taylor et al. Feb 2016 A1
20160034560 Setayesh et al. Feb 2016 A1
20160035787 Matsuda Feb 2016 A1
20160036636 Erickson et al. Feb 2016 A1
20160036833 Ardeli et al. Feb 2016 A1
20160036837 Jain et al. Feb 2016 A1
20160036838 Jain et al. Feb 2016 A1
20160050128 Schaible et al. Feb 2016 A1
20160050132 Zhang et al. Feb 2016 A1
20160072638 Amer et al. Mar 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
20160094657 Meira et al. Mar 2016 A1
20160094994 Kirkby et al. Mar 2016 A1
20160103692 Guntaka et al. Apr 2016 A1
20160105333 Lenglet Apr 2016 A1
20160105350 Greifeneder et al. Apr 2016 A1
20160112269 Singh 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
20160148251 Thomas et al. May 2016 A1
20160150060 Meng et al. May 2016 A1
20160156531 Cartwright Jun 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
20160191362 Hwang et al. Jun 2016 A1
20160191466 Pernicha Jun 2016 A1
20160191469 Zatko et al. Jun 2016 A1
20160191476 Schutz et al. Jun 2016 A1
20160196374 Bar et al. Jul 2016 A1
20160205002 Rieke et al. Jul 2016 A1
20160216994 Sefidcon et al. Jul 2016 A1
20160217022 Velipasaoglu et al. Jul 2016 A1
20160218933 Porras et al. Jul 2016 A1
20160234083 Ahn et al. Aug 2016 A1
20160248794 Cam Aug 2016 A1
20160248813 Byrnes 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
20160277272 Peach et al. Sep 2016 A1
20160277435 Salajegheh et al. Sep 2016 A1
20160283307 Takeshima et al. Sep 2016 A1
20160285730 Ohkawa et al. Sep 2016 A1
20160292065 Thangamani et al. Oct 2016 A1
20160294691 Joshi Oct 2016 A1
20160306550 Liu et al. Oct 2016 A1
20160308908 Kirby et al. Oct 2016 A1
20160321452 Richardson et al. Nov 2016 A1
20160321455 Deng et al. Nov 2016 A1
20160330097 Kim et al. Nov 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
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
20160378978 Singla et al. Dec 2016 A1
20160380865 Dubai et al. Dec 2016 A1
20160380869 Shen 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
20170054643 Fraser Feb 2017 A1
20170059353 Madine et al. Mar 2017 A1
20170070582 Desai et al. Mar 2017 A1
20170085483 Mihaly et al. Mar 2017 A1
20170091204 Minwalla et al. Mar 2017 A1
20170093910 Gukal et al. Mar 2017 A1
20170118244 Bai et al. Apr 2017 A1
20170163502 Macneil et al. Jun 2017 A1
20170187733 Ahn et al. Jun 2017 A1
20170201448 Deval et al. Jul 2017 A1
20170208487 Ratakonda et al. Jul 2017 A1
20170214708 Gukal et al. Jul 2017 A1
20170222909 Sadana et al. Aug 2017 A1
20170223052 Stutz Aug 2017 A1
20170250880 Akens et al. Aug 2017 A1
20170250951 Wang et al. Aug 2017 A1
20170257424 Neogi et al. Sep 2017 A1
20170284839 Ojala Oct 2017 A1
20170289067 Lu et al. Oct 2017 A1
20170295141 Thubert et al. Oct 2017 A1
20170302691 Singh et al. Oct 2017 A1
20170324518 Meng et al. Nov 2017 A1
20170331747 Singh et al. Nov 2017 A1
20170346736 Chander et al. Nov 2017 A1
20170364380 Frye, Jr. et al. Dec 2017 A1
20180005427 Marvie et al. Jan 2018 A1
20180006911 Dickey Jan 2018 A1
20180007115 Nedeltchev et al. Jan 2018 A1
20180013670 Kapadia et al. Jan 2018 A1
20180032905 Abercrombie Feb 2018 A1
20180098123 Larson Apr 2018 A1
20180145906 Yadav et al. May 2018 A1
20180191617 Caulfield et al. Jul 2018 A1
20200225110 Knauss et al. Jul 2020 A1
20200273040 Novick et al. Aug 2020 A1
20200279055 Nambiar et al. Sep 2020 A1
20200396129 Tedaldi et al. Dec 2020 A1
20220141103 Gandham et al. May 2022 A1
Foreign Referenced Citations (49)
Number Date Country
1486555 Mar 2004 CN
101093452 Dec 2007 CN
101465763 Jun 2009 CN
101667935 Mar 2010 CN
101770551 Jul 2010 CN
102204170 Sep 2011 CN
102521537 Jun 2012 CN
103023970 Apr 2013 CN
103699664 Apr 2014 CN
103716137 Apr 2014 CN
104065518 Sep 2014 CN
107196807 Sep 2017 CN
0811942 Dec 1997 EP
1039690 Sep 2000 EP
1069741 Jan 2001 EP
1076848 Jul 2002 EP
1383261 Jan 2004 EP
1450511 Aug 2004 EP
2045974 Apr 2008 EP
2043320 Apr 2009 EP
2427022 Mar 2012 EP
2723034 Apr 2014 EP
2860912 Apr 2015 EP
2887595 Jun 2015 EP
3069241 Aug 2018 EP
3793166 Mar 2021 EP
102142009 Aug 2011 IN
2009016906 Jan 2009 JP
1394338 May 2014 KR
0145370 Jun 2001 WO
2006045793 May 2006 WO
WO 2007014314 Feb 2007 WO
2007042171 Apr 2007 WO
WO 2007070711 Jun 2007 WO
2007139842 Dec 2007 WO
WO 2008069439 Jun 2008 WO
WO-2010048693 May 2010 WO
WO-2010059972 May 2010 WO
2012139288 Oct 2012 WO
WO-2012162419 Nov 2012 WO
WO 2013030830 Mar 2013 WO
WO-2013055812 Apr 2013 WO
2013126759 Aug 2013 WO
WO-2014127008 Aug 2014 WO
WO 2015042171 Mar 2015 WO
WO 2015099778 Jul 2015 WO
2015118454 Aug 2015 WO
WO 2016004075 Jan 2016 WO
2016019523 Feb 2016 WO
Non-Patent Literature Citations (152)
Entry
Approximation techniques for computing packet loss in finite-buffered voice multiplexers R. Nagarajan; J.F. Kurose;D. Towsley IEEE Journal on Selected Areas in Communications (Year: 1991).
A Simple Closed-Form Approximation for the Packet Loss Rate of a TCP Connection Over Wireless Links Jorge Mata-Díaz;Juanjo Alins;Jose L. Muñoz;Oscar Esparza IEEE Communications Letters (Year: 2014).
Improving emergency messages transmission delay in road monitoring based WSNs Horiya Imane Brahmi; Soufiene Djahel; John Murphy 6th Joint IFIP Wireless and Mobile Networking Conference (WMNC) (Year: 2013).
Packet Loss Measurement and Control for VPN based Services Dongli Zhang;D. Ionescu 2005 IEEE Instrumentationand Measurement Technology Conference Proceedings Year: 2005 | vol. 3 | Conference Paper | Publisher: IEEE (Year: 2005).
Datacenter Applications in Virtualized Networks: A Cross-Layer Performance Study Daniel Crisan ⋅ Robert Birke ⋅ Katherine Barabash ⋅ Rami Cohen ⋅ Mitch Gusat , IEEE Journal on Selected Areas in Communications (vol. 32, Issue: 1, pp. 77-87) Publication Date: Jan. 1, 2014 (Year: 2014).
vNetTracer: Efficient and Programmable Packet Tracing in Virtualized Networks Kun Suo; Yong Zhao; Wei Chen; Jia Rao 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS) Year: 2018 | Conference Paper | Publisher: IEEE (Year: 2018).
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.
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.”
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.
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 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.
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.
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.
InternetPerils, Inc., “Control Your Internet Business Risk,” 2003-2015, https://www.internetperils.com.
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.
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/hoisdo-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://ifrog.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, 16-18, Apr. 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://www.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.
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.
Woodberg, Brad, “Snippet from Juniper SRX Series” Jun. 17, 2013, 1 page, O'Reilly Media, Inc.
Zhang, Yue, et al., “CANTINA: A Content-Based Approach to Detecting Phishing Web Sites,” May 8-12, 2007, pp. 639-648.
Bosch, Greg, “Virtualization,” 2010, 33 pages.
Breen, Christopher, “MAC 911, How to dismiss Mac App Store Notifications,” Macworld.com, Mar. 24, 2014, 3 pages.
Chou, C.W., et al., “Optical Clocks and Relativity,” Science vol. 329, Sep. 24, 2010, pp. 1630-1633.
Huang, Hing-Jie, et al., “Clock Skew Based Node Identification in Wireless Sensor Networks,” IEEE, 2008, 5 pages.
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.
Witze, Alexandra, “Special relativity aces time trial, ‘Time dilation’ predicted by Einstein confirmed by lithium ion experiment,” Nature, Sep. 19, 2014, 3 pages.
Zatrochova, Zuzana, “Analysis and Testing of Distributed NoSQL Datastore Riak,” Spring, 2015, 76 pages.
Arista Networks, Inc., “Application Visibility and Network Telemtry using Splunk,” Arista White Paper, Nov. 2013, 11 pages.
Bauch, Petr, “Reader's Report of Master's Thesis, Analysis and Testing of Distributed NoSQL Datastore Riak,” May 28, 2015, Brno. 2 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.
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.
Heckman, Sarah, et al., “On Establishing a Benchmark for Evaluating Static Analysis Alert Prioritization and Classification Techniques,” IEEE, 2008; 10 pages.
Kim, Myung-Sup, et al. “A Flow-based Method for Abnormal Network Traffic Detection, ” IEEE, 2004, pp. 599-612.
Thomas, R., “Bogon Dotted Decimal List,” Version 7.0, Team Cymru NOC, Apr. 27, 2012, 5 pages.
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.
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).
Voris, Jonathan, et al., “Bait and Snitch: Defending Computer Systems with Decoys,” Columbia University Libraries, Department of Computer Science, 2013, pp. 1-25.
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.
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.
Zeng, Sai, et al., “Managing Risk in Multi-node Automation of Endpoint Management,” 2014 IEEE Network Operations and Management Symposium (NOMS), 2014, 6 pages.
Ananthanarayanan R., et al., “Photon: Fault-tolerant and Scalable Joining of Continuous Data Streams,” Proceedings of the ACM SIGMOD International Conference on Management of Data, New York, USA, Jun. 22-27, 2013, pp. 577-588.
Aniszczyk C., “Distributed Systems Tracing with Zipkin,” Twitter Blog, Jun. 7, 2012, 3 Pages, [Retrieved on Jan. 26, 2021] Retrieved from URL: https://blog.twitter.com/engineering/en_us/a/2012/distributed-systems-tracing-with-zipkin.html.
Ayers A., et al., “TraceBack: First Fault Diagnosis by Reconstruction of Distributed Control Flow,” Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation-PLDI '09, Jun. 12-15, 2005, vol. 40, No. 6, 13 pages.
Baah G.K., et al., “The Probabilistic Program Dependence Graph and Its Application to Fault Diagnosis,” IEEE Transactions on Software Engineering, IEEE Service Center, Los Alamitos, CA, US, Jul./Aug. 2010, vol. 36, No. 4, pp. 528-545, ISSN 0098-5589, XP011299543.
Choi C.H., et al., “CSMonitor: A Visual Client/Server Monitor for CORBA-based Distributed Applications,” Proceedings of 1998 Asia Pacific Software Engineering Conference, Taipei, Taiwan, Los Alamitos, CA, USA, Dec. 2-4, 1998, 8 Pages, DOI:10.1109/APSEC. 1998.733738, ISBN 978-0-8186-9183-6, XP010314829.
Cisco Systems, Inc., “CCNA2 v3.1 Module 1 WANs and Routers,” 2004 Cisco.com, [retrieved on May 14, 2018], 26 pages.
Cisco Systems, Inc., “CCNA2 v3.1 Module 2 Introduction to Routers,” 2004 Cisco.com, [retrieved on Jan. 18, 2018], 23 pages.
Citirx, “AppFlow: Next-Generation Application Performance Monitoring,” Citirx.com, 2011, pp. 1-8.
European Search Report in European Patent Application No. 23176492.9, dated Oct. 6, 2023, 5 Pages.
Extended European Search Report for European Application No. 19215055.5, mailed Jan. 17, 2020, 9 Pages.
Extended European Search Report for European Application No. 20165008.2, mailed May 25, 2020, 6 pages.
Extended European Search Report for European Application No. 21150804.9, mailed May 6, 2021, 8 Pages.
Extended European Search Report for European Application No. 21156151.9, mailed May 25, 2021, 8 pages.
Extended European Search Report for European Application No. 21190461.0, mailed Mar. 1, 2022, 10 Pages.
Github, “OpenTracing,” 10 pages, Retrieved on Feb. 9, 2021, [URL: https://github.com/opentracing/specification/blob/master/specification.md.].
Goins A., et al., “Diving Deep into Kubernetes Networking,” Rancher, Jan. 2019, 42 pages.
Grove D., et al., “Call Graph Construction in Object-Oriented Languages,” ACM Object-oriented Programming, Systems, Languages, and Applications—OOPSLA '97 Conference Proceedings, Oct. 1997, 18 pages.
Henke C., et al., “Evaluation of Header Field Entropy forHash-Based Packet Selection,” based on Search String from Google: “entropy header fields,” Obtained on: Nov. 12, 2019, Passive and Active Network Measurement—PAM, 2008, vol. 4979, pp. 82-91.
Hogg S., “Not your Father's Flow Export Protocol (Part 2), What is AppFlow and how does it Differ From Other Flow Analysis Protocols?,” Core Networking, Mar. 19, 2014, 6 pages.
Ihler A., et al., “Learning to Detect Events With Markov-Modulated Poisson Processes,” ACM Transactions on Knowledge Discovery From Data, Dec. 2007, vol. 1, No. 3, Article 13, p. 13:1 to 13:23.
International Search Report and Written Opinion for International Application No. PCT/US2016/035348, mailed Jul. 27, 2016, 8 pages.
International Search Report and Written Opinion for International Application No. PCT/US2016/035349, mailed Jul. 27, 2016, 8 pages.
International Search Report and Written Opinion for International Application No. PCT/US2016/035350, mailed Aug. 17, 2016, 13 pages.
International Search Report and Written Opinion for International Application No. PCT/US2016/035351, mailed Aug. 10, 2016, 15 pages.
Juels A., “Rfid Security and Privacy: A Research Survey,” Feb. 2006, IEEE Journal on Selected Areas in Communications, vol. 24, No. 2, pp. 381-394.
Kalyanasundaram B., et al., “Using Mobile Data Collectors to Federate Clusters of Disjoint Sensor Network Segments,” IEEE, International Conference on Communications, Department of Computer Science and Electrical Engineering, University of Maryland Baltimore County, 2013, pp. 1496-1500.
Kubernetes Blog, “Borg: The Predecessor to Kubernetes,” Apr. 23, 2015, 2 pages, Retrieved from URL: https://kubernetes.io/blog/2015/04/borg-predecessor-to-kubernetes/.
Kubernetes IO, “Kubernetes Components,” Aug. 28, 2020, 4 pages, Retrieved from URL: https://kubernetes.io/docs/concepts/overview/components/.
Kubernetes IO, “Nodes,” Jan. 12, 2021, 6 pages, Retrieved from URL: https://kubernetes.io/docs/concepts/architecture/nodes/.
Kubernetes IO, “Pods,” Jan. 12, 2021, 5 pages, Retrieved from URL: https://kubernetes.io.docs/concepts/workloads/pods/pod/.
Kubernetes IO, “What is Kubernetes?,” Oct. 22, 2020, 3 pages, Retrieved from URL: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/.
Merriam-Webster, “Definition of Database,” Merriam-Webster Dictionary, 2018, 4 Pages.
Miller N., et al., “Collecting Network Status Information for Network-Aware Applications,” International Conference on Computer Communications IEEE (INFOCOM), 2000, pp. 1-10.
Moe J., et al., “Understanding Distributed Systems Via Execution Trace Data,” Proceedings of the 9th International Workshop on Program Comprehension, Toronto, Canada, May 12-13, 2001, 8 Pages.
Notification Concerning Transmittal of Copy of International Preliminary Report on Patentability for International Application No. PCT/US2016/035348, mailed Dec. 14, 2017, 7 pages.
Notification Concerning Transmittal of Copy of International Preliminary Report on Patentability for International Application No. PCT/US2016/035349, mailed Dec. 14, 2017, 7 pages.
Notification Concerning Transmittal of International Preliminary Report on Patentability for International Application No. PCT/US2016/035350, mailed Dec. 14, 2017, 11 pages.
Notification Concerning Transmittal of International Preliminary Report on Patentability for International Application No. PCT/US2016/035351, mailed Dec. 14, 2017, 11 pages.
Opentracing IO, “The OpenTracing Semantic Specification,” 8 pages, Retrieved on Jul. 5, 2023, from URL: https://opentracing.io/docs/.
Sandholm T., et al., “MapReduce Optimization Using Regulated Dynamic Prioritization,” ACM, Jun. 15-19, 2009, pp. 299-310.
Sardella A., “Securing Service Provider Networks: Protecting Infrastructure and Managing Customer Security,” Juniper Networks, Inc., White Paper, Dec. 2006, pp. 1-19.
Senel F., et al., “Optimized Interconnection of Disjoint Wireless Sensor Network Segments Using K Mobile Data Collectors,” IEEE International Conference on Communications (ICC), Jun. 2012, pp. 497-501.
Sherri S., et al., “A Chipset Level Network Backdoor: Bypassing Host-Based Firewall & IDS,” ACM 2009, pp. 125-134.
Sigelman B.H., et al., “Dapper, A Large-Scale Distributed Systems Tracing Infrastracture,” Google Technical Report dapper-2010-1, Apr. 2010, 14 Pages, Retrieved from the Internet: URL: https://research.google/pubs/pub36356/.
Templeton S.J., et al., “Detecting Spoofed Packets,” IEEE, Proceedings of the DARPA Information Survivability Conference and Exposition (DISCEX'03), 2003, pp. 1-12.
Wang J.Y., et al., “Continuous Data Collection in Wireless Sensor Networks through PNC and Distributed Storage”, 2007 International Conference on Wireless Communications, Networking and Mobile Computing, 2007, pp. 2568-2571.
Related Publications (1)
Number Date Country
20160359698 A1 Dec 2016 US
Provisional Applications (1)
Number Date Country
62171899 Jun 2015 US