Patents by Inventor James Grey
James 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: 20230032474Abstract: 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: ApplicationFiled: October 12, 2022Publication date: February 2, 2023Inventors: David James Grey, Mohmed Salim Valera
-
Patent number: 11487111Abstract: 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: GrantFiled: March 16, 2018Date of Patent: November 1, 2022Assignee: Snap Inc.Inventors: David James Grey, Mohmed Salim Valera
-
Publication number: 20200110261Abstract: 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: ApplicationFiled: March 16, 2018Publication date: April 9, 2020Inventors: David James Grey, Mohmed Salim Valera
-
Patent number: 9495265Abstract: 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: GrantFiled: August 13, 2013Date of Patent: November 15, 2016Assignee: National Instruments CorporationInventor: James A. Grey
-
Publication number: 20140006867Abstract: 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: ApplicationFiled: June 28, 2013Publication date: January 2, 2014Inventor: James A. Grey
-
Publication number: 20140006868Abstract: 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: ApplicationFiled: August 28, 2013Publication date: January 2, 2014Inventors: James A. Grey, David A. Rohacek
-
Publication number: 20140006860Abstract: 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: ApplicationFiled: August 13, 2013Publication date: January 2, 2014Applicant: NATIONAL INSTRUMENTS CORPORATIONInventor: James A. Grey
-
Patent number: 8234089Abstract: 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: GrantFiled: November 7, 2002Date of Patent: July 31, 2012Assignee: National Instruments CorporationInventors: James A. Grey, Daniel Elizalde
-
Patent number: 7954009Abstract: 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: GrantFiled: March 6, 2009Date of Patent: May 31, 2011Assignee: National Instruments CorporationInventor: James A. Grey
-
Patent number: 7613954Abstract: 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: GrantFiled: April 15, 2005Date of Patent: November 3, 2009Assignee: National Instruments CorporationInventors: James A. Grey, Erik Crank
-
Publication number: 20090172476Abstract: 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: ApplicationFiled: March 6, 2009Publication date: July 2, 2009Inventor: James A. Grey
-
Test executive which provides heap validity checking and memory leak detection for user code modules
Patent number: 7519867Abstract: 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: GrantFiled: April 7, 2005Date of Patent: April 14, 2009Assignee: National Instruments CorporationInventor: James A. Grey -
Patent number: 7480826Abstract: 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: GrantFiled: April 7, 2005Date of Patent: January 20, 2009Assignee: National Instruments CorporationInventor: James A. Grey
-
Patent number: 7451358Abstract: 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: GrantFiled: April 7, 2005Date of Patent: November 11, 2008Assignee: National Instruments CorporationInventors: James A. Grey, Hjalmar Perez
-
Patent number: 7210105Abstract: 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: GrantFiled: March 2, 2001Date of Patent: April 24, 2007Assignee: National Instruments CorporationInventors: Douglas Melamed, James Grey
-
Patent number: 7191361Abstract: 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: GrantFiled: August 31, 2001Date of Patent: March 13, 2007Assignee: National Instruments CorporationInventors: James Grey, Douglas Melamed
-
Publication number: 20060230318Abstract: 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: ApplicationFiled: April 7, 2005Publication date: October 12, 2006Inventor: James Grey
-
Patent number: 7111756Abstract: 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: GrantFiled: October 22, 2001Date of Patent: September 26, 2006Assignee: GW Pharma LimitedInventors: Matthew James Grey, Martin Philip Riddiford, Geoffrey William Guy, Rajiv Bobby Dave
-
Patent number: 7093249Abstract: 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: GrantFiled: March 2, 2001Date of Patent: August 15, 2006Assignee: National Instruments CorporationInventors: Douglas Melamed, James Grey
-
Patent number: 7076692Abstract: 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: GrantFiled: August 31, 2001Date of Patent: July 11, 2006Assignee: National Instruments CorporationInventor: James Grey