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: 11778430Abstract: 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: GrantFiled: September 23, 2021Date of Patent: October 3, 2023Assignee: APPLE INC.Inventors: Bartosz Ciechanowski, Bhaskar P. Sarma, William R. Dahlberg, Eugene Bistolas, Olivier Gutknecht, Nathaniel Begeman
-
Publication number: 20220191653Abstract: 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: ApplicationFiled: September 23, 2021Publication date: June 16, 2022Inventors: Bartosz CIECHANOWSKI, Bhaskar P. SARMA, William R. DAHLBERG, Eugene BISTOLAS, Olivier GUTKNECHT, Nathaniel BEGEMAN
-
Patent number: 11159922Abstract: 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: GrantFiled: July 29, 2019Date of Patent: October 26, 2021Assignee: Apple Inc.Inventors: Bartosz Ciechanowski, Bhaskar P. Sarma, William R. Dahlberg, Eugene Bistolas, Olivier Gutknecht, Nathaniel Begeman
-
Publication number: 20200029181Abstract: 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: ApplicationFiled: July 29, 2019Publication date: January 23, 2020Inventors: Bartosz Ciechanowski, Bhaskar P. Sarma, William R. Dahlberg, Eugene Bistolas, Olivier Gutknecht, Nathaniel Begeman
-
Patent number: 10368208Abstract: 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: GrantFiled: January 6, 2017Date of Patent: July 30, 2019Assignee: APPLE INC.Inventors: Bartosz Ciechanowski, Bhaskar P. Sarma, William R. Dahlberg, Eugene Bistolas, Olivier Gutknecht, Nathaniel Begeman
-
Patent number: 10067797Abstract: 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: GrantFiled: September 26, 2016Date of Patent: September 4, 2018Assignee: Apple Inc.Inventors: Aaftab Munshi, Nathaniel Begeman
-
Patent number: 9946873Abstract: 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: GrantFiled: July 17, 2015Date of Patent: April 17, 2018Assignee: Apple Inc.Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
-
Patent number: 9880819Abstract: 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: GrantFiled: February 7, 2014Date of Patent: January 30, 2018Assignee: Apple Inc.Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
-
Publication number: 20170359703Abstract: 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: ApplicationFiled: January 6, 2017Publication date: December 14, 2017Inventors: Bartosz Ciechanowski, Bhaskar P. Sarms, William R. Dahberg, Eugene Bistolas, Olivier Gutknechi, Nathaniel Begeman
-
Patent number: 9720726Abstract: 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: GrantFiled: June 27, 2012Date of Patent: August 1, 2017Assignee: Apple Inc.Inventors: Aaftab A. Munshi, Nathaniel Begeman
-
Publication number: 20170075730Abstract: 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: ApplicationFiled: September 26, 2016Publication date: March 16, 2017Inventors: Aaftab Munshi, Nathaniel Begeman
-
Patent number: 9477525Abstract: 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: GrantFiled: December 21, 2015Date of Patent: October 25, 2016Assignee: Apple Inc.Inventors: Aaftab Munshi, Nathaniel Begeman
-
Publication number: 20160188371Abstract: 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: ApplicationFiled: December 21, 2015Publication date: June 30, 2016Inventors: Aaftab Munshi, Nathaniel Begeman
-
Patent number: 9250697Abstract: 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: GrantFiled: January 24, 2014Date of Patent: February 2, 2016Assignee: Apple Inc.Inventors: Aaftab Munshi, Nathaniel Begeman
-
Publication number: 20150356292Abstract: 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: ApplicationFiled: July 17, 2015Publication date: December 10, 2015Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
-
Patent number: 9117071Abstract: 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: GrantFiled: June 3, 2009Date of Patent: August 25, 2015Assignee: Apple Inc.Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
-
Publication number: 20140237457Abstract: 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: ApplicationFiled: January 24, 2014Publication date: August 21, 2014Applicant: Apple Inc.Inventors: Aaftab Munshi, Nathaniel Begeman
-
Patent number: 8806513Abstract: 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: GrantFiled: October 5, 2012Date of Patent: August 12, 2014Assignee: Apple Inc.Inventors: Aaftab A. Munshi, Nathaniel Begeman
-
Publication number: 20140181797Abstract: 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: ApplicationFiled: February 7, 2014Publication date: June 26, 2014Applicant: Apple Inc.Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl
-
Patent number: 8677329Abstract: 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: GrantFiled: June 3, 2009Date of Patent: March 18, 2014Assignee: Apple Inc.Inventors: Robert Beretta, Nicholas William Burns, Nathaniel Begeman, Phillip Kent Miller, Geoffrey Grant Stahl