Patents by Inventor Nathaniel Begeman

Nathaniel Begeman 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: 11778430
    Abstract: A text messaging system that allows messaging apps to send one or more layer identifiers that can specify content for a layer and Z depth of that layer relative to other layers in a text message transcript such as a sent message layer and a received message layer.
    Type: Grant
    Filed: September 23, 2021
    Date of Patent: October 3, 2023
    Assignee: APPLE INC.
    Inventors: Bartosz Ciechanowski, Bhaskar P. Sarma, William R. Dahlberg, Eugene Bistolas, Olivier Gutknecht, Nathaniel Begeman
  • Publication number: 20220191653
    Abstract: A text messaging system that allows messaging apps to send one or more layer identifiers that can specify content for a layer and Z depth of that layer relative to other layers in a text message transcript such as a sent message layer and a received message layer.
    Type: Application
    Filed: September 23, 2021
    Publication date: June 16, 2022
    Inventors: Bartosz CIECHANOWSKI, Bhaskar P. SARMA, William R. DAHLBERG, Eugene BISTOLAS, Olivier GUTKNECHT, Nathaniel BEGEMAN
  • Patent number: 11159922
    Abstract: A text messaging system that allows messaging apps to send one or more layer identifiers that can specify content for a layer and Z depth of that layer relative to other layers in a text message transcript such as a sent message layer and a received message layer.
    Type: Grant
    Filed: July 29, 2019
    Date of Patent: October 26, 2021
    Assignee: Apple Inc.
    Inventors: Bartosz Ciechanowski, Bhaskar P. Sarma, William R. Dahlberg, Eugene Bistolas, Olivier Gutknecht, Nathaniel Begeman
  • Publication number: 20200029181
    Abstract: A text messaging system that allows messaging apps to send one or more layer identifiers that can specify content for a layer and Z depth of that layer relative to other layers in a text message transcript such as a sent message layer and a received message layer.
    Type: Application
    Filed: July 29, 2019
    Publication date: January 23, 2020
    Inventors: Bartosz Ciechanowski, Bhaskar P. Sarma, William R. Dahlberg, Eugene Bistolas, Olivier Gutknecht, Nathaniel Begeman
  • Patent number: 10368208
    Abstract: A text messaging system that allows messaging apps to send one or more layer identifiers that can specify content for a layer and Z depth of that layer relative to other layers in a text message transcript such as a sent message layer and a received message layer.
    Type: Grant
    Filed: January 6, 2017
    Date of Patent: July 30, 2019
    Assignee: APPLE INC.
    Inventors: Bartosz Ciechanowski, Bhaskar P. Sarma, William R. Dahlberg, Eugene Bistolas, Olivier Gutknecht, Nathaniel Begeman
  • Patent number: 10067797
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Grant
    Filed: September 26, 2016
    Date of Patent: September 4, 2018
    Assignee: Apple Inc.
    Inventors: Aaftab Munshi, Nathaniel Begeman
  • Patent number: 9946873
    Abstract: A method and an apparatus that provide secure executable codes generated during run time via a trusted compiler server are described. An application can send a service request to the compiler server to request executable codes. The compiler server can determine whether the service request is permitted to be served based on a security policy imposed and the security settings associated with the service request. Availability of certain compilers can be allowed if the application is authorized according to the service request.
    Type: Grant
    Filed: July 17, 2015
    Date of Patent: April 17, 2018
    Assignee: Apple Inc.
    Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
  • Patent number: 9880819
    Abstract: A method and an apparatus that instructs a compiler server to build or otherwise obtain a compiled code corresponding to a compilation request received from an application are described. The compiler server may be configured to compile source codes for a plurality of independent applications, each running in a separate process, using a plurality of independent compilers, each running in a separate compiler process. A search may be performed in a cache for a compiled code that satisfies a compilation request received from an application. A reply message including the compiled code can be provided for the application, wherein the compiled code is compiled in direct response to the request, or is obtained from the cache if the search identities in the cache the compiled code that satisfies the compilation request.
    Type: Grant
    Filed: February 7, 2014
    Date of Patent: January 30, 2018
    Assignee: Apple Inc.
    Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
  • Publication number: 20170359703
    Abstract: A text messaging system that allows messaging apps to send one or more layer identifiers that can specify content for a layer and Z depth of that layer relative to other layers in a text message transcript such as a sent message layer and a received message layer.
    Type: Application
    Filed: January 6, 2017
    Publication date: December 14, 2017
    Inventors: Bartosz Ciechanowski, Bhaskar P. Sarms, William R. Dahberg, Eugene Bistolas, Olivier Gutknechi, Nathaniel Begeman
  • Patent number: 9720726
    Abstract: A method and an apparatus that partition a total number of threads to concurrently execute executable codes compiled from a single source for target processing units in response to an API (Application Programming Interface) request from an application running in a host processing unit are described. The total number of threads is based on a multi-dimensional value for a global thread number specified in the API. The target processing units include GPUs (Graphics Processing Unit) and CPUs (Central Processing Unit). Thread group sizes for the target processing units are determined to partition the total number of threads according to either a dimension for a data parallel task associated with the executable codes or a dimension for a multi-dimensional value for a local thread group number. The executable codes are loaded to be executed in thread groups with the determined thread group sizes concurrently in the target processing units.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: August 1, 2017
    Assignee: Apple Inc.
    Inventors: Aaftab A. Munshi, Nathaniel Begeman
  • Publication number: 20170075730
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Application
    Filed: September 26, 2016
    Publication date: March 16, 2017
    Inventors: Aaftab Munshi, Nathaniel Begeman
  • Patent number: 9477525
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Grant
    Filed: December 21, 2015
    Date of Patent: October 25, 2016
    Assignee: Apple Inc.
    Inventors: Aaftab Munshi, Nathaniel Begeman
  • Publication number: 20160188371
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Application
    Filed: December 21, 2015
    Publication date: June 30, 2016
    Inventors: Aaftab Munshi, Nathaniel Begeman
  • Patent number: 9250697
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Grant
    Filed: January 24, 2014
    Date of Patent: February 2, 2016
    Assignee: Apple Inc.
    Inventors: Aaftab Munshi, Nathaniel Begeman
  • Publication number: 20150356292
    Abstract: A method and an apparatus that provide secure executable codes generated during run time via a trusted compiler server are described. An application can send a service request to the compiler server to request executable codes. The compiler server can determine whether the service request is permitted to be served based on a security policy imposed and the security settings associated with the service request. Availability of certain compilers can be allowed if the application is authorized according to the service request.
    Type: Application
    Filed: July 17, 2015
    Publication date: December 10, 2015
    Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
  • Patent number: 9117071
    Abstract: A method and an apparatus that provide secure executable codes generated during run time via a trusted compiler server are described. An application can send a service request to the compiler server to request executable codes. The compiler server can determine whether the service request is permitted to be served based on a security policy imposed and the security settings associated with the service request. Availability of certain compilers can be allowed if the application is authorized according to the service request.
    Type: Grant
    Filed: June 3, 2009
    Date of Patent: August 25, 2015
    Assignee: Apple Inc.
    Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
  • Publication number: 20140237457
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Application
    Filed: January 24, 2014
    Publication date: August 21, 2014
    Applicant: Apple Inc.
    Inventors: Aaftab Munshi, Nathaniel Begeman
  • Patent number: 8806513
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Grant
    Filed: October 5, 2012
    Date of Patent: August 12, 2014
    Assignee: Apple Inc.
    Inventors: Aaftab A. Munshi, Nathaniel Begeman
  • Publication number: 20140181797
    Abstract: A method and an apparatus that instructs a compiler server to build or otherwise obtain a compiled code corresponding to a compilation request received from an application are described. The compiler server may be configured to compile source codes for a plurality of independent applications, each running in a separate process, using a plurality of independent compilers, each running in a separate compiler process. A search may be performed in a cache for a compiled code that satisfies a compilation request received from an application. A reply message including the compiled code can be provided for the application, wherein the compiled code is compiled in direct response to the request, or is obtained from the cache if the search identities in the cache the compiled code that satisfies the compilation request.
    Type: Application
    Filed: February 7, 2014
    Publication date: June 26, 2014
    Applicant: Apple Inc.
    Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
  • Patent number: 8677329
    Abstract: A method and an apparatus that instructs a compiler server to build or otherwise obtain a compiled code corresponding to a compilation request received from an application are described. The compiler server may be configured to compile source codes for a plurality of independent applications, each running in a separate process, using a plurality of independent compilers, each running in a separate compiler process. A search may be performed in a cache for a compiled code that satisfies a compilation request received from an application. A reply message including the compiled code can be provided for the application, wherein the compiled code is compiled in direct response to the request, or is obtained from the cache if the search identifies in the cache the compiled code that satisfies the compilation request.
    Type: Grant
    Filed: June 3, 2009
    Date of Patent: March 18, 2014
    Assignee: Apple Inc.
    Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl