Patents Assigned to The MathWorks, Inc.
  • Patent number: 8255890
    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: October 20, 2008
    Date of Patent: August 28, 2012
    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: 8255889
    Abstract: A device, for performing parallel processing, includes a processor to receive one or more portions of an inner context of a program created for a technical computing environment, and allocate one or more portions of the inner context of the program to two or more labs for parallel execution. The processor is also configured to receive one or more results associated with the parallel execution of the one or more portions from the two or more labs, and provide the one or more results to an outer context of the program.
    Type: Grant
    Filed: October 20, 2008
    Date of Patent: August 28, 2012
    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
  • Publication number: 20120215508
    Abstract: A method, system and computer program product to define and utilize functions graphically is provided which may be used in the simulation of finite state machines. The functions may combine mathematical, logical, non-linear and comparative operations. The graphical elements of the function may be hidden for ease of display of various portions of a model.
    Type: Application
    Filed: April 30, 2012
    Publication date: August 23, 2012
    Applicant: THE MATHWORKS, INC.
    Inventors: Vijay RAGHAVAN, Jay Ryan TORGERSON
  • Patent number: 8250550
    Abstract: A computing device-implemented method includes initiating a single programming language, and identifying, via the single programming language, one or more data distribution schemes for executing a program. The method also includes 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 method further includes 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: October 20, 2008
    Date of Patent: August 21, 2012
    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: 8239844
    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: October 20, 2008
    Date of Patent: August 7, 2012
    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: 8239845
    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 receiving one or more portions of an inner context of a program created for a technical computing environment, allocating one or more portions of the inner context of the program to two or more labs for parallel execution, 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 an outer context of the program.
    Type: Grant
    Filed: October 20, 2008
    Date of Patent: August 7, 2012
    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: 8239846
    Abstract: A device for performing parallel processing includes a processor to initiate a single programming language, and identify, via the single programming language, one or more data distribution schemes for executing a program. The processor also transforms, 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 allocates the parallel program to two or more labs for parallel execution. The processor further receives one or more results associated with the parallel execution of the parallel program from the two or more labs, and provides the one or more results to the program.
    Type: Grant
    Filed: October 20, 2008
    Date of Patent: August 7, 2012
    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
  • Publication number: 20120197944
    Abstract: A system and method determines an object's lifetime. An object lifecycle engine may work with an object oriented environment. As objects are created, an object graph may be constructed having one or more roots. A root record graph may be constructed, and edges of the root record graph may point in an opposite direction than the edges of the object graph. As objects, entities, and references are added, removed, or deleted from within the environment, the object graph and the root record graph may be updated. A root finder may search the root record graph to determine whether a given root record is no longer rooted. If a root record is no longer rooted, then the object associated with that root record may be determined to be unreachable and at the end of its lifetime. If the root finder search is performed when references are removed, then objects may be destroyed in a deterministic manner.
    Type: Application
    Filed: March 31, 2011
    Publication date: August 2, 2012
    Applicant: The MathWorks, Inc.
    Inventor: David A. Foti
  • Patent number: 8234637
    Abstract: In an implementation, a computing device-implemented method includes identifying a non-blocking block in a graphical block diagram that includes the non-blocking block and other blocks, the other blocks including one or more non-blocking blocks, one or more blocking blocks, or a combination of one or more non-blocking blocks and one or more blocking blocks, determining whether one or more of the other blocks are dependent on an output from the non-blocking block, and partitioning execution of the non-blocking block into two or more execution stages, generating an order of execution of the graphical blocks, the order including a first stage of execution of the two or more execution stages for the non-blocking block, followed by an execution of one or more of the other blocks that have been determined not be dependent on the output from the non-blocking block, followed by a second stage of execution of the two or more execution stages.
    Type: Grant
    Filed: September 11, 2009
    Date of Patent: July 31, 2012
    Assignee: The Mathworks, Inc.
    Inventors: Rajiv Ghosh-Roy, John Edward Ciolfi
  • Patent number: 8234647
    Abstract: In an embodiment, a technique that may be used to report whether a shared resource in a model is accessed on a mutually exclusive basis by two or more resources in the model. The technique may include identifying the shared resource, determining if the shared resource is accessed on a mutual exclusive basis, generating a result based on the determination, and outputting the result.
    Type: Grant
    Filed: July 10, 2008
    Date of Patent: July 31, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Alongkrit Chutinan, Zhi Han
  • Patent number: 8234625
    Abstract: Pre-lookup index search blocks and multidimensional interpolation blocks that use the results of the pre-lookup index search blocks in a block diagram to graphically specify (and perform) multidimensional interpolation calculations. The pre-lookup index search and interpolation blocks are defined so as to provide for a separation of breakpoint set data and table data, thus enabling a user to explicitly manage the use of common breakpoint set data. A block diagram created using pre-lookup index search blocks and interpolation using pre-lookup index search blocks shows all tables that use a particular breakpoint set via graphical connections on the block diagram between the pre-lookup index search blocks and the interpolation using pre-lookup index search blocks.
    Type: Grant
    Filed: July 24, 2007
    Date of Patent: July 31, 2012
    Assignee: The MathWorks, Inc.
    Inventor: Robert O. Aberg
  • Patent number: 8234623
    Abstract: A mechanism for using stream objects in stream processing operations is provided. A definition of a class of stream objects used in stream processing algorithms can define output and update operations included in instances of the stream objects and the API (application programming interface) through which they may be called. The class definition may further include the type of state information to be held by the instantiated stream objects. An instance of the stream object may be instantiated in a text-based computing environment and the operations may be used to process streams of data.
    Type: Grant
    Filed: September 11, 2006
    Date of Patent: July 31, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Donald Paul Orofino, II, Michael James Longfritz
  • Patent number: 8234098
    Abstract: An integrated system for modeling, simulating and analyzing chemical and biochemical reactions includes a modeling environment for constructing a model of a chemical or biochemical reaction. The system also includes a simulation engine accepting as input the constructed model of the chemical or biochemical reaction and generating as output an expected result. An analysis environment communicates with the simulation engine and displays the expected result.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: July 31, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Ricardo E. Paxson, Joseph F. Hicklin, Ramamurthy Mani
  • Patent number: 8234630
    Abstract: The present invention provides a graphical model in a computing environment that enables a non-graphical entity to be a caller entity that executes a sequence of commands to call to a graphical or non-graphical entity that is a callee. The present invention also enables a graphical entity to be a caller to call a non-graphical entity as a callee. The present invention further allows graphical entities to have a variable number of input ports and output ports and provides the ability to use function overloading that is similar to function overloading provided in textual programming languages, such as C and C++. Further, the present invention allows the use of hyperlink between navigate between the caller and callee entities.
    Type: Grant
    Filed: May 3, 2006
    Date of Patent: July 31, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Vijay Raghavan, Pieter J. Mosterman, Yao Ren
  • Patent number: 8234105
    Abstract: Coverage data may be collected for a model. The coverage data may include model coverage data and code coverage data for test cases input to the model. The coverage data may be presented to a user as data indicating a correspondence between coverage outcomes for the model and coverage outcomes for the code used to implement the model.
    Type: Grant
    Filed: January 8, 2008
    Date of Patent: July 31, 2012
    Assignee: The Mathworks, Inc.
    Inventors: William J. Aldrich, Mirko Conrad
  • Patent number: 8230515
    Abstract: A device may include communication logic to receive a request to perform an activity on behalf of a client, where the activity is related to a primary application and a secondary application. The communication logic may send a response that allows the client to perform the activity when the client is authorized. The device may include evaluation logic to determine whether the client is related to the primary license and to determine whether a secondary license related to the secondary application is available. The evaluation logic may allocate the available secondary license to the client for use with the secondary application when the secondary license is available. The evaluation logic may authorize the client to perform the activity when the secondary license is allocated to the client.
    Type: Grant
    Filed: October 16, 2006
    Date of Patent: July 24, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Nathan E. Brewton, Victor Chudnovsky, Joe DiPietro, Jeff Wendlandt
  • Patent number: 8230424
    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 plugged. In the distributed computing environment, a job is created in a storage location to include one or more technical computing tasks and submitted to the arbitrary scheduler by transferring a reference to the storage location of the job. Since a reference to the storage location of the job is transferred to the scheduler, the interface with the scheduler can be implemented regardless of the scheduler. The scheduler then transfers the reference to the storage location of the job to one or more remote workers.
    Type: Grant
    Filed: August 1, 2005
    Date of Patent: July 24, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Loren Dean
  • Patent number: 8230395
    Abstract: Methods and systems are provided for automatically generating code from a graphical model representing a design to be implemented on components of a target computational hardware device. During the automatic code generating process, a memory mapping is automatically determined and generated to provide an optimization of execution of the program on the target device. The optimized memory mapping is incorporated into building the program executable from the automatically generated code of the graphical model.
    Type: Grant
    Filed: July 21, 2009
    Date of Patent: July 24, 2012
    Assignee: The MathWorks, Inc.
    Inventors: David Koh, Zijad Galijasevic
  • Patent number: 8230427
    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 plugged. In the distributed computing environment, a job is created in a storage location to include one or more technical computing tasks and submitted to the arbitrary scheduler by transferring a reference to the storage location of the job. Since a reference to the storage location of the job is transferred to the scheduler, the interface with the scheduler can be implemented regardless of the scheduler. The scheduler then transfers the reference to the storage location of the job to one or more remote workers.
    Type: Grant
    Filed: August 10, 2007
    Date of Patent: July 24, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Loren Dean
  • Patent number: 8225300
    Abstract: A device receives a program that includes one of a parallel construct or a distributed construct, creates a target component from the program, and integrates the target component into a target environment to produce a client program that is executable on multiple heterogeneous server platforms.
    Type: Grant
    Filed: July 29, 2008
    Date of Patent: July 17, 2012
    Assignee: The Mathworks, Inc.
    Inventors: Peter Hartwell Webb, Loren Dean, Anthony Paul Astolfi, Jocelyn Luke Martin, Richard John Alcock, James T. Stewart