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).

  • Publication number: 20150347614
    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: Application
    Filed: September 29, 2014
    Publication date: December 3, 2015
    Inventors: Paul R. Knight, Mark A. Rowe, Richard J. Mondello, Jessie L. Berlin, Gavin Barraclough
  • Publication number: 20150347179
    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: Application
    Filed: June 1, 2015
    Publication date: December 3, 2015
    Inventors: Gavin Barraclough, Samuel M. Weinig
  • Patent number: 9128732
    Abstract: A method and an apparatus for runtime compilation that generates non-deterministic and unpredictable code to protect against un-trusted code attacks are described. The runtime compilation may be based on heuristic rules without requiring deterministic behavior reduction operations for all the code generated. The heuristic rules may include estimations on, for example, runtime overhead or cost incurred for code protection, amount of code protection required and/or other applicable factors and their relationships.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: September 8, 2015
    Assignee: Apple Inc.
    Inventors: Oliver J. Hunt, Gavin Barraclough, Filip J. Pizlo, Geoffrey Garen
  • Publication number: 20150234553
    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: March 9, 2015
    Publication date: August 20, 2015
    Inventors: Donald D. Melton, Darin B. Adler, Alice Liu, Kevin W. Decker, Brady K. Eidson, Gavin Barraclough, Steven J. Falkenburg
  • Patent number: 9027010
    Abstract: A method and an apparatus that optimize operations for a key among a collection of key indexed data structures using meta data describing properties of the key with respect to the collection of data structures are described. The meta data may correspond to a cache dynamically updated to indicate invariants which are true for the key in a current state of the collection of data structures. Expensive calculations to search through the collection of data structures for the key may be avoided. For example, costly lookup operations over a collection of data structures may not be required at all if a key is known to always (or to never) reference certain specific values, or for these values to have certain meta-properties, in any of the collection of data structure globally throughout a system at a current state.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: May 5, 2015
    Assignee: Apple Inc.
    Inventors: Gavin Barraclough, Filip J. Pizlo
  • Patent number: 9027006
    Abstract: A method and an apparatus to execute a code with value profiling are described. The code may include an access to an untyped variable. During the execution, runtime values of the untyped variable may be randomly inspected. A value profile may be established to predict one or more expected types of future runtime values for the untyped variable. The code may be recompiled according to the value profile to optimize the access of the untyped variable for the future runtime values.
    Type: Grant
    Filed: August 23, 2012
    Date of Patent: May 5, 2015
    Assignee: Apple Inc.
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Patent number: 8977947
    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: July 27, 2011
    Date of Patent: March 10, 2015
    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: 8972952
    Abstract: A method and an apparatus that generate tracer data randomly and infrequently for origins and destinations of values created during runtime of a compiled code of a source code is described. A tracer graph may be updated to record the origins and destinations of the values during the runtime. The compiled code may be optimized to reduce processing resources between the origins and the destinations of the values according to the tracer graph. The optimized compiled code may be executed for at least a portion of the source code.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: March 3, 2015
    Assignee: Apple Inc.
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Publication number: 20140365794
    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: June 6, 2014
    Publication date: December 11, 2014
    Inventors: Kevin W. Decker, Dean Jackson, Gavin Barraclough, Jon Lee, Craig Federighi, Maciej Stachowiak
  • Publication number: 20140137089
    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: Application
    Filed: December 23, 2013
    Publication date: May 15, 2014
    Applicant: International Business Machines Corporation
    Inventors: Gavin Barraclough, Kit Man Wan, ALexander B. Brown, David N. MacKintosh
  • Publication number: 20140047423
    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: August 23, 2012
    Publication date: February 13, 2014
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Publication number: 20140047420
    Abstract: A method and an apparatus to execute a code with value profiling are described. The code may include an access to an untyped variable. During the execution, runtime values of the untyped variable may be randomly inspected. A value profile may be established to predict one or more expected types of future runtime values for the untyped variable. The code may be recompiled according to the value profile to optimize the access of the untyped variable for the future runtime values.
    Type: Application
    Filed: August 23, 2012
    Publication date: February 13, 2014
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Publication number: 20140047416
    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: Application
    Filed: August 23, 2012
    Publication date: February 13, 2014
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Patent number: 8615749
    Abstract: An execution control method is described for use in a translator (19) which converts subject code (17) into target code (21). The translator (19) includes a translator trampoline function (191) which is called from a translator run loop (190) and which in turn calls either to a translator code generator (192) to generate target code, or else calls previously generated target code (212) for execution. Control then returns to the translator trampoline function (191) to make a new call, or returns to the translator run loop (190). Other aspects include making context switches through the trampoline function (191) and setting first and second calling conventions either side of the trampoline function (191). Jumping directly or indirectly between target code blocks (212) during execution is also described.
    Type: Grant
    Filed: May 27, 2005
    Date of Patent: December 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Gavin Barraclough, Kit Man Wan, Alexander B Brown, David N Mackintosh
  • Publication number: 20130326492
    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: Application
    Filed: June 1, 2012
    Publication date: December 5, 2013
    Inventors: Oliver J. Hunt, Ivan Krstic, Gavin Barraclough, Filip J. Pizlo
  • Publication number: 20130205281
    Abstract: A method and an apparatus that generate tracer data randomly and infrequently for origins and destinations of values created during runtime of a compiled code of a source code is described. A tracer graph may be updated to record the origins and destinations of the values during the runtime. The compiled code may be optimized to reduce processing resources between the origins and the destinations of the values according to the tracer graph. The optimized compiled code may be executed for at least a portion of the source code.
    Type: Application
    Filed: September 14, 2012
    Publication date: August 8, 2013
    Applicant: APPLE INC.
    Inventors: Filip J. Pizlo, Gavin Barraclough
  • Publication number: 20130205388
    Abstract: A method and an apparatus for runtime compilation that generates non-deterministic and unpredictable code to protect against un-trusted code attacks are described. The runtime compilation may be based on heuristic rules without requiring deterministic behavior reduction operations for all the code generated. The heuristic rules may include estimations on, for example, runtime overhead or cost incurred for code protection, amount of code protection required and/or other applicable factors and their relationships.
    Type: Application
    Filed: September 14, 2012
    Publication date: August 8, 2013
    Applicant: Apple Inc.
    Inventors: Oliver J. Hunt, Gavin Barraclough, Filip J. Pizlo, Geoffrey Garen
  • Patent number: 8458674
    Abstract: A target computing system performs program code conversion from subject code, executable by a subject computing architecture, into target code executable by the target computing system, and then executes the target code. The target system handles exceptions during binding to native code. Native code binding executes a portion of native code in place of translating a portion of the subject code into the target code. Upon an exception during execution of the portion of native code, the target system saves a target state representing a current point of execution for the portion of native code, and creates a subject state representing an emulated point of execution in the subject architecture. A subject exception handler handles the exception with reference to the subject state. Upon resuming execution from the exception using the subject state, the saved target state is restored to resume execution in the section of portion of native code.
    Type: Grant
    Filed: June 19, 2007
    Date of Patent: June 4, 2013
    Assignee: International Business Machines Corporation
    Inventors: Gavin Barraclough, Kit Man Wan, Abdul Rahman Hummaida
  • Publication number: 20120311491
    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: July 27, 2011
    Publication date: December 6, 2012
    Applicant: APPLE INC.
    Inventors: Donald D. Melton, Darin B. Adler, Alice Liu, Kevin W. Decker, Brady K. Eidson, Gavin Barraclough, Steven J. Falkenburg
  • Patent number: 8108657
    Abstract: A computing system capable of handling floating point operations during program code conversion is described, comprising a processor including a floating point unit and an integer unit. The computing system further comprises a translator unit arranged to receive subject code instructions including at least one instruction relating to a floating point operation and in response to generate corresponding target code for execution on said processor. To handle floating point operations a floating point status unit and a floating point control unit are provided within the translator. These units are cause the translator unit to generate either: target code for performing the floating point operations directly on the floating point unit; or target code for performing the floating point operations indirectly, for example using a combination of the integer unit and the floating point unit. In this way the efficiency of the computing system is improved.
    Type: Grant
    Filed: February 28, 2008
    Date of Patent: January 31, 2012
    Assignee: International Business Machines Corporation
    Inventors: Gavin Barraclough, James Richard Mulcahy, David James Rigby