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: 8837470
    Abstract: The present technology considers multi-stage network topologies where it is not possible to evenly stripe uplinks from a lower stage of the network topology to switching units in an upper stage of the topology. This technology proposes techniques to both improve overall throughput and to deliver uniform performance to all end hosts with uneven connectivity among the different stages while delivering uniform performance to all hosts. To achieve improved network performance in case of asymmetric connectivity, more flows may be sent to some egress ports than to others, thus weighting some ports more than others, resulting in Weighted Cost Multi Path (WCMP) flow distribution.
    Type: Grant
    Filed: January 26, 2012
    Date of Patent: September 16, 2014
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Amin Vahdat, Arjun Singh
  • Patent number: 8750144
    Abstract: Aspects of the invention provide for updating TCAMs while minimizing TCAM entry updates to add/delete ACL rules. For example, one aspect provides a method for minimizing updates in a router forwarding table, such as a TCAM, including a plurality of rules indexed by priority. This method comprises providing a proposed rule to be added to the router forwarding table, identifying a range of candidate entries in the router forwarding table for the proposed rule, determining a minimum set of rules to relocate, and creating an empty entry in the range of candidate entries based upon the minimum set of rules to relocate. The method may further comprise reallocating the minimum set of rules by, for example, shifting the minimum set of rules in sequence based on priority, and adding the proposed rule to the empty entry in the range of candidate entries.
    Type: Grant
    Filed: October 20, 2010
    Date of Patent: June 10, 2014
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji
  • Patent number: 8737269
    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: January 26, 2012
    Date of Patent: May 27, 2014
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Amin Vahdat, Arjun Singh
  • Publication number: 20140105023
    Abstract: A method includes, receiving a plurality of data flows. A respective data flow includes a respective source address and a respective destination address. The method further includes generating, without regard to priorities associated with the plurality of data flows, an ordering of the plurality of data flows; and iteratively modifying, without regard to the priorities, the ordering of the plurality of data flows by applying a randomization algorithm to the plurality of data flows, until a cost associated with path assignments for the ordering of the plurality of data flows satisfies a predetermined condition. A respective path assignment for a respective data flow specifies a respective path from a respective source address to a respective destination address. The method also includes executing the data flows based on the path assignments for the ordering of the plurality of data flows having the cost that satisfies the predetermined condition.
    Type: Application
    Filed: December 13, 2013
    Publication date: April 17, 2014
    Applicant: Google Inc.
    Inventors: Yuguang Wu, Junlan Zhou
  • Patent number: 8649384
    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: July 30, 2010
    Date of Patent: February 11, 2014
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Patent number: 8611335
    Abstract: A system and method to assign paths for data flows through a wide area network. A plurality of data flows is received, wherein a respective data flow in the plurality of data flows includes a respective source address and a respective destination address. An ordering of the plurality of data flows is generated. The ordering of the plurality of data flows are iteratively modified until a cost associated with path assignments for the ordering of the plurality of data flows satisfies a predetermined condition, wherein a respective path assignment for a respective data flow specifies a respective path from a respective source address to a respective destination address. The data flows are executed based on the path assignments for the ordering of the plurality of data flows having the cost that satisfies the predetermined condition.
    Type: Grant
    Filed: August 13, 2009
    Date of Patent: December 17, 2013
    Assignee: Google, Inc.
    Inventors: Yuguang Wu, Junlan Zhou
  • Patent number: 8549173
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for user-space resource management are described. In one aspect, a method includes receiving in a user memory space kernel resource information from a kernel executing in a kernel memory space, the kernel resource information identifying one or more kernel items in the kernel memory space that depend on kernel resources. The method further includes evaluating one or more resource management policies for one or more of the kernel items. The resource management polices are stored in the user memory space. The method further includes selecting a kernel item to be modified based on the evaluation in order to release some or all of the kernel resources, and communicating a request for modification of the selected kernel item to the kernel.
    Type: Grant
    Filed: September 29, 2009
    Date of Patent: October 1, 2013
    Assignee: Google Inc.
    Inventors: Yuguang Wu, Junlan Zhou, Zhengrong Ji
  • Patent number: 8478707
    Abstract: An initial rule set in a table, such as a packet forwarding table, including a plurality of rules each having a key, an action, and a priority, may be reduced to a reduced rule set. Such reduction may include identifying relationships among the plurality of rules in the initial rule set, reassigning priority to each rule in the initial rule set based on its action and the identified relationships, duplicating all rules from each priority into each lower priority to produce an expanded rule set, and for each priority, replacing one or more of the rules with fewer inclusive rules, thereby producing a reduced rule set. Reduction may further include determining whether to perform additional rule processing on the reduced rule set, removing any redundant rules from the reduced rule set, converting any of the rules meeting a predetermined condition into don't care rules, and for each priority, replacing one or more of the rules in the reduced rule set with fewer inclusive rules.
    Type: Grant
    Filed: November 1, 2010
    Date of Patent: July 2, 2013
    Assignee: Google Inc.
    Inventors: Joon Ong, Junlan Zhou, Arjun Singh
  • Patent number: 8432801
    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: July 31, 2009
    Date of Patent: April 30, 2013
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Patent number: 8375125
    Abstract: In general, one aspect of the subject matter described in this specification can be embodied in a method that includes receiving at a first device a first request for a physical address of a second device different from the first device, wherein the first request specifies a network address of the second device, and determining that a set of pending requests has a maximum number of requests, wherein the set of pending requests is ordered based on when the requests were received by the first device. The method can further include removing an oldest request from the pending requests and adding the first request to the pending requests, and processing a newest request in the pending requests by sending a message to the second device and receiving the physical address responsive to the message.
    Type: Grant
    Filed: January 24, 2012
    Date of Patent: February 12, 2013
    Assignee: Google Inc.
    Inventors: Yuguang Wu, Junlan Zhou
  • Patent number: 8345688
    Abstract: A method for managing flow of packets comprises inputting a plurality of flow rules of various priorities to a router having a plurality of hardware resources, the plurality of hardware resources having varying levels of capability relative to each other. A first rule, for example a rule having a lowest priority, may be selected from among the plurality of flow rules, and it may be determined whether the first rule conflicts with any lower priority rules stored in the hardware resource with a highest capability. If the first rule conflicts with a lower priority rule in the hardware resource with the highest capability, the first rule may be stored in the resource with the highest capability. If the first rule does not conflict with a lower priority rule in the hardware resource with the highest capability, the first rule may be processed to identify the hardware resource with a lowest capability that can support the first rule, and the first rule may be stored in the identified resource.
    Type: Grant
    Filed: February 23, 2010
    Date of Patent: January 1, 2013
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Patent number: 8259574
    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: May 6, 2011
    Date of Patent: September 4, 2012
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Patent number: 8255378
    Abstract: Methods and apparatus, including computer program products, implementing and using techniques for providing access for a networked device to a directory service for terrestrial broadcasts. A networked-based directory service that includes broadcasting data for one or more broadcasting stations within various geographical locations is provided. The broadcasting data includes tuning information that enables receivers to tune in one or more terrestrial broadcasts transmitted by the one or more broadcasting stations. A request is received from a networked device to obtain information about an availability of terrestrial broadcasts at a geographical location of the networked device. The directory service is queried using the geographical location as a query parameter. A response is transmitted to the networked device. The response includes tuning information that enables a receiver to automatically tune to one or more terrestrial broadcasts associated with the geographical location of the networked device.
    Type: Grant
    Filed: September 10, 2009
    Date of Patent: August 28, 2012
    Assignee: Google Inc.
    Inventors: Zhengrong Ji, Junlan Zhou, Tsuwei Chen
  • Publication number: 20120140616
    Abstract: A system for maintaining routing capabilities in a router having a failed control plane provides an active control plane in the router in communication with at least one external node, the active control plane running at least one routing process. A backup control plane may be interconnected with the active control plane, so that the active control plane may periodically transmit synchronization signals to the backup control plane. The backup control plane may update its state based on these synchronization signals. Moreover, the backup control plane may be programmed to take over the routing process of the active control plane if the active control plane fails.
    Type: Application
    Filed: February 14, 2012
    Publication date: June 7, 2012
    Applicant: GOOGLE INC.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Patent number: 8154992
    Abstract: A system for maintaining routing capabilities in a router having a failed control plane provides an active control plane in the router in communication with at least one external node, the active control plane running at least one routing process. A backup control plane may be interconnected with the active control plane, so that the active control plane may periodically transmit synchronization signals to the backup control plane. The backup control plane may update its state based on these synchronization signals. Moreover, the backup control plane may be programmed to take over the routing process of the active control plane if the active control plane fails.
    Type: Grant
    Filed: August 11, 2009
    Date of Patent: April 10, 2012
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Patent number: 8103781
    Abstract: In general, one aspect of the subject matter described in this specification can be embodied in a method that includes receiving at a first device a first request for a physical address of a second device different from the first device, wherein the first request specifies a network address of the second device, and determining that a set of pending requests has a maximum number of requests, wherein the set of pending requests is ordered based on when the requests were received by the first device. The method can further include removing an oldest request from the pending requests and adding the first request to the pending requests, and processing a newest request in the pending requests by sending a message to the second device and receiving the physical address responsive to the message.
    Type: Grant
    Filed: May 1, 2009
    Date of Patent: January 24, 2012
    Assignee: Google Inc.
    Inventors: Yuguang Wu, Junlan Zhou
  • Publication number: 20120014247
    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: Application
    Filed: September 23, 2011
    Publication date: January 19, 2012
    Applicant: GOOGLE INC.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Patent number: 8098572
    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: February 3, 2009
    Date of Patent: January 17, 2012
    Assignee: Google Inc.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Publication number: 20110299552
    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: Application
    Filed: May 6, 2011
    Publication date: December 8, 2011
    Applicant: GOOGLE INC.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu
  • Publication number: 20110205931
    Abstract: A method for managing flow of packets comprises inputting a plurality of flow rules of various priorities to a router having a plurality of hardware resources, the plurality of hardware resources having varying levels of capability relative to each other. A first rule, for example a rule having a lowest priority, may be selected from among the plurality of flow rules, and it may be determined whether the first rule conflicts with any lower priority rules stored in the hardware resource with a highest capability. If the first rule conflicts with a lower priority rule in the hardware resource with the highest capability, the first rule may be stored in the resource with the highest capability. If the first rule does not conflict with a lower priority rule in the hardware resource with the highest capability, the first rule may be processed to identify the hardware resource with a lowest capability that can support the first rule, and the first rule may be stored in the identified resource.
    Type: Application
    Filed: February 23, 2010
    Publication date: August 25, 2011
    Applicant: GOOGLE INC.
    Inventors: Junlan Zhou, Zhengrong Ji, Yuguang Wu