Patents by Inventor Ross W. Callon

Ross W. Callon 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: 11924044
    Abstract: In general, techniques are described for organizing execution of distributed operating systems for network devices. A device comprising hardware computing nodes may be configured to perform the techniques. The hardware computing nodes may execute a protocol by which to discover a topology of the plurality of hardware computing nodes, and determine, based on the topology, a subset of the plurality of hardware computing nodes to manage execution of a distributed operating system. The determined subset of the plurality of hardware computing nodes may execute a communication bus by which to synchronize operating system state information between the subset of the plurality of hardware computing nodes. The hardware computing nodes may further execute, based on the operating system state information, the distributed operating system to provide an execution environment in which one or more applications execute.
    Type: Grant
    Filed: March 24, 2022
    Date of Patent: March 5, 2024
    Assignee: Juniper Networks, Inc.
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Publication number: 20220217053
    Abstract: In general, techniques are described for organizing execution of distributed operating systems for network devices. A device comprising hardware computing nodes may be configured to perform the techniques. The hardware computing nodes may execute a protocol by which to discover a topology of the plurality of hardware computing nodes, and determine, based on the topology, a subset of the plurality of hardware computing nodes to manage execution of a distributed operating system. The determined subset of the plurality of hardware computing nodes may execute a communication bus by which to synchronize operating system state information between the subset of the plurality of hardware computing nodes. The hardware computing nodes may further execute, based on the operating system state information, the distributed operating system to provide an execution environment in which one or more applications execute.
    Type: Application
    Filed: March 24, 2022
    Publication date: July 7, 2022
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Patent number: 11316775
    Abstract: In general, techniques are described for maintaining coherency in distributed operating systems for network devices. A network device comprising hardware computing nodes may be configured to perform the techniques. The hardware computing nodes may execute a distributed operating system. At least one the hardware computing nodes may determine whether one or more of the plurality of hardware computing nodes has failed and is no longer supporting execution of the distributed operating system, and determine whether remaining ones of the plurality of hardware computing nodes exceeds a quorum threshold. The at least one of the hardware computing nodes may further restart, when the remaining ones of the plurality of hardware computing nodes is less than the quorum threshold, the distributed operating system.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: April 26, 2022
    Assignee: Juniper Networks, Inc.
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Patent number: 11316744
    Abstract: In general, techniques are described for organizing execution of distributed operating systems for network devices. A device comprising hardware computing nodes may be configured to perform the techniques. The hardware computing nodes may execute a protocol by which to discover a topology of the plurality of hardware computing nodes, and determine, based on the topology, a subset of the plurality of hardware computing nodes to manage execution of a distributed operating system. The determined subset of the plurality of hardware computing nodes may execute a communication bus by which to synchronize operating system state information between the subset of the plurality of hardware computing nodes. The hardware computing nodes may further execute, based on the operating system state information, the distributed operating system to provide an execution environment in which one or more applications execute.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: April 26, 2022
    Assignee: Juniper Networks, Inc.
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Patent number: 11265216
    Abstract: In general, techniques are described for communicating state information in distribute operating system. A network device comprises a first hardware node and a second hardware node. The first hardware node may execute a first instance of a distributed operating system, and maintain a first data structure that stores a plurality of objects defining a portion of state information. The second hardware node may execute a second instance of the distributed operating system, and maintain a second data structure that stores synchronized versions of the plurality of objects. The first hardware node may further receive updated state information, update the first data structure to include the updated state information, and synchronize the updated first data structure with the second data structure. The second hardware node may synchronize the second data structure with the updated first data structure.
    Type: Grant
    Filed: December 28, 2020
    Date of Patent: March 1, 2022
    Assignee: Juniper Networks, Inc.
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Publication number: 20210119872
    Abstract: In general, techniques are described for communicating state information in distribute operating system. A network device comprises a first hardware node and a second hardware node. The first hardware node may execute a first instance of a distributed operating system, and maintain a first data structure that stores a plurality of objects defining a portion of state information. The second hardware node may execute a second instance of the distributed operating system, and maintain a second data structure that stores synchronized versions of the plurality of objects. The first hardware node may further receive updated state information, update the first data structure to include the updated state information, and synchronize the updated first data structure with the second data structure. The second hardware node may synchronize the second data structure with the updated first data structure.
    Type: Application
    Filed: December 28, 2020
    Publication date: April 22, 2021
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Patent number: 10887173
    Abstract: In general, techniques are described for communicating state information in distribute operating system. A network device comprises a first hardware node and a second hardware node. The first hardware node may execute a first instance of a distributed operating system, and maintain a first data structure that stores a plurality of objects defining a portion of state information. The second hardware node may execute a second instance of the distributed operating system, and maintain a second data structure that stores synchronized versions of the plurality of objects. The first hardware node may further receive updated state information, update the first data structure to include the updated state information, and synchronize the updated first data structure with the second data structure. The second hardware node may synchronize the second data structure with the updated first data structure.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: January 5, 2021
    Assignee: Juniper Networks, Inc.
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Patent number: 10193807
    Abstract: In general, techniques are described for dynamically controlling host-bound traffic by dynamically adding and updating, within the forwarding plane of a network device, network packet policers that each constrains, for one or more packet flows, an amount of host-bound traffic of the packet flows permitted to reach the control plane in accordance with available resources. In one example, a control plane of the network device detects internal congestion in the communication path from the forwarding plane to control plane (the “host-bound path”), identifies packet flows utilizing an excessive amount of host-bound path resources, computes limits for the identified packet flows, and adds “penalty-box policers” configured with the computed limits for the identified packet flows to the forwarding plane. The forwarding plane subsequently applies the policers to the identified packet flows to constrain the amount of traffic of the packet flows allowed to reach the control plane to the computed limits.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: January 29, 2019
    Assignee: Juniper Networks, Inc.
    Inventors: Alia Atlas, John Galen Scudder, Ross W. Callon, Stu Grossman, Qi-Zhong Cao, Jeffrey Haas
  • Publication number: 20180176093
    Abstract: In general, techniques are described for organizing execution of distributed operating systems for network devices. A device comprising hardware computing nodes may be configured to perform the techniques. The hardware computing nodes may execute a protocol by which to discover a topology of the plurality of hardware computing nodes, and determine, based on the topology, a subset of the plurality of hardware computing nodes to manage execution of a distributed operating system. The determined subset of the plurality of hardware computing nodes may execute a communication bus by which to synchronize operating system state information between the subset of the plurality of hardware computing nodes. The hardware computing nodes may further execute, based on the operating system state information, the distributed operating system to provide an execution environment in which one or more applications execute.
    Type: Application
    Filed: June 29, 2017
    Publication date: June 21, 2018
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Publication number: 20180176120
    Abstract: In general, techniques are described for maintaining coherency in distributed operating systems for network devices. A network device comprising hardware computing nodes may be configured to perform the techniques. The hardware computing nodes may execute a distributed operating system. At least one the hardware computing nodes may determine whether one or more of the plurality of hardware computing nodes has failed and is no longer supporting execution of the distributed operating system, and determine whether remaining ones of the plurality of hardware computing nodes exceeds a quorum threshold. The at least one of the hardware computing nodes may further restart, when the remaining ones of the plurality of hardware computing nodes is less than the quorum threshold, the distributed operating system.
    Type: Application
    Filed: June 29, 2017
    Publication date: June 21, 2018
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Publication number: 20180176082
    Abstract: In general, techniques are described for communicating state information in distribute operating system. A network device comprises a first hardware node and a second hardware node. The first hardware node may execute a first instance of a distributed operating system, and maintain a first data structure that stores a plurality of objects defining a portion of state information. The second hardware node may execute a second instance of the distributed operating system, and maintain a second data structure that stores synchronized versions of the plurality of objects. The first hardware node may further receive updated state information, update the first data structure to include the updated state information, and synchronize the updated first data structure with the second data structure. The second hardware node may synchronize the second data structure with the updated first data structure.
    Type: Application
    Filed: June 29, 2017
    Publication date: June 21, 2018
    Inventors: David M. Katz, Ross W. Callon, Scott Mackie, Dennis C. Ferguson
  • Patent number: 9838306
    Abstract: Techniques are described for establishing a second label switched path (LSP) instance of an LSP having a first LSP instance. In one example, for each downstream router designated for the second LSP instance of the LSP, the router determines whether the router is part of the first instance of the LSP and, if so, whether the first and second LSP instances for that downstream router share a common link to a nexthop router. If the first and second LSP instances share a common link to a nexthop router, the downstream router transmits a first message to the nexthop router, wherein the first message includes a suggested label. The downstream router receives, from the nexthop router, a second message, wherein the second message includes the suggested label. In another example, a label reuse indicator flag in a message from the ingress router causes routers on the second LSP instance to reuse the label of the first LSP instance when the same link is used to the upstream router for both LSP instances.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: December 5, 2017
    Assignee: Juniper Networks, Inc.
    Inventors: Yimin Shen, Raveendra Torvi, Ross W. Callon
  • Patent number: 9485118
    Abstract: In general, techniques are described for dynamically controlling host-bound traffic by dynamically adding and updating, within the forwarding plane of a network device, network packet policers that each constrains, for one or more packet flows, an amount of host-bound traffic of the packet flows permitted to reach the control plane in accordance with available resources. In one example, a control plane of the network device detects internal congestion in the communication path from the forwarding plane to control plane (the “host-bound path”), identifies packet flows utilizing an excessive amount of host-bound path resources, computes limits for the identified packet flows, and adds “penalty-box policers” configured with the computed limits for the identified packet flows to the forwarding plane. The forwarding plane subsequently applies the policers to the identified packet flows to constrain the amount of traffic of the packet flows allowed to reach the control plane to the computed limits.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: November 1, 2016
    Assignee: Juniper Networks, Inc.
    Inventors: Alia Atlas, John Galen Scudder, Ross W. Callon, Stu Grossman, Qi-Zhong Cao, Jeffrey Haas
  • Publication number: 20160294683
    Abstract: Techniques are described for establishing a second label switched path (LSP) instance of an LSP having a first LSP instance. In one example, for each downstream router designated for the second LSP instance of the LSP, the router determines whether the router is part of the first instance of the LSP and, if so, whether the first and second LSP instances for that downstream router share a common link to a nexthop router. If the first and second LSP instances share a common link to a nexthop router, the downstream router transmits a first message to the nexthop router, wherein the first message includes a suggested label. The downstream router receives, from the nexthop router, a second message, wherein the second message includes the suggested label. In another example, a label reuse indicator flag in a message from the ingress router causes routers on the second LSP instance to reuse the label of the first LSP instance when the same link is used to the upstream router for both LSP instances.
    Type: Application
    Filed: March 31, 2015
    Publication date: October 6, 2016
    Inventors: Yimin Shen, Raveendra Torvi, Ross W. Callon
  • Patent number: 9258323
    Abstract: A firewall coordinates with devices in a network to create a distributed filtering system. The firewall detects an attack in the network, such as a distributed denial of service attack, and creates attack information defining characteristics of malicious packets used in the attack. The attack information is forwarded to the devices in the network. The devices use the attack information to configure themselves to detect packets having the characteristics of the malicious packets. After configuration, the devices detect and discard malicious packets.
    Type: Grant
    Filed: July 8, 2013
    Date of Patent: February 9, 2016
    Assignee: Juniper Networks, Inc.
    Inventor: Ross W Callon
  • Patent number: 9178797
    Abstract: In general, techniques are described for selectively invoking graceful restart procedures when a route reflector member of a redundant route cluster fails. In one example, a method is provided that includes determining, by a provider edge router that supports graceful restart procedures, that a first router forms a redundant group with at least a second router. The method also includes detecting a failure of the first router and determining that at least the second router in the redundant group is operating approximately while the first router is failed. The method further includes overriding graceful restart procedures with respect to the failed first router when at least the second router is operating. The method also includes forwarding one or more data packets according to route information provided via the second router.
    Type: Grant
    Filed: June 30, 2012
    Date of Patent: November 3, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: John Galen Scudder, Ross W. Callon
  • Patent number: 9071541
    Abstract: Routers balance network traffic among multiple paths through a network according to an amount of bandwidth that can be sent on an outgoing interface computed for each of the paths. For example, a router receives a link bandwidth for network links that are positioned between the first router and a second router of the network, and selects a plurality of forwarding paths from the first router to the second router. Upon determining that one of the network links is shared by multiple of the plurality of forwarding paths, the router computes a path bandwidth for each of the plurality of forwarding paths so as to account for splitting of link bandwidth of the shared network link across the multiple forwarding paths that share the network link. The router assigns packet flows to the forwarding paths based at least on the computed amount of bandwidth for each of the forwarding paths.
    Type: Grant
    Filed: June 28, 2012
    Date of Patent: June 30, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Alia Karin Atlas, John E. Drake, David Ward, Ross W. Callon
  • Publication number: 20140003227
    Abstract: In general, techniques are described for selectively invoking graceful restart procedures when a route reflector member of a redundant route cluster fails. In one example, a method is provided that includes determining, by a provider edge router that supports graceful restart procedures, that a first router forms a redundant group with at least a second router. The method also includes detecting a failure of the first router and determining that at least the second router in the redundant group is operating approximately while the first router is failed. The method further includes overriding graceful restart procedures with respect to the failed first router when at least the second router is operating. The method also includes forwarding one or more data packets according to route information provided via the second router.
    Type: Application
    Filed: June 30, 2012
    Publication date: January 2, 2014
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: John Galen Scudder, Ross W. Callon
  • Publication number: 20130286846
    Abstract: Routers balance network traffic among multiple paths through a network according to an amount of bandwidth that can be sent on an outgoing interface computed for each of the paths. For example, a router receives a link bandwidth for network links that are positioned between the first router and a second router of the network, and selects a plurality of forwarding paths from the first router to the second router. Upon determining that one of the network links is shared by multiple of the plurality of forwarding paths, the router computes a path bandwidth for each of the plurality of forwarding paths so as to account for splitting of link bandwidth of the shared network link across the multiple forwarding paths that share the network link. The router assigns packet flows to the forwarding paths based at least on the computed amount of bandwidth for each of the forwarding paths.
    Type: Application
    Filed: June 28, 2012
    Publication date: October 31, 2013
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: Alia Karin Atlas, John E. Drake, David Ward, Ross W. Callon
  • Patent number: 8484372
    Abstract: A firewall coordinates with devices in a network to create a distributed filtering system. The firewall detects an attack in the network, such as a distributed denial of service attack, and creates attack information defining characteristics of malicious packets used in the attack. The attack information is forwarded to the devices in the network. The devices use the attack information to configure themselves to detect packets having the characteristics of the malicious packets. After configuration, the devices detect and discard malicious packets.
    Type: Grant
    Filed: November 25, 2008
    Date of Patent: July 9, 2013
    Assignee: Juniper Networks, Inc.
    Inventor: Ross W Callon