Patents by Inventor Jocelyn Luke Martin

Jocelyn Luke Martin 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: 10684781
    Abstract: A device may include one or more processors. The device may receive program code that identifies operations to be performed with regard to a data set to determine an output value. The device may identify a plurality of read operations corresponding to the operations. The plurality of read operations may be performed to obtain respective inputs of the operations. The device may generate a first data structure that identifies the operations and the plurality of read operations. The device may identify two or more operations, of the operations, that receive a particular input. The device may generate a second data structure that includes a combined operation. The combined operation may be generated based on the two or more operations, and may be associated with fewer read operations than the two or more operations. The device may determine the output value based on the second data structure.
    Type: Grant
    Filed: July 21, 2016
    Date of Patent: June 16, 2020
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Penelope L. Anderson, Richard Amos, Edric Mark Ellis, Benjamin Tordoff, Danil Kirsanov, Wei Wang, Thomas P. Lane, Aaron J. Powers, Lucio Andrade-Cetto, Michael A. Procopio
  • Patent number: 9582330
    Abstract: A method and system is disclosed for providing a distributed technical computing environment for distributing technical computing tasks from a technical computing client to technical computing workers for execution of the tasks on one or more computers systems. Tasks can be defined on a technical computing client, and the tasks organized into jobs. The technical computing client can directly distribute tasks to one or more technical computing workers. Furthermore, the technical computing client can submit tasks, or jobs comprising tasks, to an automatic task distribution mechanism that distributes the tasks automatically to one or more technical computing workers providing technical computing services. The technical computing worker performs technical computing of tasks and the results of the execution of tasks may be provided to the technical computing client. Data associated with the tasks is managed by a programmable interface associated with a data storage repository.
    Type: Grant
    Filed: June 9, 2009
    Date of Patent: February 28, 2017
    Assignee: The MathWorks, Inc.
    Inventor: Jocelyn Luke Martin
  • Patent number: 9507634
    Abstract: A method and system is disclosed for providing a distributed technical computing environment for distributing technical computing tasks from a technical computing client to technical computing workers for execution of the tasks on one or more computers systems. Tasks can be defined on a technical computing client, and the tasks organized into jobs. The technical computing client can directly distribute tasks to one or more technical computing workers. Furthermore, the technical computing client can submit tasks, or jobs comprising tasks, to an automatic task distribution mechanism that distributes the tasks automatically to one or more technical computing workers providing technical computing services. The technical computing worker performs technical computing of tasks and the results of the execution of tasks may be provided to the technical computing client.
    Type: Grant
    Filed: April 30, 2014
    Date of Patent: November 29, 2016
    Assignee: The MathWorks, Inc.
    Inventors: Matthew A. Shawver, Jocelyn Luke Martin, Roy E. Lurie, Loren P. Dean, Cleve B. Moler, Eugene F. Mcgoldrick
  • Patent number: 9122488
    Abstract: A device receives program code, and receives size/type information associated with inputs to the program code. The device determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a graphical processing unit (GPU), and determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a central processing unit (CPU). The device compiles the GPU-executable portion of the program code to create a compiled GPU-executable portion of the program code, and compiles the CPU-executable portion of the program code to create a compiled CPU-executable portion of the program code. The device provides, to the GPU for execution, the compiled GPU-executable portion of the program code, and provides, to the CPU for execution, the compiled CPU-executable portion of the program code.
    Type: Grant
    Filed: June 27, 2014
    Date of Patent: September 1, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Joseph F. Hicklin
  • Patent number: 8990825
    Abstract: A device determines a number of portions of processes that require resources associated with the device, and receives resource usage information from the resources. The device also enables negotiations among the processes to determine a number of resources for respective ones of the processes based on the resource usage information, and allocates particular resources to particular portions of the respective ones of the processes based on the negotiations between the processes.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: March 24, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Christopher T. Newbold
  • Patent number: 8935682
    Abstract: A device initiates a technical computing environment (TCE), and receives, via the TCE, a program command that permits the TCE to access a graphical processing unit that is remote to the device, where the program command permits the TCE to seamlessly transfer data to the remote GPU. The device transforms, via the TCE, the program command into a program command that is executable by the remote GPU, and provides the transformed program command to the remote GPU for execution. The device also receives, from the remote GPU, one or more results associated with execution of the transformed program command by the remote GPU, and utilizes the one or more results via the TCE.
    Type: Grant
    Filed: September 6, 2013
    Date of Patent: January 13, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Halldor N. Stefansson, Edric Ellis, Jocelyn Luke Martin
  • Publication number: 20140310695
    Abstract: A device receives program code, and receives size/type information associated with inputs to the program code. The device determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a graphical processing unit (GPU), and determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a central processing unit (CPU). The device compiles the GPU-executable portion of the program code to create a compiled GPU-executable portion of the program code, and compiles the CPU-executable portion of the program code to create a compiled CPU-executable portion of the program code. The device provides, to the GPU for execution, the compiled GPU-executable portion of the program code, and provides, to the CPU for execution, the compiled CPU-executable portion of the program code.
    Type: Application
    Filed: June 27, 2014
    Publication date: October 16, 2014
    Inventors: Jocelyn Luke MARTIN, Joseph F. HICKLIN
  • Patent number: 8863130
    Abstract: A system initiates multiple instances of a concurrent computing process, establishes a communication channel among the multiple instances, initiates execution of a computational job on the multiple instances, detects an interrupt request on one of the multiple instances, and terminates execution of the computational job while maintaining communication among the multiple instances via the communication channel.
    Type: Grant
    Filed: June 26, 2012
    Date of Patent: October 14, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Edric Ellis, Jocelyn Luke Martin
  • Patent number: 8788316
    Abstract: A system is configured to receive a task. The task is received over a first network, includes authentication credentials, and is processed using an application. The system is further configured to send the authentication credentials to a licensing server. The authentication credentials are sent over a second network, and are sent prior to processing the task using the application. The system is also configured to receive an authorization. The authorization is received over the second network, and authorizes the application to process the task.
    Type: Grant
    Filed: December 6, 2011
    Date of Patent: July 22, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Amol M. Karnik, Christopher Hallgren, Loren Dean, Jocelyn Luke Martin
  • Patent number: 8769510
    Abstract: A device receives program code, and receives size/type information associated with inputs to the program code. The device determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a graphical processing unit (GPU), and determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a central processing unit (CPU). The device compiles the GPU-executable portion of the program code to create a compiled GPU-executable portion of the program code, and compiles the CPU-executable portion of the program code to create a compiled CPU-executable portion of the program code. The device provides, to the GPU for execution, the compiled GPU-executable portion of the program code, and provides, to the CPU for execution, the compiled CPU-executable portion of the program code.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: July 1, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Joseph F. Hicklin
  • Patent number: 8745254
    Abstract: A communication protocol is provided for processes to send and receive arbitrary data in a concurrent computing environment. The communication protocol enables a process to send or receive arbitrary data without a user or programmer specifying the attributes of the arbitrary data. The communication protocol automatically determines the attributes of the arbitrary data, for example, the type and/or size of the data and sends information on the attributes of the data to a process to which the data is to be sent. Based on the information on the attributes of the data, the receiving process can allocate appropriate memory space for the data to be received.
    Type: Grant
    Filed: November 13, 2006
    Date of Patent: June 3, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Edric Ellis, Jocelyn Luke Martin
  • Patent number: 8745624
    Abstract: A distributed computing system includes a device that creates a job to be performed by one or more workers, where the job includes a group of tasks. The device further encodes the job into a group of portable format files, where each portable format file includes one or more tasks of the group of tasks. Each portable format file may be handled by each scheduler of a group of different schedulers. The device also transfers the group of portable format files via a network of the distributed computing system and sends information related to the job to one scheduler of the group of different schedulers. The information allows the one scheduler to cause the group of portable format files to be distributed to the one or more workers.
    Type: Grant
    Filed: August 10, 2007
    Date of Patent: June 3, 2014
    Assignee: The Mathworks, Inc.
    Inventors: Jocelyn Luke Martin, Loren Dean
  • Patent number: 8726278
    Abstract: A method and system is disclosed for providing a distributed technical computing environment for distributing technical computing tasks from a technical computing client to technical computing workers for execution of the tasks on one or more computers systems. Tasks can be defined on a technical computing client, and the tasks organized into jobs. The technical computing client can directly distribute tasks to one or more technical computing workers. Furthermore, the technical computing client can submit tasks, or jobs comprising tasks, to an automatic task distribution mechanism that distributes the tasks automatically to one or more technical computing workers providing technical computing services. The technical computing worker performs technical computing of tasks and the results of the execution of tasks may be provided to the technical computing client.
    Type: Grant
    Filed: July 21, 2004
    Date of Patent: May 13, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Matt Shawver, Jocelyn Luke Martin, Roy Lurie, Loren Dean, Cleve Moler, Eugene McGoldrick
  • Patent number: 8707281
    Abstract: One or more computer-readable media store executable instructions that, when executed by processing logic, perform parallel processing. The media store one or more instructions for initiating a single programming language, and identifying, via the single programming language, one or more data distribution schemes for executing a program. The media also store one or more instructions for transforming, via the single programming language, the program into a parallel program with an optimum data distribution scheme selected from the one or more identified data distribution schemes, and allocating the parallel program to two or more labs for parallel execution. The media further store one or more instructions for receiving one or more results associated with the parallel execution of the parallel program from the two or more labs, and providing the one or more results to the program.
    Type: Grant
    Filed: July 23, 2012
    Date of Patent: April 22, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Piotr R. Luszczek, John N. Little, Jocelyn Luke Martin, Halldor N. Stefansson, Edric Ellis, Penelope L. Anderson, Brett Baker, Loren Dean, Roy E. Lurie
  • Patent number: 8707280
    Abstract: A computing device-implemented method includes receiving a program, analyzing and transforming the program, determining an inner context and an outer context of the program based on the analysis of the program, and allocating one or more portions of the inner context of the program to two or more labs for parallel execution. The method also includes receiving one or more results associated with the parallel execution of the one or more portions from the two or more labs, and providing the one or more results to the outer context of the program.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: April 22, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Halldor N Stefansson, Brett Baker, Edric Ellis, Joseph F Hicklin, John N Little, Jocelyn Luke Martin, Piotr R Luszczek, Nausheen B Moulana, Loren Dean, Roy E. Lurie
  • Patent number: 8688765
    Abstract: A method and system is disclosed for providing a distributed technical computing environment for distributing technical computing tasks from a technical computing client to technical computing workers for execution of the tasks on one or more computers systems. Tasks can be defined on a technical computing client, and the tasks organized into jobs. The technical computing client can directly distribute tasks to one or more technical computing workers. Furthermore, the technical computing client can submit tasks, or jobs comprising tasks, to an automatic task distribution mechanism that distributes the tasks automatically to one or more technical computing workers providing technical computing services. The technical computing worker performs technical computing of tasks and the results of the execution of tasks may be provided to the technical computing client. Data associated with the tasks is managed by a programmable interface associated with a data storage repository.
    Type: Grant
    Filed: June 9, 2009
    Date of Patent: April 1, 2014
    Assignee: The MathWorks, Inc.
    Inventor: Jocelyn Luke Martin
  • Publication number: 20140007059
    Abstract: A device initiates a technical computing environment (TCE), and receives, via the TCE, a program command that permits the TCE to access a graphical processing unit that is remote to the device, where the program command permits the TCE to seamlessly transfer data to the remote GPU. The device transforms, via the TCE, the program command into a program command that is executable by the remote GPU, and provides the transformed program command to the remote GPU for execution. The device also receives, from the remote GPU, one or more results associated with execution of the transformed program command by the remote GPU, and utilizes the one or more results via the TCE.
    Type: Application
    Filed: September 6, 2013
    Publication date: January 2, 2014
    Applicant: The MathWorkds, Inc.
    Inventors: Halldor N. STEFANSSON, Edric ELLIS, Jocelyn Luke MARTIN
  • Patent number: 8612980
    Abstract: A method, system and computer program product is disclosed for providing a distributed computing environment in which an arbitrary job manager or scheduler is able to be employed. In the distributed computing environment, a job is created in a host or client to include one or more technical computing tasks and submitted to the arbitrary scheduler in a portable format. Since the portable format of the job is independent of the platform structure of the scheduler, the schedule can handle the job regardless of the platform structure of the scheduler. The scheduler then transfers the job in the portable format to one or more remote workers. The present invention utilizes a portable format to submit the job to a scheduler and to distribute the job to remote workers so that any scheduler can receive and distribute the job to the remote workers.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: December 17, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Loren Dean
  • Patent number: 8533697
    Abstract: A device initiates a technical computing environment (TCE), and receives, via the TCE, a program command that permits the TCE to access a graphical processing unit that is remote to the device, where the program command permits the TCE to seamlessly transfer data to the remote GPU. The device transforms, via the TCE, the program command into a program command that is executable by the remote GPU, and provides the transformed program command to the remote GPU for execution. The device also receives, from the remote GPU, one or more results associated with execution of the transformed program command by the remote GPU, and utilizes the one or more results via the TCE.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: September 10, 2013
    Assignee: The MathWorks, Inc.
    Inventors: Halldor N. Stefansson, Edric Ellis, Jocelyn Luke Martin
  • Patent number: 8527973
    Abstract: A computing device-implemented method includes receiving a program created by a technical computing environment, analyzing the program, generating multiple program portions based on the analysis of the program, dynamically allocating the multiple program portions to multiple software units of execution for parallel programming, receiving multiple results associated with the multiple program portions from the multiple software units of execution, and providing the multiple results or a single result to the program.
    Type: Grant
    Filed: August 22, 2011
    Date of Patent: September 3, 2013
    Assignee: The MathWorks, Inc.
    Inventors: John N. Little, Joseph F. Hicklin, Jocelyn Luke Martin, Nausheen B. Moulana, Halldor N. Stefansson, Loren Dean, Roy E. Lurie, Stephen C. Johnson, Penelope L. Anderson, Michael E. Karr, Jason A. Kinchen