Patents by Inventor Thomas John O'Brien
Thomas John O'Brien 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: 10796368Abstract: An electronic data insurance management system may prompt a user, for a selected insurance product, to identify an indemnity level for insuring against loss to one or more electronic data sets, receive input identifying the indemnity level, and link an identifier for one of the one or more electronic data sets with a data insurance policy or policy certificate defined by the identified indemnity level. The system may also create a data storage account for the one of the one or more electronic data sets on a data management system using the identifier such that an association is formed between the data storage account and the data insurance policy or policy certificate.Type: GrantFiled: December 7, 2011Date of Patent: October 6, 2020Assignee: CYBER INDEMNITY SOLUTIONS LIMITEDInventors: Christopher Roderick Olson, Ryan John Bothomley, Gerard Francis Mackie, Gregory Hugh Hodgkiss, Thomas John O'Brien
-
Patent number: 9195486Abstract: Observation and analysis based optimization of software code is disclosed. An expected value is chosen for a dynamic attribute that cannot be determined, prior to execution of the associated software code, to be guaranteed to have that expected value at runtime. An optimized version of the software code is generated, including one or more optimizations based on an assumption that the dynamic attribute will have the expected value. Non-exhaustive examples of a dynamic attribute include a variable type; a location in memory; a location in which a global object, property, or variable is stored; the contents of a global function or method; and a value of a global property or variable. A check is performed during execution of the optimized version of the software code, prior to executing the portion that has been optimized based on the assumption, to verify that the dynamic attribute has the expected value.Type: GrantFiled: July 30, 2010Date of Patent: November 24, 2015Assignee: Apple Inc.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Patent number: 9146759Abstract: Techniques for processing source code written in a traditionally interpreted language such as JavaScript, or another dynamic and/or interpreted language, are disclosed. In one example, compiled code associated with the source code is constructed and executed. An assumption on which a specific aspect of the compiled code is based (e.g., an optimization) is tested at a checkpoint of the compiled code. A roll over to fallback code is performed if the test indicates the assumption is not true.Type: GrantFiled: July 30, 2010Date of Patent: September 29, 2015Assignee: Apple Inc.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Patent number: 9137024Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for verifying a digital object obtained from a remote host. A system configured to practice the method downloads a first object from a first remote source and presents the user with a first request to allow access to the first object. Upon user approval, a multitude of characteristics associated with the object are stored to facilitate future uses of the object. When a second object is downloaded from a second remote source, the system checks the database for a stored user approval. Access to the second object is allowed if the multitude of characteristics associated with the first and second objects match. If the system does not find a match, the user is presented with a second request to allow access to the object.Type: GrantFiled: June 23, 2010Date of Patent: September 15, 2015Assignee: AppleInventors: Michael Alan Swingler, Thomas John O'Brien
-
Publication number: 20140337061Abstract: An electronic data insurance management system may prompt a user, for a selected insurance product, to identify an indemnity level for insuring against loss to one or more electronic data sets, receive input identifying the indemnity level, and link an identifier for one of the one or more electronic data sets with a data insurance policy or policy certificate defined by the identified indemnity level. The system may also create a data storage account for the one of the one or more electronic data sets on a data management system using the identifier such that an association is formed between the data storage account and the data insurance policy or policy certificate.Type: ApplicationFiled: December 7, 2011Publication date: November 13, 2014Applicant: DATA INSURANCE HOLDINGS LTD.Inventors: Christopher Roderick Olson, Ryan John Bothomley, Gerard Francis Mackie, Gregory Hugh Hodgkiss, Thomas John O'Brien
-
Patent number: 8826253Abstract: Delayed insertion of safepoint related code is disclosed. Optimization processing is performed with respect to an intermediate representation of a source code. The optimized intermediate representation is analyzed programmatically to identify a safepoint and insert safepoint related code associated with the safepoint. In some embodiments, analyzing the optimized intermediate representation programmatically comprises determining where to place the safepoint within a program structure of the source code as reflected in the intermediate representation.Type: GrantFiled: December 15, 2008Date of Patent: September 2, 2014Assignee: Apple Inc.Inventors: Victor Leonel Hernandez Porras, Roger Scott Hoover, Christopher Arthur Lattner, Thomas John O'Brien
-
Patent number: 8752016Abstract: A device-independent intermediate representation of a source code is generated and stored, e.g., in a memory or other storage mechanism. The stored intermediate representation of the source code is used to generate a device-specific machine code corresponding to the source code. The stored intermediate representation may be updated, e.g., periodically, for example by obtaining an updated version of the source code and compiling the updated source code to generate an updated intermediate representation. The stored intermediate representation may be based on source code received from a device that is synchronized with which a compiling device that generates the device-specific machine code. In some cases, the stored intermediate representation may be used to generate for each of a plurality of devices a corresponding device-specific machine code.Type: GrantFiled: December 15, 2008Date of Patent: June 10, 2014Assignee: Apple Inc.Inventors: Victor Leonel Hernandez Porras, Thomas John O'Brien, Roger Scott Hoover, Christopher Arthur Lattner, Eric Marshall Christopher, Pratik Solanki, Jia-Hong Chen, Michael Alan Kahl
-
Patent number: 8561045Abstract: Techniques for processing computer code are disclosed. In one example, an indication that a computer code is to begin execution at a portion of code other than a starting portion of the code is received, and a runtime state associated with the portion of the code at which execution is to begin is constructed. In some examples, execution of the portion of code is initiated. In some examples, a program counter associated with the portion of the code is used to initiate execution of the code. In some examples, the computer code comprises a fallback code associated with a previously executing code.Type: GrantFiled: July 30, 2010Date of Patent: October 15, 2013Assignee: Apple Inc.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Publication number: 20120030661Abstract: Observation and analysis based optimization of software code is disclosed. An expected value is chosen for a dynamic attribute that cannot be determined, prior to execution of the associated software code, to be guaranteed to have that expected value at runtime. An optimized version of the software code is generated, including one or more optimizations based on an assumption that the dynamic attribute will have the expected value. Non-exhaustive examples of a dynamic attribute include a variable type; a location in memory; a location in which a global object, property, or variable is stored; the contents of a global function or method; and a value of a global property or variable. A check is performed during execution of the optimized version of the software code, prior to executing the portion that has been optimized based on the assumption, to verify that the dynamic attribute has the expected value.Type: ApplicationFiled: July 30, 2010Publication date: February 2, 2012Applicant: APPLE INC.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Publication number: 20120030653Abstract: Techniques for processing source code written in a traditionally interpreted language such as JavaScript, or another dynamic and/or interpreted language, are disclosed. In one example, compiled code associated with the source code is constructed and executed. An assumption on which a specific aspect of the compiled code is based (e.g., an optimization) is tested at a checkpoint of the compiled code. A roll over to fallback code is performed if the test indicates the assumption is not true.Type: ApplicationFiled: July 30, 2010Publication date: February 2, 2012Applicant: APPLE INC.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Publication number: 20120030659Abstract: Techniques for processing computer code are disclosed. In one example, an indication that a computer code is to begin execution at a portion of code other than a starting portion of the code is received, and a runtime state associated with the portion of the code at which execution is to begin is constructed. In some examples, execution of the portion of code is initiated. In some examples, a program counter associated with the portion of the code is used to initiate execution of the code. In some examples, the computer code comprises a fallback code associated with a previously executing code.Type: ApplicationFiled: July 30, 2010Publication date: February 2, 2012Applicant: APPLE INC.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Publication number: 20110320808Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for verifying a digital object obtained from a remote host. A system configured to practice the method downloads a first object from a first remote source and presents the user with a first request to allow access to the first object. Upon user approval, a multitude of characteristics associated with the object are stored to facilitate future uses of the object. When a second object is downloaded from a second remote source, the system checks the database for a stored user approval. Access to the second object is allowed if the multitude of characteristics associated with the first and second objects match. If the system does not find a match, the user is presented with a second request to allow access to the object.Type: ApplicationFiled: June 23, 2010Publication date: December 29, 2011Applicant: Apple Inc.Inventors: Michael Alan Swingler, Thomas John O'Brien
-
Publication number: 20110208548Abstract: An agreement is created between a first entity and a second entity under which the second entity agrees to provide data protection services for use by a third entity. A backup copy of the third entity's data is created and maintained at a location controlled by the second entity. If the third entity suffers a data loss, a replacement copy of the data is generated from the backup copy. The first entity provides compensation for the second entity's efforts to restore the third entity's lost data. If the second entity is unable to restore the data, the third entity is compensated for its data loss.Type: ApplicationFiled: May 3, 2011Publication date: August 25, 2011Inventors: John Paul Conn, Thomas John O'Brien, Gregory Hugh Hodgkiss, Peter Kingsley Lake-Johns
-
Publication number: 20100153929Abstract: A device-independent intermediate representation of a source code is generated and stored, e.g., in a memory or other storage mechanism. The stored intermediate representation of the source code is used to generate a device-specific machine code corresponding to the source code. The stored intermediate representation may be updated, e.g., periodically, for example by obtaining an updated version of the source code and compiling the updated source code to generate an updated intermediate representation. The stored intermediate representation may be based on source code received from a device that is synchronized with which a compiling device that generates the device-specific machine code. In some cases, the stored intermediate representation may be used to generate for each of a plurality of devices a corresponding device-specific machine code.Type: ApplicationFiled: December 15, 2008Publication date: June 17, 2010Inventors: Victor Leonel Hernandez Porras, Thomas John O'Brien, Roger Scott Hoover, Christopher Arthur Lattner, Eric Marshall Christopher, Pratik Solanki, Jia-Hong Chen, Michael Alan Kahl
-
Publication number: 20100153935Abstract: Delayed insertion of safepoint related code is disclosed. Optimization processing is performed with respect to an intermediate representation of a source code. The optimized intermediate representation is analyzed programmatically to identify a safepoint and insert safepoint related code associated with the safepoint. In some embodiments, analyzing the optimized intermediate representation programmatically comprises determining where to place the safepoint within a program structure of the source code as reflected in the intermediate representation.Type: ApplicationFiled: December 15, 2008Publication date: June 17, 2010Inventors: Victor Leonel Hernandez Porras, Roger Scott Hoover, Christopher Arthur Lattner, Thomas John O'Brien
-
Publication number: 20100153912Abstract: Variable type knowledge based call specialization is disclosed. An indication is received that a variable that is an argument of a function or operation the behavior of which depends at least in part on a data type of the argument is of a first data type. Machine code that implements a first behavior that corresponds to the first data type, but not a second behavior that corresponds to a second data type other than the first data type, is generated for the function or operation.Type: ApplicationFiled: December 15, 2008Publication date: June 17, 2010Inventors: Victor Leonel Hernandez Porras, Roger Scott Hoover, Eric Marshall Christopher, Christopher Arthur Lattner, Thomas John O'Brien, Pratik Solanki, Jia-Hong Chen
-
Publication number: 20090204953Abstract: Transforming data structures between different programming languages is disclosed. In some embodiments, a transformation module is configured to transform objects between a first programming language and a second programming language. In some embodiments, an object defined in a first programming language is received, and data comprising the object defined in the first programming language is copied and used to create a corresponding object defined in a second programming language.Type: ApplicationFiled: May 23, 2008Publication date: August 13, 2009Inventors: Michael Alan Swingler, Scott Anthony Kovatch, Thomas John O'Brien