IP Library Granted Patent US 9,753,942
Granted Patent B2
US 9,753,942 · App. 14/454,674 · Granted Sep 5, 2017

Traffic statistic generation for datacenters

Inventors: Rafit Izhak-Ratzin (Los Gatos, CA); Krishna Satyasai Yeddanapudi (Pleasanton, CA); Haim Helman (Los Gatos, CA)
Assignee: Robin Systems, Inc.
G06F17/30194H04L43/026H04L43/045Y02B60/33
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,753,942
App. No.
14/454,674
Granted
Sep 5, 2017
Kind
B2
Abstract

Systems and methods are disclosed for generating traffic statistics for a datacenter. Distributed, parallel processing may be used to generate traffic statistics from data sets about traffic in a datacenter. To reduce data sets from which such statistics are derived to manageable sizes and relevant processing times for distributed, parallel processing, traffic agents may be provided at end hosts in the datacenter. The traffic agents may summarize data traffic over large numbers of packets in terms of the various sockets over which they are transmitted. Reports on the various sockets may be sent by the various flow agents that monitor them to an analytic controller. The analytic controller may aggregate, provide flow-path information for, further reduce, and/or provision the resultant data for distributed parallel processing.

Claims (51)

1. A system for generating traffic statistics for a datacenter comprising:

an end host in a datacenter, the end host comprising a memory, a processor, and a Network Interface Controller (NIC) to execute:

summarizing traffic data at a level of a portion of a traffic flow between a computing node at the end host and a second computing node in the datacenter, and

bundling the traffic data for the portion with source information for the traffic flow, and

reporting the traffic data with source information to an analytic controller; and

the analytic controller hosted by a computer in the datacenter comprising memory, a processor, and an NIC to:

aggregating traffic data with bundled source information from multiple flow agents hosted by multiple end hosts in the datacenter to obtain aggregated traffic data; and

retrieving, from a look up table, a list of links and nodes between the end host and the second computing node, the list of links and nodes between the end host and the second computing node corresponding to an enforced path between the end host and the second computing node, the list of links and nodes between the end host and the second computing node including two or more intermediate nodes;

bundling the list of links and nodes between the end host and the second computing node with the aggregated traffic data; and

provisioning the aggregated traffic data for traffic-statistic-producing parallel processing;

maintaining a counter operable to indicate when a grouping time period has expired;

combining traffic data for multiple traffic flows with a common source and destination within the grouping time period into a common tuple-traffic group, the common tuple-traffic group describable by common parameter values for the common source and destination within the source information used to transmit traffic flows belonging to the common tuple-traffic group, and combined traffic data summarizing the traffic scheduled for the common tuple-traffic group and comprising at least one of the traffic data summarizing the portion of the traffic flows and additional traffic data summarizing a second portion of a second traffic flow along the common tuple-traffic group; and

generating a pre-activity file with the combined traffic data and corresponding source information for communication to the analytic controller.

2. The system of claim 1 , wherein the processor of at least one of the analytic controller and end host is further to execute:

making formatting changes to the aggregated traffic data required for processing the data set by a data-mining application operable for performing coordinated, parallel-processing on the computing nodes in the cluster of computing nodes.

3. The system of claim 2 , wherein the cluster of computing nodes comprises a set of computing nodes within the datacenter.

4. The system of claim 2 , wherein the paths enforced on packets with common destinations and sources are enforced with respect to a logical overlay, allowing multiple different physical paths within a single path at a level of the logical overlay.

5. The system of claim 2 , wherein the processor of the analytic controller is further to execute aggregating the traffic data over a predetermined timeframe, the predetermined timeframe tuned to provide the data set:

of sufficient size to detect patterns for traffic flows in the data center; and

small enough to appropriately utilize the cluster to continuously provide relevant updates.

6. The system of claim 1 , wherein the look up table comprises a plurality of lists, each list of the plurality of lists comprising at least one edge and at least two nodes traversed by traffic with a common destination and source.

7. The system of claim 1 , the processor of the end host is further to execute:

