Geoffrey Schmit - Georgetown TX, US Brent Schwan - Austin TX, US Jonathan Brumley - Austin TX, US Thomas A. Makowski - Ausin TX, US Christopher T. Bartz - Austin TX, US
Assignee:
National Instruments Corporation - Austin TX
International Classification:
G06F017/00
US Classification:
702123, 702127, 702119
Abstract:
System and method for creating measurement applications. The system includes a measurement task specifier for generating a measurement task specification (MTS) for a measurement task in response to user input; an expert system for analyzing and validating the generated MTS, and generating a run-time specification (RTS) for the measurement task; a run-time builder for analyzing the RTS, configuring one or more measurement devices according to the RTS, and generating a run-time which is executable to perform the measurement task. The system includes a storage system for storing the generated MTS, the generated RTS, and configuration information for one or more measurement devices. The expert system includes one or more measurement experts which analyze all or part of the MTS and populate complete or partial RTSs. The partial RTSs are iteratively populated by other experts to form complete RTSs. Competing RTSs may be assessed and a final RTS selected based upon user preferences.
Measurements Expert System And Method For Generating High-Performance Measurements Software Drivers
Geoffrey Schmit - Georgetown TX, US Jonathan Brumley - Austin TX, US Brent Schwan - Austin TX, US Jack Levy - Austin TX, US
Assignee:
National Instruments Corporation - Austin TX
International Classification:
G06F017/00 G06F009/44
US Classification:
706 60, 717101
Abstract:
A measurements expert system and method for generating high-performance measurements software drivers. The measurements expert system is able to interpret a customer's measurement task specification (MTS) specifying a measurement task, explore possible solution paths, and generate a solution, e. g. , a run-time specification (RTS), optimized for the customer's measurement system. The expert system includes programs for analyzing and validating a received MTS, and a plurality of measurements experts which are operable to analyze all or part of the MTS and populate complete or partial RTSs. The partial RTSs are iteratively populated by other experts to form complete RTSs. Competing RTSs may be assessed and a final RTS selected based upon user preferences. The final RTS is useable to configure one or more measurement devices according to the RTS, and to generate a run-time which is executable to perform the specified measurement task using the one or more measurement devices.
System Of Measurements Experts And Method For Generating High-Performance Measurements Software Drivers
Geoffrey Schmit - Georgetown TX, US Jonathan Brumley - Austin TX, US Brent Schwan - Austin TX, US Jack Levy - Austin TX, US
Assignee:
National Instruments Corporation - Austin TX
International Classification:
G05B013/02
US Classification:
700 29, 702122, 702123
Abstract:
A measurements expert system and method for generating a high-performance measurements software driver. The measurements expert system translates a user's measurement task specification (MTS) specifying a measurement task into a solution, e. g. , a run-time specification (RTS), suitable for the user's measurement system. The expert system includes programs for analyzing and validating the received MTS, and for generating the RTS. The RTS is useable to configure measurement devices to perform the measurement task, and to generate a run-time which is executable to perform the specified measurement task. The expert system includes a plurality of experts, e. g. , device, channel, timing, reader/writer, control, and streaming experts, etc. , each class of which manages different aspects of the MTS. The expert system creates a device expert call tree of associated experts according to the configuration specified by the user, manages the configuration of the MTS, verifies the MTS, and compiles the MTS into the RTS.
Method And Apparatus For Optimizing The Responsiveness And Throughput Of A System Performing Packetized Data Transfers Using A Transfer Count Mark
Andrew B. Moch - Austin TX, US Aaron T. Rossetto - Austin TX, US Brent C. Schwan - Austin TX, US
Assignee:
National Instruments Corporation - Austin TX
International Classification:
G06F 15/16
US Classification:
709236, 709229, 370235, 370252
Abstract:
A mechanism for managing packetized data transfers in a system including a transmitting and a receiving device. The transmitting device may transmit data to the receiving device in a plurality of packets, each packet a predetermined number of data bytes wide. The transmitting device may include a transfer count unit to maintain a data transfer count based on a number of transmitted data bytes. The receiving device may program the transmitting device with a transfer count mark, which may be a number that corresponds to a specific count of the data transfer count. The transmitting device may calculate a difference between the data transfer count and the transfer count mark. If the difference between the transfer count and the transfer count mark is less than the predetermined number, the transmitting device may transmit a short data packet having less than the predetermined number of data bytes to the receiving device.
Optimizing The Responsiveness And Throughput Of A System Performing Packetized Data Transfers
Andrew B. Moch - Austin TX, US Aaron T. Rossetto - Austin TX, US Brent C. Schwan - Austin TX, US
Assignee:
National Instruments Corporation - Austin TX
International Classification:
G06F 15/16
US Classification:
709236, 709229, 709235, 370235, 370252
Abstract:
A mechanism for managing packetized data transfers in a system including a transmitting and a receiving device. The transmitting device may transmit data to the receiving device in a plurality of packets, each packet a predetermined number of data bytes wide. The transmitting device may include a transfer count unit to maintain a data transfer count based on a number of transmitted data bytes. The receiving device may program the transmitting device with a transfer count mark, which may be a number that corresponds to a specific count of the data transfer count. The transmitting device may calculate a difference between the data transfer count and the transfer count mark. If the difference between the transfer count and the transfer count mark is less than the predetermined number, the transmitting device may transmit a short data packet having less than the predetermined number of data bytes to the receiving device.
Graphical Programming System With Native Access To External Memory Buffers
J. Adam Kemp - Austin TX, US Neil S. Feiereisel - Cedar Park TX, US Brent C. Schwan - Austin TX, US
International Classification:
G09G 5/36 G06F 3/01
US Classification:
345156, 345545
Abstract:
A system and method for enabling a graphical program to natively access an external memory buffer are disclosed. The graphical program may execute within a graphical program execution environment, and the external memory buffer may be allocated by another program that executes externally from the graphical program and the graphical program execution environment. The graphical program may be executed concurrently with a producer program that stores data in the memory buffer, and/or with a consumer program that reads and uses the data from the memory buffer. The memory buffer may be located within a region of memory allocated by the producer program, by the consumer program, or by another program that executes externally from the graphical program and the graphical program execution environment, such as a memory manager program.
Graphical Programming System Enabling Data Sharing From A Producer To A Consumer Via A Memory Buffer
J. Adam Kemp - Austin TX, US Neil S. Feiereisel - Cedar Park TX, US Brent C. Schwan - Austin TX, US
International Classification:
G06F 3/00 G06F 13/00 G06F 9/46
US Classification:
719312
Abstract:
A graphical program execution environment that facilitates communication between a producer program and a consumer program is disclosed. The producer program may store data in a memory block allocated by the producer program. A graphical program may communicate with the producer program to obtain a reference to the memory block. The graphical program may asynchronously pass the reference to the consumer program, e.g., may pass the reference without blocking or waiting while the consumer program accesses the data in the memory block. After the consumer program is finished accessing the data, the consumer program may asynchronously notify the graphical program execution environment to release the memory block. The graphical program execution environment may then notify the producer program that the block of memory is no longer in use so that the producer program can de-allocate or re-use the memory block.
Buffer Object For Performing Buffered Data Transfers In A Data Acquisition System
A buffer object for performing intelligent buffering functions in a data acquisition (DAQ) system. The buffer object stores information regarding data to be transferred and includes one or more iterators for performing burst transfers. When a DAQ user application generates a call to perform data transfer operations in the DAQ system, the driver level software creates or instantiates a buffer object. The buffer object includes data format information specifying a format of the data being transferred, including the size of the data, the number of samples per scan, and number of scans of the data. The driver level software also creates a foreground iterator which is executable to transfer data between a client portion of system memory and a buffer portion of system memory. The driver level software also creates a background iterator which is executable to transfer data between a buffer portion of system memory and the on-board memory comprised on the DAQ device. The foreground iterator and the background iterator execute in response to the DAQ user application to perform data transfers to/from the DAQ device.
Brent Schwan 1984 graduate of Williston High School in Williston, ND is on Classmates.com. See pictures, plan your class reunion and get caught up with Brent and other high school ...