Patents by Inventor Gavin Barraclough

Gavin Barraclough 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: 11036278
    Abstract: The embodiments disclosed herein describe ways that a browser application or other process can reduce power usage by a computing device. Methods include the process suspending one or more plug-ins on a web page by replacing them with a snapshot taken from the plug-in, and reducing processing on non-media plug-ins and non-visible portions of web pages running in the browser, but not currently in focus, such as when a tab is in the background behind a different tab, when a browser window is minimized, or when the web page is entirely or partially occluded.
    Type: Grant
    Filed: December 31, 2018
    Date of Patent: June 15, 2021
    Assignee: APPLE INC.
    Inventors: Kevin W. Decker, Dean Jackson, Gavin Barraclough, Jon Lee, Craig Federighi, Maciej Stachowiak
  • Patent number: 11016743
    Abstract: A method and an apparatus to execute a code compiled from a source code to access an untyped variable are described. An optimized access code may be compiled in the code with speculative optimization via a type prediction of runtime value of the untyped variable. Invalidity of the type prediction may be dynamically detected for future runtime values of the untyped variable. The code may be updated with an access code compiled for the access without the speculative optimization based on the invalidity detection. The updated code can be executed for the access to the untyped variable without executing the optimized access code.
    Type: Grant
    Filed: March 17, 2016
    Date of Patent: May 25, 2021
    Assignee: Apple Inc.
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Patent number: 10776895
    Abstract: Systems, methods, and computer readable media to improve the operation of graphics systems are described. In general, techniques are disclosed for determining the computational need of GPU-centric elements executing from within pages of another application, selecting one or more GPU's appropriate to the need, and transitioning the system to the selected GPUs.
    Type: Grant
    Filed: February 12, 2018
    Date of Patent: September 15, 2020
    Assignee: Apple Inc.
    Inventors: Dean Jackson, Jonathan J. Lee, Christopher C. Niederauer, Gavin Barraclough
  • Patent number: 10599868
    Abstract: Embodiments described herein provide a privacy mechanism to protect user data when transmitting the data to a server that estimates a frequency of such data amongst a set of client devices. One embodiment uses a differential privacy mechanism to enhance a user experience by identifying particular websites that exhibit particular characteristics. In one embodiment, websites that are associated with a high resource consumption are identified. High resource consumption can be identified based on threshold of particular resources such as processor, memory, network bandwidth, and power usage.
    Type: Grant
    Filed: November 7, 2017
    Date of Patent: March 24, 2020
    Assignee: Apple Inc.
    Inventors: Gavin Barraclough, Christophe Dumez, Abhishek Bhowmick, Andrew H. Vyrros, Umesh S. Vaishampayan
  • Patent number: 10440140
    Abstract: Disclosed herein is a technique for storing and managing a number of resources and sub-resources associated with web pages in a cache implemented by a web browser. Metadata associated with the sub-resources is captured and stored in the cache. The metadata can include relationship or dependency information associated with a main resource and the sub-resources associated with the main resource. The previously captured metadata is used to predict any sub-resources that will be needed to properly display the web page and the predicted sub-resources are requested from the web server concurrently with a request for the main resource associated with the web page.
    Type: Grant
    Filed: April 13, 2016
    Date of Patent: October 8, 2019
    Assignee: Apple Inc.
    Inventors: Gavin Barraclough, Antti Koivisto, Christophe Dumez
  • Patent number: 10394924
    Abstract: Deletion of synchronized web browsing history is enabled. A deletion filter record that specifies synchronized web browsing history to be deleted is received from a first client. The deletion filter record is stored in association with an identifier of the first client. A check-in message is received from a second client. Responsive to the check-in message, a determination is made that the stored deletion filter record is relevant to the second client. The stored deletion filter record is sent to the second client. Separately, a client's communications to a server are limited. A request is received to communicate with the server. A throttling policy is accessed. The throttling policy includes multiple ordered policy sections. A policy section indicates that all messages sent from the client to the server, up to the number of messages, must be separated by at least the time period.
    Type: Grant
    Filed: September 29, 2014
    Date of Patent: August 27, 2019
    Assignee: APPLE INC.
    Inventors: Paul R. Knight, Mark A. Rowe, Richard J. Mondello, Jessie L. Berlin, Gavin Barraclough
  • Publication number: 20190138077
    Abstract: The embodiments disclosed herein describe ways that a browser application or other process can reduce power usage by a computing device. Methods include the process suspending one or more plug-ins on a web page by replacing them with a snapshot taken from the plug-in, and reducing processing on non-media plug-ins and non-visible portions of web pages running in the browser, but not currently in focus, such as when a tab is in the background behind a different tab, when a browser window is minimized, or when the web page is entirely or partially occluded.
    Type: Application
    Filed: December 31, 2018
    Publication date: May 9, 2019
    Inventors: Kevin W. Decker, Dean Jackson, Gavin Barraclough, Jon Lee, Craig Federighi, Maciej Stachowiak
  • Patent number: 10209760
    Abstract: The embodiments disclosed herein describe ways that a browser application or other process can reduce power usage by a computing device. Methods include the process suspending one or more plug-ins on a web page by replacing them with a snapshot taken from the plug-in, and reducing processing on non-media plug-ins and non-visible portions of web pages running in the browser, but not currently in focus, such as when a tab is in the background behind a different tab, when a browser window is minimized, or when the web page is entirely or partially occluded.
    Type: Grant
    Filed: June 6, 2014
    Date of Patent: February 19, 2019
    Assignee: APPLE INC.
    Inventors: Kevin W. Decker, Dean Jackson, Gavin Barraclough, Jon Lee, Craig Federighi, Maciej Stachowiak
  • Publication number: 20180349638
    Abstract: Embodiments described herein provide a privacy mechanism to protect user data when transmitting the data to a server that estimates a frequency of such data amongst a set of client devices. One embodiment uses a differential privacy mechanism to enhance a user experience by identifying particular websites that exhibit particular characteristics. In one embodiment, websites that are associated with a high resource consumption are identified. High resource consumption can be identified based on threshold of particular resources such as processor, memory, network bandwidth, and power usage.
    Type: Application
    Filed: November 7, 2017
    Publication date: December 6, 2018
    Inventors: Gavin Barraclough, Christophe Dumez, Abhishek Bhowmick, Andrew H. Vyrros, Umesh S. Vaishampayan
  • Publication number: 20180232847
    Abstract: Systems, methods, and computer readable media to improve the operation of graphics systems are described. In general, techniques are disclosed for determining the computational need of GPU-centric elements executing from within pages of another application, selecting one or more GPU's appropriate to the need, and transitioning the system to the selected GPUs.
    Type: Application
    Filed: February 12, 2018
    Publication date: August 16, 2018
    Inventors: Dean Jackson, Jonathan J. Lee, Christopher C. Niederauer, Gavin Barraclough
  • Patent number: 9934066
    Abstract: The method for managing a plurality of windows of a browser application on an electronic device includes assigning a priority level to each process, including the browser application, running on the device, and distributing computing resources based on priority level. In response to receiving an action to open a window, the browser application starts the execution of a process for opening the window, associates the process with the window, and assigns a priority level to the process associated with the window. The browser application then monitors an activity level of each process associated with its windows. If the activity level decreases, the browser application assigns the process with the decreased activity level to a lower priority level. If requested computing resources exceed a maximum threshold, a process is selected from the lowest priority level processes, and the selected process is suspended.
    Type: Grant
    Filed: June 1, 2015
    Date of Patent: April 3, 2018
    Assignee: Apple Inc.
    Inventors: Gavin Barraclough, Samuel M. Weinig
  • Patent number: 9798822
    Abstract: Methods and systems that present URLs from a history of records organized by locations are described. Each record may be stored to represent a URL accessed for retrieving a web page by a browser hosted in a device at a certain point in time. Additionally, the record may include a location data indicating a physical location of the device at the certain point in time. Optionally, a timestamp indicating the certain point in time may be included in the record. Groups of the records may be clustered according to the locations. In one embodiment, at least one of the groups may be selected for presentation on a display according to where the display is currently located.
    Type: Grant
    Filed: June 29, 2010
    Date of Patent: October 24, 2017
    Assignee: Apple Inc.
    Inventors: Alice Liu, Gavin Barraclough
  • Publication number: 20170094004
    Abstract: Disclosed herein is a technique for storing and managing a number of resources and sub-resources associated with web pages in a cache implemented by a web browser. Metadata associated with the sub-resources is captured and stored in the cache. The metadata can include relationship or dependency information associated with a main resource and the sub-resources associated with the main resource. The previously captured metadata is used to predict any sub-resources that will be needed to properly display the web page and the predicted sub-resources are requested from the web server concurrently with a request for the main resource associated with the web page.
    Type: Application
    Filed: April 13, 2016
    Publication date: March 30, 2017
    Inventors: Gavin BARRACLOUGH, Antti KOIVISTO, Christophe DUMEZ
  • Patent number: 9563334
    Abstract: A reading list panel is displayed as a sidebar window with respect to a main window of a content viewing application. In response to a first input, a first article representation of a first article associated with a presentation page displayed in the main window is listed in the reading list panel, where the first article representation includes information identifying the first article. In response to a selection of a second article representation from the reading list panel, content of a second article represented by the second article representation is presented in a reader mode within the main window.
    Type: Grant
    Filed: February 24, 2016
    Date of Patent: February 7, 2017
    Assignee: APPLE INC.
    Inventors: Donald D. Melton, Darin B. Adler, Alice Liu, Kevin W. Decker, Brady K. Eidson, Gavin Barraclough, Steven J. Falkenburg
  • Publication number: 20160321046
    Abstract: A method and an apparatus to execute a code compiled from a source code to access an untyped variable are described. An optimized access code may be compiled in the code with speculative optimization via a type prediction of runtime value of the untyped variable. Invalidity of the type prediction may be dynamically detected for future runtime values of the untyped variable. The code may be updated with an access code compiled for the access without the speculative optimization based on the invalidity detection. The updated code can be executed for the access to the untyped variable without executing the optimized access code.
    Type: Application
    Filed: March 17, 2016
    Publication date: November 3, 2016
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Publication number: 20160170587
    Abstract: A reading list panel is displayed as a sidebar window with respect to a main window of a content viewing application. In response to a first input, a first article representation of a first article associated with a presentation page displayed in the main window is listed in the reading list panel, where the first article representation includes information identifying the first article. In response to a selection of a second article representation from the reading list panel, content of a second article represented by the second article representation is presented in a reader mode within the main window.
    Type: Application
    Filed: February 24, 2016
    Publication date: June 16, 2016
    Inventors: Donald D. Melton, Darin B. Adler, Alice Liu, Kevin W. Decker, Brady K. Eidson, Gavin Barraclough, Steven J. Falkenburg
  • Patent number: 9317264
    Abstract: Execution control techniques are described for use in a translator that converts subject code into target code. The translator includes a translator trampoline function that is called from a translator run loop and which in turn calls either to a translator code generator to generate target code, or else calls previously generated target code for execution. Control then returns to the translator trampoline function to make a new call, or returns to the translator run loop. Other aspects include making context switches through the trampoline function and setting first and second calling conventions either side of the trampoline function. Jumping directly or indirectly between target code blocks during execution is also described.
    Type: Grant
    Filed: December 23, 2013
    Date of Patent: April 19, 2016
    Assignee: International Business Machines Corporation
    Inventors: Gavin Barraclough, Kit Man Wan, ALexander B. Brown, David N. MacKintosh
  • Patent number: 9310969
    Abstract: A reading list panel is displayed as a sidebar window with respect to a main window of a content viewing application. In response to a first input, a first article representation of a first article associated with a presentation page displayed in the main window is listed in the reading list panel, where the first article representation includes information identifying the first article. In response to a selection of a second article representation from the reading list panel, content of a second article represented by the second article representation is presented in a reader mode within the main window.
    Type: Grant
    Filed: March 9, 2015
    Date of Patent: April 12, 2016
    Assignee: APPLE INC.
    Inventors: Donald D. Melton, Darin B. Adler, Alice Liu, Kevin W. Decker, Brady K. Eidson, Gavin Barraclough, Steven J. Falkenburg
  • Patent number: 9256410
    Abstract: A method and an apparatus to continuously re-compile a code are described. The code can be compiled in a speculatively optimized manner from a source code to access an untyped variable according to a type prediction of runtime values for the untyped variable. Failures of the type prediction during the execution can be dynamically tracked. Each failure may be associated a runtime value with a type outside of the type prediction. The type prediction may be adjusted according to the failures tracked for future runtime values of the untyped variable. The source code can be recompiled for execution to optimize the access to the untyped variable for the future runtime values according to the adjusted type prediction.
    Type: Grant
    Filed: August 23, 2012
    Date of Patent: February 9, 2016
    Assignee: Apple Inc.
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Patent number: 9245112
    Abstract: A method, apparatus and machine readable medium are described for managing entitlements on a computing device. For example, one embodiment of a method comprises: loading a first application into a system memory of a computing device; for each library value/symbol pair referenced by the first application, determining whether the first application has a correct entitlement to be linked with the library value/symbol pair; wherein if the application does not have the correct entitlement associated with the library value/symbol pair, then denying linking to the library value/symbol pair and/or linking the application to an alternate library value/symbol pair which does not have the entitlement associated therewith; and if the application has the correct entitlement associated with the library value/symbol pair, then linking the application to the library value/symbol pair with the entitlement in the system memory.
    Type: Grant
    Filed: June 1, 2012
    Date of Patent: January 26, 2016
    Assignee: Apple Inc.
    Inventors: Oliver J. Hunt, Ivan Krstic, Gavin Barraclough, Filip J. Pizlo