throbber
US007184922B2
`
`(12) United States Patent
`Ousley et a].
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,184,922 B2
`Feb. 27, 2007
`
`(54) MEASUREMENT DEVICE THAT APPEARS
`TO A COMPUTER SYSTEM AS A FILE
`STORAGE DEVICE
`
`(75) Inventors: Timothy H. Ousley, Austin, TX (US);
`Mike Muecke, Austin, TX (US);
`Robert Watzlavick, Austin, TX (US)
`
`(73) Assignee: National Instruments Corporation,
`Ausnn’ TX (Us)
`
`(
`
`) Not1ce.
`
`Subject to any disclalmer, the term of this
`patent is extended or adjusted under 35
`U S C 1546)) by 63 days
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,987,530 A 11/1999 Thomson
`6,073,205 A
`6/2000 Thomson
`6,412,028 B1 *
`6/2002 Steed et a1. ................. .. 710/22
`6,789,030 B1
`9/2004 Coyle et a1.
`
`* Cited by examiner
`Primary ExamineriMarc S. HoiT
`Assistant ExamineriPhuong Huynh
`(74) Attorney] Agent] Or FirmiMeyenons Hood Kivlin
`KoWert & GoetZel, P.C.; JeiTrey C. Hood; Jason L. Burgess
`
`(21) Appl. No.: 11/068,547
`
`(57)
`
`ABSTRACT
`
`(22) Filed,
`
`(65)
`
`Feb 28 2005
`’
`prior publication Data
`
`US 2006/0047465 A1
`
`Mar- 2: 2006
`_
`_
`Related U‘s‘ Apphcatlon Data
`(60) Provisional application No. 60/605,205, ?led on Aug.
`27s 2004_
`
`(51) Int. Cl.
`(2006.01)
`G01D 1/00
`(52) US. Cl. ........................ .. 702/127; 702/57; 702/77;
`702/121; 702/122; 702/123; 702/188; 702/189;
`710/8; 710/72; 710/74
`(58) Field of Classi?cation Search .............. .. 702/127,
`702/57, 77, 121*123, 188, 189; 710/8, 13,
`710/22, 72*74
`See application ?le for complete search history.
`
`A measurement device operable to communicate With a
`computer system via ?les. The computer system may receive
`one or more ?les created by the measurement device, Where
`the ?les include measurement data generated by the mea
`surement device and may utilize the ?les to perform a
`measurement application. The measurement device may
`also be operable to receive a con?guration ?le from the
`Computer System and Con?gure or Comr 01 itself according to
`commands or settings therein. In one embodiment the mea
`surement device may appear to the computer system as a
`USB Mass Storage device, and the ?les created by the
`measurement device may appear as ?les stored on a USB
`Mass Storage deViCe~ Thus, the Computer System may Com‘
`municate With the measurement device to obtain the mea
`surement data ?les in the same standard manner in Which it
`WOQld Obtain ?les Stored 011 any other USB Mass Storage
`deV1Ce~
`
`33 Claims, 4 Drawing Sheets
`
`Connect measurement device to USB port of computer
`system
`M
`
`1
`
`Computer system queries measurement device for device
`information and receives infonnation indicating that the
`measurement device is a USB Mass Storage device
`3
`
`1
`
`Computer system con?gures itself to communicate with the
`measurement device as a USB Mass Storage device
`30
`
`1
`
`User or measurement application program stores
`con?guration tile on measurement device to con?gure the
`measurement device
`7
`
`l,——
`
`Measurement device generates measurement data and
`stores the measurement data in a data tile on the
`measurement device
`
`1
`
`Measurement application program reads data ?ie from the
`measurement device
`1
`
`L_____—
`
`Apple 1058
`U.S. Pat. 9,189,437
`
`

`
`U.S. Patent
`
`Feb. 27, 2007
`
`Sheet 1 M4
`
`US 7,184,922 B2
`
`
`
`522m 6538
`
`Mm
`
`U
`
`ow 83mm
`
`EQEQSmmQE
`
`02 a8
`
`625 E5
`
`