collecting traffic data about data transmitted from multiple virtual computing instances supported by the end host; and

collating the traffic data to source information for the multiple virtual computing instances transmitting the traffic data.

8. The system of claim 1 , the processor of the end host further to execute:

providing a system call emulation in user space, emulating a kernel system call to send data on a socket buffer; and

copying data metric information and copy source information from a send call to the system call emulation at the end host to transmit data within the datacenter over the a socket at the end host;

providing data metric information and to copy source information from a send call at the end host to transmit data within the datacenter over the a socket at the end host.

9. A method for calculating statistics about traffic within a datacenter, the method comprising:

summarizing, by a flow agent at an end host in a datacenter, data transmissions across multiple packets at, at least one of, a traffic-flow level and a traffic-tuple level for packets transmitted from a common socket;

communicate the data-transmission summaries with corresponding identification information to an analytic controller;

aggregate data-transmission summaries and accompanying identification information from multiple flow agents at the analytic controller;

store aggregated, data-transmission summaries at different nodes within a cluster of computing nodes in preparation for parallel processing;

maintaining topology information for the datacenter at the analytic controller, the topology information including a plurality of enforced paths including a list of one or more edges and two or more intervening nodes enforced on packets with common destinations and sources by a connection based packet switching protocol implemented by the datacenter and to convert identification information for at least one of a traffic flow and a tuple-traffic group to a path through the datacenter, the path described by at least one edge and at least two nodes traversed; and

pre-processing the aggregated data-transmission summaries by translating, with the topology information, the accompanying identification information into paths of edges and nodes and storing the paths of edges and nodes in the data transmission summaries; and

uncover traffic statistics for the datacenter by performing data mining during parallel processing of the aggregated data-transmission summaries within the cluster of computing nodes;

wherein the method further comprises, by the flow agent:

maintaining a counter to indicate when a grouping time period has expired;

combining traffic data for multiple traffic flows with a common source and destination within the grouping time period into a common tuple-traffic group, the common tuple-traffic group describable by common parameter values for the common source and destination within the source information used to transmit traffic flows belonging to the common tuple-traffic group;

generating combined traffic data summarizing traffic scheduled for the common tuple-traffic group; and

generating a pre-activity file with the combined traffic data and corresponding source information for communication to the analytic controller.

10. The method of claim 9 , further comprising pre-processing the aggregated data-transmission summaries by removing sufficient data to accommodate parallel processing within a range of predetermined times by available computing resources in the cluster.

11. The method of claim 10 , further comprising combining multiple instances of traffic statistics, each instance of traffic statistics generated for an incremental period of time within the datacenter through parallel processing, the combined multiple instances of traffic statistics resulting in traffic statistics for the datacenter over an increased period of time while avoiding parallel processing of a larger data set corresponding the increased period of time.

12. The method of claim 9 , further comprising:

maintaining a counter at the flow agent;

referencing the counter to determine that a grouping period has elapsed;

summarizing traffic scheduled for transmission during the grouping period within a report; and

communicating the report to the analytic controller.

13. The method of claim 9 , further comprising:

adding at least one of a new traffic flow and a new tuple-traffic group to a list of at least one of traffic flows and tuple-traffic groups to be monitored when a new socket, used to define the at least one of the new traffic flow and the new tuple-traffic group, is created; and

monitoring traffic scheduled for transmission from the new socket to collect traffic data summarizing data transmitted over the new socket.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: ROBIN SYSTEMS, INC.
To: RAKUTEN SYMPHONY, INC.
Reel/Frame 068193/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2014
From: IZHAK-RATZIN, RAFIT; YEDDANAPUDI, KRISHNA SATYASAI; HELMAN, HAIM
To: ROBIN SYSTEMS, INC.
Reel/Frame 033491/0534 →
Continuity (3)
Continuation In Part 14222370 · Mar 21, 2014
Provisional Application 61876045 · Sep 10, 2013
Related Publication 20150074264A1 · Mar 12, 2015