Patents by Inventor Erik Nordmark

Erik Nordmark 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: 7826359
    Abstract: A computer readable medium including instructions executable by a processor to perform a method, the method including obtaining a packet by a load balancer, obtaining queued packet information for a plurality of target hosts operatively connected to the load balancer, selecting the one of the plurality of target hosts using the queued packet information, and sending the packet to the selected target host using a first communication channel between the load balancer and the selected target host.
    Type: Grant
    Filed: March 24, 2008
    Date of Patent: November 2, 2010
    Assignee: Oracle America, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark, Nicolas G. Droux
  • Patent number: 7738457
    Abstract: In general, the invention relates to a method for routing a packet. The method includes receiving the packet in a network interface card (NIC), classifying the packet, placing the packet in a receive ring of the NIC, sending the packet to a virtual NIC associated with the receive ring, sending the packet to a first container associated with the virtual NIC, and routing the packet to a packet destination using the first container.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: June 15, 2010
    Assignee: Oracle America, Inc.
    Inventors: Erik Nordmark, Sunay Tripathi, Nicolas G. Droux
  • Patent number: 7733795
    Abstract: A method for testing a network topology. The method includes obtaining the network topology, where the network topology includes a number of nodes connected by at least one link. The method further includes instantiating a number of containers corresponding to the nodes, instantiating a number of virtual network stacks, and instantiating at least one virtual switch corresponding to the at least one link. The containers are subsequently connected to the virtual network stacks using the at least one virtual switch. At least one of the virtual network stacks is then configured to send and receive packets. Finally, the network topology is tested by sending a packet through at least one of the plurality of virtual network stacks and the at least one virtual switch, wherein a result of the testing is used to validate the network topology.
    Type: Grant
    Filed: November 28, 2006
    Date of Patent: June 8, 2010
    Assignee: Oracle America, Inc.
    Inventors: Darrin P. Johnson, Erik Nordmark, Kais Belgaied
  • Publication number: 20100080225
    Abstract: The invention relates to a method for routing packets. The method includes receiving a first packet to route, obtaining a first route entry using a first IP address associated with the first packet, where the first route entry includes a first prefix, a first route nexthop generation (RNG) and a first route nexthop pointer (RNP) to a second route entry. The method further includes comparing a route generation (RG) for the second route entry with the first RNG where the RG for the second route entry and the first RNG are equal, obtaining a first neighbor cache entry (NCE) from a first NCE pointer (NP) stored in the first route entry, and routing the first packet using the ARP information in the first NCE, where a route dependency list pointer (RDLP) in the second route entry points to the first route entry.
    Type: Application
    Filed: September 30, 2008
    Publication date: April 1, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: Erik Nordmark
  • Patent number: 7689702
    Abstract: Methods and apparatus for processing a network connection are disclosed. The network connection is established by a first network protocol stack. A determination is made whether to offload the network connection from the first network protocol stack to the second network protocol stack. The network connection is then transferred from the first network protocol stack to the second network protocol stack when a determination has been made to offload the network connection from the first network protocol stack to the second network protocol stack. The network connection is handled by second network protocol stack until a determination has been made to offload the network connection back to the first network protocol stack. When an indicator is received indicating a request to transfer the network connection back to the first network protocol stack, the network connection is transferred back to the first network protocol stack.
    Type: Grant
    Filed: October 31, 2003
    Date of Patent: March 30, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark
  • Patent number: 7647436
    Abstract: A system that includes a host including at least one per-connection data structure and at least one per-processor data structure, wherein the at least one per-connection data structure is associated with a connection, and an offload engine operatively connected to the host. The engine includes offload engine connection registers and functionality to update the at least one per-connection data structures in the host, wherein the offload engine is configured to send and receive network data on the connection, wherein the host and the offload engine communicate using the at least one per-processor data structure, and wherein the offload engine communicates a status of the connection to the host using the offload engine connection registers.
    Type: Grant
    Filed: April 29, 2005
    Date of Patent: January 12, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Roland Westrelin, Erik Nordmark, Nicolas Fugier, Eric Lemoine
  • Patent number: 7643482
    Abstract: A system including a plurality of virtual network interface cards (VNICs); and a Vswitch table associated with a virtual switch, wherein each entry in the Vswitch table is associated with one of the plurality of VNICs, wherein each of the plurality of VNICs is located on the host, and wherein each of the plurality of VNICs is associated with the virtual switch. The first VNIC in the plurality of VNICs is configured to receive a packet associated with a hardware address (HA), determine, using the HA, whether one of the plurality of entries in the Vswitch table is associated with the HA, send the packet to a VNIC associated with HA if one of the plurality of entries in the Vswitch table is associated with the HA, wherein the VNIC is one of the plurality of VNICs.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: January 5, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Erik Nordmark
  • Patent number: 7634608
    Abstract: A system includes a first and a second network component, and a bridge. The bridge, which resides a Media Access Control (MAC) layer of a host, includes a bridge component, a first virtual network interface card (VNIC) and a second VNIC, wherein the first VNIC is associated with the first network component and the second VNIC is associated with the second network component. Further, the bridge component is configured to send packets received from the first network component to the second network component and to send packets received from the second network component to the first network component.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: December 15, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Kais Belgaied, Erik Nordmark
  • Patent number: 7633864
    Abstract: A method for routing a packet. The method includes receiving the packet from a first network into a network interface card (NIC), where the NIC is operatively connected to a host and the host includes a first virtual network stack and a second virtual network stack. The method further includes sending the packet to a first virtual network stack, where the first virtual network stack includes a first filter, a first network layer, and a first transport layer. In addition, the first filter, the first network layer, and the first transport layer are isolated from the second virtual network stack. If the packet is permitted through the first filter in the first virtual network stack, then the packet is sent to a first virtual NIC.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: December 15, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Darrin P. Johnson, Darren J. Reed, Erik Nordmark
  • Patent number: 7630368
    Abstract: A method for routing packets includes receiving an outbound packet issued by a first virtual machine, wherein the first virtual machine is located on a host, determining a packet destination associated with the outbound packet, querying a routing table for a routing entry corresponding to the packet destination, wherein the routing table comprises a first routing entry referencing an external host and a second routing entry referencing a second virtual machine, wherein the second virtual machine is located on the host, if the routing entry corresponding to the packet destination is the first routing entry, passing the packet to the external host, and if the routing entry corresponding to the packet destination is the second routing entry, passing the packet to the second virtual machine.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: December 8, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark, Nicolas G. Droux
  • Publication number: 20090238189
    Abstract: A system includes a physical NIC associated with the computer and including receive rings for storing network traffic addressed to the VNIC, where the receive rings include a local receive ring for storing local traffic and a forwarding receive ring for storing forwarding traffic. The physical NIC further includes a hardware classifier configured to register a local Internet Protocol (IP) address associated with the VNIC in a lookup table, receive a packet including a destination IP address, classify the packet as local traffic or forwarding traffic using the lookup table, and store the packet in the local receive ring or the forwarding receive ring based on the type. The VNIC is configured to retrieve the packet from the receive ring, and process the packet in a type-specific manner based on the receive ring where the packet was stored, where the type-specific manner is different for local traffic and forwarding traffic.
    Type: Application
    Filed: March 24, 2008
    Publication date: September 24, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark, Nicolas G. Droux
  • Publication number: 20090238072
    Abstract: A computer readable medium including instructions executable by a processor to perform a method, the method including obtaining a packet by a load balancer, obtaining queued packet information for a plurality of target hosts operatively connected to the load balancer, selecting the one of the plurality of target hosts using the queued packet information, and sending the packet to the selected target host using a first communication channel between the load balancer and the selected target host.
    Type: Application
    Filed: March 24, 2008
    Publication date: September 24, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark, Nicolas G. Droux
  • Publication number: 20090150527
    Abstract: In general in one aspect, the invention relates to a method for reconfiguring a virtual network path. The method includes populating a virtual switching table associated with virtual network interface cards (VNICs), implementing the virtual network path using the virtual switching table, where the virtual network path includes a first virtual wire between a first VNIC located in a first computer and a second VNIC located in a second computer, placing a first network packet and a second network packet in a receive buffer associated with the second VNIC, transmitting the first network packet to the second VNIC using the virtual switching table, migrating the second VNIC from the second computer to a third computer, updating the virtual switching table based on migrating the second VNIC, and transmitting the second network packet to the second VNIC in the third computer using the virtual switching table.
    Type: Application
    Filed: December 10, 2007
    Publication date: June 11, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark, Nicolas G. Droux
  • Publication number: 20090150883
    Abstract: In general, embodiments of the invention relates to a method for controlling network traffic in a chassis. The method includes assigning control of a network express manager located in the chassis to a control virtual machine selected from a number of virtual machines. The method further includes configuring the network express manager, by the control virtual machine, where the network express manager is configured to route network traffic in the chassis. The method further includes implementing a virtual network path using the network express manager, where the virtual network path includes a virtual wire between a first VNIC and a second VNIC, where the first VNIC is located in a first computer and the second VNIC is located in a second computer.
    Type: Application
    Filed: December 10, 2007
    Publication date: June 11, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark
  • Patent number: 7523179
    Abstract: Techniques, systems, and apparatus for conducting direct data placement of network message data to a final destination in a user buffer are disclosed. Generally, the invention is configured to conduct direct data copying from a NIC memory to a final destination user buffer location without any intermediate copying to a kernel buffer. The invention includes a method that involves receiving network delivered messages by a NIC of a local computer. The message is stored in the memory of the NIC. The headers are stripped from the message and processed. A ULP handler of the local computer is invoked to process the ULP header of the network message. Using information obtained from the processed ULP header, suitable memory locations in a user buffer are identified and designated for saving associated message data. The message data is then directly placed from the NIC memory to the designated memory location in the user buffer without intermediate copy steps like DMA.
    Type: Grant
    Filed: December 14, 2004
    Date of Patent: April 21, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Hsiao-Keng J. Chu, Sunay Tripathi, Erik Nordmark
  • Publication number: 20090046712
    Abstract: In a particular embodiment of the present invention, a forwarding node in an ad hoc network collects sets of node information pertaining to its neighbor nodes. An example of a type of node information is history information that indicates previous time periods during which a neighbor node has been available for communication. Other types of node information may include proximity information that indicates how far a neighbor node is from the forwarding node. In selecting a routing path, the forwarding node takes into account information collected in the sets of node information. A routing path can be selected to include a neighbor node having the highest probability to be available for communication. Additionally or alternatively, a routing path may be selected to minimize the power transmission level required for the forwarding node to forward data packets.
    Type: Application
    Filed: March 28, 2008
    Publication date: February 19, 2009
    Inventors: Erik Nordmark, Samita Chakrabarti
  • Publication number: 20090046601
    Abstract: In a particular embodiment of the present invention, a particular node in an ad hoc network is configured with a desirable number of neighbor nodes and equipped with a transmission power level hierarchy. The particular node may adjust a transmission power level to a different level in the transmission power level hierarchy, based on a number of responses received from neighbor nodes after the particular node broadcasts a request at current transmission power level. This adjustment process is repeated until the particular node acquires a desirable number of neighbor nodes.
    Type: Application
    Filed: March 12, 2008
    Publication date: February 19, 2009
    Inventors: Erik Nordmark, Samita Chakrabarti
  • Patent number: 7480291
    Abstract: In an embodiment of the present invention, a first communication packet is assigned to a first communication data structure that is unique to a first connection comprising the first communication packet. A first event list is selected from a database based on a classification of the first communication packet. The first event list identifies a first plurality of communication modules (e.g., socket layer, TCP layer, IP layer, IP security layer, firewall layer, etc.) and an ordering thereof, specific for the needs of the first connection. The first communication packet is processed through the first plurality of communication modules based upon the ordering specified in the first event list. A reference contained in the data structure marks the current packet position though the plurality of communication modules.
    Type: Grant
    Filed: October 10, 2003
    Date of Patent: January 20, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark
  • Publication number: 20080151779
    Abstract: A method for configuring a network on a host includes obtaining a first virtual network stack and a second virtual network stack on the host, configuring a first transport layer implementation on the first virtual network stack, configuring a second transport layer implementation on the second virtual network stack, receiving a packet by the host, sending a packet to the first virtual network stack, and processing the packet using the first transport layer implementation.
    Type: Application
    Filed: December 20, 2006
    Publication date: June 26, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Darrin P. Johnson, Erik Nordmark, Kais Belgaied
  • Publication number: 20080155676
    Abstract: A method for routing a packet. The method includes receiving the packet from a first network into a network interface card (NIC), where the NIC is operatively connected to a host and the host includes a first virtual network stack and a second virtual network stack. The method further includes sending the packet to a first virtual network stack, where the first virtual network stack includes a first filter, a first network layer, and a first transport layer. In addition, the first filter, the first network layer, and the first transport layer are isolated from the second virtual network stack. If the packet is permitted through the first filter in the first virtual network stack, then the packet is sent to a first virtual NIC.
    Type: Application
    Filed: December 20, 2006
    Publication date: June 26, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Darrin P. Johnson, Darren J. Reed, Erik Nordmark