`
`U.S. Patent
`
`bCF
`
`24..
`
`US 7,184,922 B2
`
`Wrl
`
`_._.mamQWD
`
`MIllN8N2.
`2.EoEo5mmm_>_mm:
`
`7,mo_>mn_mu_>mn_
`
`
`
`aoEms_Ems.
`
`$4
`
`>_oEm_>_
`
`.o__o::o0
`
`«.9
`
`Qmammo...
`
`.m__o.EoOmam.
`
`afl
`
`E0
`
`an
`
`Wd|Fmam:o_mcm.axm_
`
`_H_.28
`
`
`:o_.._m_:co<Emom__mO
`3EmuMINA
`
`m>_.oEm...
`
`NW3
`
`82>
`
`mg
`
`Smmac
`
`N.O_n_
`
`
`
`
`

`
`U.S. Patent
`
`Feb. 27, 2007
`
`Sheet 3 of4
`
`US 7,184,922 B2
`
`
`
`Ema EmEmEwmmE
`
`(ww 2E
`
`
`
`Ema EmEmSwmmE
`
`mww 2E
`
`
`
`Ema EQEQEwmQE
`
`23w 2E
`
`% 2E cowmkzmccoo
`
`
`
`|w56wcco0 mm: \\
`ow 83mm EQEmSwmmE :
`
`
`
`m .mv_u_
`
`\ EmEmSwwmE
`\\\\\.\ 3 t5 \ boEmE c0523?‘
`
`
`I a
`
`

`
`U.S. Patent
`
`Feb. 27, 2007
`
`Sheet 4 M4
`
`US 7,184,922 B2
`
`Connect measurement device to USB port of computer
`system
`Q91.
`
`i
`Computer system queries measurement device for device
`information and receives infonnation indicating that the
`measurement device is a USB Mass Storage device
`22%
`
`Computer system con?gures itself to communicate with the
`measurement device as a USB Mass Storage device
`@
`
`7
`User or measurement application program stores
`con?guration ?le on measurement device to con?gure the
`measurement device
`101
`
`4
`
`Measurement device generates measurement data and
`stores the measurement data in a data ?le on the
`measurement device
`E1
`
`L
`
`Measurement application program reads data ?le from the
`measurement device
`&
`
`FIG. 4
`
`

`
`US 7,l84,922 B2
`
`1
`MEASUREMENT DEVICE THAT APPEARS
`TO A COMPUTER SYSTEM AS A FILE
`STORAGE DEVICE
`
`PRIORITY CLAIM
`
`This application claims bene?t of priority of US. Provi
`sional Application Ser. No. 60/605,205 titled “Measurement
`Device that Appears to a Computer System as a USB Mass
`Storage Device”, ?led Aug. 27, 2004, Whose inventors Were
`Timothy H. Ousley, Mike Muecke, and Robert WatZlavick.
`
`FIELD OF THE INVENTION
`
`The present invention relates to the ?eld of computer
`based test and measurement systems, and more particularly
`relates to a measurement device operable to provide mea
`surement data to a computer system via a measurement data
`?le. In one embodiment the measurement device may appear
`to the computer system as a USB Mass Storage device, or
`other ?le storage device, on Which the measurement data ?le
`is stored.
`
`DESCRIPTION OF THE RELATED ART
`
`Scientists and engineers often use test, measurement, or
`automation systems to perform a variety of functions,
`including measurement of a physical phenomenon or unit
`under test (UUT), test and analysis of physical phenomena,
`simulation, hardWare-in-the-loop testing, process monitor
`ing and control, control of mechanical or electrical machin
`ery, data logging, and laboratory research, to name a feW
`examples. The devices that interact With the physical sys
`tems under analysis may be collectively referred to as
`“measurement devices”.
`Measurement devices are often used in conjunction With
`computer systems. The computer system receives measure
`ment data from the measurement device and performs much
`of the processing, analysis, or control for the application.
`Some con?guration is usually necessary to make the mea
`surement device Work together correctly With the computer
`system. For example, many measurement devices require
`speci?c drivers to be installed on the computer system to
`enable communication With the measurement device.
`HoWever, scientists and engineers are often not highly
`trained in the art of computer system con?guration. Install
`ing the measurement device and associated drivers on the
`computer system can be a dif?cult and time-consuming task.
`Also, the necessary drivers for the measurement device are
`sometimes not readily available (e.g., When the measure
`ment device is moved to a location in the ?eld and the driver
`installation CD becomes lost or damaged), Which can result
`in doWntime of the measurement system.
`Another disadvantage associated With the traditional
`approach of requiring speci?c drivers for measurement
`devices is the cost of developing the drivers. Measurement
`device vendors may have to develop and test drivers for
`multiple operating systems and may also have to maintain
`the drivers or develop neW ones as the operating systems
`evolve. Therefore it Would be desirable to enable a computer
`system to communicate With a measurement device Without
`requiring the use of specialiZed drivers.
`The Universal Serial Bus (USB) technology that has
`become Widespread in recent years simpli?es the task of
`installing some devices on computer systems. When a
`device is connected to a host computer’s USB bus, the
`device is immediately recogniZed by the host computer,
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`dynamically enumerated, and assigned an address. The host
`computer and the device then perform a query/response
`protocol to enable the host computer to obtain information
`about the device, such as the class of device and various
`other details that the host computer needs to knoW for its
`operation.
`The USB standards de?ne various broad device classes
`for certain Well-knoWn kinds of devices, such as “Printer”,
`“Human Interface Device”, “Audio”, “Video”, “Mass Stor
`age”, etc. Operating systems that support USB technology
`typically include pre-loaded drivers for these USB device
`classes. If a neW USB device connected to the host computer
`belongs to one of these USB device classes then the host
`computer can often simply con?gure communication With
`the neW device to occur using the driver for the appropriate
`USB device class. Thus, the user is not required to install a
`driver speci?cally for the device, and a vendor is not
`required to develop a driver speci?cally for the device.
`As mentioned above, one standard USB device class is
`“Mass Storage”. A USB Mass Storage device can typically
`store ?les received from the host computer and/or store ?les
`for receipt by the host computer. Operation of USB Mass
`Storage devices is de?ned by various documents, such as the
`“Universal Serial Bus Mass Storage Class Control/Bulk/
`Interrupt (CBI) Transport” speci?cation and the “Universal
`Serial Bus Mass Storage Class Bulk-Only Transport” speci
`?cation.
`
`SUMMARY OF THE INVENTION
`
`According to one embodiment of the invention, a com
`puter system may receive measurement data from a mea
`surement device via one or more ?les generated by the
`measurement device. The measurement device may be
`coupled to the computer system and may receive a signal
`from a physical system or unit under test and generate
`measurement data based on the signal. The measurement
`device may be operable to create one or more ?les based on
`the measurement data it generates.
`The ?les may comprise ?les of any kind and may be
`structured in any desired Way. In one embodiment the ?les
`may be simple ?les that simply represent the measurement
`data itself, e.g., as binary ?les comprising binary values
`representing the measurement data values or human-read
`able text ?les indicating the measurement data values. In
`another embodiment the ?les may be more structurally
`complex or may include elements other than the measure
`ment data. For example, the measurement device may be
`operable to generate: spreadsheet ?les for particular spread
`sheet programs, Where the spreadsheet ?les include the
`measurement data; HTML, XML, or other markup language
`?les that include the measurement data; a ?le representing a
`graph, Where the graph visually indicates the measurement
`data; an executable program ?le that utiliZes the measure
`ment data; etc. These ?les may also include elements other
`than the measurement data. For example, an HTML ?le
`generated by the measurement device may not only include
`the measurement data but may also include text or graphic
`elements, e.g., as in a report ?le.
`Thus, in one embodiment the measurement device may
`differ from traditional measurement devices in that it not
`only acquires/generates the raW measurement data but also
`applies a higher-level structuring to the measurement data
`and/or generates one or more ?les based on the measurement
`data.
`A measurement application program executing on the
`computer system may receive the one or more ?les gener
`
`

`
`US 7,184,922 B2
`
`3
`ated by the measurement device and may read or analyze the
`?les to perform the desired measurement function. In one
`embodiment the measurement application program may
`possess knowledge of What kind of ?les are generated by the
`measurement device and may be operable to utiliZe these
`?les accordingly, e.g., to obtain, process, display and/or
`store the included measurement data. In the prior art, mea
`surement application programs typically do not receive
`measurement data in the form of ?les, but rather commu
`nicate With measurement devices to receive raW measure
`ment data.
`The ?le(s) generated by the measurement device may be
`stored in memory on the measurement device or may be
`dynamically generated as they are read by the computer
`system.
`In one embodiment the measurement device may also be
`operable to receive ?les from the computer system. In one
`embodiment the measurement device may be con?gured via
`a con?guration ?le received from the computer system. For
`example, a user or application on the computer system may
`create a con?guration ?le that includes various commands,
`settings, or attributes related to the con?guration or opera
`tion of the measurement device. In response to the con?gu
`ration ?le being sent from the computer system to the
`measurement device, the measurement device may be oper
`able to analyZe the con?guration ?le and con?gure or
`control itself according to the commands, settings, or
`attributes therein.
`In various embodiments, the measurement device may be
`coupled to the computer system in any of various Ways, and
`the computer system may communicate With the measure
`ment device using any technique to receive ?les generated
`by the measurement device or send ?les to the measurement
`device. According to one embodiment, the measurement
`device may comprise a USB device coupled to a USB bus
`of the computer system. In particular, in one embodiment the
`measurement device may appear to the computer system as
`a USB Mass Storage device, and the ?les generated by the
`measurement device may appear as ?les stored on a USB
`Mass Storage device. Thus, the computer system may com
`municate With the measurement device to obtain the gener
`ated ?les in the same standard manner in Which it Would
`obtain ?les stored on any other USB Mass Storage device.
`The computer system may execute an operating system
`that provides support for detecting and communicating With
`USB devices. In particular, the operating system may
`include softWare, e.g., a driver, for communicating With
`USB Mass Storage devices. In response to the measurement
`device being connected to the computer system, the com
`puter system may initiate a query/response protocol With the
`measurement device to obtain information about the mea
`surement device. The measurement device may inform the
`computer system that it belongs to the USB “Mass Storage”
`device class, as Well as provide other details that the
`computer system needs to knoW to communicate With the
`measurement device. The computer system may then con
`?gure itself to communicate With the measurement device as
`a USB Mass Storage device. For example, in one embodi
`ment the computer system may be operable to read mea
`surement data ?les from a memory of the measurement
`device using standard communication techniques for read
`ing ?les from USB Mass Storage devices. Similarly, in one
`embodiment the computer system may Write a con?guration
`?le or other ?le to a memory of the measurement device
`using standard communication techniques for Writing ?les to
`USB Mass Storage devices.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`Thus, in an embodiment in Which the measurement device
`conforms to USB Mass Storage speci?cations, the measure
`ment device may advantageously be installed on the com
`puter system Without requiring a special driver for the
`measurement device to be installed. This may be advanta
`geous to the user in that he can easily and quickly set up the
`measurement device on any computer system With an oper
`ating system that supports USB devices, Without needing to
`possess or install specialiZed drivers for the measurement
`device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`A better understanding of the present invention can be
`obtained When the folloWing detailed description of the
`preferred embodiment is considered in conjunction With the
`folloWing draWings, in Which:
`FIG. 1 illustrates a measurement device coupled to a
`computer system, Where the computer system receives mea
`surement data from the measurement device via one or more
`?les;
`FIG. 2 is a block diagram representing one embodiment
`of the computer system illustrated in FIG. 1;
`FIG. 3 is a block diagram representing one embodiment
`of the measurement device illustrated in FIG. 1, in Which the
`measurement device comprises a USB device; and
`FIG. 4 is a ?owchart diagram illustrating one embodiment
`of a method for utiliZing the measurement device in a
`measurement application.
`While the invention is susceptible to various modi?ca
`tions and alternative forms, speci?c embodiments thereof
`are shoWn by Way of example in the draWings and are herein
`described in detail. It should be understood, hoWever, that
`the draWings and detailed description thereto are not
`intended to limit the invention to the particular form dis
`closed, but on the contrary, the intention is to cover all
`modi?cations, equivalents and alternatives falling Within the
`spirit and scope of the present invention as de?ned by the
`appended claims.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`Terms
`The folloWing is a glossary of terms used in the present
`application:
`Memory MediumiAny of various types of memory
`devices or storage devices. The term “memory medium” is
`intended to include an installation medium, e.g., a CD
`ROM, ?oppy disks, or tape device; a computer system
`memory or random access memory such as DRAM, DDR
`RAM, SRAM, EDO RAM, Rambus RAM, etc.; or a non
`volatile memory such as a magnetic media, e.g., a hard
`drive, or optical storage, or other type of memory such as
`FLASH, EEPROM, etc. The memory medium may com
`prise other types of memory as Well, or combinations
`thereof. In addition, the memory medium may be located in
`a ?rst computer in Which the programs are executed, or may
`be located in a second different computer Which connects to
`the ?rst computer over a netWork, such as the Internet. In the
`latter instance, the second computer may provide program
`instructions to the ?rst computer for execution. The term
`“memory medium” may include tWo or more memory
`mediums Which may reside in different locations, e.g., in
`different computers that are connected over a netWork.
`
`

`
`US 7,184,922 B2
`
`5
`Carrier Mediumia memory medium as described above,
`as well as signals such as electrical, electromagnetic, or
`digital signals, conveyed via a communication medium such
`as a bus, network and/or a wireless link.
`Programmable Hardware Elementiincludes various
`types of programmable hardware, recon?gurable hardware,
`programmable logic, or ?eld-programmable devices (FPDs),
`such as one or more FPGAs (Field Programmable Gate
`Arrays), or one or more PLDs (Programmable Logic
`Devices), such as one or more Simple PLDs (SPLDs) or one
`or more Complex PLDs (CPLDs), or other types of pro
`grammable hardware. A programmable hardware element
`may also be referred to as “recon?gurable logic”.
`Mediumiincludes one or more of a memory medium,
`carrier medium, and/or programmable hardware element;
`encompasses various types of mediums that can either store
`program instructions/data structures or can be con?gured
`with a hardware con?guration program.
`Programithe term “program” is intended to have the full
`breadth of its ordinary meaning. The term “program”
`includes 1) a software program which may be stored in a
`memory and is executable by a processor or 2) a hardware
`con?guration program useable for con?guring a program
`mable hardware element.
`Software Programithe term “software program” is
`intended to have the full breadth of its ordinary meaning,
`and includes any type of program instructions, code, script
`and/or data, or combinations thereof, that may be stored in
`a memory medium and executed by a processor. Exemplary
`software programs include programs written in text-based
`programming languages, such as C, C++, Pascal, Fortran,
`Cobol, Java, assembly language, etc.; graphical programs
`(programs written in graphical programming languages);
`assembly language programs; programs that have been
`compiled to machine language; scripts; and other types of
`executable software. A software program may comprise two
`or more software programs that interoperate in some man
`ner.
`Hardware Con?guration Programia program, e.g., a
`netlist or bit ?le, that can be used to program or con?gure a
`programmable hardware element.
`Graphical User Interfaceithis term is intended to have
`the full breadth of its ordinary meaning. The term “Graphi
`cal User Interface” is often abbreviated to “GUI”. A GUI
`may comprise only one or more input GUI elements, only
`one or more output GUI elements, or both input and output
`GUI elements.
`The following provides examples of various aspects of
`GUIs. The following examples and discussion are not
`intended to limit the ordinary meaning of GUI, but rather
`provide examples of what the term “graphical user inter
`face” encompasses:
`AGUI may comprise a single window having one or more
`GUI elements, or may comprise a plurality of individual
`GUI elements (or individual windows each having one or
`more GUI elements), wherein the individual GUI elements
`or windows may optionally be tiled together.
`Graphical User Interface Element (GUI element)ian
`element of a graphical user interface, such as for providing
`input or displaying output. Exemplary graphical user inter
`face elements comprise input controls and output indicators.
`Input Controlia graphical user interface element for
`providing user input to a program. Exemplary input controls
`comprise dials, knobs, sliders, input text boxes, etc.
`Output Indicatoria graphical user interface element for
`displaying output from a program. Exemplary output indi
`cators include charts, graphs, gauges, output text boxes,
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`numeric displays, etc. An output indicator is sometimes
`referred to as an “output control”.
`Computer Systemiany of various types of computing or
`processing systems, including a personal computer system
`(PC), mainframe computer system, workstation, network
`appliance, Internet appliance, personal digital assistant
`(PDA), television system, grid computing system, or other
`device or combinations of devices. In general, the term
`“computer system” can be broadly de?ned to encompass any
`device (or combination of devices) having at least one
`processor that executes instructions from a memory
`medium.
`Measurement Deviceiincludes instruments, data acqui
`sition devices, smart sensors, and any of various types of
`devices that are operable to acquire and/or store data. A
`measurement device may also optionally be further operable
`to analyZe or process the acquired or stored data. Examples
`of a measurement device include an instrument, such as a
`traditional stand-alone “box” instrument, a computer-based
`instrument (instrument on a card) or external instrument, a
`data acquisition card, a datalogger, a device external to a
`computer that operates similarly to a data acquisition card,
`a smart sensor, one or more DAQ or measurement cards or
`modules in a chassis, an image acquisition device, such as an
`image acquisition (or machine vision) card (also called a
`video capture board) or smart camera, a motion control
`device, a robot having machine vision, and other similar
`types of devices. Exemplary “stand-alone” instruments
`include oscilloscopes, multimeters, signal analyZers, arbi
`trary waveform generators, spectroscopes, and similar mea
`surement, test, or automation instruments.
`A measurement device may connect to a host computer or
`computers during, before, and/or after acquiring data, or
`may never connect to a host computer.
`A measurement device may be further operable to per
`form control functions, e.g., in response to analysis of the
`acquired or stored data. For example, the measurement
`device may send a control signal to an external system, such
`as a motion control system or to a sensor, in response to
`particular data. A measurement device may also be operable
`to perform automation functions, i.e., may receive and
`analyZe data, and issue automation control signals in
`response.
`Measurement Dataidata generated by a measurement
`device. For example, the measurement device may receive a
`signal from a unit under test or a physical system and may
`generate measurement data based on the signal. The mea
`surement device may be coupled to another device, e.g., a
`computer system, that receives the measurement data gen
`erated by the measurement device.
`Live measurement dataimeasurement data that is gen
`erated continuously or quasi-continuously by a measure
`ment device. For example, live measurement data may
`comprise a stream of data elements (e.g., ?oating point
`numbers or other elements) generated in rapid succession by
`the measurement device. Examples of live measurement
`data include data that is generated in real time based on a
`physical signal, e.g., where data values are generated in a
`live or streaming manner. One speci?c example of live
`measurement data is data that represents a continuous wave
`form.
`FIG. 14Computer System
`FIG. 1 illustrates a computer system 82 operable to
`execute a program that performs a measurement function.
`This program is also referred to herein as a “measurement
`application program”. As shown, a measurement device 80
`
`

`
`US 7,184,922 B2
`
`7
`may be coupled to the computer system 82. The measure
`ment device 80 may receive a signal from a physical system
`or unit under test 150 and may generate measurement data
`based on the signal. In various embodiments, the measure
`ment device 80 may generate measurement data based on
`any of various kinds of signals received from any of various
`kinds of physical systems or units under test 150.
`The measurement application program executing on the
`computer system 82 may receive the measurement data
`generated by the measurement device 80 and may utiliZe the
`measurement data to perform the measurement function.
`The measurement data may be utiliZed to perform any of
`various kinds of measurement functions, such as test and/or
`analysis of the physical system or unit under test 150,
`simulation, hardWare-in-the-loop testing, process monitor
`ing and control, control of mechanical or electrical machin
`ery, data logging, laboratory research, etc.
`According to one embodiment, the measurement device
`80 may be operable to generate one or more ?les based on
`the measurement data it generates. The ?les may comprise
`?les of any kind and may be structured in any desired Way.
`In one embodiment the ?les may be simple ?les that simply
`represent the measurement data itself, e.g., as binary ?les
`comprising binary values representing the measurement data
`values or human-readable text ?les indicating the measure
`ment data values.
`In another embodiment the ?les may be more structurally
`complex or may include elements other than the measure
`ment data. For example, the measurement device 80 may be
`operable to generate: spreadsheet ?les for particular spread
`sheet applications, Where the spreadsheet ?les include the
`measurement data; HTML, XML, or other markup language
`?les that include the measurement data; a ?le representing a
`graph, Where the graph visually indicates the measurement
`data; an executable program ?le that utiliZes the measure
`ment data; etc. These ?les may also include elements other
`than the measurement data. For example, an HTML ?le
`generated by the measurement device 80 may not only
`include the measurement data but may also include text or
`graphic elements, e.g., as in a report ?le. Thus, in one
`embodiment the measurement device 80 may differ from
`traditional measurement devices in that it not only generates
`the raW measurement data but also applies a higher-level
`structuring and/or interpretation to the measurement data
`and generates a ?le based on the measurement data.
`The measurement application program executing on the
`computer system 82 may receive the one or more ?les
`generated by the measurement device 80 and may read or
`analyZe the ?les to perform the desired measurement func
`tion. The measurement application program may possess
`knoWledge of What kind of ?les are generated by the
`measurement device 80 and may be operable to utiliZe these
`?les accordingly, e.g., to obtain, process, display and/or
`store the included measurement data. In the prior art, mea
`surement application programs typically do not receive
`measurement data in the form of ?les, but rather commu
`nicate With measurement devices to receive raW measure
`ment data.
`In various embodiments, the measurement device 80 may
`be coupled to the computer system 82 in any of various
`Ways, and the computer system 82 may communicate With
`the measurement device 80 using any technique to receive
`the ?les generated by the measurement device 80. According
`to one embodiment, the measurement device 80 may com
`prise a USB device coupled to a USB bus of the computer
`system 82. In particular, in one embodiment the measure
`ment device 80 may appear to the computer system 82 as a
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`USB device of a ?rst type, e.g., as a USB Mass Storage
`device, and the ?les generated by the measurement device
`80 may appear as ?les stored on a USB Mass Storage device.
`Thus, the computer system 82 may communicate With the
`measurement device 80 to obtain the generated ?les in the
`same standard manner in Which it Would obtain ?les stored
`on any other USB Mass Storage device. Embodiments in
`Which the measurement device 80 appears as a USB Mass
`Storage device are described in further detail beloW.
`As used herein, the term USB is intended to include prior,
`current, and future versions of the Universal Serial Bus
`(U SB) standard and similar standards.
`In another embodiment the measurement device 80 may
`not appear to the computer system 82 as a USB Mass
`Storage device but may appear as another type of ?le storage
`device, e.g., a ?le storage device that uses communication
`standards other than USE. As used herein, a ?le storage
`device may comprise a device that appears to a computer
`system as a device on Which ?les can be stored and/or from
`Which ?les can be received. For some types of ?le storage
`devices, the computer system may be able to automatically
`detect connection of the ?le storage device to the computer
`system and may be operable to automatically con?gure itself
`to communicate With the ?le storage device, e.g., by using
`a standard ?le storage device driver provided by or built in
`to the operating system of the computer system.
`Referring again to FIG. 1, the computer system 82 may
`include a display device. For example, FIG. 1 shoWs a GUI
`of the measurement application program displayed on the
`display device of the computer system 82. The computer
`system 82 may also include a memory medium(s) on Which
`programs or softWare components may be stored. For
`example, the memory medium may store the measurement
`application program executed by the computer system 82.
`The memory medium may also store operating system
`softWare. For example, the operating system may provide
`support for automatically detecting and communicating With
`USB devices or other kinds of devices. In particular, the
`operating system may include softWare, e.g., a driver, for
`communicating With USB Mass Storage devices or other ?le
`storage devices. Thus, in an embodiment in Which the
`measurement device 80 conforms to USB Mass Storage
`speci?cations or other standard ?le storage device speci?
`cations, the measurement device 80 may advantageously be
`installed on the computer system 82 Without requiring a
`special driver for the measurement device 80 to be installed,
`as described beloW.
`
`FIG. 24Computer System Block Diagram
`FIG. 2 is a block diagram representing one embodiment
`of the computer system 82 illustrated in FIG. 1. It is noted
`that any type of computer system con?guration or architec
`ture can be used as desired, and FIG. 2 illustrates a repre
`sentative PC embodiment. It is also noted that the computer
`system may be a general purpose computer system, a
`computer implemented on a card installed in a chassis, or
`other types of embodiments. Elements of a computer not
`necessary to understand the present description have been
`omitted for simplicity.
`The computer may include at least one central processing
`unit or CPU (processor) 160 Which is coupled to a processor
`or host bus 162. The CPU 160 may be any of various types,
`including an x86 processor, e. g., a Pentium class, a PoWerPC
`processor, a CPU from the

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket