Cloud-based instrument driver system
First Claim
1. One or more non-transitory computer-readable media comprising instructions, the instructions when executed by one or more processing elements configured to:
- store, at a driver cloud that is located remotely from a user device, a plurality of instrument drivers for an instrument that responds to instrument commands that conform to an instrument protocol;
receive, at the driver cloud from the user device, a first command directed to the instrument, the first command;
evaluated by an application program, andnot conforming to the instrument protocol;
select, by the driver cloud, a particular instrument driver from among the plurality of instrument drivers for the instrument, where the particular instrument driver that is selected supports interaction with the instrument;
translate, at the driver cloud, using the particular instrument driver, the first command into one or more of the instrument commands, where the one or more of the instrument commands conform to the instrument protocol;
receive, at the driver cloud, a response following execution of the one or more of the instrument commands at the instrument;
following receipt of the response, determine, at the driver cloud, that the response is syntactically correct for the particular instrument driver that is to process the response;
process, at the driver cloud, the response utilizing the particular instrument driver to produce a user response; and
transmit, from the driver cloud to the user device, the user response.
0 Assignments
0 Petitions
Accused Products
Abstract
A cloud-based instrument driver system enables a user device to interact with one or more instruments through a remotely located driver cloud. The driver cloud may store drivers and ancillary software. The user device may be connected to each instrument either directly or indirectly, for example, over one or more computer networks, and may be connected to and communicate directly with the driver cloud over the computer network. However, the driver cloud and the instrument may not be in direct communication. The user device relays commands and responses to and from the instrument to the driver cloud for translation into a format suitable for processing by the user device. Utilization of the driver cloud obviates the need to obtain, install and maintain any drivers and/or ancillary software on the user device in order to enable the device to interact with the instrument.
17 Citations
28 Claims
-
1. One or more non-transitory computer-readable media comprising instructions, the instructions when executed by one or more processing elements configured to:
-
store, at a driver cloud that is located remotely from a user device, a plurality of instrument drivers for an instrument that responds to instrument commands that conform to an instrument protocol; receive, at the driver cloud from the user device, a first command directed to the instrument, the first command; evaluated by an application program, and not conforming to the instrument protocol; select, by the driver cloud, a particular instrument driver from among the plurality of instrument drivers for the instrument, where the particular instrument driver that is selected supports interaction with the instrument; translate, at the driver cloud, using the particular instrument driver, the first command into one or more of the instrument commands, where the one or more of the instrument commands conform to the instrument protocol; receive, at the driver cloud, a response following execution of the one or more of the instrument commands at the instrument; following receipt of the response, determine, at the driver cloud, that the response is syntactically correct for the particular instrument driver that is to process the response; process, at the driver cloud, the response utilizing the particular instrument driver to produce a user response; and transmit, from the driver cloud to the user device, the user response. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. One or more non-transitory computer-readable media comprising instructions, the instructions when executed by one or more processing elements configured to:
-
store, at a driver cloud that is located remotely from a user device, a plurality of instrument drivers for an instrument that responds to instrument commands that conform to an instrument protocol and a user application program; receive, at the driver cloud from a browser application running at the user device, a designation of a first command directed to the instrument, the first command; designated by the browser application running at the user device, evaluated by the user application program at the driver cloud, and not conforming to the instrument protocol; select, by the driver cloud, a particular instrument driver from among the plurality of instrument drivers for the instrument, where the particular instrument driver that is selected supports interaction with the instrument according to the instrument protocol; translate, at the driver cloud, using the particular instrument driver, the first command into one or more of the instrument commands, where the one or more of the instrument commands conform to the instrument protocol; receive, at the driver cloud, a response following execution of the one or more of the instrument commands at the instrument; following receipt of the response, determine, at the driver cloud, that the response is syntactically correct for the particular instrument driver that is to process the response; process, at the driver cloud, the response utilizing the particular instrument driver to produce a user response; and transmit, from the driver cloud to the user device, the user response. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium comprising instructions, the program instructions when executed by a processing element configured to:
receive, from an application program operating at a user device, a first command directed to an instrument that responds to instrument commands that conform to an instrument protocol, the first command; received at a driver cloud that is remotely located from the user device, evaluated by the application program, and not conforming to the instrument protocol; select a driver of a plurality of drivers for the instrument, the selected driver implementing the instrument protocol; use the selected driver, at the driver cloud, to translate the first command into a second command that conforms to the instrument protocol; receive, at the driver cloud, a response following execution of the second command at the instrument; following receipt of the response, determine, at the driver cloud, that the response is syntactically correct for the selected instrument driver that is to process the response; process, at the driver cloud, the response utilizing the selected instrument driver to produce a user response; and transmit, from the driver cloud to the user device, the user response. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
27. A method comprising:
-
storing, at a driver cloud that is located remotely from a user device, a plurality of instrument drivers for an instrument that responds to instrument commands that conform to an instrument protocol; receiving, at the driver cloud from the user device, a first command directed to the instrument, the first command; evaluated by an application program, and not conforming to the instrument protocol; selecting, by the driver cloud, a particular instrument driver from among the plurality of instrument drivers for the instrument, where the particular instrument driver that is selected supports interaction with the instrument according to the instrument protocol; translating, by the driver cloud, using the particular instrument driver, the first command into one or more of the instrument commands, where the one or more of the instrument commands conform to the instrument protocol; receiving, at the driver cloud, a response following execution of the one or more of the instrument commands at the instrument; following receipt of the response, determining, at the driver cloud, that the response is syntactically correct for the particular instrument driver that is to process the response; processing, at the driver cloud, the response utilizing the particular instrument driver to produce a user response; and transmitting, from the driver cloud to the user device, the user response. - View Dependent Claims (28)
-
Specification