Computer systems having operating systems that provide plug and play functionality for peripheral devices such as printers, web cameras, keyboards, mice and the like are known. These allow peripheral devices to be connected to the computer system in an ad hoc manner. For example, as peripherals are connected to the computer system the operating system detects them, loads any relevant software drivers and announces to any software applications running on the computer system that the peripherals are ready to use. As the peripherals are disconnected, any relevant software drivers may be unloaded and client applications informed. These types of plug and play operating systems are advantageous for personal computers (PCs) and the like where several peripherals may be used at one time and it is often required to add, remove or replace those peripherals. However, there are other situations where such plug and play operating systems are disadvantageous and may actually cause problems. For example, it may be required to detect loss of communication between such computer systems and associated peripherals.
The following presents a simplified summary of the disclosure in order to provide a basic understanding to the reader. This summary is not an extensive overview of the disclosure and it does not identify key/critical elements of the invention or delineate the scope of the invention. Its sole purpose is to present some concepts disclosed herein in a simplified form as a prelude to the more detailed description that is presented later.
Computer systems having operating systems that provide plug and play functionality for peripheral devices such as printers, web cameras, keyboards, mice and the like are known. These allow peripheral devices to be connected to the computer system in an ad hoc manner. However, if communication between a peripheral and such a computer system is lost during a time period when that computer system is shut down, no indication of this loss is given by the plug and play operating system. A method is described here for issuing error messages if communication between a peripheral and a computer system is lost. A persistent store is used to keep a record of peripherals in communication with the computer and this record is compared with detected information about presence of peripherals. The error messages may optionally be transferred to a remote management system via a communications network.
Many of the attendant features will be more readily appreciated as the same becomes better understood by reference to the following detailed description considered in connection with the accompanying drawings.
The present description will be better understood from the following detailed description read in light of the accompanying drawings, wherein:
Like reference numerals are used to designate like parts in the accompanying drawings.
The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present example may be constructed or utilized. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.
It is recognized here that such plug and play operating systems may be problematic in certain situations where it is required to detect loss or absence of communication with one or more peripherals. For example, this may be for error detection, security, maintenance, inventory management, equipment management or other reasons. The plug and play operating system method described with respect to
During a time period when an operating system of a computer is inactive, communication with one or more peripherals of the computer may be lost for a variety of reasons. For example, power supply failure at the peripheral, peripheral firmware corruption, broken communication cable, loss of wireless communication link between the peripheral and the computer, unauthorized tampering at the peripheral, malfunction at the peripheral or other reasons.
If the computer is provided at an unattended apparatus, inability to detect loss of communication with peripherals is a significant problem. For example, the computer may be arranged to control a self-service apparatus such as an automated teller machine (ATM), self-service kiosk or other unattended apparatus. In this situation, typically several peripheral devices are integral with or in communication with the computer. For example, these may be cash dispensers, receipt printers, pin pads, card readers, keyboards, bar code scanners, displays, etc. If communication between the computer and one or more of the peripherals is lost and this loss is undetected by the computer, then security may be breached and/or loss of functionality may carry on for a substantial length of time resulting in loss of profits, customer loyalty etc. A customer or operator needs to report the error manually and a maintenance engineer needs to be called to rectify the problem. This is time consuming and expensive.
Previously this problem has been addressed by using non-plug and play operating systems at unattended apparatus. However, this means that maintenance of those unattended systems is relatively complex especially where many peripherals of different types are used and it is often required to replace, add or remove those peripherals. In the case of ATMs and other self-service apparatus this is particularly the case because many peripherals are used with different combinations and types of peripherals at different apparatus locations.
A method of detecting losses of communication between a computer and one or more peripherals is now described with reference to
If no discrepancy is found as a result of the reconciliation or comparison process (block 303) then the operating system continues to monitor for information about presence of any peripherals and the method repeats as indicated in
If a detected peripheral is not already listed in the persistent store, it is added to the persistent store (block 304). In this way, plug and play functionality is at least partially provided because, if a peripheral is added, that peripheral is detected and the persistent store updated. The operating system loads any software drivers as appropriate and informs client applications of the availability of the peripheral as described above with reference to
If a peripheral is listed in the persistent store but is not detected (block 305) then an error message or other alert is issued. This enables errors to be detected where communication has been lost with a peripheral during a time period when the operating system is not functioning and/or during a time period when the operating system is active. The error message may optionally be sent to the remote management system 30 via the communications network 29 using the remote management system interface 32. The remote management system (and/or the local computer 20) may be arranged to trigger automated maintenance applications to remotely investigate and attempt to repair the problem. Alternatively, an operator may be requested to attend the site and investigate the problem.
Another embodiment is now described with reference to
The method described with respect to
The persistent store 24 may be provided at the local computer 20 or at any other location accessible to the software 31. For example, that location may be at the remote management system 30 or at a node in the communications network 29.
In some situations it may be required to intentionally remove a peripheral device. In this case it is necessary to update the persistent store in order that error messages are not unintentionally generated following the method of
In an example now described with reference to
Peripherals may be added to the ATM at any time and these will be detected by the operating system 503 as described above with reference to
The term ‘computer’ is used herein to refer to any device with processing capability such that it can execute instructions. Those skilled in the art will realize that such processing capabilities are incorporated into many different devices and therefore the term ‘computer’ includes PCs, servers, mobile telephones, personal digital assistants and many other devices.
The methods described herein may be performed by software in machine readable form on a storage medium. The software can be suitable for execution on a parallel processor or a serial processor such that the method steps may be carried out in any suitable order, or simultaneously.
This acknowledges that software can be a valuable, separately tradable commodity. It is intended to encompass software, which runs on or controls “dumb” or standard hardware, to carry out the desired functions. It is also intended to encompass software which “describes” or defines the configuration of hardware, such as HDL (hardware description language) software, as is used for designing silicon chips, or for configuring universal programmable chips, to carry out desired functions.
Those skilled in the art will realize that storage devices utilized to store program instructions can be distributed across a network. For example, a remote computer may store an example of the process described as software. A local or terminal computer may access the remote computer and download a part or all of the software to run the program. Alternatively, the local computer may download pieces of the software as needed, or execute some software instructions at the local terminal and some at the remote computer (or computer network). Those skilled in the art will also realize that by utilizing conventional techniques known to those skilled in the art that all, or a portion of the software instructions may be carried out by a dedicated circuit, such as a DSP, programmable logic array, or the like.
Any range or device value given herein may be extended or altered without losing the effect sought, as will be apparent to the skilled person.
It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. It will further be understood that reference to ‘an’ item refer to one or more of those items.
The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate.
It will be understood that the above description of a preferred embodiment is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments of the invention. Although various embodiments of the invention have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the spirit or scope of this invention.