Patents by Inventor Nick Kledzik

Nick Kledzik 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: 20230393980
    Abstract: Techniques may include receiving a first request for a conformance check for a conformance pair, the conformance pair include a variable type and a particular protocol. The first request can identifying a first pointer. The technique can include determining a conformance check result is not cached for the conformance pair using the first pointer. In response to determining that the conformance check result is not cached for a variable, the electronic device may include performing the conformance check for the conformance pair and storing a result of the conformance check in an index table in persistent memory in association with at least a portion of bits in the first pointer. The technique can include referencing the index table on subsequent requests for a conformance check.
    Type: Application
    Filed: December 20, 2022
    Publication date: December 7, 2023
    Applicant: APPLE INC.
    Inventors: Mohamadou A. Abdoulaye, Peter Cooper, Michael J. Ash, Davide Italiano, Nick Kledzik
  • Publication number: 20230393824
    Abstract: 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: Application
    Filed: February 9, 2023
    Publication date: December 7, 2023
    Applicant: Apple Inc.
    Inventors: Louis G. Gerbarg, Joseph J. Bonasera, Davide Italiano, Nick Kledzik, Peter Cooper, Mohamadou A. Abdoulaye
  • Patent number: 11308160
    Abstract: 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: Grant
    Filed: September 28, 2018
    Date of Patent: April 19, 2022
    Assignee: Apple Inc.
    Inventors: Peter Cooper, Louis G. Gerbarg, Nick Kledzik
  • Patent number: 10606611
    Abstract: 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: Grant
    Filed: November 17, 2017
    Date of Patent: March 31, 2020
    Assignee: Apple Inc.
    Inventors: Louis G. Gerbarg, Dallas Blake De Atley, Nick Kledzik, Peter Cooper
  • Publication number: 20190370459
    Abstract: 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: Application
    Filed: September 28, 2018
    Publication date: December 5, 2019
    Inventors: PETER COOPER, LOUIS G. GERBARG, NICK KLEDZIK
  • Publication number: 20180349156
    Abstract: 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: Application
    Filed: November 17, 2017
    Publication date: December 6, 2018
    Inventors: Louis G. Gerbarg, Dallas Blake De Atley, Nick Kledzik, Peter Cooper
  • Publication number: 20180260199
    Abstract: A method and an apparatus for application submission and distribution based on an intermediate code are described. The intermediate code may be received at a server device and stored in a data storage. The intermediate code may have been built from a source code. The intermediate code may include one or more build options applied for building an executable code from the source code. The executable code may be provided to target devices of a processor platform to perform data processing operations specified in the source code. In one embodiment, a particular executable code may be generated from the intermediate code at the server device to target a particular processor platform according to the build options embedded in the intermediate code. The particular executable code may be forwarded to a device requesting for an application corresponding to the particular executable code to perform the data processing operations.
    Type: Application
    Filed: May 9, 2018
    Publication date: September 13, 2018
    Inventors: Evan Cheng, Robert P. Wilson, Christopher Arthur Lattner, James Henry Grosbach, Nick Kledzik, Shengzhao Wu
  • Publication number: 20160357530
    Abstract: A method and an apparatus for application submission and distribution based on an intermediate code are described. The intermediate code may be received at a server device and stored in a data storage. The intermediate code may have been built from a source code. The intermediate code may include one or more build options applied for building an executable code from the source code. The executable code may be provided to target devices of a processor platform to perform data processing operations specified in the source code. In one embodiment, a particular executable code may be generated from the intermediate code at the server device to target a particular processor platform according to the build options embedded in the intermediate code. The particular executable code may be forwarded to a device requesting for an application corresponding to the particular executable code to perform the data processing operations.
    Type: Application
    Filed: June 5, 2015
    Publication date: December 8, 2016
    Inventors: Evan Cheng, Robert P. Wilson, Christopher Arthur Lattner, James Henry Grosbach, Nick Kledzik, Shengzhao Wu
  • Patent number: 7743371
    Abstract: A system and method for dynamically loading object modules is described herein. In one embodiment, the method comprising loading a first set of instructions into a memory unit, wherein the first set of instructions includes an unresolved reference to a second set of instructions, and wherein the loading includes replacing the unresolved reference with an address of a third set of instructions. The method also includes executing instructions of the first set and executing instructions of the third set to determine the address of the second set. The method also includes loading instructions of the second set into the memory unit, after determining the address of the second set. Additionally, the method includes executing instructions of the second set.
    Type: Grant
    Filed: March 10, 2004
    Date of Patent: June 22, 2010
    Assignee: Apple Inc.
    Inventors: Steve Naroff, Kevin Enderby, Nick Kledzik