Patents by Inventor James A. Grey

James A. Grey 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).

  • Publication number: 20230032474
    Abstract: A waveguide is disclosed for use in an augmented reality or virtual reality display. The waveguide includes a plurality of optical structures exhibiting differences in refractive index from a surrounding waveguide medium. The optical structures are arranged in an array to provide at least two diffractive optical elements overlaid on one another in the waveguide. Each of the two diffractive optical elements is configured to receive light from an input direction and couple it towards the other diffractive optical element which can then act as an output diffractive optical element, providing outcoupled orders towards a viewer. The optical structures have a shape, when viewed in the plane of the waveguide, comprising a plurality of substantially straight sides having respective normal vectors at different angles and this can effectively reduce the amount of light that is coupled out of the waveguide on first interaction with the optical structures.
    Type: Application
    Filed: October 12, 2022
    Publication date: February 2, 2023
    Inventors: David James Grey, Mohmed Salim Valera
  • Patent number: 11487111
    Abstract: A waveguide is disclosed for use in an augmented reality or virtual reality display. The waveguide includes a plurality of optical structures (10, 20, 30, 40, 50, 60, 70, 80) exhibiting differences in refractive index from a surrounding waveguide medium. The optical structures are arranged in an array to provide at least two diffractive optical elements (H1, H2) overlaid on one another in the waveguide. Each of the two diffractive optical elements is configured to receive light from an input direction and couple it towards the other diffractive optical element which can then act as an output diffractive optical element, providing outcoupled orders towards a viewer. The optical structures have a shape, when viewed in the plane of the waveguide, comprising a plurality of substantially straight sides having respective normal vectors at different angles and this can effectively reduce the amount of light that is coupled out of the waveguide on first interaction with the optical structures.
    Type: Grant
    Filed: March 16, 2018
    Date of Patent: November 1, 2022
    Assignee: Snap Inc.
    Inventors: David James Grey, Mohmed Salim Valera
  • Publication number: 20200110261
    Abstract: A waveguide is disclosed for use in an augmented reality or virtual reality display. The waveguide includes a plurality of optical structures (10, 20, 30, 40, 50, 60, 70, 80) exhibiting differences in refractive index from a surrounding waveguide medium. The optical structures are arranged in an array to provide at least two diffractive optical elements (H1, H2) overlaid on one another in the waveguide. Each of the two diffractive optical elements is configured to receive light from an input direction and couple it towards the other diffractive optical element which can then act as an output diffractive optical element, providing outcoupled orders towards a viewer. The optical structures have a shape, when viewed in the plane of the waveguide, comprising a plurality of substantially straight sides having respective normal vectors at different angles and this can effectively reduce the amount of light that is coupled out of the waveguide on first interaction with the optical structures.
    Type: Application
    Filed: March 16, 2018
    Publication date: April 9, 2020
    Inventors: David James Grey, Mohmed Salim Valera
  • Patent number: 9495265
    Abstract: Test executive system and method of use. The system includes a test executive engine, configured to execute at least one test executive sequence to test at least one unit under test (UUT), a process model that specifies one or more function sequences for pre-test or post-test functionality for the test executive sequences, and a plug-in framework, configured to selectively incorporate one or more process model plug-in instances in the process model. Each process model plug-in instance specifies at least one respective function sequence for pre-test or post-test functionality for the test executive sequences.
    Type: Grant
    Filed: August 13, 2013
    Date of Patent: November 15, 2016
    Assignee: National Instruments Corporation
    Inventor: James A. Grey
  • Publication number: 20140006867
    Abstract: Test executive system and method of use. The system includes a test executive engine, configured to execute at least one test executive sequence to test at least one unit under test (UUT), a process model that specifies one or more function sequences for pre-test or post-test functionality for the test executive sequences, and a plug-in framework, configured to selectively incorporate one or more process model plug-in instances in the process model. Each process model plug-in instance specifies at least one respective function sequence for pre-test or post-test functionality for the test executive sequences.
    Type: Application
    Filed: June 28, 2013
    Publication date: January 2, 2014
    Inventor: James A. Grey
  • Publication number: 20140006868
    Abstract: Test executive system and method of use. The system includes a test executive engine, configured to execute at least one test executive sequence to test at least one unit under test (UUT), a process model that specifies one or more function sequences for pre-test or post-test functionality for the test executive sequences, and a plug-in framework, configured to selectively incorporate one or more process model plug-in instances in the process model. Each process model plug-in instance specifies at least one respective function sequence for pre-test or post-test functionality for the test executive sequences.
    Type: Application
    Filed: August 28, 2013
    Publication date: January 2, 2014
    Inventors: James A. Grey, David A. Rohacek
  • Publication number: 20140006860
    Abstract: Test executive system and method of use. The system includes a test executive engine, configured to execute at least one test executive sequence to test at least one unit under test (UUT), a process model that specifies one or more function sequences for pre-test or post-test functionality for the test executive sequences, and a plug-in framework, configured to selectively incorporate one or more process model plug-in instances in the process model. Each process model plug-in instance specifies at least one respective function sequence for pre-test or post-test functionality for the test executive sequences.
    Type: Application
    Filed: August 13, 2013
    Publication date: January 2, 2014
    Applicant: NATIONAL INSTRUMENTS CORPORATION
    Inventor: James A. Grey
  • Patent number: 8234089
    Abstract: System and method for performing a multiple tests on each of one or more units, where each of the tests requires a respective resource of a plurality of resources. A first test is performed on a unit using a first resource. During performance of the first test, a search is made for a second test, requiring a second resource, where the second resource is not currently being used. If the second test is found, the second test is performed on the unit, or a second unit, using the second resource, substantially concurrently with at least a portion of the first test being performed on the unit. Performing a test includes locking the respective resource to exclude use by other tests, including acquiring the resource, and unlocking the resource upon completion of the test, including releasing the resource for use in performing the respective test on another of the units.
    Type: Grant
    Filed: November 7, 2002
    Date of Patent: July 31, 2012
    Assignee: National Instruments Corporation
    Inventors: James A. Grey, Daniel Elizalde
  • Patent number: 7954009
    Abstract: A system and method for automatically detecting heap corruption errors and memory leak errors caused by user-supplied code modules that are called by steps of a test executive sequence. The test executive sequence may first 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. The test executive sequence may then be executed on a host computer under control of a test executive engine. For each step that calls a user-supplied code module, the test executive engine may perform certain actions to automatically detect whether the user-supplied code module causes a heap corruption error and/or automatically detect whether the user-supplied code module causes a memory leak error.
    Type: Grant
    Filed: March 6, 2009
    Date of Patent: May 31, 2011
    Assignee: National Instruments Corporation
    Inventor: James A. Grey
  • Patent number: 7613954
    Abstract: A system and method for detecting and/or preventing execution problems caused by user-supplied code modules that are called by steps of a test executive sequence. The test executive sequence may include a plurality of test executive steps. At least a subset of the steps may be configured to call user-supplied code modules. The test executive sequence may be executed on a host computer under control of a test executive engine. For each step that calls a user-supplied code module, the test executive engine may perform certain actions to detect and/or prevent execution problems caused by the user-supplied code module. For example, the test executive engine may be operable to automatically detect stack corruption caused by the user-supplied code module, may be operable to utilize stack safety buffers to avoid stack corruption problems caused by the user-supplied code module, and/or may include features for aiding a user in determining whether the user-supplied code module contains an uninitialized local variable.
    Type: Grant
    Filed: April 15, 2005
    Date of Patent: November 3, 2009
    Assignee: National Instruments Corporation
    Inventors: James A. Grey, Erik Crank
  • Publication number: 20090172476
    Abstract: A system and method for automatically detecting heap corruption errors and memory leak errors caused by user-supplied code modules that are called by steps of a test executive sequence. The test executive sequence may first 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. The test executive sequence may then be executed on a host computer under control of a test executive engine. For each step that calls a user-supplied code module, the test executive engine may perform certain actions to automatically detect whether the user-supplied code module causes a heap corruption error and/or automatically detect whether the user-supplied code module causes a memory leak error.
    Type: Application
    Filed: March 6, 2009
    Publication date: July 2, 2009
    Inventor: James A. Grey
  • Patent number: 7519867
    Abstract: A system and method for automatically detecting heap corruption errors and memory leak errors caused by user-supplied code modules that are called by steps of a test executive sequence. The test executive sequence may first 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. The test executive sequence may then be executed on a host computer under control of a test executive engine. For each step that calls a user-supplied code module, the test executive engine may perform certain actions to automatically detect whether the user-supplied code module causes a heap corruption error and/or automatically detect whether the user-supplied code module causes a memory leak error.
    Type: Grant
    Filed: April 7, 2005
    Date of Patent: April 14, 2009
    Assignee: National Instruments Corporation
    Inventor: James A. Grey
  • Patent number: 7480826
    Abstract: A system and method for isolating execution of user-supplied code modules that are called by steps of a test executive sequence. The test executive sequence may first 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. The test executive sequence may then be executed on a host computer under control of a test executive engine. For each step that calls a user-supplied code module, the test executive engine may invoke the user-supplied code module for execution in a separate process other than the process in which the test executive engine executes.
    Type: Grant
    Filed: April 7, 2005
    Date of Patent: January 20, 2009
    Assignee: National Instruments Corporation
    Inventor: James A. Grey
  • Patent number: 7451358
    Abstract: A test executive sequence may be created by including a plurality of test executive steps in the test executive sequence in response to user input to a sequence editor. At least a subset of the test executive steps in the test executive sequence may be configured to call user-supplied code modules. In one embodiment, one or more expressions may be configured for one or more steps in the test executive sequence, where the one or more expressions evaluate to result values to be logged when the step is executed during execution of the test executive sequence. In another embodiment, one or more parameters of one or more user-supplied code modules called by steps in the test executive sequence may be configured to be logged when the test executive sequence is executed.
    Type: Grant
    Filed: April 7, 2005
    Date of Patent: November 11, 2008
    Assignee: National Instruments Corporation
    Inventors: James A. Grey, Hjalmar Perez
  • 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
  • Publication number: 20060230318
    Abstract: A test executive sequence may be created by including a plurality of test executive steps in the test executive sequence in response to user input to a sequence editor. At least a subset of the test executive steps in the test executive sequence may be configured to call user-supplied code modules. In one embodiment, one or more expressions may be configured for one or more steps in the test executive sequence, where the one or more expressions evaluate to result values to be logged when the step is executed during execution of the test executive sequence. In another embodiment, one or more parameters of one or more user-supplied code modules called by steps in the test executive sequence may be configured to be logged when the test executive sequence is executed.
    Type: Application
    Filed: April 7, 2005
    Publication date: October 12, 2006
    Inventor: James Grey
  • Patent number: 7111756
    Abstract: A dispensing system for controlled, especially remote controlled, dispensing of medicaments is disclosed. The system consists of a dispensing mechanism adapted to receive a sealed or resealable container of material to be dispensed and to validate that it is the correct material, and which includes a mechanical actuation mechanism which, when actuated, causes a measured dose of material to be dispensed from the material container. The mechanical actuation mechanism may be inhibited from operation by a locking mechanism which, when actuated, locks the device against the further dispensing of a dose of material until release in accordance with the desired dispensing programme, e.g. until a certain time period has elapsed, or until the programme permits dispensing to occur on some other basis. The dispensing system may be in two parts, a hand-held hand-actuated dispensing mechanism (1) and a base or docking station (2) into which the hand-held unit may be placed in order to release the locking mechanism.
    Type: Grant
    Filed: October 22, 2001
    Date of Patent: September 26, 2006
    Assignee: GW Pharma Limited
    Inventors: Matthew James Grey, Martin Philip Riddiford, Geoffrey William Guy, Rajiv Bobby Dave
  • 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
  • Patent number: 7076692
    Abstract: A system and method for enabling execution stop and re-start of a test executive sequence or hierarchy of test executive sequences. Execution progress of a test executive sequence or test executive sequence hierarchy may be periodically stored. This may comprise performing or taking “snapshots” of the execution at various points during the execution. Performing a snapshot may comprise saving all data needed to restore and re-start the execution at the respective point. The criteria of when and where to perform the snapshots may be any of various criteria and may be specified in any of various ways.
    Type: Grant
    Filed: August 31, 2001
    Date of Patent: July 11, 2006
    Assignee: National Instruments Corporation
    Inventor: James Grey