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: 9603086Abstract: 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: GrantFiled: January 24, 2014Date of Patent: March 21, 2017Assignee: 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: 20160373533Abstract: 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: ApplicationFiled: August 31, 2016Publication date: December 22, 2016Inventors: Anumita Biswas, Joshua V. Graessley
-
Patent number: 9456464Abstract: 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: GrantFiled: June 6, 2013Date of Patent: September 27, 2016Assignee: Apple Inc.Inventors: Anumita Biswas, Joshua V Graessley
-
Patent number: 9439234Abstract: 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: GrantFiled: December 19, 2012Date of Patent: September 6, 2016Assignee: Apple Inc.Inventor: Joshua V Graessley
-
Patent number: 9407701Abstract: 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: GrantFiled: December 14, 2012Date of Patent: August 2, 2016Assignee: Apple Inc.Inventors: Joshua V. Graessley, Stuart Cheshire
-
Patent number: 9009297Abstract: 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: GrantFiled: August 16, 2010Date of Patent: April 14, 2015Assignee: Apple Inc.Inventors: Cahya A. Masputra, Michael R. Van Milligan, Joshua V. Graessley
-
Publication number: 20140362765Abstract: 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: ApplicationFiled: June 6, 2013Publication date: December 11, 2014Inventors: Anumita Biswas, Joshua V. Graessley
-
Publication number: 20140366042Abstract: 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: ApplicationFiled: April 15, 2014Publication date: December 11, 2014Applicant: 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: 20140365642Abstract: 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: ApplicationFiled: January 24, 2014Publication date: December 11, 2014Inventors: 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: 20140365673Abstract: 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: ApplicationFiled: June 7, 2013Publication date: December 11, 2014Inventors: 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: 20140171065Abstract: 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: ApplicationFiled: December 19, 2012Publication date: June 19, 2014Applicant: APPLE INC.Inventor: Joshua V. Graessley
-
Publication number: 20140173123Abstract: 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: ApplicationFiled: December 14, 2012Publication date: June 19, 2014Applicant: APPLE INC.Inventors: Joshua V. Graessley, Stuart Cheshire
-
Patent number: 8706855Abstract: 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: GrantFiled: August 16, 2010Date of Patent: April 22, 2014Assignee: Apple Inc.Inventors: Cahya A. Masputra, Michael R. Van Milligan, Joshua V. Graessley
-
Publication number: 20120317153Abstract: 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: ApplicationFiled: June 7, 2011Publication date: December 13, 2012Applicant: APPLE INC.Inventors: Mohan Parthasarathy, Joshua V. Graessley
-
Publication number: 20110179153Abstract: 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: ApplicationFiled: August 16, 2010Publication date: July 21, 2011Applicant: APPLE INC.Inventors: Cahya A. Masputra, Michael R. Van Milligan, Joshua V. Graessley
-
Publication number: 20110179163Abstract: 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: ApplicationFiled: August 16, 2010Publication date: July 21, 2011Applicant: APPLE INC.Inventors: Cahya A. Masputra, Michael R. Van Milligan, Joshua V. Graessley
-
Patent number: 7729292Abstract: 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: GrantFiled: August 13, 2008Date of Patent: June 1, 2010Assignee: Apple Inc.Inventors: Stuart D. Cheshire, Joshua V. Graessley
-
Publication number: 20090157289Abstract: 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: ApplicationFiled: December 18, 2007Publication date: June 18, 2009Applicant: Apple Inc.Inventor: Joshua V. Graessley
-
Publication number: 20090096573Abstract: 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: ApplicationFiled: August 13, 2008Publication date: April 16, 2009Inventor: Joshua V. Graessley
-
Publication number: 20090082951Abstract: 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: ApplicationFiled: September 26, 2007Publication date: March 26, 2009Applicant: APPLE INC.Inventor: Joshua V. Graessley