System and method for deploying a hardware configuration...

Electrical computers and digital processing systems: support – Reconfiguration

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C713S001000, C713S002000, C714S026000, C714S046000, C714S047300, C714S048000

Reexamination Certificate

active

06807631

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to the field of computer program installation, and more particularly to a system and method for deploying a hardware configuration with a computer program, e.g., in order to enable a computer program that interacts with hardware devices to execute correctly when installed on a new computer system. In one embodiment, the computer program may perform an instrumentation function, such as a test and measurement or industrial automation function, and deploying the hardware configuration may enable the program to correctly interact with an instrument connected to the new computer system.
DESCRIPTION OF THE RELATED ART
Computer systems are used to interact with hardware devices or instruments in many fields, including the fields of instrumentation, process control, industrial automation, simulation, machine vision, motion control, and multimedia, among others. For example, a computer system may interact with instruments to measure and/or control various types of systems. These systems may include any of various types of physical, mechanical, electrical, chemical, or thermodynamic elements or phenomena, among others, or some combination of such elements or phenomena. Exemplary systems include: an engine or an engine component, a device in motion, a chemical reaction, a petroleum refining process, a room maintained at a setpoint temperature, a system of liquids flowing among different tanks, etc.
In an application such as a measurement/control application, a computer system may interact with one or more sensors/transducers operable to sense one or more variables of a system and output a signal based on the variables. The signals produced by the sensors/transducers are most typically an electrical signal, e.g., a voltage or current, but may also be any of various other types of signals. In various applications, the computer system may also interact with one or more control devices/actuators, e.g., to provide control signals affecting a system. In some cases, a single instrument or device may serve as both a sensor and a control device.
Users commonly develop computer programs to interact with the devices or instruments connected to or included in a computer system, e.g., using various application development environments. For example, many different software applications specialized for developing instrumentation, test and measurement, and industrial automation programs are available. These programs may, for example, interface with device driver software in order to interact with a device.
In order to enable a computer program and/or the device drivers called by a computer program to correctly interact with a hardware device, it is often necessary to perform various types of hardware configuration. For example, consider a computer program that interacts with a data acquisition (DAQ) plug-in board to acquire and analyze data. In order for the program to execute correctly, it may be necessary to configure hardware interrupts for the DAQ board, configure gain settings, etc. Also, the program may refer to a particular DAQ channel by a name associated with the channel. Thus it may also be necessary to configure these name associations.
The user often uses separate configuration utilities to configure the hardware devices connected to a computer system as desired. A computer program may then be written based on the user's knowledge of the hardware configuration state of the computer system that will execute the program. For example, a program that analyzes a signal acquired from a device may require a gain associated with the device to be set to a particular value in order for the program to function correctly. Thus, the execution behavior of a program that interacts with a hardware device may depend not only on the program code, but may also depend on various aspects of the hardware configuration of the computer system on which the program executes.
After a computer program has been developed, it is often necessary to deploy the program on a new computer system. For example, the program may have been developed for commercial distribution, or the user may need to execute the program on multiple computers, e.g., in order to interact with multiple physical systems. In the prior art, the dependency of a program on the hardware configuration of a computer system is often problematic when the user attempts to deploy the program on a new computer system. For example, the hardware devices connected to the new computer system may be configured differently, or various named channels or I/O operations used by the program may not exist on the new computer system or may be used in conflicting ways.
Thus, in order for the program to execute correctly on the new computer system, the user may be required to manually specify the necessary configuration information, e.g., by running separate configuration utilities. This can be a difficult and time-consuming task. Requiring users to perform this type of manual configuration is especially undesirable when a program is distributed commercially.
In some cases, it may be possible to include code in the computer program that is operable to perform various hardware configuration operations. However, requiring the program developer to include these types of operations in a program is undesirable, since coding these configuration operations can be error-prone and time-consuming. It would be better if the developer only needed to concentrate on the function of the program.
Thus, it would be desirable to provide a system and method for deploying a hardware configuration with a computer program, to enable a program that interacts with hardware devices to execute correctly when installed on a new computer system.
SUMMARY OF THE INVENTION
One embodiment of the present invention comprises a system and method for deploying a hardware configuration with a computer program. A program developer may develop a program that interacts with one or more hardware devices or instruments on a computer system. For example, the program may interact with the hardware device(s) in order to perform an instrumentation, measurement/control, industrial automation, or machine vision function, or any of various other types of functions utilizing hardware devices.
As described above, the behavior of the program during execution may depend on various aspects of the hardware configuration of the computer system on which the program executes. One embodiment of the present invention enables the developer to automatically create an installation bundle that includes configuration information related to the hardware devices with which the program interacts. The installation bundle may then be used to deploy the program on a new computer system. For example, the installation bundle may include program instructions operable to install the program on the new computer system and automatically configure hardware devices connected to the new computer system so that the program will execute correctly.
In various embodiments, any of various types of configuration information may be included in the installation bundle. For example, various hardware device types and standards are commonly used, such as DAQ, GPIB, VXI, PXI, etc. If a program interacts with a DAQ device, for example, the configuration information may include information specifying various settings for the DAQ hardware, such as interrupts, gain values, etc. In this case, the configuration information may also include information specifying various named elements that the program uses, such as named channels, named I/O operations, etc.
The configuration information may be determined in any of various ways. For example, the method may operate to determine functions, methods, subprograms, graphical program nodes, etc., that are called by or included in the program and are related to a hardware device. These functions, methods, etc., may be determined in various ways, e.g., depending on the type of program, the application development environment or language used to create the program, etc. For

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for deploying a hardware configuration... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for deploying a hardware configuration..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for deploying a hardware configuration... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3288638

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.