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: 10567250Abstract: 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: GrantFiled: September 21, 2016Date of Patent: February 18, 2020Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Jiayao Hu, Anders D. Persson
-
Patent number: 10419306Abstract: 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: GrantFiled: December 29, 2015Date of Patent: September 17, 2019Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Mohan Iyer
-
Patent number: 9934057Abstract: 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: GrantFiled: April 21, 2014Date of Patent: April 3, 2018Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Eric T. Cheng, Leonid Grossman
-
Publication number: 20180083849Abstract: 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: ApplicationFiled: September 21, 2016Publication date: March 22, 2018Inventors: Nicolas G. DROUX, Jiayao Hu, Anders D. Persson
-
Publication number: 20170187586Abstract: 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: ApplicationFiled: December 29, 2015Publication date: June 29, 2017Inventors: Nicolas G. Droux, Mohan Iyer
-
Patent number: 9544202Abstract: 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: GrantFiled: August 29, 2013Date of Patent: January 10, 2017Assignee: Oracle International CorporationInventors: Bhargava K. Yenduri, Nicolas G. Droux
-
Patent number: 9497088Abstract: 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: GrantFiled: August 29, 2013Date of Patent: November 15, 2016Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Leonid Grossman, Venugopal Vaidhyanathan Iyer
-
Publication number: 20150301844Abstract: 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: ApplicationFiled: April 21, 2014Publication date: October 22, 2015Applicant: Oracle International CorporationInventors: Nicolas G. Droux, Eric T. Cheng, Leonid Grossman
-
Patent number: 9083611Abstract: 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: GrantFiled: February 21, 2013Date of Patent: July 14, 2015Assignee: Oracle International CorporationInventors: Shrikrishna Girish Khare, Nicolas G. Droux
-
Patent number: 9059965Abstract: 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: GrantFiled: June 30, 2009Date of Patent: June 16, 2015Assignee: Oracle America, Inc.Inventors: Nicolas G. Droux, Sunay Tripathi, Eric T. Cheng
-
Patent number: 9036464Abstract: 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: GrantFiled: October 12, 2012Date of Patent: May 19, 2015Assignee: Oracle America Inc.Inventors: Nicolas G. Droux, Sunay Tripathi
-
Patent number: 8996756Abstract: 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: GrantFiled: March 31, 2011Date of Patent: March 31, 2015Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Rajagopal Kunhappan, Sherman Pun
-
Publication number: 20150063372Abstract: 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: ApplicationFiled: August 29, 2013Publication date: March 5, 2015Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Bhargava K. Yenduri, Nicolas G. Droux
-
Publication number: 20150067182Abstract: 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: ApplicationFiled: August 29, 2013Publication date: March 5, 2015Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Nicolas G. Droux, Leonid Grossman, Venugopal Vaidhyanathan Iyer
-
Patent number: 8886838Abstract: 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: GrantFiled: February 29, 2008Date of Patent: November 11, 2014Assignee: Oracle America, Inc.Inventors: Sunay Tripathi, Nicolas G. Droux
-
Publication number: 20140233370Abstract: 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: ApplicationFiled: February 21, 2013Publication date: August 21, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Shrikrishna Girish Khare, Nicolas G. Droux
-
Patent number: 8782657Abstract: 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: GrantFiled: March 31, 2011Date of Patent: July 15, 2014Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Rajagopal Kunhappan
-
Patent number: 8725912Abstract: 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: GrantFiled: March 31, 2011Date of Patent: May 13, 2014Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Stuart J. Maybee
-
Patent number: 8726093Abstract: 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: GrantFiled: June 30, 2010Date of Patent: May 13, 2014Assignee: Oracle America, Inc.Inventors: Nicolas G. Droux, Sunay Tripathi
-
Patent number: 8725913Abstract: 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: GrantFiled: March 31, 2011Date of Patent: May 13, 2014Assignee: Oracle International CorporationInventors: Nicolas G. Droux, Jonathan Chew, Rajagopal Kunhappan