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: 20150347614Abstract: 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: ApplicationFiled: September 29, 2014Publication date: December 3, 2015Inventors: Paul R. Knight, Mark A. Rowe, Richard J. Mondello, Jessie L. Berlin, Gavin Barraclough
-
Publication number: 20150347179Abstract: 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: ApplicationFiled: June 1, 2015Publication date: December 3, 2015Inventors: Gavin Barraclough, Samuel M. Weinig
-
Patent number: 9128732Abstract: 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: GrantFiled: September 14, 2012Date of Patent: September 8, 2015Assignee: Apple Inc.Inventors: Oliver J. Hunt, Gavin Barraclough, Filip J. Pizlo, Geoffrey Garen
-
Publication number: 20150234553Abstract: 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: ApplicationFiled: March 9, 2015Publication date: August 20, 2015Inventors: Donald D. Melton, Darin B. Adler, Alice Liu, Kevin W. Decker, Brady K. Eidson, Gavin Barraclough, Steven J. Falkenburg
-
Patent number: 9027010Abstract: 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: GrantFiled: December 21, 2012Date of Patent: May 5, 2015Assignee: Apple Inc.Inventors: Gavin Barraclough, Filip J. Pizlo
-
Patent number: 9027006Abstract: 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: GrantFiled: August 23, 2012Date of Patent: May 5, 2015Assignee: Apple Inc.Inventors: Filip J. Pizlo, Gavin Barraclough
-
Patent number: 8977947Abstract: 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: GrantFiled: July 27, 2011Date of Patent: March 10, 2015Assignee: Apple Inc.Inventors: Donald D. Melton, Darin B. Adler, Alice Liu, Kevin W. Decker, Brady K. Eidson, Gavin Barraclough, Steven J. Falkenburg
-
Patent number: 8972952Abstract: 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: GrantFiled: September 14, 2012Date of Patent: March 3, 2015Assignee: Apple Inc.Inventors: Filip J. Pizlo, Gavin Barraclough
-
Publication number: 20140365794Abstract: 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: ApplicationFiled: June 6, 2014Publication date: December 11, 2014Inventors: Kevin W. Decker, Dean Jackson, Gavin Barraclough, Jon Lee, Craig Federighi, Maciej Stachowiak
-
Publication number: 20140137089Abstract: 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: ApplicationFiled: December 23, 2013Publication date: May 15, 2014Applicant: International Business Machines CorporationInventors: Gavin Barraclough, Kit Man Wan, ALexander B. Brown, David N. MacKintosh
-
Publication number: 20140047423Abstract: 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: ApplicationFiled: August 23, 2012Publication date: February 13, 2014Inventors: Filip J. Pizlo, Gavin Barraclough
-
Publication number: 20140047420Abstract: 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: ApplicationFiled: August 23, 2012Publication date: February 13, 2014Inventors: Filip J. Pizlo, Gavin Barraclough
-
Publication number: 20140047416Abstract: 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: ApplicationFiled: August 23, 2012Publication date: February 13, 2014Inventors: Filip J. Pizlo, Gavin Barraclough
-
Patent number: 8615749Abstract: 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: GrantFiled: May 27, 2005Date of Patent: December 24, 2013Assignee: International Business Machines CorporationInventors: Gavin Barraclough, Kit Man Wan, Alexander B Brown, David N Mackintosh
-
Publication number: 20130326492Abstract: 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: ApplicationFiled: June 1, 2012Publication date: December 5, 2013Inventors: Oliver J. Hunt, Ivan Krstic, Gavin Barraclough, Filip J. Pizlo
-
Publication number: 20130205281Abstract: 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: ApplicationFiled: September 14, 2012Publication date: August 8, 2013Applicant: APPLE INC.Inventors: Filip J. Pizlo, Gavin Barraclough
-
Publication number: 20130205388Abstract: 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: ApplicationFiled: September 14, 2012Publication date: August 8, 2013Applicant: Apple Inc.Inventors: Oliver J. Hunt, Gavin Barraclough, Filip J. Pizlo, Geoffrey Garen
-
Patent number: 8458674Abstract: 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: GrantFiled: June 19, 2007Date of Patent: June 4, 2013Assignee: International Business Machines CorporationInventors: Gavin Barraclough, Kit Man Wan, Abdul Rahman Hummaida
-
Publication number: 20120311491Abstract: 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: ApplicationFiled: July 27, 2011Publication date: December 6, 2012Applicant: APPLE INC.Inventors: Donald D. Melton, Darin B. Adler, Alice Liu, Kevin W. Decker, Brady K. Eidson, Gavin Barraclough, Steven J. Falkenburg
-
Patent number: 8108657Abstract: 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: GrantFiled: February 28, 2008Date of Patent: January 31, 2012Assignee: International Business Machines CorporationInventors: Gavin Barraclough, James Richard Mulcahy, David James Rigby