Patents by Inventor Joshua V. Graessley

Joshua V. 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: 9603086
    Abstract: In some implementations, a network daemon can manage access to a mobile device's network interface. The network daemon (e.g., network connection managing process) can monitor the condition of the mobile device's network connection on one or more interfaces. The network daemon can monitor many conditions on the mobile device. The network daemon can receive background networking requests from network clients (e.g., processes, applications) that specify criteria for initiating a network connection. The network daemon can then smartly manage network connections taking into account network conditions, mobile device conditions and/or client criteria received in the client request. This can help reduce battery life impact, memory usage, likelihood of call drops, data usage cost, and load on network operators.
    Type: Grant
    Filed: January 24, 2014
    Date of Patent: March 21, 2017
    Assignee: Apple Inc.
    Inventors: Andrew C. Lam, Ray Ling Chang, Steven Douglas Parker, Amit K. Vyas, Joshua V. Graessley, John Iarocci, Darren Litzinger, Justin Wood, Matthew Scott Klahn, Daniel B. Pollack
  • Publication number: 20160373533
    Abstract: Techniques for electronic devices to control a multipath transmission control protocol (MPTCP) connection. An MPTCP connection between two endpoints may be established. The MPTCP connection may include at least one MPTCP subflow. At least one of the endpoints may be configured to act as a master with respect to the MPTCP connection. The master may perform one or more control operations on the MPTCP connection, while if one of the endpoints is not a master, that endpoint may not perform control operations on the MPTCP connection. The control operations may include initiating or establishing new MPTCP subflows or modifying a priority level of one or more MPTCP subflows of the MPTCP connection.
    Type: Application
    Filed: August 31, 2016
    Publication date: December 22, 2016
    Inventors: Anumita Biswas, Joshua V. Graessley
  • Patent number: 9456464
    Abstract: Techniques for electronic devices to control a multipath transmission control protocol (MPTCP) connection. An MPTCP connection between two endpoints may be established. The MPTCP connection may include at least one MPTCP subflow. At least one of the endpoints may be configured to act as a master with respect to the MPTCP connection. The master may perform one or more control operations on the MPTCP connection, while if one of the endpoints is not a master, that endpoint may not perform control operations on the MPTCP connection. The control operations may include initiating or establishing new MPTCP subflows or modifying a priority level of one or more MPTCP subflows of the MPTCP connection.
    Type: Grant
    Filed: June 6, 2013
    Date of Patent: September 27, 2016
    Assignee: Apple Inc.
    Inventors: Anumita Biswas, Joshua V Graessley
  • Patent number: 9439234
    Abstract: An method, apparatus and machine readable medium are described for intelligently selecting a network interface. An attempt may be made to connect over a first network interface having the highest priority (e.g., WiFi). At the same time, a fallback timer is started. If the attempt to connect over the first network interface does not succeed within a designated timer threshold, then a parallel attempt is made to connect over a second network interface having a lower priority (e.g., cellular). The first network interface over which a connection is successfully made is then used. These techniques may be employed on a per-connection basis. Thus, a first process may successfully connect over the first network interface while a second process may be unsuccessful over the first network interface but may fall back to the second network interface.
    Type: Grant
    Filed: December 19, 2012
    Date of Patent: September 6, 2016
    Assignee: Apple Inc.
    Inventor: Joshua V Graessley
  • Patent number: 9407701
    Abstract: Internet protocol (IP) addresses are received from one or more domain name service (DNS) servers for accessing a remote host in response to a DNS query. The IP addresses are prioritized based on a list of preferred network interfaces associated with a plurality of networks. A network connection is established with the remote host using the most prioritized one of the IP addresses and a network protocol associated with the most prioritized IP address, where the most prioritized IP address is routable to reach the remote host over a network via the most preferred network interface.
    Type: Grant
    Filed: December 14, 2012
    Date of Patent: August 2, 2016
    Assignee: Apple Inc.
    Inventors: Joshua V. Graessley, Stuart Cheshire
  • Patent number: 9009297
    Abstract: The described embodiments include a system that configures a network interface. During operation, the system receives a signal from an operating system indicating that the network interface can be idled. The signal is sent from the operating system as soon as the operating system determines that a final route structure that depended on the network interface has expired and been deleted. The system then determines if an application has established a route that uses the network interface since the signal was sent from the operating system. If not, the system causes the network interface to be idled. Otherwise, the system leaves the network interface in a current operating state.
    Type: Grant
    Filed: August 16, 2010
    Date of Patent: April 14, 2015
    Assignee: Apple Inc.
    Inventors: Cahya A. Masputra, Michael R. Van Milligan, Joshua V. Graessley
  • Publication number: 20140362765
    Abstract: Techniques for electronic devices to control a multipath transmission control protocol (MPTCP) connection. An MPTCP connection between two endpoints may be established. The MPTCP connection may include at least one MPTCP subflow. At least one of the endpoints may be configured to act as a master with respect to the MPTCP connection. The master may perform one or more control operations on the MPTCP connection, while if one of the endpoints is not a master, that endpoint may not perform control operations on the MPTCP connection. The control operations may include initiating or establishing new MPTCP subflows or modifying a priority level of one or more MPTCP subflows of the MPTCP connection.
    Type: Application
    Filed: June 6, 2013
    Publication date: December 11, 2014
    Inventors: Anumita Biswas, Joshua V. Graessley
  • Publication number: 20140366042
    Abstract: In some implementations, a mobile device can be configured to monitor environmental, system and user events. The occurrence of one or more events can trigger adjustments to system settings. In some implementations, the mobile device can be configured to keep frequently invoked applications up to date based on a forecast of predicted invocations by the user. In some implementations, the mobile device can receive push notifications associated with applications that indicate that new content is available for the applications to download. The mobile device can launch the applications associated with the push notifications in the background and download the new content. In some implementations, before running an application or accessing a network interface, the mobile device can be configured to check energy and data budgets and environmental conditions of the mobile device to preserve a high quality user experience.
    Type: Application
    Filed: April 15, 2014
    Publication date: December 11, 2014
    Applicant: Apple Inc.
    Inventors: David Michael Chan, John Iarocci, Gaurav Kapoor, Kit-man Wan, Phillip Stanley-Marbell, Jonathan J. Andrews, Matthew E. Shepherd, Amit K. Vyas, Anand Ramadurai, Lee Russell, Brittany D. Hughes, David B. Myszewski, Andrew M. Matuschak, Joshua V. Graessley, Marc Krochmal, Daniel Vinegrad, Stephen C. Peters
  • Publication number: 20140365642
    Abstract: In some implementations, a network daemon can manage access to a mobile device's network interface. The network daemon (e.g., network connection managing process) can monitor the condition of the mobile device's network connection on one or more interfaces. The network daemon can monitor many conditions on the mobile device. The network daemon can receive background networking requests from network clients (e.g., processes, applications) that specify criteria for initiating a network connection. The network daemon can then smartly manage network connections taking into account network conditions, mobile device conditions and/or client criteria received in the client request. This can help reduce battery life impact, memory usage, likelihood of call drops, data usage cost, and load on network operators.
    Type: Application
    Filed: January 24, 2014
    Publication date: December 11, 2014
    Inventors: Andrew C. Lam, Ray Ling Chang, Steven Douglas Parker, Amit K. Vyas, Joshua V. Graessley, John Iarocci, Darren Litzinger, Justin Wood, Matthew Scott Klahn, Daniel B. Pollack
  • Publication number: 20140365673
    Abstract: In some implementations, a network daemon can manage access to a mobile device's network interface. The network daemon (e.g., network connection managing process) can monitor the condition of the mobile device's network connection on one or more interfaces. The network daemon can monitor many conditions on the mobile device. The network daemon can receive background networking requests from network clients (e.g., processes, applications) that specify criteria for initiating a network connection. The network daemon can then smartly manage network connections taking into account network conditions, mobile device conditions and/or client criteria received in the client request. This can help reduce battery life impact, memory usage, likelihood of call drops, data usage cost, and load on network operators.
    Type: Application
    Filed: June 7, 2013
    Publication date: December 11, 2014
    Inventors: Amit K. Vyas, Joshua V. Graessley, John Iarocci, Darren Litzinger, Andrew C. Lam, Ray Ling Chang, Steven Douglas Parker, Justin Wood, Matthew Scott Klahn, Daniel B. Pollack
  • Publication number: 20140171065
    Abstract: An method, apparatus and machine readable medium are described for intelligently selecting a network interface. An attempt may be made to connect over a first network interface having the highest priority (e.g., WiFi). At the same time, a fallback timer is started. If the attempt to connect over the first network interface does not succeed within a designated timer threshold, then a parallel attempt is made to connect over a second network interface having a lower priority (e.g., cellular). The first network interface over which a connection is successfully made is then used. These techniques may be employed on a per-connection basis. Thus, a first process may successfully connect over the first network interface while a second process may be unsuccessful over the first network interface but may fall back to the second network interface.
    Type: Application
    Filed: December 19, 2012
    Publication date: June 19, 2014
    Applicant: APPLE INC.
    Inventor: Joshua V. Graessley
  • Publication number: 20140173123
    Abstract: Internet protocol (IP) addresses are received from one or more domain name service (DNS) servers for accessing a remote host in response to a DNS query. The IP addresses are prioritized based on a list of preferred network interfaces associated with a plurality of networks. A network connection is established with the remote host using the most prioritized one of the IP addresses and a network protocol associated with the most prioritized IP address, where the most prioritized IP address is routable to reach the remote host over a network via the most preferred network interface.
    Type: Application
    Filed: December 14, 2012
    Publication date: June 19, 2014
    Applicant: APPLE INC.
    Inventors: Joshua V. Graessley, Stuart Cheshire
  • Patent number: 8706855
    Abstract: The described embodiments provide a system that controls the operating state of a network interface. During operation, in response to receiving a request from an application to use the network interface for a route, the system creates a route structure for the route and increments a route reference counter in an interface data structure for the network interface. Upon subsequently determining that the application is no longer using the route, the system sets a route expiration timer in the route structure to a predetermined expiration time. When the route expiration timer expires, the system deletes the route structure and decrements the route reference counter in the interface data structure. When decrementing the route reference counter in the interface data structure causes the route reference counter to be equal to zero, the system sends a signal to a configuration application to inform the application that the network interface can be idled.
    Type: Grant
    Filed: August 16, 2010
    Date of Patent: April 22, 2014
    Assignee: Apple Inc.
    Inventors: Cahya A. Masputra, Michael R. Van Milligan, Joshua V. Graessley
  • Publication number: 20120317153
    Abstract: In the described embodiments, while executing a DNS resolver, a processing subsystem in an electronic device with a set of network interfaces receives a scoped request from an application to determine an IP address for a domain name. Generally, a DNS query generated from a scoped request is to be transmitted only on network interfaces specified in the scoped request, whereas a DNS query generated from a non-scoped request can be transmitted on any of the network interfaces. The processing subsystem then generates a DNS query from the scoped request and transmits the DNS query on the specified network interfaces. Upon receiving a response to the DNS query, the processing subsystem stores a record of the response in a scoped portion of a DNS resolution cache that is used only for storing responses to scoped requests. The DNS resolution cache also comprises a non-scoped portion that is used only for storing responses to non-scoped requests.
    Type: Application
    Filed: June 7, 2011
    Publication date: December 13, 2012
    Applicant: APPLE INC.
    Inventors: Mohan Parthasarathy, Joshua V. Graessley
  • Publication number: 20110179153
    Abstract: The described embodiments provide a system that controls the operating state of a network interface. During operation, in response to receiving a request from an application to use the network interface for a route, the system creates a route structure for the route and increments a route reference counter in an interface data structure for the network interface. Upon subsequently determining that the application is no longer using the route, the system sets a route expiration timer in the route structure to a predetermined expiration time. When the route expiration timer expires, the system deletes the route structure and decrements the route reference counter in the interface data structure. When decrementing the route reference counter in the interface data structure causes the route reference counter to be equal to zero, the system sends a signal to a configuration application to inform the application that the network interface can be idled.
    Type: Application
    Filed: August 16, 2010
    Publication date: July 21, 2011
    Applicant: APPLE INC.
    Inventors: Cahya A. Masputra, Michael R. Van Milligan, Joshua V. Graessley
  • Publication number: 20110179163
    Abstract: The described embodiments include a system that configures a network interface. During operation, the system receives a signal from an operating system indicating that the network interface can be idled. The signal is sent from the operating system as soon as the operating system determines that a final route structure that depended on the network interface has expired and been deleted. The system then determines if an application has established a route that uses the network interface since the signal was sent from the operating system. If not, the system causes the network interface to be idled. Otherwise, the system leaves the network interface in a current operating state.
    Type: Application
    Filed: August 16, 2010
    Publication date: July 21, 2011
    Applicant: APPLE INC.
    Inventors: Cahya A. Masputra, Michael R. Van Milligan, Joshua V. Graessley
  • Patent number: 7729292
    Abstract: One embodiment of the present invention provides a system that detects a non-compliant router that incorrectly responds to all address-resolution-protocol (ARP) requests, including ARP requests and ARP probes for link-local IP addresses. This is accomplished by sending an ARP request asking for an Ethernet address associated with a link-local IP address, wherein the link-local IP address is a reserved link-local IP address, which should not be assigned to any device. If a response is received to the ARP request, the system determines that the response was sent by a non-compliant router that incorrectly responds to all ARP requests, including ARP requests for link-local IP addresses.
    Type: Grant
    Filed: August 13, 2008
    Date of Patent: June 1, 2010
    Assignee: Apple Inc.
    Inventors: Stuart D. Cheshire, Joshua V. Graessley
  • Publication number: 20090157289
    Abstract: Navigation systems and services are described. The navigation services can include obtaining a route or route segment based on a location of a vehicle and a destination. Based on the route, a current fuel supply of the vehicle, and a number of factors related to fuel consumption, a refueling location can be estimated. A number of locations of fuel stations in proximity to the refueling location can be determined and presented to a user, for example, on a map showing the route.
    Type: Application
    Filed: December 18, 2007
    Publication date: June 18, 2009
    Applicant: Apple Inc.
    Inventor: Joshua V. Graessley
  • Publication number: 20090096573
    Abstract: An event is detected at a first device. Responsive to the detection, at least some functionality of the first device is deactivated. The presence of a second device, cryptographically paired with the first device, is detected by the first device. Responsive to the detection, at least some functionality of the first device is activated or reactivated.
    Type: Application
    Filed: August 13, 2008
    Publication date: April 16, 2009
    Inventor: Joshua V. Graessley
  • Publication number: 20090082951
    Abstract: A navigation system includes a user interface for detecting touch input. The system uses touch input to determine if a driver or passenger is operating the navigation system. If the system determines that the driver is operating the system, then an action is initiated (e.g., the user interface is locked down, a warning is provided). The navigation system allows a passenger in the vehicle to operate the navigation system while the vehicle is in motion. In an aspect, additional or other sensors (e.g., seat sensor, seat belt sensor, infrared sensor) can be used to detect whether a driver or passenger is operating the navigation system while the vehicle is in motion.
    Type: Application
    Filed: September 26, 2007
    Publication date: March 26, 2009
    Applicant: APPLE INC.
    Inventor: Joshua V. Graessley