Patents by Inventor Daniel J. Maltbie

Daniel J. Maltbie 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: 9825866
    Abstract: Methods and systems for selecting among multiple concurrently active paths through a network are provided. According to one embodiment, a method is performed by a network interface of a source network device within a loop-free, reverse-path-learning network. The network is divided into multiple virtual local area networks (VLANs). Network traffic destined for a destination network device and specifying an address for the destination or including information from which the address can be derived is received from the source. A set of VLANs that can be used to transport the packet from the source to the destination is determined. Each VLAN in the set of VLANs is associated with a different path through the network from the source to the destination. A particular VLAN from the set of VLANs networks is selected, thereby effectively selecting a particular path from multiple selectable paths between the source and the destination.
    Type: Grant
    Filed: December 16, 2015
    Date of Patent: November 21, 2017
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20160105366
    Abstract: Methods and systems for selecting among multiple concurrently active paths through a network are provided. According to one embodiment, a method is performed by a network interface of a source network device within a loop-free, reverse-path-learning network. The network is divided into multiple virtual local area networks (VLANs). Network traffic destined for a destination network device and specifying an address for the destination or including information from which the address can be derived is received from the source. A set of VLANs that can be used to transport the packet from the source to the destination is determined. Each VLAN in the set of VLANs is associated with a different path through the network from the source to the destination. A particular VLAN from the set of VLANs networks is selected, thereby effectively selecting a particular path from multiple selectable paths between the source and the destination.
    Type: Application
    Filed: December 16, 2015
    Publication date: April 14, 2016
    Applicant: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 9276861
    Abstract: Methods and systems for selecting among multiple concurrently active paths through a network are provided. According to one embodiment, a method is performed by a network interface of a source node within a loop-free, reverse-path-learning network. The network is divided into multiple virtual networks. A packet destined for a destination node and specifying an address for the destination or including information from which the address can be derived is received from the source. A set of virtual networks that can be used to transport the packet from the source node to the destination node is determined. Each virtual network in the set of virtual networks provides a different path through the network from the source to the destination. A particular virtual network from the set of virtual networks is selected, thereby effectively selecting a particular path from multiple selectable paths between the source and the destination.
    Type: Grant
    Filed: December 15, 2014
    Date of Patent: March 1, 2016
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20150098335
    Abstract: Methods and systems for selecting among multiple concurrently active paths through a network are provided. According to one embodiment, a method is performed by a network interface of a source node within a loop-free, reverse-path-learning network. The network is divided into multiple virtual networks. A packet destined for a destination node and specifying an address for the destination or including information from which the address can be derived is received from the source. A set of virtual networks that can be used to transport the packet from the source node to the destination node is determined. Each virtual network in the set of virtual networks provides a different path through the network from the source to the destination. A particular virtual network from the set of virtual networks is selected, thereby effectively selecting a particular path from multiple selectable paths between the source and the destination.
    Type: Application
    Filed: December 15, 2014
    Publication date: April 9, 2015
    Applicant: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8917604
    Abstract: Methods and systems for performing rate limiting are provided. According to one embodiment, information is maintained regarding a set of virtual networks into which a network has been logically divided. Each virtual network comprises a loop-free switching path, reverse path learning network and provides a path through the network between a first and second network device thereby collectively providing multiple paths between the first and second network devices. Packets are received by the first device that are associated with a flow sent by a source network device. The packets are forwarded by the first device to the second device via a particular path of the multiple paths. A congestion metric is determined for the particular path and based thereon it is determined whether a congestion threshold has been reached. Responsive to an affirmative determination, the source device is instructed to reduce the rate at which the packets are sent.
    Type: Grant
    Filed: February 25, 2014
    Date of Patent: December 23, 2014
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8873424
    Abstract: Methods and systems for performing load balancing within an Ethernet network are provided. According to one embodiment, a set of paths is maintained by a first component of multiple components coupled in communication with a network. Each path is a loop-free switching path, reverse path learning network and the first component and a second component of the multiple components are connected through each path. A packet destined for the second component is received by the first component. On a packet-by-packet basis or on a per flow basis, the first component dynamically selects a particular path of the multiple of paths by selecting a virtual network of the set of virtual networks for transporting the received packet that tends to balance traffic load across the set of virtual networks. The first component causes the received packet to be transported through the network to the second component via the particular path.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: October 28, 2014
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20140177442
    Abstract: Methods and systems for performing rate limiting are provided. According to one embodiment, information is maintained regarding a set of virtual networks into which a network has been logically divided. Each virtual network comprises a loop-free switching path, reverse path learning network and provides a path through the network between a first and second network device thereby collectively providing multiple paths between the first and second network devices. Packets are received by the first device that are associated with a flow sent by a source network device. The packets are forwarded by the first device to the second device via a particular path of the multiple paths. A congestion metric is determined for the particular path and based thereon it is determined whether a congestion threshold has been reached. Responsive to an affirmative determination, the source device is instructed to reduce the rate at which the packets are sent.
    Type: Application
    Filed: February 25, 2014
    Publication date: June 26, 2014
    Applicant: FORTINET, INC.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8660007
    Abstract: Methods and systems for performing rate limiting are provided. According to one embodiment, information is maintained regarding a set of virtual networks into which a network has been logically divided. Each virtual network comprises a loop-free switching path, reverse path learning network and provides a path through the network between a first and second component thereby collectively providing multiple paths between the first and second components. Packets are received by the first component that are associated with a flow sent by a source component. The packets are forwarded by the first component to the second component along a particular path defined by the set of virtual networks. A congestion metric is determined for the particular path and based thereon it is determined whether a congestion threshold has been reached. Responsive to an affirmative determination, the source component is instructed to limit the rate at which the packets are sent.
    Type: Grant
    Filed: February 7, 2013
    Date of Patent: February 25, 2014
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20140029429
    Abstract: Methods and systems for performing load balancing within an Ethernet network are provided. According to one embodiment, a set of paths is maintained by a first component of multiple components coupled in communication with a network. Each path is a loop-free switching path, reverse path learning network and the first component and a second component of the multiple components are connected through each path. A packet destined for the second component is received by the first component. On a packet-by-packet basis or on a per flow basis, the first component dynamically selects a particular path of the multiple of paths by selecting a virtual network of the set of virtual networks for transporting the received packet that tends to balance traffic load across the set of virtual networks. The first component causes the received packet to be transported through the network to the second component via the particular path.
    Type: Application
    Filed: October 2, 2013
    Publication date: January 30, 2014
    Applicant: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8565115
    Abstract: Methods and systems for performing load balancing within an Ethernet network are provided. According to one embodiment, a set of virtual networks, into which a network has been logically divided that can be used by a first component is maintained. Each of the virtual networks is a loop-free switching path, reverse path learning network and provides a path through the network between the first component and a second component. A packet destined for the second component is received by the first component. On a packet-by-packet basis or on a per flow basis, the first component dynamically selects a particular path by selecting a virtual network for transporting the received packet that tends to balance traffic load across the virtual networks. The first component causes the received packet to be transported through the network to the second component via the particular path.
    Type: Grant
    Filed: December 22, 2012
    Date of Patent: October 22, 2013
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8374089
    Abstract: Methods and systems for performing rate limiting are provided. According to one embodiment, multiple paths are provided between each pair of multi-path load balancing (MPLB) components within a Layer 2 network by establishing overlapping loop-free topologies in which each MPLB component is reachable by any other via each overlapping topology. A first MPLB component receives packets associated with a flow sent by a source component at a particular rate. The first MPLB component forwards the packets to a second MPLB component along a particular path in a network. A congestion metric for the particular path is determined. Based upon the congestion metric for the particular path, it is determined whether the particular path has reached a congestion threshold. In response to an affirmative determination, the source component is instructed to limit the rate at which it sends packets associated with the flow.
    Type: Grant
    Filed: July 31, 2010
    Date of Patent: February 12, 2013
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8339987
    Abstract: Methods and systems for determining a congestion metric for a path in a network are provided. According to one embodiment, multiple paths are provided between each pair of multi-path load balancing (MPLB) components within a Layer 2 network by establishing overlapping loop-free topologies in which each MPLB component is reachable by any other via each of the overlapping topologies. A first MPLB component associated with a first network device sends a latency request packet, including a first timestamp provided by a first clock associated with the first MPLB component, to a second MPLB component associated with a second network device via the path. Responsive thereto, the first MPLB component receives, from the second MPLB component, a latency response packet, including a second timestamp provided by a second clock associated with the second MPLB component. The first MPLB component derives a one-way latency value for the path based upon the timestamps.
    Type: Grant
    Filed: July 31, 2010
    Date of Patent: December 25, 2012
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8331227
    Abstract: Methods and systems for determining link failure in a network are provided. According to one embodiment, multiple paths are provided between each pair of multi-path load balancing (MPLB) components within a Layer 2 network by establishing overlapping loop-free topologies in which each MPLB component is reachable by any other via each loop-free topology. A first MPLB component sends latency requests to a second MPLB component via a particular path. Responsive thereto, the first MPLB component receives latency responses. Based on timestamp information in the latency responses, an estimated latency between the first and second MPLB components is determined. A link failure timeout period is derived based upon the estimated latency. An additional latency request is sent. If an additional latency response is not received by the first MPLB component prior to expiration of the link failure timeout period, then it is concluded that a link failure has occurred.
    Type: Grant
    Filed: July 31, 2010
    Date of Patent: December 11, 2012
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8223634
    Abstract: A mechanism is disclosed for enabling load balancing to be achieved in a network. In one implementation, load balancing is implemented on a “per flow” basis. At the time that a new flow starts, a path is selected. Packets associated with the flow are thereafter sent along that particular path. As the packets associated with the flow are forwarded along the particular path, a congestion metric is determined for the particular path as well as for a set of one or more other paths. Based at least partially upon the congestion metrics, a determination is made as to whether the flow should be moved. If so, then the flow is moved to an alternate path. By determining the congestion metrics for the multiple paths, and by moving the flow in response, it is possible to adapt to changing traffic conditions to keep the loads on the paths relatively balanced.
    Type: Grant
    Filed: April 3, 2007
    Date of Patent: July 17, 2012
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 8130644
    Abstract: A mechanism is disclosed for enabling load balancing to be achieved in a loop-free switching path, reverse path learning network, such as an Ethernet network. The network is divided into a plurality of virtual networks, with each virtual network providing a different path through the network. When it comes time to send a set of information through the network, one of the plurality of virtual networks, and hence, one of the plurality of paths, is selected. The set of information is then updated to indicate the selected virtual network, and sent into the network to be transported along the selected path. With multiple paths, and with the ability to select between the multiple paths, it is possible to balance the load imposed on the multiple paths.
    Type: Grant
    Filed: June 24, 2009
    Date of Patent: March 6, 2012
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20100309811
    Abstract: Methods and systems for determining a congestion metric for a path in a network are provided. According to one embodiment, multiple paths are provided between each pair of multi-path load balancing (MPLB) components within a Layer 2 network by establishing overlapping loop-free topologies in which each MPLB component is reachable by any other via each of the overlapping topologies. A first MPLB component associated with a first network device sends a latency request packet, including a first timestamp provided by a first clock associated with the first MPLB component, to a second MPLB component associated with a second network device via the path. Responsive thereto, the first MPLB component receives, from the second MPLB component, a latency response packet, including a second timestamp provided by a second clock associated with the second MPLB component. The first MPLB component derives a one-way latency value for the path based upon the timestamps.
    Type: Application
    Filed: July 31, 2010
    Publication date: December 9, 2010
    Applicant: FORTINET, INC.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20100296392
    Abstract: Methods and systems for determining link failure in a network are provided. According to one embodiment, multiple paths are provided between each pair of multi-path load balancing (MPLB) components within a Layer 2 network by establishing overlapping loop-free topologies in which each MPLB component is reachable by any other via each loop-free topology. A first MPLB component sends latency requests to a second MPLB component via a particular path. Responsive thereto, the first MPLB component receives latency responses. Based on timestamp information in the latency responses, an estimated latency between the first and second MPLB components is determined. A link failure timeout period is derived based upon the estimated latency. An additional latency request is sent. If an additional latency response is not received by the first MPLB component prior to expiration of the link failure timeout period, then it is concluded that a link failure has occurred.
    Type: Application
    Filed: July 31, 2010
    Publication date: November 25, 2010
    Applicant: FORTINET, INC.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20100290343
    Abstract: Methods and systems for performing rate limiting are provided. According to one embodiment, multiple paths are provided between each pair of multi-path load balancing (MPLB) components within a Layer 2 network by establishing overlapping loop-free topologies in which each MPLB component is reachable by any other via each overlapping topology. A first MPLB component receives packets associated with a flow sent by a source component at a particular rate. The first MPLB component forwards the packets to a second MPLB component along a particular path in a network. A congestion metric for the particular path is determined. Based upon the congestion metric for the particular path, it is determined whether the particular path has reached a congestion threshold. In response to an affirmative determination, the source component is instructed to limit the rate at which it sends packets associated with the flow.
    Type: Application
    Filed: July 31, 2010
    Publication date: November 18, 2010
    Applicant: FORTINET, INC.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20100205502
    Abstract: Methods and systems for enabling remote programmed I/O to be carried out across a “lossy” network are provided. According to one embodiment, a node maps a portion of a remote memory of a remote node into its physical address space. MTMs conforming to a processor bus protocol are received by a network interface of the node. The MTMs destined for the remote node are encapsulated within network packets. Each network packet is assigned a sending priority based upon a transaction type of the encapsulated MTM and based upon ordering rules associated with the processor bus protocol. The network packets are organized into groups based upon sending priority and transmitted to the remote node via a lossy network according to the sending priorities. It is ensured that a particular subset of the network packets having a particular sending priority is received by the remote node in a proper sequence.
    Type: Application
    Filed: April 19, 2010
    Publication date: August 12, 2010
    Applicant: FORTINET, INC.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 7774461
    Abstract: A mechanism is disclosed for determining a congestion metric for a path in a network. In one implementation, a congestion metric for a path includes one or more latency values and one or more latency variation values. A latency value for a path may be determined by exchanging latency packets with another component. For example, to determine the latency for a particular path, a first component may send a latency request packet to a second component via the particular path. In response, the second component may send a latency response packet back to the first component. Based upon timestamp information in the latency response packet, the latency on the particular path may be determined. From a plurality of such latencies, a latency variation may be determined. Taken individually or together, the latency value(s) and the latency variation value(s) provide an indication of how congested the particular path currently is.
    Type: Grant
    Filed: April 3, 2007
    Date of Patent: August 10, 2010
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich