Patents by Inventor Joseph R. Mihelich

Joseph R. Mihelich 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: 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
  • Publication number: 20100098073
    Abstract: A mechanism is disclosed that enables layer two host addresses (e.g. a MAC addresses) to be shielded from a network. In one implementation, the mechanism updates each packet sent by the hosts into the network to indicate that the source layer two (L2) address for that packet is a shared L2 address instead of the actual L2 address of the sending host. By doing so, the mechanism exposes only the shared L2 address to the network, and shields the actual L2 addresses of the hosts from the network. The effect of this is that the switches in the network will need to store only the shared L2 address in their forwarding tables, not the actual L2 addresses of the hosts. By reducing the number of L2 addresses that need to be stored in the forwarding tables of the switches, the mechanism improves the scalability of the network.
    Type: Application
    Filed: October 22, 2008
    Publication date: April 22, 2010
    Inventors: Bert H. Tanaka, Joseph R. Mihelich
  • Patent number: 7702742
    Abstract: A network interface is disclosed for enabling remote programmed I/O to be carried out in a “lossy” network (one in which packets may be dropped). The network interface: (1) receives a plurality of memory transaction messages (MTM's); (2) determines that they are destined for a particular remote node; (3) determines a transaction type for each MTM; (4) composes, for each MTM, a network packet to encapsulate at least a portion of that MTM; (5) assigns a priority to each network packet based upon the transaction type of the MTM that it is encapsulating; (6) sends the network packets into a lossy network destined for the remote node; and (7) ensures that at least a subset of the network packets are received by the remote node in a proper sequence. By doing this, the network interface makes it possible to carry out remote programmed I/O, even across a lossy network.
    Type: Grant
    Filed: January 17, 2006
    Date of Patent: April 20, 2010
    Assignee: Fortinet, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20090316584
    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: Application
    Filed: June 24, 2009
    Publication date: December 24, 2009
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20090319634
    Abstract: A network interface is disclosed for enabling remote programmed I/O to be carried out in a “lossy” network (one in which packets may be dropped). The network interface: (1) receives a plurality of memory transaction messages (MTM's); (2) determines that they are destined for a particular remote node; (3) determines a transaction type for each MTM; (4) composes, for each MTM, a network packet to encapsulate at least a portion of that MTM; (5) assigns a priority to each network packet based upon the transaction type of the MTM that it is encapsulating; (6) sends the network packets into a lossy network destined for the remote node; and (7) ensures that at least a subset of the network packets are received by the remote node in a proper sequence. By doing this, the network interface makes it possible to carry out remote programmed I/O, even across a lossy network.
    Type: Application
    Filed: January 17, 2006
    Publication date: December 24, 2009
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20090303882
    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: Application
    Filed: April 3, 2007
    Publication date: December 10, 2009
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Publication number: 20090304007
    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: Application
    Filed: April 3, 2007
    Publication date: December 10, 2009
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich
  • Patent number: 7463588
    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 from a source node to a destination node. When it comes time to send a set of information from the source node to the destination node, 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 to the destination node 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: February 10, 2005
    Date of Patent: December 9, 2008
    Assignee: Woven Systems, Inc.
    Inventors: Bert H. Tanaka, Daniel J. Maltbie, Joseph R. Mihelich