System and method for tracking operational data in a distributed environment

A system and method is provided for obtaining and utilizing operational information for a plurality of displays in a distributed computing system. The system can provide for a plurality of base units which are coupled with a plurality of displays. The displays operation to collect and store operational data which can then be transmitted to the base units. The base units can be coupled to a network, and through the network operation data for the displays can be transmitted to an administrative computer. The administrative computer can then store and the analyze the operational data for the plurality of displays. This analysis can be used to identify under utilized assets, and to identify displays which have been operated under conditions which suggest a need for replacement, or servicing.

FIELD OF THE INVENTION

The present invention relates to a system and method which provides for tracking assets and operational data of display in a distributed computing system.

BACKGROUND

For a number of different distributed computing environments, systems can now utilize a wide range of different modular and interchangeable components. For example, one computing environment could provide for a number of different personal computers, with each computer being coupled with different interchangeable computing modules. Different modules could include hard disc drives, optical drives, flash memory devices, or a myriad of other storage of processing devices, and could include devices such as displays or monitors. In some computing environments where computers and modules are used in secure environments, such as some military applications, intelligence operations, and research and development facilities, it may be desirable to limit access to use of certain modules to particular locations, people, computers, or other modules. Further, in addition to providing for control over access to different modules it can be desirable to provide a method for tracking which people have accessed different modules in the system. U.S. Pat. No. 5,552,776 (the '776 patent), entitled ENHANCED SECURITY SYSTEM FOR COMPUTING DEVICES, to Wade et al., and assigned to the same assignee as the present application, teaches among other things a system which provides for controlling access or use of different memory modules in computing system, and this patent is incorporated herein by reference. Additional elements and embodiments of systems utilizing different interchangeable memory storage modules are also described in pending U.S. patent application Ser. No. 10/754,934, filed Jan. 9, 2004, entitled SYSTEM AND METHOD FOR SWITCHING DATA STORAGE DEVICES AND MULTIPLE PROCESSORS, which is assigned to the same assignee as the present application, and which is incorporated herein by reference.

The '776 patent teaches aspect of using different memory tables in different computing to provide for security and access control over different computing devices coupled with a docking base unit.

DETAILED DESCRIPTION

FIG. 1shows an embodiment of a distributed computing system100of the present invention. The system100as shown includes 3 docking base units102,130and158. There could of course be many more docking base units included in the system100. In one embodiment each docking base unit will include a pc board with multiple connectors for mating with connectors from different interchangeable modules. The interchangeable modules are then coupled with a communications bus on the docking base pc board through the connectors. For example, docking base unit102is shown as being coupled with removable modules106,114and122. These interchangeable modules can each be provided with processors108,116and124respectively. Further, each of the modules can be provided with a memory110,118and126, and each of the modules can be provided with sensors112,120and128. The interchangeable modules can include individual storage devices, such a magnetic disk drives, optic storage devices, CD drives, DVD drives, and the interchangeable module could include multiple drives configured in a RAID configuration.

The docking base units can include a processor. For example, docking base unit102includes a processor104. The docking base units can also include a memory and sensors. For example base unit102includes a memory101and sensors103. Although, not shown in detail inFIG. 1the base unit102can include a communication bus and the communication bus can connect the sensors103and the memory101with the processor104, and the communication bus can also connect the processor with the interchangeable modules106,114, and122.

Each of the interchangeable modules can also include a processor, memory and sensors as shown inFIG. 1. The docking base units102,130and158can include all of the elements which would normally be included in a personal computer. The processors104,132and160of the docking base units can allow for user input from a user input device such as a key board and a mouse which could be coupled with the docking base unit, and the docking base unit could be coupled with a computer display shown as displays180,188and196. These displays can each include a processor, memory and sensor which provide for asset tracking functions as described in more detail below.

The processors of the docking base unit can also allow for communications over a communication network204, where a network port is provided on the docking base unit. The operation of the system allows for an administrative computer206to be coupled to the network204. The administrative computer can monitor the operation, and asset tracking data for each of docking base units coupled to the network. More specifically in one embodiment the administrative computer can store asset tracking data for all of the docking base units, displays and interchangeable modules of the distributed system,100, and an administrator can access this data to optimize the management of different components or assets of the overall system100.

FIG. 3shows another embodiment of a system300which is similar to the system100shown inFIG. 1, but additional details of the system area shown. The docking base unit302has connectors304and306which are coupled to connectors308and310of the interchangeable computing modules312and314. The docking base unit302includes a bus316. The bus316can provide for communications between different elements of the system. The processor318of the docking base unit302provides for control over various elements of the system. The processor318can control operation of the power supply320. The power supply can output power to drive the different elements of the system, and the power supply can provide power through the connectors304and306to different interchangeable computing modules coupled with the connectors. The lines providing power to different elements of the system are not shown. As shown inFIG. 3, a memory device322, such as a non-volatile EEPROM memory device can store information in various tables. A detailed description of different elements which could be included in the various tables shown inFIG. 3is in the '776 patent referred to above, and incorporated by reference herein.

The options table324can include a list of system parameters which an administrator can set to provide for different security levels for different devices. The system parameters can include an identification of which users can access specific device, set the maximum number of users which can access a device, control the types of data which will be shown on a display, and the types of data which can be written to or removed from a storage device.

The password table326can be used to control log on validation at a user or project level. The password table326can provide a list of various users and their corresponding passwords, and provide for a logon sequence which a user must execute to gain access to a device. This password table could require that a user specify a particular project for which a user seeks to access removable processing module.

The authorities table328can be used to further customize control over access to data stored in a removable processing module. For example, the authorities data could specify that certain data is write-protected, or that certain data can only be accessed during particular time periods, or provide that a user is only allowed to access certain data a limited number of times.

The action table330can be provided for implementing interpretative data function processing. Further, the action table can specify certain actions which should be implemented by the processor in response to an occurrence of specified events.

The device configuration table332can store a unique identifier code for a particular device, so that it can identify itself to other devices. The device configuration could also include an identification of other devices with which a device can communicate or perform input/output operations with.

The history table334can include a transactional log which sets forth usage history of the computing device. The history table can provide reports showing for example which users accessed different devices through a particular device. The history table can provide an audit table showing which devices communicated with a particular device, and the times at which such communications took place. The history table can also include a log of various environmental conditions as detected by various sensors336.

The above tables are examples and of course a range of other tables and functions could be provided. Also, while much of the discussion above is directed to the elements of the docking base unit, it should be noted that each of the interchangeable modules can also include a memory, processor and sensor which would perform the same type of security operations for each of the interchangeable modules. As shown inFIG. 3, the interchangeable modules312and314each include a memory350and352, and processors354and356and sensors358and360respectively. The interchangeable modules also have storage devices362-368as shown. Additionally, as described in more detail below (particularly in connection withFIG. 5) the display can include a processor, a memory device and a sensor system which are communicatively connected with each other, and operate cooperatively to sense operating conditions of the display, and to process and store data corresponding to the operating conditions of the display in the memory of the display.

FIG. 4shows a front view of an embodiment of a docking base unit400. As shown the docking base unit400has four receptacles402-408for receiving removable disk drive modules. Receptacle402is shown as having an interchangeable module410inserted into the receptacle. The interchangeable module410can include one or more LEDS420which can display information about the state of operation of the interchangeable module410. Additionally, the interchangeable module can include a cam lever arm422as shown where a user can pull on the lever arm422to allow the interchangeable module410to be removed from the receptacle. A connector of the interchangeable module would be mated with a connector of a docking base unit. In each of the receptacles404-408, connectors412-416are shown. Each of the connectors would be coupled to a docking base backplane in the docking base unit chassis and computers could also be coupled to the docking base. A user interface panel418can also provided. This panel can provide the user with information about the state of operation of the docking base unit400. In one embodiment the docking base unit will include one or more power supplies, where the docking base unit400can be plugged into a power source and via the connectors of the docking base, power can be provided to each of the interchangeable modules inserted into the receptacles. In one embodiment of the docking base unit, on a back panel of the docking base unit, not shown, a number of connectors are provided for connecting the docking base unit and its processor and other elements, such as a display, keyboard, communication network, and possibly a computer, and other devices.

It is important to note that while the above embodiment is shown in the context of a docking base unit having receptacles for housing various interchangeable processing modules. An embodiment of a system herein could be implemented using a general purpose type personal computer, where the personal computer is programmed to implement the asset tracking functions described above in connection with docking base unit. For example, a user might have a personal computer which is connected with various interchangeable storage devices via connectors on the back of the personal computer, and different displays could be coupled with the personal computer.

Further a docking base unit could be provided, where the docking base unit provides for powering and limited control over various interchangeable modules coupled with the docking base, and the processor of the personal computer is used to provide for much of the more sophisticated control processing as described above in connection with the processor of the docking base unit. Thus, while the term docking base unit is used to describe a device having receptacles and connectors for receiving various interchangeable computing modules, it should be understood that the term base unit as used herein is intended to include both a docking base unit as described above, and a more general purpose computer which can be programmed to provide asset tracking functions and control and historical table information for various interchangeable computing devices that are coupled to the general purpose computer.

FIG. 2shows an alternative embodiment200of a system herein. The system200includes a number of personal computers208-212coupled to a network204. A number of interchangeable modules220-230are shown as being coupled to ports of the PCs. The PCs would also typically have user interface devices such as a keyboard and a mouse coupled to them (not shown). The PCs are also coupled with displays214-218. The displays and interchangeable modules can include sensors, processors and memories for providing for asset tracking operations as described herein. Further the processor of the personal computer would also be programmed to provide the asset tracking functions as described herein in connection with the processor of the docking base unit.

It should be understood that the general operation of PC is widely known and typically includes a number of commonly used elements. For purposes of general reference, a short summary of such elements is provided. Generally a computer will have a bus or other communication mechanism for communicating information between different elements of the computer system. The computer has a processor coupled with the bus for processing information. The computer system also includes a main memory, such as a random access memory (RAM) or other dynamic storage device, coupled to bus for storing information and instructions to be executed by processor. The memory also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor. The computer system further includes a read only memory (ROM) or other static storage device coupled to bus for storing static information and instructions for processor. A storage device, such as a magnetic disk or optical disk, is provided and coupled to bus for storing information and instructions. Generally, in computer systems a display can be coupled to the bus for displaying information to a computer user. An input device, including alphanumeric and other keys, is coupled to bus for communicating information and command selections to processor. Another type of user input device is cursor control, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor and for controlling cursor movement on display. The computer system can also include a communication interface coupled to the bus. The communication interface provides a two-way data communication coupling to a network. Further the computer can be provided with number of external connections, or ports, allowing external interchangeable computing modules to be coupled with the computer. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory. In alternative embodiments, hard-wired circuitry may be used in place of, or in combination with, software instructions.

Referring back toFIG. 3, the processor318controls communications with other base units through a network port338. The network port338is coupled to a network340. The network could be any of a range of communication networks, including local area networks, wide area networks, wireless communication network, or a wide range of other networks. A number of different base units and other computing devices, such as servers, mainframes, and personal computers could be connected to the network340. In one embodiment of the system herein an administrative computer342is provided which allows for a wide range of administrative controls and monitoring over the other devices connected to the network340. The administrative computer could be personal computer, server, or mainframe computer, which is programmed with administrative software.

The base unit302can include one or more data ports344which allow the processor318to provide for direct hi-speed data communications and control over other elements of the system which are coupled to the data port344. As shown inFIG. 3, a display346is coupled with the data port344; in one embodiment this could be a serial data port. The display346is also coupled with the communication bus316to receive display image information from the processor318via a connection350.

In one embodiment herein the display has asset tracking capabilities and features similar to other interchangeable modules, but some unique implementations are also provided for the display. Indeed it should be noted that one of the important elements of an embodiment herein is that extensive information regarding the operating conditions of the displays is captured. This operating condition data can then be stored and analyzed to provide for optimized utilization and servicing of the displays in the distributed computing system. Thus, the type of operational data for the displays which is captured and stored at the display level, and then transmitted for storing in a centralized database of an administrative computer, provides for significant enhancements over prior systems. In one embodiment the display346can include a memory, and a processor which provide for tracking and recording the use of the display. As is discussed below, the operation of a system herein provides for tracking the total operational time of the display, the operational temperature of the display, the brightness of operation, and other aspects of the operational condition of the display.

FIG. 5shows a display500of an embodiment herein, which could be used in a system such as shown inFIGS. 1-3. In one embodiment the display500includes a display panel510on which images and data can be displayed. The panel could be a flat panel display, or it could be a CRT type display, indeed a wide range of generally known displays panels could be used with the additional elements described herein. The display500would include a housing to which the display panel510is mounted. In the housing a number of additional elements can be provided, as is discussed below. Further, the display500will typically include a number of connectors for providing power and communications to the display500. In one embodiment connector512is a serial data connector. The connector514is image data connector. This connector514is provided for receiving image data from the base unit which can be processed and displayed on the panel510. A general communications bus508provides for communications between various elements of the display500.

The memory506can be a non-volatile memory such as described above in connection with interchangeable modules. The memory can also include various history tables and security tables as described above. Additional aspects of the types of data which can be stored in the memory506are discussed below. Further, the display includes a processor502, and sensor system504which operate cooperatively to capture and store information corresponding to the operating parameters of the display. The sensor system can include multiple sensors for sensing different parameters of the display; for example in one embodiment the sensor system would include temperature sensors and current sensors. Additionally, other elements of the display can communicate different operating conditions of the display to the processor502. The process502would then process and store the operational data in the memory506. It should be noted that processor502could include multiple processors or a single processor, and that it could provide for additional functions including controlling the display of images on the panel, and alternatively separate processors could be provided for controlling different functions of the display.

The memory506of the display is used to store a wide range of information regarding the display. This information can include detailed information regarding the operating conditions of the display over time, and can be used to enhance the overall management of the distributed system, and for identifying which displays are most likely to fail, or need servicing in the future. The memory506can allow a user, and/or a display manufacturer, to embed data in the memory506of the display which enhances the ability to track and manage assets. A number of different aspects of data which are stored in the memory506are discussed in connection with the tables shown inFIGS. 6A-G. In these tables a number of different column names are provided. A short discussion of the general meaning of some of the headings found in the tables is as follows: mnemonic—this is the symbolic representation that allows data to be set or get from the memory506via a command definition interface; description—this is the data type that the mnemonic represents; type—this is the form in which the data is stored; size—this is the byte size of the data; default—initial value for the data; mod—indicates whether or not the data can be changed during normal operations of the display.

FIG. 6Ashows a data table600of manufacturer, or factory, data which can be stored in the memory. As shown in table600, row602contains information for the display's serial number; row604contains information for the display's model number; row606contains information for the purchase order used to purchase the display; row607contains information for the date of purchase; row608contains information for the date of manufacture; row610contains information for the cage number, where the cage number is a reference to a number that is used to identity the entity which sold the display,612contains warranty information.

FIG. 6Bshows a table614which has information pertaining to different printed circuit (PC) boards installed in the display.FIG. 6Bshows a table for one PC board in the display, where similar information could be provided in additional tables if more PC boards are included in the display. As shown in table614row616contains information showing a controller board PCA number (printed circuit assembly number, which is associated with each production batch of printed circuit boards), row618contains information showing the firmware version for a processor on the pc board; row620shows the serial number which corresponds to the board; row622shows the model number of the board.

FIG. 6Cshows a table624which has operating specification data for the display500. As shown inFIG. 6C, row626contains information for the specified high operating temperature for the panel; row628contains information for the specified low operating temperature for the panel; row630contains information for the specified high non-operating temperature for the panel; row632contains information for the specified low non-operating temperature for the panel; row634contains information for the specified high extended operating temperature for the panel; row636contains information for the specified low extended operating temperature for the panel.

FIG. 6Dshows a logistic data table638which illustrates the format of logistics data stored in log tableFIG. 6E. The logistic data table638as shown has row640with date of use information; row642with time of use information; row644with elapsed usage time information; row646with workstation name information, where this information could refer to a base unit, including a docking base unit, or a personal computer as describe above.

The log table648ofFIG. 6E, illustrates log table a display. Depending on the particular implementation the number of log entries can vary. As shown in table648the number of log entries provided for is 96. The log table provides a column650which shows a sequential listing of the entries; column652which shows the date of the use; column654which shows the time used for a corresponding log entry; column656shows the elapsed time during a corresponding use entry; and column658shows a host name for a host which was used with the display, where the host would typically be a base unit as described above.

FIG. 6Fshows a prognostic, or operational, data table660. The prognostic data table illustrates the type of operational prognostic data for the display which can be stored in the memory506of the display. This operational data can then be used to identify displays with operational histories which suggest that a particular display has been subjected to the types of usage which requires that a display be serviced or replaced. The type of operational data in table660is generally data which provides information that can be used to determine the operational history of the display, and can be used to make determinations as to when a display is likely to need servicing or replacement, as a result of certain operational characteristics of the display.

As shown in data table660the prognostic data can include a wide range of data: row662contains information for recording the total number of power cycles for the display; row664contains information for recording the cumulative time used for the display; row666contains information for recording the cumulative down time for the display; row668contains information for recording current elapsed time used; row670contains information for recording average temperature of operation for the display; row672contains information for recording highest temperature of operation for display; row674contains information for recording lowest temperature of operation for display; row676contains information for recording the time that the operating temperature for the display is above the specified value; row678contains information for recording the time that the operating temperature for the display is below the specified value for low operation; row680contains information for recording the amount of time that the display is driven at different brightness levels; row682contains information for recording the amount of time that the display is different temperature levels; row684contains information for recording the amount time that different current levels are driving the display.

Time dependent data shown in table660, such as brightness/time shown in row680can have a 4-byte counter associated with each point contained within the possible range of operation. For example, in one embodiment the panel510of the display500can be driven by a power inverter to provide for 256 different brightness levels. Thus, in one embodiment a 4-byte counter is associated with each of the 256 different brightness levels. This would then translate to 1K of memory being used for the time dependent brightness data. A simple illustration of the brightness/time data is shown below:

In one embodiment time temperature data is tracked over a range from 60° C. to −30° C., and a 91, 4 bytes values are used to store dependent temperature data. An example of such temperature/time data is shown below:

The display500includes sensors504which sense the various parameters which are recorded in the data tables. For example, in one embodiment the sensor system of the display includes a current sensor which senses the amount of current from an inverter which drives the panel of a display. The current sensor generates a signal which is transmitted to the processor502, and the processor stores the corresponding data in the memory506. Further the sensor system can include a temperature sensor and the processor operates to store data from the temperature sensor in the memory506.

The memory506of the display500can also include a range of different user input data.FIG. 6G shows a data table686with examples of different possible types of user input data. This information in terms of data type and data value entries can be user definable variables. As shown in row688of the data table686, the first data type can as a default be an entry which provides an ID for the particular asset, in this case the display. Row690provides as a default, a field for identifying a particular project that the display is associated with. Row692provides as a default, data for identifying a particular program which the display is associated with. Rows694-698identify the data type values for the different data types. Row687provides a field where a user can indicate if security is enable for a display. If security is enabled then certain password procedures can be followed by the processor502of the display, and potentially also by the processor of the base unit coupled with the display. Row689provides a field where a bit can be set to indicate that a user is required to login (enter a user name and password) to gain access to asset tracking stored in the memory of the display. Row691is a field where a bit can be set, to indicate that each users session statistics should be save. In order for the user-based statistics to be tied to a specific user, the login feature must be active so that the data can be correlated with the user identification.

Row693provides for an administrative password. Where the processor502determines that the correct administrative password has been input, then the processor can operate to allow a user to modify user definable data.

In one embodiment of a display500three modes of operation are provided for controlling and accessing the asset tacking operations and data of the display. These three modes are: (1) operation panel buttons, with corresponding on-screen menu displays; (2) soft menu controls; and (3) command definition interface. The operation panel buttons (OSD buttons) are interface hard buttons516,518and520which are provided on the display itself. The OSD buttons are coupled with the processor, such that the processor receives a signal when the user presses on a selected OSD button. Using these OSD buttons a user can access the displays asset tracker operations and data, and can also interface with other controls for the display, such as brightness, contrast, and image positioning. When a user presses on the OSD buttons an on-screen menu is displayed on the panel, and the user can make various selections using the OSD buttons. The on-screen display menu can group features by category, and display the features as menu items under the category named menus. One of the top level category menus, allows a user to select an asset tracker menu, and then after selecting the asset tracker menu the user can select one of 4 submenus corresponding to 4 data categories discussed above: factory, logistic, user and prognostic. Board specific data can also be provided under a different submenu of the asset tracker category menu.

The soft menu mode of accessing asset tracker operations and data, is provided via a software application which is loaded on the base unit to which the display500is connected, where this base unit could be a docking base unit or a personal computer for example. In one embodiment, the soft menu data signals are transmitted from the processor of the base unit to the display processor memory via a serial data port connection between the base unit and the display. In response to the signals from the processor of the base unit, a soft menu is shown as an image on the panel of the display. In one embodiment the soft menu can be more robust and offer access to more features than the OSD buttons, in terms of providing for more options for controlling the operation of the display. However, in one embodiment whether the user is using the OSD buttons or the soft menu mode, the user will be able to access the asset control features and data of the display.

The soft menu images on the panel of the display can provide gui widgets (graphical user interface tools) such as slider bars, which allow a user to use the gui widgets to send control signal to the display through the serial port. The asset tracker functions and data are accessible through soft menu via a tabbed pane interface. The data is presented on an asset tracker specific tab. By selecting on various tabs a user can access display of asset tracker data from the categories discussed above such as factory data, logistic data, prognostic data, and user data, and provide access to elaboration when necessary. The display processor and memory maintain the asset tracker data, and the soft menu application on the base unit in conjunction with the serial data connection between the base unit and the display allows a user to access and modify asset tracker data and operations.

FIG. 9Ashows an embodiment of user interface image900which can be displayed in response to a user selecting the asset tracker tab from a plurality of other user interface tabs. InFIG. 9Athe asset tracker tab902is identified with the text “SMARTtracker”. The interface900could be displayed on the panel of a display in response to a user selecting the asset tracker information using the OSD buttons, or using soft menu commands. The interface provides a manufacturer data information region904, which will display information relating to manufacturer or factory information as described above. The interface display900includes a display specification region906, where specifications for the display can be shown, these specifications are discussed in more detail above. A configuration region908is provided which shows information for different printed circuit board assemblies which are included in the display. The configuration region908includes a selection field909where a user can select for viewing of data for different PCAs which can be included in the display assembly (for displays that have multiple PCAs).

A user definable data region910is provided which shows user definable data which is stored in the memory of the display. The user definable region910can also include a user selection device, for example a soft button911, as shown in region910, where a user can indicate that they want to change the input user definable data. In response to a user selection the change soft button, for example, using a cursor and a mouse, the user is presented with another menu (not shown) which allows the user to change the user definable data.

The asset tracker interface900can also provide the user with a mechanism which allows a user to generate reports, review and generate usage logs, and review security information for different users. Typically access to the certain asset tracker data will be limited to authorized service and security personnel. In one embodiment soft buttons are provided for generate reports912, generate logs914and security reports916. When a user selects the generate report soft button912. In one embodiment the user will be presented with a number of different report options regarding the operating data of the display.

The asset tracker interface900in one embodiment provides a prognostics data region918. The prognostics region displays prognostics, or operational, data for the display which is described above. This data can include total power cycles, total up time, and the other types of prognostics data discussed in more detail above. The asset tracker interface900can also include a chartable data region920. The chartable data region920can also display additional prognostic data such as average brightness for a time period when the display is powered up, average current for driving the display while the display is powered up, and average operating temperature for the display. Soft buttons922,924and926can be provided to allow a user to view charts which visually illustrate corresponding operating prognostics data.

FIG. 9Billustrates a displayable form928for presenting a visual illustration of prognostic data in response to selecting one of the visualize soft buttons922,924or926. The form provides and explanatory text region930where some explanation of the data shown in the regions932and934can be provided. Region932can be used to provide a chart corresponding to a selected prognostic data. For example, the chart could show the variation in the operation brightness of a display over time. Region934provides in table form the measured prognostic data.

By providing an asset tracker user interface, a user, or a security or administrative personnel are able to review the usage and operational history of a display. This information can be very important for making a determination as to when a display should be serviced, or for determining when a display should be taken out of service.

The third mode of accessing the asset tracker functions and data of the display, is directly utilizing the commands which are utilized by the soft menu application. In this mode command definition interface (CDI) is utilized, whereby a defined command set is used to provide for communication and control from the base unit to the display. In one embodiment applications running on the base unit, other than the soft menu application, can utilize the same commands as the soft menu application to access features or data of the asset tracker. These commands can be ASCII string based commands that are issued to the display via the serial connection between the base unit and the display. These commands can operate on a simple set and get policy protocol, where the commands can either access data and/or change data of the asset tracker.

In one embodiment the protocol used for communications of the serial connection between the base unit and the display is an ASCII only protocol. The table below shows the structure of packets sent between the base unit and the display over the serial connection.

Error NameError CodeDescriptionUNDEFINED_REQ−1If a set or get is issued for anunknown data type.TIMEOUT−2Returned if the panel times ourwaiting for data.GENERIC0x15Catch all error.

In one embodiment the data connection between the base unit and the display can be a serial RS-232 cable and connector. The commands sent from the base unit to the display, can include commands to set data in the display memory (set data type command); and commands to retrieve data (get data type command) from the display memory. In one embodiment appending an ASCII 's' (0x73) to any of the modifiable mnemonics will set the data type, and appending an ASCII ‘g’ (0x67) to any of the mnemonics will get the data type. Another transmission type from the base unit to the display is a general command transmission. General commands are those commands that do not act on any of the defined data types, such that the command does not directly read or write any of the data defined in the data tables.

The display processor will sit and listen to the serial data port, capturing bytes until it encounters a carriage-return (ASCII code—0x0d). At that point, the data captured up until then will be processed.

If the command from the base unit is a “GET” command, then the display processor will: (1) go into a busy state (2) parse the packet received from the base unit; (3) retrieve the requested data from the display memory; (4) build a response packet which has the same structure as outlined above, but the response is contained in the argument data location—the response is the value of the data type associated with the mnemonic; (5) transmit response packet through data port to base unit; (6) display processor502returns to a listening mode. If the command is a “SET” command, then the display processor will: (1) go into a busy state; (2) parse transmission packet; (3) use data in argument of received packet to set the data type associated with the mnemonic specified; (4) build the response packet which has the same structure as above but an ACK (0x06) is placed in the argument data; (5) transmit response packet; (6) return to a listening state.

If the panel experiences an error, the error code corresponding to the error will be sent. Once the panel receives a carriage-return (0x0d), the panel goes into a busy state, and additional data sent to the panel is ignored. The panel remains in its busy state until the response packet is sent. In one embodiment the packets transmitted between the base unit and the display are sent over the through the data port as ASCII hexadecimal character string sequences.

The communication between the display and the base unit is important, in that it allows for asset tracking functions and operational data to be controlled and accessed through the base unit. One powerful feature of an embodiment herein is that the processor of the base unit can periodically access all of the prognostic and operational data from the display, and store it in a memory of the base unit. The base unit can then process the prognostic and operational data, and send the information via the network204to the an administrative computer206. The administrative computer can be programmed with a software application to continuously, or periodically, request data from the base units, and then store the data received from the base units for each of the displays and other interchangeable modules coupled with the base units. Further, the processors of the base units could be programmed to automatically periodically communicate with the administrative computer through network to provide asset tracking data to the administrative computer. The administrative computer can then build and maintain an asset database for each of the assets, such as base units, and interchangeable modules including displays which are part of the system.

In one embodiment the administrative computer can be a personal computer with the elements described above in connection with a computer system. The administrative computer can store all of the operational data for each of the plurality of displays. Service or security personnel will typically be provided with access to the administrative computer, and can access the operational data for the displays through a user interface similar to that described in connection withFIGS. 9A-9Bherein. Through the administrative computer a user could generate a report based on the operational data of the plurality of displays, where the report would rank the displays based on total amount of usage over a user selected time period. For example, a user might want to rank the displays based on total usage over the past 30, 60, 90 or 120 days, or perhaps even a much longer time period. Those displays with higher usage would then be possible candidates for servicing, or further analysis in terms of performance. Those displays with very low usage, might be considered for redeployment in areas where display needs area greater.

Additionally, other operating conditions of the display could be used for ranking the displays. For example, it has been found that displays which show a significant drop in current driving the panel, are displays which are generally more likely to fail in the near term. Thus, another report can provide a ranking of displays based on rate of decrease in current driving the panel. Rankings of the displays could also be generated on any of the other operational parameters of the display.

FIGS. 7A-7Cshow different images which can be displayed to a user using the administrative computer. These images generally relate to information and reports shown in connection with interchangeable storage modules used with base units.FIG. 7Ashows a table in image700which a user of the administrative computer can view. The table provides a device selection window702where a user can select a device for which the user wants to see tacking information. As shown in700in the selection window the user has selected a viewing of information for all modules. Column704includes a listing of all interchangeable modules for which there is data. The modules area provided with user recognizable names such as “strategy” “sales” . . . “payroll”. Column706shows the time at which a user started using the corresponding module. Column708shows the user who was using the module at a particular time. Column710shows the authorization code for the corresponding user. Column712shows the number of I/O operations perform during an operating session of the module. Note the I/O operations are generally input-output operations, which can correspond to the reading and writing of information to and from a storage device. Thus, column712is likely to be more relevant for a storage device interchangeable module, than a module such as a display.

Column714shows the elapsed or total time for a user session with a device. Column716shows the amount time a particular module has been used doing the previous 30 days. Columns718and720show the amount of time a module has been used to time periods of the previous 90 days, and 360 days. In one embodiment a user will be able to select the order of the columns displayed in the image700. Further, a user can select the criteria for ordered ranking of the modules. For example, a user could select to have the modules ranked from the top of the column to the bottom of the column based on the amount of usage over the previous, 30 days, or 90 days, or 360 days.

FIG. 7Bshows another screen shot721or image which can be shown on a display of the administrative computer. In the device selection window702the user has selected a pull down menu722which provides a listing of different modules and groups of modules which the user can have displayed in table. As shown the user has highlighted the selection “All Docks”. In one embodiment this selection would correspond to a selection of all base units of the system. The displayed table ofFIG. 7Bhas column724which shows listing of all base units. As shown only data corresponding to the base unit “FrontPC” is displayed, but a user could use the slider bar742to scroll down the table and view information for all of the other base units. Column728shows a listing of all users who have logged into the FrontPC docking base. Columns726and734show the time a user logged in and the elapsed time that a user was logged in on the base unit. Column730shows the users authorization code. Column732shows the number of I/O operations implemented during the users session. Columns736,738and740show the amount of time a user was logged onto the base unit over time periods of 30 days, 90 days, and 360 days.

It should be noted that screen shot images shown inFIGS. 7A-7Care examples of possible displays of information for the modules and the security data for the distributed system. Many variations of the tables shown in these figures would be possible, and a user could further provide with specific unique queries to search the data base containing.

FIG. 7Cshows a screen shot where a user has selected the specific module “Sales” in the device selection window702. In this case the Sales module is an interchangeable hard disk drive module which can be used with different base units. Column744shows the different base units that the Sales module has been connected with. Column746shows the different time periods when different users logged onto the corresponding base unit and accessed the Sales module. Column748shows the user who was logged on at the corresponding time period. Column750shows the users authorization code. Column752shows the number of I/O operations implemented by the user with the Sales module. Column754shows the elapsed time of the user's session. Columns756,758and760show the users total usage on the base unit with the sales module connected to it over time periods of 30, 90 and 360 days.

FIG. 8shows a method800of operation of an embodiment herein where a interchangeable module is initially connected with a base unit. At step802an interchangeable module is connected with a base unit. Initially the base unit will query the interchangeable module determine804if security login procedures have been selected for the interchangeable module. If the security login procedures have been selected for the module, then the specified login procedures are followed806. These procedures could include for example requiring the user to input a user id and password. Following the successful completion of the initial security procedure, the base unit makes a determination as to whether local logging has been selected808for the interchangeable module. If security procedures have not been selected for the interchangeable module, then the next step is to proceed directly to a determination of whether local logging has been selected. To determine if local logging procedures are to be followed, the processor can query the data stored in the memory of the interchangeable module to determine if the local logging procedures are to be followed. Further, the different procedure tables of the base unit may indicate that regardless of the settings for the interchangeable module, local logging procedures are to be followed810.

The local logging procedures will generally at a minimum require that the connection of the interchangeable module to the base unit be recorded in the historical operation data of the base unit, so there is a record of the usage of the interchangeable module with the particular base unit. Further, local logging procedures can be much more detailed, and provide for the transmission and storage of all operation data for the interchangeable module in the memory of the base unit.

After following the local logging procedures have been followed, or it has been determined that local logging has not been selected, the next step in the process is to determine812if remote logging has been selected. If remote logging has been selected, then the remote logging procedures are followed814. These procedures can include transmitting asset tracking data for the interchangeable module from the base unit to the administrative computer.

In one embodiment of the invention it is possible that the administrator compute could transmit instructions to each of the base units, to update certain administrative settings for a particular interchangeable module. At the time these instructions are transmitted, the interchangeable module, might be in storage, or otherwise not connected with any of the base units. In such a situation, each of the base units will store the administrative instructions in memory, and then subsequently when a base unit determines that the particular interchangeable module has been connected to it, that there is an update from the remote administrator computer, then the base unit will operate to update818the administrative settings for the interchangeable module. Once the update has been completed or it has been determined that there is no update for the interchangeable module, then normal operation of the interchangeable module coupled with the base unit can begin820.

It should be noted that the above descriptions illustrate certain embodiments for illustrative purposes and one of skill in the art would recognize that specific implementations of the invention herein could be implemented in different ways. Thus, while various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. This is especially true in light of technology and terms within the relevant art(s) that may be later developed. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.