Patents by Inventor Francesco DiMambro
Francesco DiMambro 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: 11775359Abstract: Methods and apparatuses for cross-layer processing. In some embodiments, kernel processes are executed at a higher privilege and priority than user space processes, thus cross-layer communication that spans both kernel and user space may introduce system vulnerabilities and/or consume limited resources in an undesirable manner. Unlike kernel space networking architectures that have to accommodate generic use cases, user space networking architectures are application specific, run in their own memory allocations, and can be terminated without affecting other user space applications 602 and/or kernel space operation. Various aspects described herein provide application specific, non-generic functionality without kernel assistance. Exemplary embodiments for buffer cloning, packet aggregation and “just in time” transformations, are illustrative of the broader concepts enabled by the present disclosure.Type: GrantFiled: September 8, 2021Date of Patent: October 3, 2023Assignee: Apple Inc.Inventors: Cahya Adiansyah Masputra, Eric Tsz Leung Cheng, Wei Shen, Francesco Dimambro, Sandeep Nair
-
Publication number: 20220083405Abstract: Methods and apparatuses for cross-layer processing. In some embodiments, kernel processes are executed at a higher privilege and priority than user space processes, thus cross-layer communication that spans both kernel and user space may introduce system vulnerabilities and/or consume limited resources in an undesirable manner. Unlike kernel space networking architectures that have to accommodate generic use cases, user space networking architectures are application specific, run in their own memory allocations, and can be terminated without affecting other user space applications 602 and/or kernel space operation. Various aspects described herein provide application specific, non-generic functionality without kernel assistance. Exemplary embodiments for buffer cloning, packet aggregation and “just in time” transformations, are illustrative of the broader concepts enabled by the present disclosure.Type: ApplicationFiled: September 8, 2021Publication date: March 17, 2022Applicant: Apple Inc.Inventors: Cahya Adiansyah MASPUTRA, Eric Tsz Leung CHENG, Wei SHEN, Francesco DIMAMBRO, Sandeep NAIR
-
Patent number: 9998373Abstract: Systems, devices and methods for improving network performance are disclosed. In particular, in one embodiment, a method of processing data packets in an electronic network is provided. The method includes receiving data packets at a receive stack of an electronic network device and creating a first packet from at least a portion of each of the set of data packets. The first packet includes an indicator that the first packet is a first packet type. Additionally, the method includes passing the first packet to one of a bridge and IP layer of the receive stack. A first packet inhibitor at the one of the bridge and IP layer is bypassed upon recognizing the first packet as a first packet type. The first packet is routed to a transmit stack of the electronic network device from the one of the bridge and IP layer.Type: GrantFiled: September 18, 2014Date of Patent: June 12, 2018Assignee: Apple Inc.Inventor: Francesco DiMambro
-
Publication number: 20150071290Abstract: Systems, devices and methods for improving network performance are disclosed. In particular, in one embodiment, a method of processing data packets in an electronic network is provided. The method includes receiving data packets at a receive stack of an electronic network device and creating a first packet from at least a portion of each of the set of data packets. The first packet includes an indicator that the first packet is a first packet type. Additionally, the method includes passing the first packet to one of a bridge and IP layer of the receive stack. A first packet inhibitor at the one of the bridge and IP layer is bypassed upon recognizing the first packet as a first packet type. The first packet is routed to a transmit stack of the electronic network device from the one of the bridge and IP layer.Type: ApplicationFiled: September 18, 2014Publication date: March 12, 2015Inventor: Francesco DiMambro
-
Patent number: 8848713Abstract: Systems, devices and methods for improving network performance are disclosed. In particular, in one embodiment, a method of processing data packets in an electronic network is provided. The method includes receiving data packets at a receive stack of an electronic network device and creating a first packet from at least a portion of each of the set of data packets. The first packet includes an indicator that the first packet is a first packet type. Additionally, the method includes passing the first packet to one of a bridge and IP layer of the receive stack. A first packet inhibitor at the one of the bridge and IP layer is bypassed upon recognizing the first packet as a first packet type. The first packet is routed to a transmit stack of the electronic network device from the one of the bridge and IP layer.Type: GrantFiled: October 13, 2009Date of Patent: September 30, 2014Assignee: Apple Inc.Inventor: Francesco DiMambro
-
Patent number: 8537815Abstract: Systems, devices and methods for improving network performance are disclosed. In particular, in one embodiment, a method of processing data packets in an electronic network is provided. The method includes receiving data packets at a receive stack of an electronic network device and creating a first packet from at least a portion of each of the set of data packets. The first packet includes an indicator that the first packet is a first packet type. The creation of the first packet includes saving a first header of the plurality of data packets, modifying the first header with information from each of the set of data packets, and concatenating the set of data packets.Type: GrantFiled: June 17, 2010Date of Patent: September 17, 2013Assignee: Apple Inc.Inventor: Francesco DiMambro
-
Publication number: 20110310892Abstract: Systems, devices and methods for improving network performance are disclosed. In particular, in one embodiment, a method of processing data packets in an electronic network is provided. The method includes receiving data packets at a receive stack of an electronic network device and creating a first packet from at least a portion of each of the set of data packets. The first packet includes an indicator that the first packet is a first packet type. The creation of the first packet includes saving a first header of the plurality of data packets, modifying the first header with information from each of the set of data packets, and concatenating the set of data packets.Type: ApplicationFiled: June 17, 2010Publication date: December 22, 2011Applicant: Apple Inc.Inventor: Francesco DiMambro
-
Publication number: 20110085549Abstract: Systems, devices and methods for improving network performance are disclosed. In particular, in one embodiment, a method of processing data packets in an electronic network is provided. The method includes receiving data packets at a receive stack of an electronic network device and creating a first packet from at least a portion of each of the set of data packets. The first packet includes an indicator that the first packet is a first packet type. Additionally, the method includes passing the first packet to one of a bridge and IP layer of the receive stack. A first packet inhibitor at the one of the bridge and IP layer is bypassed upon recognizing the first packet as a first packet type. The first packet is routed to a transmit stack of the electronic network device from the one of the bridge and IP layer.Type: ApplicationFiled: October 13, 2009Publication date: April 14, 2011Applicant: Apple Inc.Inventor: Francesco DiMambro
-
Patent number: 7689723Abstract: A system and method for virtualizing a hardware device node for a network interface circuit or other device. In a clone driver's configuration file, multiple virtual or clone nodes are defined. Their major numbers match the major number of the driver, but a virtual node's minor number for a Style 2 driver is calculated from the hardware driver's major number and the instance or port number of the corresponding hardware node. By creating multiple clone nodes, multiple paths through the protocol stack are created. Each one can be configured differently (e.g., for different MTU sizes), and each may be assigned a different address (e.g., MAC address). The separate addresses may be registered with hardware filters to filter incoming packets at the hardware level. A traffic classifier created in the device driver manages each virtual node's association with a hardware filter.Type: GrantFiled: November 8, 2004Date of Patent: March 30, 2010Assignee: Sun Microsystems, Inc.Inventor: Francesco DiMambro
-
Patent number: 7400650Abstract: A system and method for improving the efficiency with which data communications are passed through a protocol stack. Protocol layer modules within a protocol stack built upon the Streams framework are modified to establish tight embraces between adjacent modules. A tight embrace may be established by passing from one, upper, protocol layer module to its adjacent lower protocol layer module a pointer or reference to the upper module's functionality (e.g., rput) for reading a data communication into the upper module from the lower module. Similarly, the lower module passes the upper module a pointer or reference to its functionality (e.g., wput) for writing a data communication into the lower module from the upper module. After a tight embrace is established, the protocol layer modules can directly invoke each other's functionality, without incurring the overhead associated with the Streams framework's “canputnext” and “putnext” messages.Type: GrantFiled: January 31, 2005Date of Patent: July 15, 2008Assignee: Sun Microsystems, Inc.Inventor: Francesco DiMambro
-
Publication number: 20040177164Abstract: A system and method for reclaiming descriptors in a separate process (e.g., thread) from one in which packets are posted to a descriptor ring. The packet-posting process need not be interrupted to reclaim used descriptors, thereby reducing the delay in transmitting packets through a communication interface. The descriptor reclamation process, which may execute on a separate processor from the packet-posting process, may remain quiescent as long as the ring is less than half full or there are no descriptors to reclaim. Then, both processes may operate in parallel.Type: ApplicationFiled: February 25, 2003Publication date: September 9, 2004Inventors: Francesco DiMambro, Charles Suresh, Jian Huang
-
Publication number: 20040143780Abstract: A method and apparatus for determining a communication device's loopback capabilities by querying a device driver of the device. The device's loopback capabilities identify locations (e.g., internal modules, protocol layers) in the device, and/or data rates, at which loopback testing may be performed. Instead of embedding those capabilities in a diagnostic application and modifying the application every time a device changes or is upgraded, the application queries the device driver. The device driver sends the application a data structure or message identifying the capabilities, including identifiers. The application specifies a loopback capability to be exercised by returning a corresponding identifier to the driver.Type: ApplicationFiled: January 21, 2003Publication date: July 22, 2004Inventors: Francesco DiMambro, Hongping Yuan
-
Publication number: 20040143781Abstract: A system and method for performing non-intrusive loopback testing in a communication device. When a loopback mode of testing is requested for the communication device (e.g., from a diagnostic application), and one or more communication streams are active or bound to the device, the streams are suspended instead of terminated. In a list of the active streams, maintained in the device's information data structure, a device driver or the application modifies each of the streams (e.g., by setting a flag). While a stream is suspended, any traffic for the stream is dropped. After the loopback testing is completed, the streams are reactivated.Type: ApplicationFiled: January 21, 2003Publication date: July 22, 2004Inventors: Francesco DiMambro, Hongping Yuan