Patents by Inventor Amin Vahdat

Amin Vahdat 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: 20240113989
    Abstract: Methods, systems, and apparatus, for automatically changing a network system. A method includes receiving a set of first intents that describe a state of a first switch fabric; receiving a set of second intents that describe a state of a second switch fabric; computing a set of network operations to perform on the first switch fabric to achieve the second switch fabric, the set of operations also defining an order in which the operations are to be executed, and the set of operations determined based on the set of first intents, the set of second intents, and migration logic that defines a ruleset for selecting the operations based on the set of first intents and the second intents; and executing the set of network operations according to the order, to apply changes to elements within the first switch fabric to achieve the state of the second switch fabric.
    Type: Application
    Filed: December 12, 2023
    Publication date: April 4, 2024
    Inventors: Horia Vlad Balan, Zengbin Zhang, Amin Vahdat, Vinay Kumar Bannai, Alexander Jinhon Lin, Anvesh Komuravelli, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Joon Ong, Alvaro Martinez Echevarria
  • Patent number: 11870711
    Abstract: Methods, systems, and apparatus, for automatically changing a network system. A method includes receiving a set of first intents that describe a state of a first switch fabric; receiving a set of second intents that describe a state of a second switch fabric; computing a set of network operations to perform on the first switch fabric to achieve the second switch fabric, the set of operations also defining an order in which the operations are to be executed, and the set of operations determined based on the set of first intents, the set of second intents, and migration logic that defines a ruleset for selecting the operations based on the set of first intents and the second intents; and executing the set of network operations according to the order, to apply changes to elements within the first switch fabric to achieve the state of the second switch fabric.
    Type: Grant
    Filed: December 29, 2022
    Date of Patent: January 9, 2024
    Assignee: Google LLC
    Inventors: Horia Vlad Balan, Zengbin Zhang, Amin Vahdat, Vinay Kumar Bannai, Alexander Jinhon Lin, Anvesh Komuravelli, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Joon Ong, Alvaro Martinez Echevarria
  • Patent number: 11799577
    Abstract: A system is provided for synchronizing clocks. The system includes a plurality of devices in a network, each device having a local clock. The system is configured to synchronize the local clocks according to a primary spanning tree, where the primary spanning tree has a plurality of nodes connected through a plurality of primary links, each node of the plurality of nodes representing a respective device of the plurality of devices. The system is also configured to compute a backup spanning tree before a failure is detected in the primary spanning tree, wherein the backup spanning tree includes one or more backup links that are different from the primary links. As such, upon detection of a failure in the primary spanning tree, the system reconfigures the plurality of devices such that clock synchronization is performed according to the backup spanning tree.
    Type: Grant
    Filed: August 19, 2022
    Date of Patent: October 24, 2023
    Assignee: Google LLC
    Inventors: Yuliang Li, Gautam Kumar, Nandita Dukkipati, Hassan Wassel, Prashant Chandra, Amin Vahdat
  • Publication number: 20230185666
    Abstract: Aspects of the disclosure are directed to a low-latency, low-overhead fault tolerant remote memory framework, which packs similar-size in-memory objects into individual page-aligned spans and applies erasure coding on these spans. The framework fully utilizes efficient one-sided remote memory accesses (RMAs) to swap spans in and out using minimal network input/outputs (I/Os), with compaction techniques that reduce remote memory fragmentation. The framework can achieve lower tail latency and higher application performance compared to other fault tolerance solutions, at the cost of potentially more memory usage.
    Type: Application
    Filed: December 6, 2022
    Publication date: June 15, 2023
    Inventors: Yang Zhou, Hassan Mohamed Gamal Hassan Wassel, Minlan Yu, Henry M. Levy, David E. Culler, Amin Vahdat
  • Publication number: 20230137493
    Abstract: Methods, systems, and apparatus, for automatically changing a network system. A method includes receiving a set of first intents that describe a state of a first switch fabric; receiving a set of second intents that describe a state of a second switch fabric; computing a set of network operations to perform on the first switch fabric to achieve the second switch fabric, the set of operations also defining an order in which the operations are to be executed, and the set of operations determined based on the set of first intents, the set of second intents, and migration logic that defines a ruleset for selecting the operations based on the set of first intents and the second intents; and executing the set of network operations according to the order, to apply changes to elements within the first switch fabric to achieve the state of the second switch fabric.
    Type: Application
    Filed: December 29, 2022
    Publication date: May 4, 2023
    Inventors: Horia Vlad Balan, Zengbin Zhang, Amin Vahdat, Vinay Kumar Bannai, Alexander Jinhon Lin, Anvesh Komuravelli, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Joon Ong, Alvaro Martinez Echevarria
  • Patent number: 11575618
    Abstract: Methods, systems, and apparatus, for automatically changing a network system. A method includes receiving a set of first intents that describe a state of a first switch fabric; receiving a set of second intents that describe a state of a second switch fabric; computing a set of network operations to perform on the first switch fabric to achieve the second switch fabric, the set of operations also defining an order in which the operations are to be executed, and the set of operations determined based on the set of first intents, the set of second intents, and migration logic that defines a ruleset for selecting the operations based on the set of first intents and the second intents; and executing the set of network operations according to the order, to apply changes to elements within the first switch fabric to achieve the state of the second switch fabric.
    Type: Grant
    Filed: April 21, 2021
    Date of Patent: February 7, 2023
    Assignee: Google LLC
    Inventors: Horia Vlad Balan, Zengbin Zhang, Amin Vahdat, Vinay Kumar Bannai, Alexander Jinhon Lin, Anvesh Komuravelli, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Joon Ong, Alvaro Martinez Echevarria
  • Publication number: 20220393783
    Abstract: A system is provided for synchronizing clocks. The system includes a plurality of devices in a network, each device having a local clock. The system is configured to synchronize the local clocks according to a primary spanning tree, where the primary spanning tree has a plurality of nodes connected through a plurality of primary links, each node of the plurality of nodes representing a respective device of the plurality of devices. The system is also configured to compute a backup spanning tree before a failure is detected in the primary spanning tree, wherein the backup spanning tree includes one or more backup links that are different from the primary links. As such, upon detection of a failure in the primary spanning tree, the system reconfigures the plurality of devices such that clock synchronization is performed according to the backup spanning tree.
    Type: Application
    Filed: August 19, 2022
    Publication date: December 8, 2022
    Inventors: Yuliang Li, Gautam Kumar, Nandita Dukkipati, Hassan Wassel, Prashant Chandra, Amin Vahdat
  • Patent number: 11463187
    Abstract: A system is provided for synchronizing clocks. The system includes a plurality of devices in a network, each device having a local clock. The system is configured to synchronize the local clocks according to a primary spanning tree, where the primary spanning tree has a plurality of nodes connected through a plurality of primary links, each node of the plurality of nodes representing a respective device of the plurality of devices. The system is also configured to compute a backup spanning tree before a failure is detected in the primary spanning tree, wherein the backup spanning tree includes one or more backup links that are different from the primary links. As such, upon detection of a failure in the primary spanning tree, the system reconfigures the plurality of devices such that clock synchronization is performed according to the backup spanning tree.
    Type: Grant
    Filed: November 6, 2020
    Date of Patent: October 4, 2022
    Assignee: Google LLC
    Inventors: Yuliang Li, Gautam Kumar, Nandita Dukkipati, Hassan Wassel, Prashant Chandra, Amin Vahdat
  • Publication number: 20220239598
    Abstract: A distributed sender driven Admission Control System (ACS) is described herein, leveraging Weighted-Fair Quality of Service (QoS) queues, found in standard NICs and switches, to guarantee RPC level latency service level objectives (SLOs) by a judicious selection of QoS weights and traffic-mix across QoS queues. ACS installs cluster-wide RPC latency SLOs by mapping LS RPCs to higher weight QoS queues, and coping with overloads by adaptively apportioning LS RPCs amongst QoS queues based on measured completion times for each queue. When the network demand spikes unexpectedly to predetermined threshold percentage of provisioned capacity, ACS achieves a latency SLO that is significantly lower than the state-of-art congestion control at the 99.9th-p and admits significantly more RPCs meeting SLO target when RPC sizes are not aligned with priorities.
    Type: Application
    Filed: January 20, 2022
    Publication date: July 28, 2022
    Inventors: Gautam Kumar, Yiwen Zhang, Nandita Dukkipati, Xian Wu, Amin Vahdat
  • Publication number: 20210320736
    Abstract: A system is provided for synchronizing clocks. The system includes a plurality of devices in a network, each device having a local clock. The system is configured to synchronize the local clocks according to a primary spanning tree, where the primary spanning tree has a plurality of nodes connected through a plurality of primary links, each node of the plurality of nodes representing a respective device of the plurality of devices. The system is also configured to compute a backup spanning tree before a failure is detected in the primary spanning tree, wherein the backup spanning tree includes one or more backup links that are different from the primary links. As such, upon detection of a failure in the primary spanning tree, the system reconfigures the plurality of devices such that clock synchronization is performed according to the backup spanning tree.
    Type: Application
    Filed: November 6, 2020
    Publication date: October 14, 2021
    Inventors: Yuliang Li, Gautam Kumar, Nandita Dukkipati, Hassan Wassel, Prashant Chandra, Amin Vahdat
  • Publication number: 20210243138
    Abstract: Methods, systems, and apparatus, for automatically changing a network system. A method includes receiving a set of first intents that describe a state of a first switch fabric; receiving a set of second intents that describe a state of a second switch fabric; computing a set of network operations to perform on the first switch fabric to achieve the second switch fabric, the set of operations also defining an order in which the operations are to be executed, and the set of operations determined based on the set of first intents, the set of second intents, and migration logic that defines a ruleset for selecting the operations based on the set of first intents and the second intents; and executing the set of network operations according to the order, to apply changes to elements within the first switch fabric to achieve the state of the second switch fabric.
    Type: Application
    Filed: April 21, 2021
    Publication date: August 5, 2021
    Inventors: Horia Vlad Balan, Zengbin Zhang, Amin Vahdat, Vinay Kumar Bannai, Alexander Jinhon Lin, Anvesh Komuravelli, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Joon Ong, Alvaro Martinez Echevarria
  • 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: 11018994
    Abstract: Methods, systems, and apparatus, for automatically changing a network system. A method includes receiving a set of first intents that describe a state of a first switch fabric; receiving a set of second intents that describe a state of a second switch fabric; computing a set of network operations to perform on the first switch fabric to achieve the second switch fabric, the set of operations also defining an order in which the operations are to be executed, and the set of operations determined based on the set of first intents, the set of second intents, and migration logic that defines a ruleset for selecting the operations based on the set of first intents and the second intents; and executing the set of network operations according to the order, to apply changes to elements within the first switch fabric to achieve the state of the second switch fabric.
    Type: Grant
    Filed: February 1, 2019
    Date of Patent: May 25, 2021
    Assignee: Google LLC
    Inventors: Horia Vlad Balan, Zengbin Zhang, Amin Vahdat, Vinay Kumar Bannai, Alexander Jinhon Lin, Anvesh Komuravelli, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Joon Ong, Alvaro Martinez Echevarria
  • Patent number: 10798022
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for switch virtualization by a switch proxy controller. In an aspect, a method includes receiving, by a switch proxy controller, a first request from a first switch fabric, where the first request indicates a first identifier that identifies the first request from other requests from the first switch fabric, generating a second request that indicates a second identifier that identifies the second request from other requests sent from the switch proxy controller to a switch, providing the second request to the switch, receiving, by the switch proxy controller, a first reply that indicates the second identifier indicated in the second request, generating, based on the second identifier indicated in the first reply, a second reply that indicates the first identifier, and selecting the first switch fabric to receive the second reply based on the second identifier.
    Type: Grant
    Filed: January 22, 2019
    Date of Patent: October 6, 2020
    Assignee: Google LLC
    Inventors: Horia Vlad Balan, Amin Vahdat, Vinay Kumar Bannai, Zhehua Wu, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Lorenzo Vicisano, David Zats
  • Publication number: 20190173807
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for switch virtualization by a switch proxy controller. In an aspect, a method includes receiving, by a switch proxy controller, a first request from a first switch fabric, where the first request indicates a first identifier that identifies the first request from other requests from the first switch fabric, generating a second request that indicates a second identifier that identifies the second request from other requests sent from the switch proxy controller to a switch, providing the second request to the switch, receiving, by the switch proxy controller, a first reply that indicates the second identifier indicated in the second request, generating, based on the second identifier indicated in the first reply, a second reply that indicates the first identifier, and selecting the first switch fabric to receive the second reply based on the second identifier.
    Type: Application
    Filed: January 22, 2019
    Publication date: June 6, 2019
    Inventors: Horia Vlad Balan, Amin Vahdat, Vinay Kumar Bannai, Zhehua Wu, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Lorenzo Vicisano, David Zats
  • Publication number: 20190173805
    Abstract: Methods, systems, and apparatus, for automatically changing a network system. A method includes receiving a set of first intents that describe a state of a first switch fabric; receiving a set of second intents that describe a state of a second switch fabric; computing a set of network operations to perform on the first switch fabric to achieve the second switch fabric, the set of operations also defining an order in which the operations are to be executed, and the set of operations determined based on the set of first intents, the set of second intents, and migration logic that defines a ruleset for selecting the operations based on the set of first intents and the second intents; and executing the set of network operations according to the order, to apply changes to elements within the first switch fabric to achieve the state of the second switch fabric.
    Type: Application
    Filed: February 1, 2019
    Publication date: June 6, 2019
    Inventors: Horia Vlad Balan, Zengbin Zhang, Amin Vahdat, Vinay Kumar Bannai, Alexander Jinhon Lin, Anvesh Komuravelli, Steven Gribble, Andrew DeBock Ferguson, Muhammad Mukarram Tariq, Joon Ong, Alvaro Martinez Echevarria
  • 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: 10075335
    Abstract: In a software defined network, dataplane connectivity is established between a computing device in the network and a controller. The computing device receives a probe packet from the controller, and identifies a port of the computing device through which the probe packet was received. The computing device sets a local route for communication with the controller through the identified port. The computing device then establishes a connection with the controller through the local route. This procedure is reiterated to incrementally expand network connectivity to a plurality of network devices.
    Type: Grant
    Filed: February 7, 2017
    Date of Patent: September 11, 2018
    Assignee: Google LLC
    Inventors: Lorenzo Vicisano, James Wanderer, Steven Padgett, Amin Vahdat
  • Patent number: 9942156
    Abstract: Exemplary embodiments allocate network traffic among multiple paths in a network, which may include one or more preferred paths (e.g. shortest paths) and one or more alternative paths (e.g., non-shortest paths). In one embodiment, network traffic in form of flows may be allocated to the preferred paths until the allocation of additional network traffic would exceed a predetermined data rate. Additional flows may then be sent over the alternative paths, which may be longer than the preferred path. The paths to which each flow is assigned may be dynamically updated, and in some embodiments the path assignment for a particular flow may time out after a predetermined time. Accordingly, the flow traffic of each path may be balanced based on real-time traffic information.
    Type: Grant
    Filed: June 15, 2016
    Date of Patent: April 10, 2018
    Assignee: Google LLC
    Inventors: Junlan Zhou, Min Zhu, Amin Vahdat
  • Patent number: 9876705
    Abstract: A system and method are provided for updating a network including at least one optical circuit switch (OCS) to transition from an existing network topology to a new network topology. One or more intermediate topologies between the existing topology and the new topology are created. Creating the intermediate topologies includes selecting first links to be added to the existing topology without removing links, selecting additional links to be added to the existing topology upon removal of one or more existing links, and adding one or more of the selected first and additional links to the existing topology to create a first intermediate topology. It is determined whether any of the selected first and additional links are still to be added, and if no selected first and additional links are to be added, remaining links are removed. The transition from the existing topology to the first intermediate topology is then effected.
    Type: Grant
    Filed: December 13, 2016
    Date of Patent: January 23, 2018
    Assignee: Google LLC
    Inventors: Leon Poutievski, Amin Vahdat, Ashish Naik