Patents by Inventor Douglas Melamed

Douglas Melamed 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: 7849444
    Abstract: A test executive sequence may be created by including a plurality of test executive steps in the test executive sequence and configuring at least a subset of the steps to call user-supplied code modules. One or more of the user-supplied code modules may take buffer parameters. The test executive sequence may be executed on a host computer under control of a test executive engine. When executing each step in the test executive sequence that calls a user-supplied code module that takes a buffer parameter, the test executive engine may be operable to perform several operations related to detecting a situation where the user-supplied code module writes outside the bounds of the buffer parameter and/or preventing the user-supplied code module from corrupting heap data if the user-supplied code module writes outside the bounds of the buffer parameter.
    Type: Grant
    Filed: March 16, 2005
    Date of Patent: December 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Douglas Melamed, Scott Richardson
  • Patent number: 7210105
    Abstract: System and method for synchronizing software execution in a computer system. Threads or processes executing in the computer system are synchronized via various types of synchronization objects. User input indicating a desire to specify a synchronization object operation is received, specifying a particular type of synchronization object on which to perform the operation, in response to which a graphical user interface, is displayed which is useable to specify a plurality of synchronization object operations, e.g., that are specific to a specified type of synchronization object. The graphical user interface enables the user to select a desired operation to perform on a synchronization object. The user may also specify additional configuration information for the operation.
    Type: Grant
    Filed: March 2, 2001
    Date of Patent: April 24, 2007
    Assignee: National Instruments Corporation
    Inventors: Douglas Melamed, James Grey
  • Patent number: 7191361
    Abstract: A system and method for asynchronous execution of a test executive subsequence. A first test executive sequence (calling sequence) may be created and configured to asynchronously call a second test executive sequence (subsequence). In one embodiment, a “subsequence call” step may be included in the first test executive sequence, wherein the subsequence call step is operable to asynchronously call the second test executive sequence when the subsequence call step is executed. In response to executing the first test executive sequence, the second test executive sequence may also be executed, asynchronously from the first test executive sequence. The user may specify various options affecting execution of the second test executive sequence (the subsequence). For example, the user may specify various aspects of the execution environment or execution location for the subsequence.
    Type: Grant
    Filed: August 31, 2001
    Date of Patent: March 13, 2007
    Assignee: National Instruments Corporation
    Inventors: James Grey, Douglas Melamed
  • Patent number: 7093249
    Abstract: A system and method for synchronizing execution of multiple processes or threads executing to perform tests of one or more units under test. One or more synchronization steps may be included in a test executive sequence, in response to user input requesting inclusion of the synchronization steps. Each synchronization step may be configured to perform a synchronization operation, in response to user input specifying the synchronization operation. The test executive sequence may then be executed multiple times concurrently, e.g., by multiple threads or processes, and the one or more synchronization steps in the test executive sequence may coordinate the execution of the multiple threads or processes to test the unit(s) under test.
    Type: Grant
    Filed: March 2, 2001
    Date of Patent: August 15, 2006
    Assignee: National Instruments Corporation
    Inventors: Douglas Melamed, James Grey
  • Publication number: 20060136876
    Abstract: A test executive sequence may be created by including a plurality of test executive steps in the test executive sequence and configuring at least a subset of the steps to call user-supplied code modules. One or more of the user-supplied code modules may take buffer parameters. The test executive sequence may be executed on a host computer under control of a test executive engine. When executing each step in the test executive sequence that calls a user-supplied code module that takes a buffer parameter, the test executive engine may be operable to perform several operations related to detecting a situation where the user-supplied code module writes outside the bounds of the buffer parameter and/or preventing the user-supplied code module from corrupting heap data if the user-supplied code module writes outside the bounds of the buffer parameter.
    Type: Application
    Filed: March 16, 2005
    Publication date: June 22, 2006
    Inventors: Douglas Melamed, Scott Richardson
  • Patent number: 6971084
    Abstract: A method for creating a computer program to be executed by a plurality of threads, in which the method utilizes a technique for execution synchronization referred to herein as a batch synchronization section. According to this technique, a plurality of threads may be associated with one another as a “batch” of threads. Each thread in the plurality (batch) of threads may execute the computer program simultaneously. The batch synchronization section may specify a portion of the computer program for which the execution of the portion by the plurality of threads is to be synchronized. In one embodiment different types of batch synchronization sections may be specified, wherein each type of batch synchronization section performs a different type of execution synchronization. In one embodiment the method may enable execution synchronization behavior for multiple concurrent executions of a test executive test sequence to be specified. The test sequence may include one or more batch synchronization sections.
    Type: Grant
    Filed: March 2, 2001
    Date of Patent: November 29, 2005
    Assignee: National Instruments Corporation
    Inventors: James Grey, Douglas Melamed, Jon Bellin
  • Patent number: 6754850
    Abstract: A method for creating a computer program to be executed by a plurality of threads, in which the method utilizes a technique for execution synchronization referred to herein as a batch synchronization section. According to this technique, a plurality of threads may be associated with one another as a “batch” of threads. Each thread in the plurality (batch) of threads may execute the computer program simultaneously. The batch synchronization section may specify a portion of the computer program for which the execution of the portion by the plurality of threads is to be synchronized. In one embodiment different types of batch synchronization sections may be specified, wherein each type of batch synchronization section performs a different type of execution synchronization. In one embodiment the method may enable execution synchronization behavior for multiple concurrent executions of a test executive test sequence to be specified.
    Type: Grant
    Filed: March 2, 2001
    Date of Patent: June 22, 2004
    Assignee: National Instruments Corporation
    Inventors: James Grey, Douglas Melamed, Jon Bellin
  • Publication number: 20030046016
    Abstract: A system and method for asynchronous execution of a test executive subsequence. A first test executive sequence (calling sequence) may be created and configured to asynchronously call a second test executive sequence (subsequence). In one embodiment, a “subsequence call” step may be included in the first test executive sequence, wherein the subsequence call step is operable to asynchronously call the second test executive sequence when the subsequence call step is executed. In response to executing the first test executive sequence, the second test executive sequence may also be executed, asynchronously from the first test executive sequence. The user may specify various options affecting execution of the second test executive sequence (the subsequence). For example, the user may specify various aspects of the execution environment or execution location for the subsequence.
    Type: Application
    Filed: August 31, 2001
    Publication date: March 6, 2003
    Inventors: James Grey, Douglas Melamed
  • Publication number: 20020124205
    Abstract: A method for creating a computer program to be executed by a plurality of threads, in which the method utilizes a technique for execution synchronization referred to herein as a batch synchronization section. According to this technique, a plurality of threads may be associated with one another as a “batch” of threads. Each thread in the plurality (batch) of threads may execute the computer program simultaneously. The batch synchronization section may specify a portion of the computer program for which the execution of the portion by the plurality of threads is to be synchronized. In one embodiment different types of batch synchronization sections may be specified, wherein each type of batch synchronization section performs a different type of execution synchronization. In one embodiment the method may enable execution synchronization behavior for multiple concurrent executions of a test executive test sequence to be specified.
    Type: Application
    Filed: March 2, 2001
    Publication date: September 5, 2002
    Inventors: James Grey, Douglas Melamed, Jon Bellin
  • Publication number: 20020124042
    Abstract: A system and method for synchronizing execution of multiple processes or threads executing to perform tests of one or more units under test. A test executive software application may enable a user to create a test sequence to test a unit under test, wherein the test sequence comprises a plurality of steps. In one embodiment, one or more synchronization steps may be included in the test sequence, in response to user input requesting inclusion of the synchronization steps. Each synchronization step may be configured to perform a synchronization operation, in response to user input specifying the synchronization operation. There may be multiple synchronization step types available for inclusion in a test sequence, wherein each synchronization step type corresponds to a particular type of synchronization object, such as a mutex synchronization object, a semaphore synchronization object, a queue synchronization object, etc.
    Type: Application
    Filed: March 2, 2001
    Publication date: September 5, 2002
    Inventors: Douglas Melamed, James Grey
  • Publication number: 20020124241
    Abstract: A method for creating a computer program to be executed by a plurality of threads, in which the method utilizes a technique for execution synchronization referred to herein is a batch synchronization section. According to this technique, a plurality of threads may be associated with one another as a “batch” of threads. Each thread in the plurality (batch) of threads may execute the computer program simultaneously. The batch synchronization section may specify a portion of the computer program for which the execution of the portion by the plurality of threads is to be synchronized. In one embodiment different types of batch synchronization sections may be specified, wherein each type of batch synchronization section performs a different type of execution synchronization. In one embodiment the method may enable execution synchronization behavior for multiple concurrent executions of a test executive test sequence to be specified.
    Type: Application
    Filed: March 2, 2001
    Publication date: September 5, 2002
    Inventors: James Grey, Douglas Melamed, Jon Bellin
  • Publication number: 20020122062
    Abstract: A system and method for synchronizing software execution in a computer system. Synchronizing software execution may comprise synchronizing the execution of threads and/or processes executing in the computer system. The threads or processes may be synchronized through the use of various types of synchronization objects. In various embodiments, various types of synchronization objects may be supported. In one embodiment of the method, user input indicating a desire to specify a synchronization object operation may be received. This user input may specify a particular type of synchronization object on which to perform the operation. For example, the user may select a “Configure Mutex” menu item. A graphical user interface, e.g., a dialog box or window, may be displayed in response to the user input indicating the desire to specify a synchronization object operation. The graphical user interface may be useable to specify a plurality of synchronization object operations, e.g.
    Type: Application
    Filed: March 2, 2001
    Publication date: September 5, 2002
    Inventors: Douglas Melamed, James Grey