Patents by Inventor Todd Austin
Todd Austin 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: 12639425Abstract: A method of securing a virtual address space against unauthorized access from an unauthorized agent includes generating a superimposed address space corresponding to the virtual address space, dilating the superimposed address space by inserting dummy memory at a plurality of locations in the superimposed address space, and displacing the superimposed address space by shifting a segment of the superimposed address space by a d-bit key. A computer processor includes a memory and a dedicated functional unit in a stage of a pipeline of the computer processor, the computer processor including an instruction that when executed by the dedicated functional unit causes the computer processor to translate one or more pointers between displaced and dilated address spaces of the memory and virtual address spaces of the memory.Type: GrantFiled: August 17, 2020Date of Patent: May 26, 2026Assignee: REGENTS OF THE UNIVERSITY OF MICHIGANInventors: Todd Austin, Valeria Bertacco, Mark Gallagher, Baris Kasikci, Lauren Biernacki
-
Patent number: 11748490Abstract: A computer system includes an ensemble moving target defense architecture that protects the computer system against attack using one or more composable protection layers that change each churn cycle, thereby requiring an attacker to acquire information needed for an attack (e.g., code and pointers) and successfully deploy the attack, before the layers have changed state. Each layer may deploy a respective attack information asset protection providing multiple respective attack protections each churn cycle, wherein the respective attack information asset protections may differ.Type: GrantFiled: December 30, 2021Date of Patent: September 5, 2023Assignee: REGENTS OF THE UNIVERSITY OF MICHIGANInventors: Todd Austin, Valeria Bertacco, Mark Gallagher, Baris Kasikci
-
Publication number: 20220277072Abstract: A method of securing a virtual address space against unauthorized access from an unauthorized agent includes generating a superimposed address space corresponding to the virtual address space, dilating the superimposed address space by inserting dununy memory at a plurality of locations in the superimposed address space, and displacing the superimposed address space by shifting a segment of the superimposed address space by a d-bit key. A computer processor includes a memory and a dedicated functional unit in a stage of a pipeline of the computer processor, the computer processor including an instruction that when executed by the dedicated functional unit causes the computer processor to translate one or more pointers between displaced and dilated address spaces of the memory and virtual address spaces of the memory.Type: ApplicationFiled: August 17, 2020Publication date: September 1, 2022Inventors: Todd Austin, Valeria Bertacco, Mark Gallagher, Baris Kasikci, Lauren Biernacki
-
Publication number: 20220129563Abstract: A computer system includes an ensemble moving target defense architecture that protects the computer system against attack using one or more composable protection layers that change each churn cycle, thereby requiring an attacker to acquire information needed for an attack (e.g., code and pointers) and successfully deploy the attack, before the layers have changed state. Each layer may deploy a respective attack information asset protection providing multiple respective attack protections each churn cycle, wherein the respective attack information asset protections may differ.Type: ApplicationFiled: December 30, 2021Publication date: April 28, 2022Inventors: Todd Austin, Valeria Bertacco, Mark Gallagher, Baris Kasikci
-
Patent number: 11232212Abstract: A computer system includes an ensemble moving target defense architecture that protects the computer system against attack using a plurality of composable protection layers that change each churn cycle, thereby requiring an attacker to acquire information needed for an attack (e.g., code and pointers) and successfully deploy the attack, before the layers have changed state. Each layer may deploy a different attack information asset protection providing multiple different attack protections each churn cycle.Type: GrantFiled: August 21, 2019Date of Patent: January 25, 2022Assignee: THE REGENTS OF THE UNIVERSITY OF MICHIGANInventors: Todd Austin, Valeria Bertacco, Mark Gallagher, Baris Kasikci
-
Publication number: 20200254582Abstract: A jig assembly is disclosed herein for holding a mower blade and a grinding tool during a sharpening operation on the mower blade. The jig assembly includes a mast, a fixture portion, and a jig portion. The fixture portion and jog portion can be mounted to the mast. The jig portion can include an arm and a tool-seat. The arm can include at least a first link and a second link movable relative to one another. The first link can be pivotally connected to the mast with a first pin defining an arm pivot axis. The first link and the second link can be interconnected whereby the second link is prevented from rotating in any plane that contains the arm pivot axis. The tool-seat can be disposed on the second link.Type: ApplicationFiled: March 2, 2018Publication date: August 13, 2020Inventor: TODD AUSTIN
-
Publication number: 20200110884Abstract: A computer system includes an ensemble moving target defense architecture that protects the computer system against attack using a plurality of composable protection layers that change each churn cycle, thereby requiring an attacker to acquire information needed for an attack (e.g., code and pointers) and successfully deploy the attack, before the layers have changed state. Each layer may deploy a different attack information asset protection providing multiple different attack protections each churn cycle.Type: ApplicationFiled: August 21, 2019Publication date: April 9, 2020Inventors: Todd Austin, Valeria Bertacco, Mark Gallagher
-
Patent number: 7598766Abstract: A fabrication technique called “component and polymorphic network,” in which semiconductor chips are made from small prefabricated bare electronic component dies, e.g., application specific integrated circuits (ASICs), that are assembled according to designer specifications, and bonded to a semiconductor substrate comprising the polymorphic network. The component and polymorphic network assembly has a low overhead for producing custom chips. In another exemplary embodiment, the polymorphic network can be combined with functional components in a single die. The interconnect scheme for ports on the polymorphic network can be configured or reconfigured with configuration data prior to the runtime of an application, to achieve different interconnect schemes.Type: GrantFiled: January 9, 2008Date of Patent: October 6, 2009Assignees: University of Washington, Microsoft Corporation, Regents of the U of MichiganInventors: Martha Mercaldi-Kim, Mark Oskin, John Davis, Todd Austin, Mojtaba Mehrara
-
Patent number: 7475394Abstract: A method for analyzing the performance of a program when running in an interpreted environment. An interpreter is a program that translates and executes another program. To analyze a binary in an interpreted environment, a mechanism is used to indicate points in the program at source, intermediate, or binary showing where information about the system is to be tracked/profiled/analyzed. Once these analysis points are determined, triggers are created in a separate file or inserted via program instrumentation into the binary to indicate to the interpreter when the analysis triggers need to be processed. The system being analyzed is then run via an interpreter. When one of these triggers occurs during execution, the interpreter calls analysis code passing it the appropriate information so that it may track statistics, metrics, and information about the program corresponding to the trigger.Type: GrantFiled: December 5, 2003Date of Patent: January 6, 2009Assignee: ARM LimitedInventors: Brad Calder, Todd Austin, Don Yang, Timothy Sherwood
-
Publication number: 20080164907Abstract: A fabrication technique called “component and polymorphic network,” in which semiconductor chips are made from small prefabricated bare electronic component dies, e.g., application specific integrated circuits (ASICs), that are assembled according to designer specifications, and bonded to a semiconductor substrate comprising the polymorphic network. The component and polymorphic network assembly has a low overhead for producing custom chips. In another exemplary embodiment, the polymorphic network can be combined with functional components in a single die. The interconnect scheme for ports on the polymorphic network can be configured or reconfigured with configuration data prior to the runtime of an application, to achieve different interconnect schemes.Type: ApplicationFiled: January 9, 2008Publication date: July 10, 2008Applicant: University of WashingtonInventors: Martha Mercaldi-Kim, Mark Oskin, John Davis, Todd Austin, Mojtaba Mehrara
-
Publication number: 20070288798Abstract: An integrated circuit includes a plurality of processing stages each including processing logic 2, a non-delayed latch 4, a delayed latch 8 and a comparator 6. The non-delayed latch 4 captures an output from the processing logic 2 at a non-delayed capture time. At a later delayed capture time, the delayed latch 8 also captures a value from the processing logic 2. The comparator 6 compares these values and if they are not equal this indicates that the non-delayed value was captured too soon and should be replaced by the delayed value. The non-delayed value is passed to the subsequent processing stage immediately following its capture and accordingly error recovery mechanisms are used to suppress the erroneous processing which has occurred by the subsequent processing stages, such as gating the clock and allowing the correct signal values to propagate through the subsequent processing logic before restarting the clock.Type: ApplicationFiled: August 16, 2007Publication date: December 13, 2007Applicants: ARM Limited, University of MichiganInventors: Krisztian Flautner, Todd Austin, David Blaauw, Trevor Mudge
-
Publication number: 20060200699Abstract: An integrated circuit 2 has a specified range of runtime-variable operating parameters. Data processing circuits 4 within the integrated circuit 2 have associated error detection and error repair mechanisms 6. When operating within a narrow typical-case range of runtime-variable operating parameters the data processing circuits 4 operate correctly and substantially without error. When operating outside of this typical-case range but inside the specified range of permitted values for the run-time variable operating parameters, then the error detection and error repair circuit 6 operate to repair the errors which occur.Type: ApplicationFiled: December 13, 2005Publication date: September 7, 2006Applicants: ARM Limited, The Regents of the University of MichiganInventors: Krisztian Flautner, David Bull, Todd Austin, David Blaauw, Trevor Mudge
-
Publication number: 20060018171Abstract: There is provided a memory for storing data comprising: a fast data reading mechanism operable to read a data value from said memory to generate a fast read result that is output from said memory for further processing; a slow data reading mechanism operable to read said data value from said memory to generate a slow read result available after said fast read result has been output for further processing, said slow data reading mechanism being less prone to error in reading said data value than said fast data reading mechanism; a comparator operable to compare said fast read result and said slow read result to detect if said fast read result differs from said slow read result; and error repair logic operable if said comparator detects that said fast read result differs from said slow read result to suppress said further processing using said fast read result, to output said slow read result in place of said fast read result and to restart said further processing based upon said slow read result.Type: ApplicationFiled: June 13, 2005Publication date: January 26, 2006Applicant: ARM LimitedInventors: Todd Austin, David Blaauw, Trevor Mudge, Dennis Sylvester, Krisztian Flautner
-
Publication number: 20050207521Abstract: A data processing apparatus and method are provided for recovering from errors in the data processing apparatus. The data processing apparatus comprises processing logic operable to perform a data processing operation, and a plurality of sampling circuits, each sampling circuit being located at a predetermined point in the processing logic and operable to sample a value of an associated digital signal generated by the processing logic at that predetermined point. Each of the sampling circuits includes a backup latch for storing a backup copy of the associated digital signal value, and at least one of the sampling circuits is operable to temporally sample the value of the associated digital signal at a first time and at at least one later time, and to store as a backup copy a selected one of the sampled values representing a correct value.Type: ApplicationFiled: February 4, 2005Publication date: September 22, 2005Applicants: ARM Limited, University of MichiganInventors: Seokwoo Lee, Todd Austin
-
Publication number: 20050125777Abstract: A method for analyzing the performance of a program when running in an interpreted environment. An interpreter is a program that translates and executes another program. To analyze a binary in an interpreted environment, a mechanism is used to indicate points in the program at source, intermediate, or binary showing where information about the system is to be tracked/profiled/analyzed. Once these analysis points are determined, triggers are created in a separate file or inserted via program instrumentation into the binary to indicate to the interpreter when the analysis triggers need to be processed. The system being analyzed is then run via an interpreter. When one of these triggers occurs during execution, the interpreter calls analysis code passing it the appropriate information so that it may track statistics, metrics, and information about the program corresponding to the trigger.Type: ApplicationFiled: December 5, 2003Publication date: June 9, 2005Inventors: Brad Calder, Todd Austin, Don Yang, Timothy Sherwood
-
Systematic and random error detection and recovery within processing stages of an integrated circuit
Publication number: 20050022094Abstract: An integrated circuit includes a plurality of processing stages each including processing logic 1014, a non-delayed signal-capture element 1016, a delayed signal-capture element 1018 and a comparator 1024. The non-delayed signal-capture element 1016 captures an output from the processing logic 1014 at a non-delayed capture time. At a later delayed capture time, the delayed signal-capture element 1018 also captures a value from the processing logic 1014. An error detection circuit 1026 and error correction circuit 1028 detect and correct random errors in the delayed value and supplies an error-checked delayed value to the comparator 1024. The comparator 1024 compares the error-checked delayed value and the non-delayed value and if they are not equal this indicates that the non-delayed value was captured too soon and should be replaced by the error-checked delayed value.Type: ApplicationFiled: July 23, 2004Publication date: January 27, 2005Inventors: Trevor Mudge, Todd Austin, David Blaauw, Krisztian Flautner