Patents by Inventor Junlan Zhou

Junlan Zhou 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).

  • Patent number: 9379981
    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: September 27, 2013
    Date of Patent: June 28, 2016
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Min Zhu, Amin Vahdat
  • Patent number: 9374311
    Abstract: A multi-stage network is provided, where the network includes a first stage comprising a first plurality of network switching devices, the first plurality of network devices being classified into switching groups. The network further includes a second stage comprising a second plurality of network switching devices. A linking configuration, comprising a plurality of links between the first plurality of network switching devices and the second plurality of network switching devices, couples the first stage to the second stage. Each first stage network switching device in a given switching group includes the same number of links to any given second stage network switching device as each other first stage network switching device in that group.
    Type: Grant
    Filed: June 5, 2015
    Date of Patent: June 21, 2016
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Amin Vahdat, Arjun Singh
  • Patent number: 9363162
    Abstract: Exemplary embodiments determine respective capacities of network links in a multi-stage network. Specifically, the capacities of the upstream links for a given network element are determined based on the capacities of the downstream links for that network element. According to the various embodiments, a network element determines the amount of data, i.e. traffic, which may be assigned to downstream links based on the determined capacities. A network element may not receive more traffic than the total direct downstream capacity of the network element. Thus, optimum throughput may be attained for the entire network.
    Type: Grant
    Filed: October 21, 2013
    Date of Patent: June 7, 2016
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Arjun Singh, Amin Vahdat
  • Patent number: 9363144
    Abstract: Systems and methods of configuring a datacenter network are provided. A datacenter network can have a first stage of switches and a second stage of switches. A first stage of switches each including at least one first stage switch can be defined. A second stage of switches each including at least one second stage switch can be defined. For each first stage switch group of a first set of first stage switches, a communication link can be assigned between each first stage switch and each second stage switch in a respective second stage switch group. For each first stage switch group of a second set of first stage switches, a communication link can be assigned between each first stage switch and a single second stage switch of each second stage switch group.
    Type: Grant
    Filed: March 6, 2014
    Date of Patent: June 7, 2016
    Assignee: Google Inc.
    Inventors: Peter Peresini, Junlan Zhou, Amin Vahdat
  • Publication number: 20160119696
    Abstract: Systems and methods for increasing bandwidth in a computer network are provided. A computer network can include a first lower level switch, first and second upper level switches, and first and second passive optical splitters, and a mirror. The first passive optical splitter can have a first port directly coupled to the first upper level switch, a second port directly coupled to the second upper level switch. The second passive optical splitter can have a port directly coupled to a port of the first passive optical splitter, and a port directly coupled to the first lower level switch. The mirror can be coupled to a port of the second passive optical splitter and reflect an optical signal received from the second passive optical splitter to the first upper level switch and second upper level switch through the second passive optical splitter and the first passive optical splitter.
    Type: Application
    Filed: December 31, 2015
    Publication date: April 28, 2016
    Inventors: Ryohei Urata, Hong Liu, Amin Vahdat, Christopher Lyle Johnson, Junlan Zhou, Alexander Shraer
  • Patent number: 9276771
    Abstract: Exemplary embodiments provide compression of data that will be saved to a multipath table for a given set of routing rules. Thus, the total space required in the multipath table for storing a given set of routing rules is reduced. A routing rule associated with a network switch may be represented using a building block that includes one or more entries. The one or more entries form an unordered enumeration of egress ports of the network switch. In the routing rule, the weight of an egress port is represented by the number of times the egress port appears in the building block. Compression of data may be accomplished by combining one or more of the routing rules into a same building block having one or more entries. The building block may be stored in the multipath table, hereby programming the one or more of the rules into the multipath table.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: March 1, 2016
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Ji Zhengrong
  • Patent number: 9247326
    Abstract: Systems and methods for increasing bandwidth in a computer network are provided. A computer network can include a first lower level switch having a first port and a second port. The computer network can include a second lower level switch having a first port and a second port. The computer network can include an upper level switch having respective ports directly coupled to ports of the first and second lower level switches. A third port of the upper level switch can couple to a first port of a passive optical splitter. The passive optical splitter can have second and third ports coupled to respective ports of the first and second lower level switches. The passive optical splitter can be configured to transmit signals received at its first port as output signals on both of its second and third ports.
    Type: Grant
    Filed: January 31, 2014
    Date of Patent: January 26, 2016
    Assignee: Google Inc.
    Inventors: Ryohei Urata, Hong Liu, Amin Vahdat, Christopher Lyle Johnson, Junlan Zhou, Alexander Shraer
  • Publication number: 20150372918
    Abstract: A system and method is provided for sending congestion notification messages through L3 networks. For example, a data packet is received at a first switch in a first fabric block of an L3 network, and the first switch performs source MAC tagging of the data packet. The data packet is then forwarded to a second switch in a second fabric block of the L3 network, and the source MAC tag is maintained by the second switch and any intermediate switches. The second switch determines, in response to receiving the data packet, whether it is congested, and generates a notification message if it is congested. The notification message is L2 forwarded to the first fabric block, and further forwarded from the first switch to a source of the data packet using ACL matching.
    Type: Application
    Filed: April 1, 2015
    Publication date: December 24, 2015
    Inventors: Junlan Zhou, Zhengrong Ji, Jiangbo Li
  • Patent number: 9154440
    Abstract: Aspects of the invention pertain to transmitting packet data across a computer network. The packets may be sent via one or more distinct routes from a source to a destination. Each route may employ multiple routers disposed along the network. Non-colliding routes are determined by transmitting pairs of probe packets along the routes. A first probe packet has a maximal length, and a second probe packet has a minimal length. Depending on the order of arrival of the probe packets, the system determines whether two transport layer ports at the destination device collide. If there is a collision, then the system searches for a set of non-colliding ports. Once the non-colliding ports are determined, application data may be sent as packets along the different routes to those ports.
    Type: Grant
    Filed: March 21, 2013
    Date of Patent: October 6, 2015
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Patent number: 9154457
    Abstract: Systems and methods for managing a large number of multi-stage switches in a data center are provided. In one aspect, a plurality of first stage switches in a switch cluster may be configured to function as a proxy switch for a given number of second stage switches in the switch cluster. Each of the first stage switches may thus receive, via a first set of networking links, inbound control plane management traffic destined for respective ones of the given number of second stage switches. The first stage switches may then route the control plane management traffic to the appropriate second stage switches via a second set of bidirectional links. In addition, each of the second stage switches may be further configured to route outbound data traffic originating from the second stage switches using all available uplinks in the second set of bidirectional links.
    Type: Grant
    Filed: June 28, 2012
    Date of Patent: October 6, 2015
    Assignee: Google Inc.
    Inventors: Jiangbo Li, Junlan Zhou, Joon Ong
  • Patent number: 9106546
    Abstract: A method and apparatus are provided for communicating congestions that area detected in a communications network. According to the method and apparatus, a first Ethernet frame encapsulating a first PDU is transmitted across an Ethernet network. Congestion in the network is then detected, and an indication of the congestion is inserted in a predetermined header field of the first Ethernet frame. Once the first Ethernet frame is received by an endpoint in the network, the indication of congestion is transferred into a second PDU that is associated with the first PDU. The second PDU is then encapsulated in a second Ethernet frame and transmitted towards the sender of the first PDU.
    Type: Grant
    Filed: July 26, 2012
    Date of Patent: August 11, 2015
    Assignee: Google Inc.
    Inventors: Ashish Naik, Junlan Zhou, Philip Michael Wells
  • Patent number: 9106442
    Abstract: The present invention provides network interface monitoring and management that may be employed with link aggregation technologies. Multiple network interfaces may be aggregated into a single bond and data may be transferred to and from a backbone network via this aggregated bond. A link aggregation monitor employs a heartbeat generator, sniffer and data store to keep track of health and availability of network interfaces. The heartbeat generator sends heartbeats to the network interfaces, which pass the heartbeats around in a token ring configuration. If a network interface fails or otherwise goes offline, detection of this condition causes the monitor and heartbeat generator to prepare new or modified heartbeats so that data may be efficiently and accurately routed around the token ring and health of all remaining alive interfaces can be monitored properly. If a network interface re-enters or is added to the aggregate bond, new/modified heartbeats are then employed.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: August 11, 2015
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Publication number: 20150222969
    Abstract: Systems and methods for increasing bandwidth in a computer network are provided. A computer network can include a first lower level switch having a first port and a second port. The computer network can include a second lower level switch having a first port and a second port. The computer network can include an upper level switch having respective ports directly coupled to ports of the first and second lower level switches. A third port of the upper level switch can couple to a first port of a passive optical splitter. The passive optical splitter can have second and third ports coupled to respective ports of the first and second lower level switches. The passive optical splitter can be configured to transmit signals received at its first port as output signals on both of its second and third ports.
    Type: Application
    Filed: January 31, 2014
    Publication date: August 6, 2015
    Applicant: Google Inc.
    Inventors: Ryohei Urata, Hong Liu, Amin Vahdat, Christopher Lyle Johnson, Junlan Zhou, Alexander Shraer
  • Patent number: 9083626
    Abstract: A multi-stage network is provided, where the network includes a first stage comprising a first plurality of network switching devices, the first plurality of network devices being classified into switching groups. The network further includes a second stage comprising a second plurality of network switching devices. A linking configuration, comprising a plurality of links between the first plurality of network switching devices and the second plurality of network switching devices, couples the first stage to the second stage. Each first stage network switching device in a given switching group includes the same number of links to any given second stage network switching device as each other first stage network switching device in that group.
    Type: Grant
    Filed: April 3, 2014
    Date of Patent: July 14, 2015
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Amin Vahdat, Arjun Singh
  • Patent number: 9077660
    Abstract: A router residing in a network comprises at least one ingress port, at least one egress port, and a processor programmed to compare at least two label switch paths, determine potential conflicts between the at least two label switch paths based on the ingress ports and egress ports utilized by the label switch paths, and determine a selected identifier to be assigned relative to each label switch path. The processor is configured to assign a common identifier if no conflict exists. A storage medium is operatively coupled to the processor for storing the selected identifiers related to the label switch paths. The processor may be configured to determine that a conflict exists between two label switch paths if they utilize the same ingress port on the router and different egress ports on the router.
    Type: Grant
    Filed: January 6, 2014
    Date of Patent: July 7, 2015
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Publication number: 20150180778
    Abstract: The present disclosure provides for the determination of bandwidth allocation of inter-block traffic in a data center network. It employs a number of optimization objectives and a heuristic water-filling strategy to avoid producing unnecessary paths and to avoid determining paths that would be unavailable when actually needed. Allocation may be adjusted incrementally upon node and link failure, for instance to perform only the minimal allocation changes necessary. If demand between a source and a destination cannot be satisfied, a decomposition process may be used to allocate remaining demand. One aspect constructs a graph for route computation based on inter-block topology. Here, the graph initially starts with a highest level of abstraction with each node representing a middle block, and gradually reduces the abstraction level to identify paths of mixed abstraction level to satisfy additional demand.
    Type: Application
    Filed: December 23, 2013
    Publication date: June 25, 2015
    Applicant: Google Inc.
    Inventors: Alexander Shraer, Junlan Zhou, Amin Vahdat
  • Patent number: 8990492
    Abstract: Aspects of the disclosure provide for increasing the capacity of ternary content addressable memories (TCAMs). For example, one aspect provides a method for adding rules to a TCAM, wherein the TCAM comprises multiple configurable banks. According to this method, a range of candidate banks in which the proposed rule may be stored is identified based on a priority of the proposed rule, and one of the candidate banks is selected for storing the proposed rule based on a width of the proposed rule and widths of the candidate banks. Another aspect provides a method for deleting one or more rules from a TCAM comprising multiple configurable banks. According to this method, once the rule is deleted, the bank from which it was deleted may be reduced in width, and therefore increased in capacity. For example, wider rules stored in this bank may be relocated to other banks using the method for adding rules to a TCAM.
    Type: Grant
    Filed: June 22, 2011
    Date of Patent: March 24, 2015
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji
  • Patent number: 8982700
    Abstract: The present technology considers network devices that include forwarding tables having a number of next-hop entries (e.g., egress ports) where it is possible that the egress port utilization can be load balanced using WCMP groups. In a WCMP group, its members are assigned weights representing an amount of data flow to distribute over a plurality of links for a given destination. This disclosure provides systems and methods to distribute weights assigned to members of WCMP groups while achieving a minimum target for network throughput.
    Type: Grant
    Filed: January 27, 2012
    Date of Patent: March 17, 2015
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Amin Vahdat, Arjun Singh
  • Patent number: 8942232
    Abstract: A multi-stage switching fabric provides a first tier and a second tier. The first tier may include a first plurality of switches, and the second tier may include a second plurality of switches, wherein each of the switches in the first tier are coupled to the switches in the second tier. Each of the switches in the first and second tiers may include a plurality of switching chips, wherein a given switching chip in a given switch is coupled to each other switching chip in the given switch. The fabric may further include a third tier comprising one or more core switches, wherein each switch in the second tier is coupled to at least one of the core switches.
    Type: Grant
    Filed: February 2, 2012
    Date of Patent: January 27, 2015
    Assignee: Google Inc.
    Inventors: David Fermor, Junlan Zhou
  • Patent number: 8902751
    Abstract: A system and method provides for delivering substantially uniform performance to all hosts in a network while minimizing a total number of switches required to deliver that performance. In a multi-stage network having a plurality of switches in a first tier and a plurality of switches in a second tier, additional switches may be deployed in the second tier to alleviate problems occurring as a result of uneven striping. A minimum number of second tier switches to be deployed may be determined as a function of a target level of throughput, for example, when using WCMP flow distribution.
    Type: Grant
    Filed: January 26, 2012
    Date of Patent: December 2, 2014
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Amin Vahdat, Arjun Singh