Patents by Inventor JOSHUA VERWEYST GRAESSLEY

JOSHUA VERWEYST GRAESSLEY 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: 11824962
    Abstract: Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
    Type: Grant
    Filed: October 11, 2021
    Date of Patent: November 21, 2023
    Assignee: Apple Inc.
    Inventors: Cahya Adiansyah Masputra, Sandeep Nair, Darrin Jewell, Prabhakar Lakhera, Thomas Francis Pauly, Joshua Verweyst Graessley, Wei Shen, Olivier Mardinian
  • Publication number: 20220030095
    Abstract: Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
    Type: Application
    Filed: October 11, 2021
    Publication date: January 27, 2022
    Applicant: Apple Inc.
    Inventors: Cahya Adiansyah MASPURTA, Sandeep NAIR, Darrin JEWELL, Prabhakar LAKHERA, Thomas Francis PAULY, Joshua Verweyst GRAESSLEY, Wei SHEN, Olivier MARDINIAN
  • Patent number: 11146665
    Abstract: Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
    Type: Grant
    Filed: March 26, 2019
    Date of Patent: October 12, 2021
    Assignee: Apple Inc.
    Inventors: Cahya Adiansyah Masputra, Sandeep Nair, Darrin Jewell, Prabhakar Lakhera, Thomas Francis Pauly, Joshua Verweyst Graessley, Wei Shen, Olivier Mardinian
  • Publication number: 20190306109
    Abstract: Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
    Type: Application
    Filed: March 26, 2019
    Publication date: October 3, 2019
    Inventors: CAHYA ADIANSYAH MASPUTRA, SANDEEP NAIR, DARRIN JEWELL, PRABHAKAR LAKHERA, THOMAS FRANCIS PAULY, JOSHUA VERWEYST GRAESSLEY, WEI SHEN, OLIVIER MARDINIAN
  • Patent number: 9094483
    Abstract: An apparatus and method are described for collecting and evaluating statistics for different network addresses and/or subnets when establishing network connections. For example, a method according to one embodiment comprises: receiving a set of potential network addresses for establishing a connection to a remote host; evaluating routing statistics associated with each of the potential network addresses; prioritizing the set of potential network addresses based on the evaluation; and initially attempting to connect to the remote host using the highest priority one or more network addresses.
    Type: Grant
    Filed: January 14, 2011
    Date of Patent: July 28, 2015
    Assignee: APPLE INC.
    Inventor: Joshua Verweyst Graessley
  • Patent number: 8819791
    Abstract: A method and apparatus of to negotiate access with a captive network is described. In an exemplary method, a mobile client detects, with a network interface, a network. The mobile client associates with the network, where associating allows the mobile client to communicate with the network. In addition, the mobile client probes the network by requesting a web page, where the web page is independent of the network. In response to the web page request, the mobile client receives a capture web page. The mobile client determines the type of authentication used for the network based on the received capture web page.
    Type: Grant
    Filed: March 16, 2009
    Date of Patent: August 26, 2014
    Assignee: Apple Inc.
    Inventors: Joshua Verweyst Graessley, Mitch D. Adler
  • Patent number: 8812005
    Abstract: A client device having a networking layer and a network driver layer for transmitting network packets comprising: a plurality of transmit queues configured at the network layer, each of the transmit queues having different packet service classifications associated therewith; a classifier module for classifying packets according to the different packet service classifications, wherein a packet to be transmitted is stored in one of the transmit queues based on the packet service classifications, wherein one or more of the traffic service classifications comprise opportunistic traffic classes and other traffic service classifications comprise non-opportunistic traffic classes; and a socket layer comprising socket transmitting data from an application associated with each traffic service classification, wherein a socket associated with an opportunistic traffic class is automatically suspended in response to detecting a network interface of the client device being throttled.
    Type: Grant
    Filed: September 15, 2012
    Date of Patent: August 19, 2014
    Assignee: Apple Inc.
    Inventors: Cahya Masputra, Padmavathy Bhooma, Joshua Verweyst Graessley
  • Publication number: 20130203422
    Abstract: A client device having a networking layer and a network driver layer for transmitting network packets comprising: a plurality of transmit queues configured at the network layer, each of the transmit queues having different packet service classifications associated therewith; a classifier module for classifying packets according to the different packet service classifications, wherein a packet to be transmitted is stored in one of the transmit queues based on the packet service classifications, wherein one or more of the traffic service classifications comprise opportunistic traffic classes and other traffic service classifications comprise non-opportunistic traffic classes; and a socket layer comprising socket transmitting data from an application associated with each traffic service classification, wherein a socket associated with an opportunistic traffic class is automatically suspended in response to detecting a network interface of the client device being throttled.
    Type: Application
    Filed: September 15, 2012
    Publication date: August 8, 2013
    Inventors: Cahya Masputra, Padmavathy Bhooma, Joshua Verweyst Graessley
  • Publication number: 20120185582
    Abstract: An apparatus and method are described for collecting and evaluating statistics for different network addresses and/or subnets when establishing network connections. For example, a method according to one embodiment comprises: receiving a set of potential network addresses for establishing a connection to a remote host; evaluating routing statistics associated with each of the potential network addresses; prioritizing the set of potential network addresses based on the evaluation; and initially attempting to connect to the remote host using the highest priority one or more network addresses.
    Type: Application
    Filed: January 14, 2011
    Publication date: July 19, 2012
    Inventor: Joshua Verweyst Graessley
  • Publication number: 20080304486
    Abstract: Multiplexed data stream protocols are described. In one embodiment, a method to provide a multiplexed data stream protocol includes packetizing a data stream to provide packets with headers and transmitting the packets through an interface which is not designed to use Internet Protocol (IP) addresses. The headers contain data for flow control and sequencing and are associated with a port for an application, and the headers allow multiple applications to maintain an arbitrary and changeable number of multiple concurrent sessions through the interface. The headers may be Transmission Control Protocol (TCP) like headers and may not include IP like headers. Systems, computer readable media, software architectures and other methods are also described.
    Type: Application
    Filed: June 28, 2007
    Publication date: December 11, 2008
    Inventors: JOSHUA VERWEYST GRAESSLEY, John Andrew Wright, Curtis C. Galloway, Paul Chinn
  • Publication number: 20080307109
    Abstract: File protocols for transaction based communication are described. In one embodiment, a method to provide a file transfer protocol includes receiving packets containing headers, the packets being received at a first network stack software through an interface, and extracting data from he packets and reconstructing a file from data in the packets. The extracting may be performed by a first network stack software, and the interface is not designed to use Internet Protocol (IP) addresses, and the headers contain data for flow control and sequencing and are associated with a port for a file transfer application, and the headers allow multiple applications to maintain multiple concurrent sessions through the interface, which may be a USB compliant or BLUETOOTH compliant interface. Systems, computer readable media, software architectures and other methods are also described.
    Type: Application
    Filed: June 28, 2007
    Publication date: December 11, 2008
    Inventors: CURTIS C. GALLOWAY, John andrew Wright, Joshua Verweyst Graessley, Sean Gies, Paul Chinn