Patents by Inventor Louis G. Gerbarg
Louis G. Gerbarg 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: 20230393824Abstract: A dynamic linking system can be designed to dynamically resolve symbol references of pages associated with executable code as the pages are paged into virtual memory. The operating system can include a dynamic linker that uses metadata in the pages to determine symbol references that reference other code or values. Other code can include code in shared libraries. The dynamic linker can generate a data structure containing the symbol references in a small and dense format. The dynamic linker can send the data structure and other relevant data to the kernel once the symbol references have been identified. The kernel can perform the functions related to resolving the symbol references. For example, the kernel can resolve the symbol by determining a pointer value for the symbol, wherein the pointer value can be used to point to code or values. The kernel can resolve the symbol references and store the data structure, which contains the resolved symbol references.Type: ApplicationFiled: February 9, 2023Publication date: December 7, 2023Applicant: Apple Inc.Inventors: Louis G. Gerbarg, Joseph J. Bonasera, Davide Italiano, Nick Kledzik, Peter Cooper, Mohamadou A. Abdoulaye
-
Patent number: 11748468Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.Type: GrantFiled: October 8, 2021Date of Patent: September 5, 2023Assignee: Apple Inc.Inventors: Bernard J. Semeria, Devon S. Andrade, Jeremy C. Andrus, Ahmed Bougacha, Peter Cooper, Jacques Fortier, Louis G. Gerbarg, James H. Grosbach, Robert J. McCall, Daniel A. Steffen, Justin R. Unger
-
Patent number: 11308160Abstract: One embodiment provides for a computer-implemented method comprising generating a linked list table including a first component having linking data to be stored in a table data structure for one or more rebase and bind operations and second a component having instructions to implement the table data structure to perform the rebase and bind operations according to a linked list chain and executing the instructions in the second component of the linked list table to perform the one or more rebase and bind operations based on the linked list chain.Type: GrantFiled: September 28, 2018Date of Patent: April 19, 2022Assignee: Apple Inc.Inventors: Peter Cooper, Louis G. Gerbarg, Nick Kledzik
-
Publication number: 20220027452Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.Type: ApplicationFiled: October 8, 2021Publication date: January 27, 2022Applicant: Apple Inc.Inventors: Bernard J. Semeria, Devon S. Andrade, Jeremy C. Andrus, Ahmed Bougacha, Peter Cooper, Jacques Fortier, Louis G. Gerbarg, James H. Grosbach, Robert J. McCall, Daniel A. Steffen, Justin R. Unger
-
Patent number: 11144631Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.Type: GrantFiled: August 13, 2019Date of Patent: October 12, 2021Assignee: Apple Inc.Inventors: Bernard J. Semeria, Devon S. Andrade, Jeremy C. Andrus, Ahmed Bougacha, Peter Cooper, Jacques Fortier, Louis G. Gerbarg, James H. Grosbach, Robert J. McCall, Daniel A. Steffen, Justin R. Unger
-
Patent number: 11093601Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.Type: GrantFiled: October 25, 2019Date of Patent: August 17, 2021Assignee: Apple Inc.Inventors: Bernard J. Semeria, Devon S. Andrade, Jeremy C. Andrus, Ahmed Bougacha, Peter Cooper, Jacques Fortier, Louis G. Gerbarg, James H. Grosbach, Robert J. McCall, Daniel A. Steffen, Justin R. Unger
-
Patent number: 10983803Abstract: Embodiments described herein provide for system and methods to enable an operating environment that supports multi-OS applications. One embodiment provides for a non-transitory machine-readable medium storing instructions to perform operations comprising parsing a set of object files to generate a graph of code and data for each object file, group elements from the graphs of code and data into a master graph of elements, and generating an annotated output file including compiled code for the dynamic library, the annotated output file having a header and a first set of load commands, the first set of load commands to specify multiple target platforms for the dynamic library.Type: GrantFiled: August 17, 2018Date of Patent: April 20, 2021Assignee: Apple Inc.Inventors: Michael D. Trent, Louis G. Gerbarg, Patrick O. Heynen, Ali T. Ozer, Jeremiah R. Sequoia
-
Patent number: 10891369Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.Type: GrantFiled: October 25, 2019Date of Patent: January 12, 2021Assignee: Apple Inc.Inventors: Bernard J. Semeria, Devon S. Andrade, Jeremy C. Andrus, Ahmed Bougacha, Peter Cooper, Jacques Fortier, Louis G. Gerbarg, James H. Grosbach, Robert J. McCall, Daniel A. Steffen, Justin R. Unger
-
Patent number: 10606611Abstract: Disclosed herein are techniques for performing dynamic linking at a computing device. According to some embodiments, the techniques can involve receiving a request to perform a dynamic linking of a software application. The request can be issued in conjunction with installing the software application, launching the software application for a first time, and so on. In response to the request, a closure file can be generated based on different properties associated with the software application (e.g., environment variables, object files, etc.). Notably, the closure file is generated “out-of-process” relative to the execution environment of the software application. Additionally, the techniques can involve caching the closure file such that the closure file is accessible to the software application. In turn, the software application can utilize the closure file at launch/execution times to reduce a number of dynamic linking operations that otherwise are required to take place using conventional approaches.Type: GrantFiled: November 17, 2017Date of Patent: March 31, 2020Assignee: Apple Inc.Inventors: Louis G. Gerbarg, Dallas Blake De Atley, Nick Kledzik, Peter Cooper
-
Publication number: 20200082069Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.Type: ApplicationFiled: October 25, 2019Publication date: March 12, 2020Inventors: Bernard J. Semeria, Devon S. Andrade, Jeremy C. Andrus, Ahmed Bougacha, Peter Cooper, Jacques Fortier, Louis G. Gerbarg, James H. Grosbach, Robert J. McCall, Daniel A. Steffen, Justin R. Unger
-
Publication number: 20200082070Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.Type: ApplicationFiled: October 25, 2019Publication date: March 12, 2020Inventors: Bernard J. Semeria, Devon S. Andrade, Jeremy C. Andrus, Ahmed Bougacha, Peter Cooper, Jacques Fortier, Louis G. Gerbarg, James H. Grosbach, Robert J. McCall, Daniel A. Steffen, Justin R. Unger
-
Publication number: 20200082066Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.Type: ApplicationFiled: August 13, 2019Publication date: March 12, 2020Inventors: Bernard J. Semeria, Devon S. Andrade, Jeremy C. Andrus, Ahmed Bougacha, Peter Cooper, Jacques Fortier, Louis G. Gerbarg, James H. Grosbach, Robert J. McCall, Daniel A. Steffen, Justin R. Unger
-
Publication number: 20190370459Abstract: One embodiment provides for a computer-implemented method comprising generating a linked list table including a first component having linking data to be stored in a table data structure for one or more rebase and bind operations and second a component having instructions to implement the table data structure to perform the rebase and bind operations according to a linked list chain and executing the instructions in the second component of the linked list table to perform the one or more rebase and bind operations based on the linked list chain.Type: ApplicationFiled: September 28, 2018Publication date: December 5, 2019Inventors: PETER COOPER, LOUIS G. GERBARG, NICK KLEDZIK
-
Publication number: 20190369985Abstract: Embodiments described herein provide for system and methods to enable an operating environment that supports multi-OS applications. One embodiment provides for a non-transitory machine-readable medium storing instructions to perform operations comprising parsing a set of object files to generate a graph of code and data for each object file, group elements from the graphs of code and data into a master graph of elements, and generating an annotated output file including compiled code for the dynamic library, the annotated output file having a header and a first set of load commands, the first set of load commands to specify multiple target platforms for the dynamic library.Type: ApplicationFiled: August 17, 2018Publication date: December 5, 2019Inventors: MICHAEL D. TRENT, LOUIS G. GERBARG, PATRICK O. HEYNEN, ALI T. OZER, JEREMIAH R. SEQUOIA
-
Publication number: 20180349156Abstract: Disclosed herein are techniques for performing dynamic linking at a computing device. According to some embodiments, the techniques can involve receiving a request to perform a dynamic linking of a software application. The request can be issued in conjunction with installing the software application, launching the software application for a first time, and so on. In response to the request, a closure file can be generated based on different properties associated with the software application (e.g., environment variables, object files, etc.). Notably, the closure file is generated “out-of-process” relative to the execution environment of the software application. Additionally, the techniques can involve caching the closure file such that the closure file is accessible to the software application. In turn, the software application can utilize the closure file at launch/execution times to reduce a number of dynamic linking operations that otherwise are required to take place using conventional approaches.Type: ApplicationFiled: November 17, 2017Publication date: December 6, 2018Inventors: Louis G. Gerbarg, Dallas Blake De Atley, Nick Kledzik, Peter Cooper
-
Patent number: 9921666Abstract: Methods and apparatuses for operating a portable device based on an accelerometer are described. According to one embodiment of the invention, it is determined whether a portable device is moving using an accelerometer. It is determined a moving pattern of the portable device based on movement data provided by the accelerometer. A media content is selected based on the moving pattern of the portable device. The selected media content is played via the portable device. Other methods and apparatuses are also described.Type: GrantFiled: April 6, 2010Date of Patent: March 20, 2018Assignee: APPLE INC.Inventors: Paul J. Wehrenberg, Aaron Leiba, Richard C. Williams, David R. Falkenburg, Louis G. Gerbarg, Ray L. Chang
-
Patent number: 9829999Abstract: Methods and apparatuses for operating a portable device based on an accelerometer are described. According to one embodiment of the invention, an accelerometer attached to a portable device detects a movement of the portable device. In response, a machine executable code is executed within the portable device to perform one or more predetermined user configurable operations. Other methods and apparatuses are also described.Type: GrantFiled: September 20, 2016Date of Patent: November 28, 2017Assignee: APPLE INC.Inventors: Paul J. Wehrenberg, Aaron Leiba, Richard C. Williams, David R. Falkenburg, Louis G. Gerbarg, Ray L. Chang
-
Patent number: 9575569Abstract: Methods and apparatuses for operating a portable device based on an accelerometer are described. According to one embodiment of the invention, an accelerometer attached to a portable device detects a movement of the portable device. In response, a machine executable code is executed within the portable device to perform one or more predetermined user configurable operations. Other methods and apparatuses are also described.Type: GrantFiled: January 26, 2015Date of Patent: February 21, 2017Assignee: APPLE INC.Inventors: Paul J. Wehrenberg, Aaron Leiba, Richard C. Williams, David R. Falkenburg, Louis G. Gerbarg, Ray L. Chang
-
Publication number: 20170010693Abstract: Methods and apparatuses for operating a portable device based on an accelerometer are described. According to one embodiment of the invention, an accelerometer attached to a portable device detects a movement of the portable device. In response, a machine executable code is executed within the portable device to perform one or more predetermined user configurable operations. Other methods and apparatuses are also described.Type: ApplicationFiled: September 20, 2016Publication date: January 12, 2017Inventors: Paul J. Wehrenberg, Aaron Leiba, Richard C. Williams, David R. Falkenburg, Louis G, Gerbarg, Ray L. Chang
-
Publication number: 20150130719Abstract: Methods and apparatuses for operating a portable device based on an accelerometer are described. According to one embodiment of the invention, an accelerometer attached to a portable device detects a movement of the portable device. In response, a machine executable code is executed within the portable device to perform one or more predetermined user configurable operations. Other methods and apparatuses are also described.Type: ApplicationFiled: January 26, 2015Publication date: May 14, 2015Inventors: Paul J. Wehrenberg, Aaron Leiba, Richard C. Williams, David R. Falkenburg, Louis G. Gerbarg, Ray L. Chang