Patents by Inventor Nicolas G. Droux

Nicolas G. Droux 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: 10567250
    Abstract: A method for end-to-end tracing includes receiving, from a user node, a request for a tracing session, receiving an argument and a provider identifier for the tracing session, and initiating tracing on compute nodes by sending the argument to a provider identified by the provider identifier, the provider located on each of the compute nodes. The method further includes receiving event reports from the compute nodes, and combining the event reports into a tracing information for the tracing session. The method further includes sending the tracing information to the user node.
    Type: Grant
    Filed: September 21, 2016
    Date of Patent: February 18, 2020
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Jiayao Hu, Anders D. Persson
  • Patent number: 10419306
    Abstract: A system and method for determining causation of events across nodes. The invention may include receiving a first event report of a first trace. The first event report may include a first trace identifier. The method may also include assembling a first sub-graph using the first event report; receiving a suspend event report including a message identifier and the first trace identifier; receiving a resume event report including the message identifier and a second trace identifier; and receiving a second event report of the second trace, where the second event report includes the second trace identifier. Additionally, the method may include assembling a second sub-graph using the second event report; and assembling, based on matching the message identifier of the suspend event report and the resume event report, a tracing graph using the first sub-graph and the second sub-graph.
    Type: Grant
    Filed: December 29, 2015
    Date of Patent: September 17, 2019
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Mohan Iyer
  • Patent number: 9934057
    Abstract: A method for controlling a network interface controller (NIC). The method includes receiving, by a host operating system (OS) executing on a computer system, an instruction to map the NIC virtual function (VF) to a first virtual machine executing on the computer system. The method further includes allocating, according to the NIC VF, first NIC resources on a physical NIC operatively connected to the computer system, mapping the NIC VF to the first virtual machine, creating, in the host OS, a shadow virtual NIC for the first NIC resources allocated to the NIC VF, assigning the shadow virtual NIC to the first virtual machine, receiving, by the physical NIC, a first packet targeting the first virtual machine, and sending the first packet directly to the first virtual machine.
    Type: Grant
    Filed: April 21, 2014
    Date of Patent: April 3, 2018
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Eric T. Cheng, Leonid Grossman
  • Publication number: 20180083849
    Abstract: A method for end-to-end tracing includes receiving, from a user node, a request for a tracing session, receiving an argument and a provider identifier for the tracing session, and initiating tracing on compute nodes by sending the argument to a provider identified by the provider identifier, the provider located on each of the compute nodes. The method further includes receiving event reports from the compute nodes, and combining the event reports into a tracing information for the tracing session. The method further includes sending the tracing information to the user node.
    Type: Application
    Filed: September 21, 2016
    Publication date: March 22, 2018
    Inventors: Nicolas G. DROUX, Jiayao Hu, Anders D. Persson
  • Publication number: 20170187586
    Abstract: A system and method for determining causation of events across nodes. The invention may include receiving a first event report of a first trace. The first event report may include a first trace identifier. The method may also include assembling a first sub-graph using the first event report; receiving a suspend event report including a message identifier and the first trace identifier; receiving a resume event report including the message identifier and a second trace identifier; and receiving a second event report of the second trace, where the second event report includes the second trace identifier. Additionally, the method may include assembling a second sub-graph using the second event report; and assembling, based on matching the message identifier of the suspend event report and the resume event report, a tracing graph using the first sub-graph and the second sub-graph.
    Type: Application
    Filed: December 29, 2015
    Publication date: June 29, 2017
    Inventors: Nicolas G. Droux, Mohan Iyer
  • Patent number: 9544202
    Abstract: A method for handling connection requests. The method includes receiving, by an operating system (OS), a request from an application to create a connection, wherein the request comprises a connection identifier and a service-level agreement (SLA), determining that the application is authorized to create the connection, creating the connection targeting the application in response to the determination that the application is authorized to create the connection, and applying the SLA to the connection in response to the determination that the application is authorized to create the connection. The method further includes receiving incoming data targeting the connection identifier from a network, processing, by a network protocol stack on the OS, the incoming data according to the SLA to obtain processed incoming data, and providing the processed incoming data to the application. Similar processing may be done on outgoing data from the application to the network.
    Type: Grant
    Filed: August 29, 2013
    Date of Patent: January 10, 2017
    Assignee: Oracle International Corporation
    Inventors: Bhargava K. Yenduri, Nicolas G. Droux
  • Patent number: 9497088
    Abstract: In general, in one aspect, the invention relates to a method for handling connections. The method includes receiving, by an OS, a request from an application to create a connection, wherein the request comprises a connection identifier and a SLA, creating, by the OS, the connection targeting the application in response to the request, and mapping the connection identifier to the SLA. The method further includes receiving data from the application for the connection, generating, by a network protocol stack on the OS, a packet from the data by storing the connection identifier into a plurality of headers of the packet, processing, by the network protocol stack, the packet according to the SLA to obtain a processed packet, and transmitting, by the network protocol stack, the processed packet to the network.
    Type: Grant
    Filed: August 29, 2013
    Date of Patent: November 15, 2016
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Leonid Grossman, Venugopal Vaidhyanathan Iyer
  • Publication number: 20150301844
    Abstract: A method for controlling a network interface controller (NIC). The method includes receiving, by a host operating system (OS) executing on a computer system, an instruction to map the NIC virtual function (VF) to a first virtual machine executing on the computer system. The method further includes allocating, according to the NIC VF, first NIC resources on a physical NIC operatively connected to the computer system, mapping the NIC VF to the first virtual machine, creating, in the host OS, a shadow virtual NIC for the first NIC resources allocated to the NIC VF, assigning the shadow virtual NIC to the first virtual machine, receiving, by the physical NIC, a first packet targeting the first virtual machine, and sending the first packet directly to the first virtual machine.
    Type: Application
    Filed: April 21, 2014
    Publication date: October 22, 2015
    Applicant: Oracle International Corporation
    Inventors: Nicolas G. Droux, Eric T. Cheng, Leonid Grossman
  • Patent number: 9083611
    Abstract: A method for remapping VNICs associated with an aggregation layer. The method includes making a first determination that a first network interface card (NIC) has failed, where the first NIC and a second NIC are part of the aggregation group, the aggregation layer manages the aggregation group, where a first virtual NIC (VNIC) is mapped to the first NIC and a second VNIC is mapped to the second NIC, and the first NIC is connected to a first switch and the second NIC is connected to a second switch. The method further includes, based on the first determination, remapping the first VNIC to the second NIC, and after the remapping, receiving packets by the first VNIC from the second NIC.
    Type: Grant
    Filed: February 21, 2013
    Date of Patent: July 14, 2015
    Assignee: Oracle International Corporation
    Inventors: Shrikrishna Girish Khare, Nicolas G. Droux
  • Patent number: 9059965
    Abstract: A computer readable medium that includes computer readable program code embodied therein. The computer readable medium causes the computer system to receive, by a data link rule enforcer, a packet from a packet source of the packets, and obtain a data link rule applying to a data link. The data link is operatively connected to the packet source, and the data link is associated with a media access control (MAC) address. The computer readable medium further causes the computer system to determine, by the data link rule enforcer, whether the packet complies with the data link rule, and drop, by the data link rule enforcer, the packet when the packet fails to comply with the data link rule.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: June 16, 2015
    Assignee: Oracle America, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
  • Patent number: 9036464
    Abstract: A system for distributing network traffic among direct hardware access datapaths, comprising: a processor; one or more activated PNICs; a host operating system; and a virtual machine (VM). Each activated PNIC sends and receives data packets over a network. Each activated PNIC is configured with a virtual function. The VM includes a VNIC and a virtual link aggregator configured to maintain a list identifying each activated PNIC. Virtual function mappings for the VM associate the VM with virtual functions for the activated PNICs. The virtual link aggregator selects the first activated PNIC for servicing a network connection and determines a virtual function for the first activated PNIC. The VNIC for the first activated PNIC uses the virtual function to directly transfer network traffic for the network connection between the VM and the first activated PNIC.
    Type: Grant
    Filed: October 12, 2012
    Date of Patent: May 19, 2015
    Assignee: Oracle America Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi
  • Patent number: 8996756
    Abstract: In general, in one aspect, the invention relates to a method for binding input/output (I/O) objects to nodes. The method includes receiving a request to use an I/O device from a process, determining a resource to service the request, generating a first I/O object corresponding to the resource, wherein the first I/O object is unbound, and generating a proc object, wherein the proc object comprises a reference to the process requesting to use the I/O device. The method also includes sending the first I/O object and the proc object to a Non-Uniform Memory Access (NUMA) I/O Framework, determining that the process is executing on a first NUMA node, selecting the first NUMA, binding the first I/O object to the first NUMA node, and servicing the request by processing, on the first NUMA node, the resource corresponding to the first I/O object.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: March 31, 2015
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Rajagopal Kunhappan, Sherman Pun
  • Publication number: 20150063372
    Abstract: A method for handling connection requests. The method includes receiving, by an operating system (OS), a request from an application to create a connection, wherein the request comprises a connection identifier and a service-level agreement (SLA), determining that the application is authorized to create the connection, creating the connection targeting the application in response to the determination that the application is authorized to create the connection, and applying the SLA to the connection in response to the determination that the application is authorized to create the connection. The method further includes receiving incoming data targeting the connection identifier from a network, processing, by a network protocol stack on the OS, the incoming data according to the SLA to obtain processed incoming data, and providing the processed incoming data to the application. Similar processing may be done on outgoing data from the application to the network.
    Type: Application
    Filed: August 29, 2013
    Publication date: March 5, 2015
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Bhargava K. Yenduri, Nicolas G. Droux
  • Publication number: 20150067182
    Abstract: In general, in one aspect, the invention relates to a method for handling connections. The method includes receiving, by an OS, a request from an application to create a connection, wherein the request comprises a connection identifier and a SLA, creating, by the OS, the connection targeting the application in response to the request, and mapping the connection identifier to the SLA. The method further includes receiving data from the application for the connection, generating, by a network protocol stack on the OS, a packet from the data by storing the connection identifier into a plurality of headers of the packet, processing, by the network protocol stack, the packet according to the SLA to obtain a processed packet, and transmitting, by the network protocol stack, the processed packet to the network.
    Type: Application
    Filed: August 29, 2013
    Publication date: March 5, 2015
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Nicolas G. Droux, Leonid Grossman, Venugopal Vaidhyanathan Iyer
  • Patent number: 8886838
    Abstract: In general, the invention relates to a method for transferring a packet. The method includes receiving the packet by a physical network interface, determining a virtual network interface card (VNIC) using a virtual switching table, where the VNIC is located on a computer operatively connected to the network express manager (NEM) via a chassis interconnect, and the VNIC is executing on a host operating system (OS) in the computer. The method further includes transferring the packet to a receive ring (RR) associated with the VNIC, wherein the RR is located on the NEM, providing the network express manager with a receive descriptor, transferring the packet to the guest OS memory using the receive descriptor, and notifying the guest OS that the packet is in the guest OS memory.
    Type: Grant
    Filed: February 29, 2008
    Date of Patent: November 11, 2014
    Assignee: Oracle America, Inc.
    Inventors: Sunay Tripathi, Nicolas G. Droux
  • Publication number: 20140233370
    Abstract: A method for remapping VNICs associated with an aggregation layer. The method includes making a first determination that a first network interface card (NIC) has failed, where the first NIC and a second NIC are part of the aggregation group, the aggregation layer manages the aggregation group, where a first virtual NIC (VNIC) is mapped to the first NIC and a second VNIC is mapped to the second NIC, and the first NIC is connected to a first switch and the second NIC is connected to a second switch. The method further includes, based on the first determination, remapping the first VNIC to the second NIC, and after the remapping, receiving packets by the first VNIC from the second NIC.
    Type: Application
    Filed: February 21, 2013
    Publication date: August 21, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Shrikrishna Girish Khare, Nicolas G. Droux
  • Patent number: 8782657
    Abstract: A method for binding input/output (I/O) objects to nodes. The method includes binding an I/O object group to a NUMA node of a plurality of NUMA nodes on a system, obtaining an I/O object group size of the I/O object group, and determining an I/O object group target size based on an I/O object group aggregate load of the I/O object group. The method further includes comparing, by the NUMA I/O Framework, the I/O object group target size and the I/O object group aggregate load, determining, by the NUMA I/O Framework, that a difference between the I/O object group target size and the I/O object group aggregate load exceeds a threshold, and instructing, by the NUMA I/O Framework, an I/O Subsystem associated with the I/O object group to change the I/O object group size, wherein the I/O Subsystem changes, in response to the instruction, the I/O object group size.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: July 15, 2014
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Rajagopal Kunhappan
  • Patent number: 8725912
    Abstract: A method for binding input/output (I/O) objects to nodes. The method includes receiving, by an I/O Subsystem, a request to use an I/O device from a process, determining a first resource to service the request, and generating a first I/O object corresponding to the first resource. The method includes sending the first I/O object to a NUMA I/O Framework, obtaining a first I/O object effective load from the first I/O object, and obtaining a first I/O load capacity of a first NUMA node of a plurality of NUMA nodes. The method includes comparing the first I/O load capacity and the first I/O object effective load, selecting the first NUMA node based on a determination that the first I/O load capacity is greater than the first I/O object effective load, binding the first I/O object to the first NUMA node, and processing the first resource corresponding to the first I/O object.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: May 13, 2014
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Stuart J. Maybee
  • Patent number: 8726093
    Abstract: A system for maintaining direct hardware access in the event of PNIC failure. A host for the system includes: a processor; a first and a second PNIC, where the first PNIC is activated and all other PNICs are deactivated; a host operating system; a virtual machine; and a hypervisor for transferring packets between the host operating system and the virtual machine. The host operating system includes a link aggregator, multiple host VNICs, and a virtual switch associated with the VNICs. The first virtual machine includes a virtual network protocol stack and a guest VNIC. The link aggregator is configured to determine whether the first PNIC has failed. Based on a determination that the first PNIC has failed, the link aggregator is further configured to: remove a virtual function mapping between the first PNIC and the virtual machine; determine the second PNIC; deactivate the first PNIC; and activate the second PNIC.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: May 13, 2014
    Assignee: Oracle America, Inc.
    Inventors: Nicolas G. Droux, Sunay Tripathi
  • Patent number: 8725913
    Abstract: A method for binding input/output (I/O) objects to nodes includes an subsystem receiving a request to use an I/O device from a process, determining a first resource to service the request, generating a first I/O object corresponding to the first resource, wherein the first I/O object is unbound, and sending the first I/O object to a Non-Uniform Memory Access (NUMA) I/O Framework. The method further includes the NUMA I/O Framework selecting a first NUMA node of a plurality of NUMA nodes, to which to bind the first I/O object and binding the first I/O object to the first NUMA node. The method further includes servicing the request by processing, on the first NUMA node, the first resource corresponding to the first I/O object.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: May 13, 2014
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Jonathan Chew, Rajagopal Kunhappan