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: 11775359
    Abstract: 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: Grant
    Filed: September 8, 2021
    Date of Patent: October 3, 2023
    Assignee: Apple Inc.
    Inventors: Cahya Adiansyah Masputra, Eric Tsz Leung Cheng, Wei Shen, Francesco Dimambro, Sandeep Nair
  • Publication number: 20220083405
    Abstract: 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: Application
    Filed: September 8, 2021
    Publication date: March 17, 2022
    Applicant: Apple Inc.
    Inventors: Cahya Adiansyah MASPUTRA, Eric Tsz Leung CHENG, Wei SHEN, Francesco DIMAMBRO, Sandeep NAIR
  • Patent number: 9998373
    Abstract: 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: Grant
    Filed: September 18, 2014
    Date of Patent: June 12, 2018
    Assignee: Apple Inc.
    Inventor: Francesco DiMambro
  • Publication number: 20150071290
    Abstract: 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: Application
    Filed: September 18, 2014
    Publication date: March 12, 2015
    Inventor: Francesco DiMambro
  • Patent number: 8848713
    Abstract: 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: Grant
    Filed: October 13, 2009
    Date of Patent: September 30, 2014
    Assignee: Apple Inc.
    Inventor: Francesco DiMambro
  • Patent number: 8537815
    Abstract: 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: Grant
    Filed: June 17, 2010
    Date of Patent: September 17, 2013
    Assignee: Apple Inc.
    Inventor: Francesco DiMambro
  • Publication number: 20110310892
    Abstract: 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: Application
    Filed: June 17, 2010
    Publication date: December 22, 2011
    Applicant: Apple Inc.
    Inventor: Francesco DiMambro
  • Publication number: 20110085549
    Abstract: 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: Application
    Filed: October 13, 2009
    Publication date: April 14, 2011
    Applicant: Apple Inc.
    Inventor: Francesco DiMambro
  • Patent number: 7689723
    Abstract: 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: Grant
    Filed: November 8, 2004
    Date of Patent: March 30, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: Francesco DiMambro
  • Patent number: 7400650
    Abstract: 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: Grant
    Filed: January 31, 2005
    Date of Patent: July 15, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Francesco DiMambro
  • Publication number: 20040177164
    Abstract: 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: Application
    Filed: February 25, 2003
    Publication date: September 9, 2004
    Inventors: Francesco DiMambro, Charles Suresh, Jian Huang
  • Publication number: 20040143780
    Abstract: 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: Application
    Filed: January 21, 2003
    Publication date: July 22, 2004
    Inventors: Francesco DiMambro, Hongping Yuan
  • Publication number: 20040143781
    Abstract: 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: Application
    Filed: January 21, 2003
    Publication date: July 22, 2004
    Inventors: Francesco DiMambro, Hongping Yuan