Patents by Inventor Abdul Kabbani

Abdul Kabbani has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20240056361
    Abstract: This document relates to analyzing of network stack functionality that is implemented in hardware, such as on a network adapter. The disclosed implementations employ a programmable network device, such as a switch, to inject events into traffic and mirror the traffic for subsequent analysis. The events can have user-specified event parameters to test different types of network stack behavior, such as how the network adapters respond to corrupted packets, dropped packets, or explicit congestion notifications.
    Type: Application
    Filed: August 12, 2022
    Publication date: February 15, 2024
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Wei BAI, Jitendra PADHYE, Shachar RAINDEL, Zhuolong YU, Mahmoud ELHADDAD, Abdul KABBANI
  • Patent number: 11075986
    Abstract: A method for weighted data traffic routing can include receiving a data packet at data switch, where the data switch includes a plurality of egress ports. The method can also include, for each of the egress ports, generating an independent hash value based on one or more fields of the data packet and generating a weighted hash value by scaling the hash value using a scaling factor. The scaling factor can be based on at least two traffic routing weights of a plurality of respective traffic routing weights associated with the plurality of egress ports. The method can further include selecting an egress port of the plurality of egress ports based on the weighted hash value for each of the egress ports and transmitting the data packet using the selected egress port.
    Type: Grant
    Filed: December 31, 2016
    Date of Patent: July 27, 2021
    Assignee: Google LLC
    Inventors: Abdul Kabbani, Amin Vahdat
  • Patent number: 10097474
    Abstract: A system includes a plurality of rate limiters and a rate limiter management module. The rate limiter management module causes a processor to analyze and compare a plurality of flows each having at least one aggregation attribute, to aggregate a first group of the plurality of flows into a first aggregate flow based on the at least one aggregation attribute, and to assign the first aggregate flow to a rate limiter having at least one membership criterion. The first aggregate flow includes flows having the at least one aggregation attribute that satisfies the at least one membership criterion.
    Type: Grant
    Filed: May 2, 2013
    Date of Patent: October 9, 2018
    Assignee: Google LLC
    Inventors: Abdul Kabbani, Amin Vahdat
  • Patent number: 9929960
    Abstract: Aspects and implementations of the present disclosure are directed to an indirect generalized hypercube network in a computer network facility. Servers in the computer network facility participate in both an over-subscribed fat tree network hierarchy culminating in a gateway connection to external networks and in an indirect hypercube network interconnecting a plurality of servers in the fat tree. The participant servers have multiple network interface ports, including at least one port for a link to an edge layer network device of the fat tree and at least one port for a link to a peer server in the indirect hypercube network. Servers are grouped by edge layer network device to form virtual switches in the indirect hypercube network and data packets are routed between servers using routes through the virtual switches. Routes leverage properties of the hypercube topology. Participant servers function as destination points and as virtual interfaces for the virtual switches.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: March 27, 2018
    Assignee: Google LLC
    Inventors: Dennis Charles Abts, Abdul Kabbani, Robert Felderman
  • Patent number: 9716658
    Abstract: A method for weighted routing of data traffic can include generating a first hash value based on a header of a data packet and performing a lookup in a first ECMP table using the first hash value to select a secondary ECMP table from at least two secondary un-weighted ECMP tables, the first ECMP table including a weighted listing of the at least two secondary un-weighted ECMP tables. The method can also include generating a second hash value based on the header of the data packet and performing a lookup in the selected secondary ECMP table based on the second hash value to select an egress port of a plurality of egress ports of the data switch and forwarding the data packet on the selected egress port.
    Type: Grant
    Filed: November 12, 2014
    Date of Patent: July 25, 2017
    Assignee: Google Inc.
    Inventors: Subhasree Mandal, Abdul Kabbani
  • Patent number: 9705798
    Abstract: Aspects and implementations of the present disclosure are directed to an indirect generalized hypercube network in a data center. Servers in the data center participate in both an over-subscribed fat tree network hierarchy culminating in a gateway connection to external networks and in an indirect hypercube network interconnecting a plurality of servers in the fat tree. The participant servers have multiple network interface ports, including at least one port for a link to an edge layer network device of the fat tree and at least one port for a link to a peer server in the indirect hypercube network. Servers are grouped by edge layer network device to form virtual switches in the indirect hypercube network and data packets are routed between servers using routes through the virtual switches. Routes leverage properties of the hypercube topology. Participant servers function as destination points and as virtual interfaces for the virtual switches.
    Type: Grant
    Filed: January 7, 2014
    Date of Patent: July 11, 2017
    Assignee: Google Inc.
    Inventors: Dennis Charles Abts, Abdul Kabbani, Robert Felderman
  • Patent number: 9692639
    Abstract: Systems and methods of configuring a computer network are provided. A first stage having F switches and a second stage having S switches can be provided. Each switch in the first stage of switches can form M communication links with switches in the second stage of switches. Each switch in the second stage can form N communication links with switches in the first stage of switches. Communication links between respective switch pairs can be assigned. Each switch pair can include one witch in the first stage of switches and one switch in the second stage of switches. The number of communication links assigned to at least one switch pair can differ from the number of communication links assigned to at least a second switch pair.
    Type: Grant
    Filed: July 1, 2013
    Date of Patent: June 27, 2017
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Amin Vahdat
  • Publication number: 20170149877
    Abstract: A method for weighted data traffic routing can include receiving a data packet at data switch, where the data switch includes a plurality of egress ports. The method can also include, for each of the egress ports, generating an independent hash value based on one or more fields of the data packet and generating a weighted hash value by scaling the hash value using a scaling factor. The scaling factor can be based on at least two traffic routing weights of a plurality of respective traffic routing weights associated with the plurality of egress ports. The method can further include selecting an egress port of the plurality of egress ports based on the weighted hash value for each of the egress ports and transmitting the data packet using the selected egress port.
    Type: Application
    Filed: December 31, 2016
    Publication date: May 25, 2017
    Inventors: Abdul Kabbani, Amin Vahdat
  • Patent number: 9608913
    Abstract: A method for weighted data traffic routing can include generating an integer hash value based on a header of a data packet and encoding the integer hash value to generate a search key for a content addressable memory included in the data switch. The method can also include performing a lookup in the content addressable memory to match the search key with one of a plurality of prefixes stored in the content addressable memory, the plurality of prefixes including an encoded set of routing weights associated with a plurality of egress ports of the data switch. The method can further include forwarding the data packet on an egress port of the plurality of egress ports associated with the one of the plurality of prefixes in the content addressable memory.
    Type: Grant
    Filed: March 24, 2014
    Date of Patent: March 28, 2017
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Jahangir Hasan, Amin Vahdat
  • Patent number: 9571400
    Abstract: A method for weighted routing of data traffic can include generating a first hash value based on a header of a data packet and performing a lookup in a first equal cost multi-path (ECMP) table using the first hash value to select a secondary ECMP table. The first ECMP table can include a weighted listing of at least two secondary ECMP tables. The method can further include generating a second hash value based on the header of the data packet and performing a lookup in the selected secondary ECMP table based on the second hash value to select an egress port of a plurality of egress ports of the data switch. The method can further include forwarding the data packet on the selected egress port.
    Type: Grant
    Filed: March 18, 2014
    Date of Patent: February 14, 2017
    Assignee: Google Inc.
    Inventors: Subhasree Mandal, Abdul Kabbani
  • Patent number: 9565114
    Abstract: A method for weighted data traffic routing can include receiving a data packet at data switch, where the data switch includes a plurality of egress ports. The method can also include, for each of the egress ports, generating an independent hash value based on one or more fields of the data packet and generating a weighted hash value by scaling the hash value using a scaling factor. The scaling factor can be based on at least two traffic routing weights of a plurality of respective traffic routing weights associated with the plurality of egress ports. The method can further include selecting an egress port of the plurality of egress ports based on the weighted hash value for each of the egress ports and transmitting the data packet using the selected egress port.
    Type: Grant
    Filed: March 18, 2014
    Date of Patent: February 7, 2017
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Amin Vahdat
  • Patent number: 9473408
    Abstract: A technique includes transmitting traffic to a destination via at least a first path of a plurality of paths to the destination, each path including one or more path segments, a plurality of ports being associated with each path segment, receiving port congestion information for each of the ports, determining whether each of the plurality of path segments is congested based on the port congestion information, making a first determination that the first path is congested and that one or more second paths are not congested, each of the paths is determined to be congested if one or more path segments of the path is congested, and re-routing at least some traffic directed to the destination from the congested first path to one or more of the uncongested second paths in response to the first determination.
    Type: Grant
    Filed: January 14, 2014
    Date of Patent: October 18, 2016
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Arjun Singh
  • Patent number: 9455870
    Abstract: Systems and methods of configuring a computer network are provided. N network nodes can each form M communication links with other network nodes. A number of communication links equal to the largest integer not greater than the quotient of M divided by (N?1) can be assigned between each pair of network nodes. The remaining communication links can be assigned such that a graph represented by the network nodes and communication links is substantially geometrically symmetric.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: September 27, 2016
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Amin Vahdat
  • Patent number: 9419887
    Abstract: Systems and methods for managing computer network activity are disclosed. A data flow to be transmitted between a source node and a destination node can be identified. An initial graph representing the computer network can be determined. A shortest path between the source node and the destination node can be identified based on the graph. Bandwidth can be allocated to communication links along the shortest path between the source node and the destination node. It can be determined whether a bandwidth requirement associated with the data flow is satisfied by the allocated bandwidth. A residual graph can be determined. The steps of identifying a shortest path between the source node and the destination node based on the residual graph and allocating bandwidth to communication links along the shortest path between the source node and the destination node can be repeated.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: August 16, 2016
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Amin Vahdat
  • Patent number: 9363584
    Abstract: A non-transitory computer-readable storage medium may include instructions stored thereon that. When executed by at least one processor, the instructions may be configured to cause a computing system to at least determine which links connecting old super blocks to old spine blocks via a plurality of Optical Circuit Switches (OCSs) in a network to disconnect to accommodate at least one new super block and at least one new spine block being added to a switching network, the determining including determining a maximum of m links per OCS to disconnect, connect the old super blocks to the at least one new spine block via the OCSs associated with the links to be disconnected, and connect the at least one new super block to the old spine blocks via the OCSs associated with the links to be disconnected.
    Type: Grant
    Filed: March 18, 2014
    Date of Patent: June 7, 2016
    Assignee: Google Inc.
    Inventor: Abdul Kabbani
  • Patent number: 9313147
    Abstract: A non-transitory computer-readable storage medium may include instructions stored thereon that, when executed by at least one processor, are configured to cause a computing system to at least cut a surplus link at a first switch between an old super block and an old spine block, add a first new link between the old super block and a new spine block, add a second new link between the old spine block and a new super block, continue to cut surplus links and add new links until determining that adding a new link at the first switch would result in an excess of links, and swap a link from the first switch with a link from a second switch.
    Type: Grant
    Filed: January 27, 2014
    Date of Patent: April 12, 2016
    Assignee: Google Inc.
    Inventor: Abdul Kabbani
  • Patent number: 9307013
    Abstract: The present disclosure describes a system and method for reducing total batch completion time using a max-min fairness process. In some implementations, the max-min fairness process described herein reduces the batch completion time by collectively routing the batches in a way that targets providing the same effective path capacity across all requests. More particularly, given a network shared by batches of flows, total throughput is increased with max-min fairness (and therefore batch completion time decreased) if the nth percentile fastest flow of a batch cannot increase its throughput without decreasing the nth percentile fastest flow of another batch whose throughput is not greater than the throughput of the first batch.
    Type: Grant
    Filed: May 30, 2013
    Date of Patent: April 5, 2016
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Amin Vahdat
  • Patent number: 9288146
    Abstract: The present disclosure describes a system and method for reducing total batch completion time using a per-destination max-min fairness scheme. In a distributed computer system, worker nodes often simultaneously return responses to a server node. In some distributed computer systems, multiple batches can traverse a network at any one given time. The nodes of the network are often unaware of the batches other nodes are sending through the network. Accordingly, in some implementations, the different batches encounter different effective path capacities as nodes send flows through links that are or become bottlenecked. The per-destination max-min fairness scheme described herein reduces the total batch completion time by collectively routing the batches in a way that targets providing substantially uniform transmission times without under underutilizing the network.
    Type: Grant
    Filed: May 28, 2013
    Date of Patent: March 15, 2016
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Amin Vahdat
  • Patent number: 9262372
    Abstract: Systems and methods of configuring a computer network are provided. The network can include a first stage of M nodes and a second stage of N nodes. Each node in the first stage can form F communication links with nodes in the second stage and each node in the second stage can form S communication links with nodes in the first stage. Nodes in the first stage are connected to each other only through communication links connecting nodes in the first stage to nodes in the second stage. Communication links between the nodes can be assigned such that the minimum value of the throughput between any pair of nodes in the first stage is maximized.
    Type: Grant
    Filed: June 13, 2013
    Date of Patent: February 16, 2016
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Robert Felderman
  • Patent number: 9246760
    Abstract: Systems and methods for reassigning and implementing communication links in a network are described herein. The systems and methods described herein, reduce the amount of throughput loss that results when a network is expanded. The systems and methods generate distributions for the communication links that, when implemented, reduce the number of broken paths that occur in the expanding network. More practically, the systems and methods provide a heuristic for remapping communication links from a first link distribution to a second link distribution.
    Type: Grant
    Filed: May 29, 2013
    Date of Patent: January 26, 2016
    Assignee: Google Inc.
    Inventors: Abdul Kabbani, Amin Vahdat