Abstract:
A self-service terminal comprises a plurality of devices, each device providing management information. A management agent is installed in the terminal and adapted to monitor the plurality of devices. In the event that management information from a device indicates that there is a fault, the management creates and transmits a notification. A communications stack is adapted to receive the transmitted notification from the management agent. A self-service terminal application is adapted to (i) monitor the communications stack to receive the transmitted notification, (ii) package the notification within a host message conforming to a host messaging format, and (iii) transmit the host message to a remote host via a legacy network.

Description:
BACKGROUND 
     The present invention relates to a self-service terminal (SST). 
     SSTs are public access devices that are suitable for allowing a user to conduct a transaction or to access information in an unassisted manner and/or in an unattended environment. An SST deployer may decide to provide human assistance and/or supervision for users of the SST; however, SSTs are typically designed so that such assistance and/or supervision is not essential. This means that SSTs generally need to be fault tolerant, and to have effective fault handling processes to retain the SST in service when a fault does occur. 
     Common examples of SSTs include automated teller machines (ATMs), information kiosks, financial services centers, bill payment kiosks, lottery kiosks, postal services machines, check-in and check-out terminals such as those used in the hotel, car rental, and airline industries, retail self-checkout terminals, vending machines, and the like. 
     A particularly important example of an SST is an ATM. ATMs typically include a plurality of devices that perform functions to enable transactions to be executed. To ensure that an ATM remains in service, it is important to be able to detect any faults in an ATM quickly. It is also important to be able to detect faults from a remote location because ATMs operate in an unassisted environment. 
     An ATM typically includes management software to monitor the state of health of devices within the ATM. State of the art management software for computing devices typically uses IP networks to provide automated notification of device status information; however, many ATM networks are based on legacy network technologies, such as SNA networks, which do not support this functionality. In addition, some ATM networks use host-driven software to control the operation of the ATMs, rather than peer-to-peer software. 
     SUMMARY 
     According to a first aspect of the present invention there is provided a method of operating a self-service terminal, the method comprising: receiving management information via a communications stack for use with a first network; preparing a message using a protocol for transmission across a second network, where the message includes the management information; and transmitting the prepared message to a host via the second network so that the host receives the management information from the self-service terminal without requiring the self-service terminal to be coupled to the first network. 
     The management information may relate to the status of a device, an operation performed by the device, a fault detected by the device, or the like. The management information may include a status code. The management information may be provided by an open management service, such as that provided by Windows Management Instrumentation (trade mark) as part of a Windows (trade mark) operating system, or by a proprietary management system. 
     The communications stack may be for use with a peer-to-peer network, such as an IP network. 
     The communications stack may receive messages from a management application. 
     The management application may be a simple network management protocol (SNMP) agent. 
     The step of receiving management information via the communications stack may include monitoring the communications stack for messages received at a predetermined port. 
     The second network may comprise a centralized, host-based network, such as an SNA network. 
     The step of preparing a message using a protocol for transmission across a second network may include encrypting the management information. 
     The step of transmitting the prepared message to a host via the second network may include transmitting the prepared message as a message type corresponding to an unsolicited message. 
     The method may comprise the further steps of the host receiving the prepared message; parsing the received message to ascertain if the message contains information relevant to the host (such as terminal information) or management information; and in the event that the message contains management information, forwarding the management information to a remote management centre responsible for maintaining the self-service terminal in normal operation. The remote management centre may perform centralized maintenance dispatch and management functions. 
     The step of parsing the received message may include ascertaining if a predetermined device identifier (a special identifier) is associated with that message. The special identifier may be used to indicate that the message contains management information that is to be forwarded from the host to the remote management centre. Such management information may contain information that is vendor-dependent and terminal-dependent so that the host may not be able to understand the significance of the management information. 
     The self-service terminal may be an automated teller machine (ATM). 
     By virtue of this aspect of the invention an SST is able to execute software requiring an IP network without the SST having to be connected to an IP network. This enables a host to receive standards-based management information from an SST on a legacy network without having to upgrade the legacy network to an IP network. 
     According to a second aspect of the present invention there is provided a self-service terminal comprising: a plurality of devices, each device providing management information; a management agent adapted to monitor the plurality of devices and to create and transmit a notification in the event that management information from a device indicates that there is a fault; a communications stack for receiving the transmitted notification from the management agent; a self-service terminal application adapted to (i) monitor the communications stack to receive the transmitted notification, (ii) package the notification within a host message conforming to a host messaging format, and (iii) transmit the host message to a remote host via a legacy network. 
     As used herein, the term “legacy network” refers to any network that is not an IP network. 
     The management agent may comprise an SNMP agent. 
     The communications stack may comprise a TCP/IP stack. 
     The self-service terminal application may be an ATM application including code for monitoring SNMP traps. 
     The self-service terminal may be an automated teller machine (ATM), information kiosk, financial services centre, bill payment kiosk, lottery kiosk, postal services machine, check-in and check-out terminal such as those used in the hotel, car rental, and airline industries, or a retail self-checkout terminal. 
     The devices may be selected from the group comprising: a card reader, a display, an encrypting keypad, a receipt printer, a statement printer, a dispenser, a cheque processing module, a cash recycler, a check depository, a currency depository, communication ports, and the like. 
     According to a third aspect of the present invention there is provided a self-service terminal system, the system comprising: a host coupled by a legacy network to a plurality of self-service terminals, each terminal including (i) a plurality of devices, each device providing management information, (ii) a management agent adapted to monitor the plurality of devices and to create and transmit a notification in the event that management information from a device indicates that there is a fault, (iii) a communications stack for receiving the transmitted notification from the management agent using internet protocol (IP), (iv) a self-service terminal application adapted to (a) monitor the communications stack to receive the transmitted notification, (b) package the notification within a host message conforming to a host messaging format, and (c) transmit the host message to the host via the legacy network. 
     The host messaging format may comprise NDC provided by NCR Corporation (trade mark) (assignee of this application), 91x (such as 911 or 912) provided by Diebold Corporation (trade mark) of Canton, Ohio, or the like. 
     The system may further comprise a management centre to which the host transmits the notification. 
     According to a fourth aspect of the present invention there is provided a management centre adapted to manage a network of self-service terminals, where the terminals are connected to a host by a legacy network, the management centre being adapted to receive a notification from a management agent within one of the self-service terminals via the host despite the management agent not being able to transmit information across the legacy network directly. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other aspects of the present invention will be apparent from the following specific description, given by way of example, with reference to the accompanying drawings, in which: 
         FIG. 1  is a block diagram illustrating a system including a host coupled to self-service terminals according to one embodiment of the present invention; 
         FIG. 2  is a block diagram showing one of the self-service terminals of  FIG. 1  in more detail; 
         FIG. 3  is a schematic diagram illustrating software components executing in a part (the controller) of the SST of  FIG. 2 ; 
         FIG. 4  is a flowchart illustrating the steps involved in forwarding management information received by one of the software components of  FIG. 3  (an SNMP agent) to the host of  FIG. 1 ; and 
         FIG. 5  is a flowchart illustrating the steps involved (at the host and at a management centre) in acting on management information received from the SNMP agent. 
     
    
    
     DETAILED DESCRIPTION 
     Reference is first made to  FIG. 1 , which is a block diagram illustrating a self-service terminal system  10 , in the form of an ATM system, according to one embodiment of the present invention. The ATM system  10  comprises a host  12 , coupled to a plurality of ATMs  14  (only two of which are illustrated in  FIG. 1 ) via a network  16 , and a management centre  18  coupled to the host  12 . 
     In this system, the ATMs  14  are host-driven, which means that the host  12  sends commands to the ATMs  14  relating to actions that the ATM  14  must perform and screens that the ATM  14  must display. The host  12  receives communications from the ATMs  14 . The communications typically include (i) requests, (ii) responses, and (iii) unsolicited messages. Requests typically include transaction requests to authorize transactions entered by customers at the ATMs  14 , or to transfer funds between accounts held by a customer at one of the ATMs  14 . The responses typically include terminal information (such as counters, supplies data, deposit note definitions, encryption key management information, or the like) or management information (such as status reports, logs of device usage, tallies of device usage, or the like) from devices in the ATMs  14 . Unsolicited messages typically include management information to inform the host  12  of a fault, status, or other condition within the ATMs  14 . 
     The network  16  may be an SNA network, or some other network that does not support the TCP/IP protocol (such a network is referred to herein as a “legacy network”). 
     Reference will now also be made to  FIG. 2 , which illustrates one of the ATMs  14  of  FIG. 1  in more detail. 
     The ATM  14  comprises a plurality of internal devices  20  mounted within the ATM  14 , including: a card reader device  20   a ; a receipt printer device  20   b ; a display  20   c  and associated function display keys (FDKs)  20   d  disposed as two columns, each on opposing narrow sides of the display  20   c ; an encrypting keypad device  20   e ; a dispenser device  20   f ; a journal printer device  20   g  for creating a record of every transaction executed by the ATM  14 , a network device  20   h  for accessing the host  12 ; a rear operator panel (including control switches in the form of small FDKs)  20   i , and a controller device  20   j  (in the form of a PC core) for controlling the operation of the ATM  14 , including the operation of the other devices  20 . 
     The controller  20   j  comprises a non-volatile memory  30  storing a BIOS, a microprocessor  32 , associated main memory  34 , storage space  36  in the form of a disk drive, and a display controller  38  in the form of a graphics card. 
     The display  20   c  is connected to the microprocessor  32  via a graphics card  38  installed in the controller  20   j  and one or more internal controller buses  46 . The other ATM devices ( 20   a, b , and  20   d  to  20   i ) are connected to the ATM controller  20   j  via a device bus  48  (in the form of a Universal Serial Bus (USB)) and the one or more internal controller buses  46 . 
     Initialization of the ATM 
     When the ATM  14  is booted up, the microprocessor  32  accesses the disk drive  36  and loads the main memory  34  with software components, as will be described with reference to  FIG. 3 , which is a schematic diagram illustrating how software components interact in main memory  34 . 
     Operating System 
     The microprocessor  32  loads an operating system kernel  60  into the main memory  34 . In this embodiment, the operating system is a Windows XP (trade mark) operating system, available from Microsoft Corporation (trade mark). The operating system includes a plurality of device drivers  62   a,b , . . . for interfacing with standard computing devices such as the magnetic disk drive  36 , the display  20   c , a serial port, and the like. 
     Run-Time Platform 
     The microprocessor  32  also loads a run-time platform  70  into the main memory  34 . In this embodiment, the runtime platform  70  is a set of APTRA (trade mark) XFS components, available from NCR Corporation, 1700 S. Patterson Blvd., Dayton, Ohio 45479, U.S.A. The run-time platform  70  provides a range of programming facilities specific to self-service terminal devices and services. 
     The run-time platform  70  includes a plurality of self-service device drivers  72   a,b , . . . that interface with self-service specific devices (such as the card reader device  20   a , the receipt printer device  20   b , and the like). 
     One function of the run-time platform  70  is to enhance the operating system  60  so that the operating system and run-time platform  70  together provide high level access to all of the devices  20 , including both standard computing devices (via the operating system  60 ), and non-standard computing devices (via the run-time platform  70 ). Thus, the combination of the run-time platform  70  and the operating system  60  can be viewed as providing a complete ATM operating system. 
     Control Application 
     The microprocessor  32  also loads a control application (CA)  80  into the main memory  34 . For clarity, and to aid understanding, the CA  80  is represented in  FIG. 3  as comprising a number of logical components: a transaction processing component  82 ; a management component  84 ; a host communication component  86  (a legacy network connection) for preparing messages for transmission across the SNA network  16  using a proprietary protocol; a TCP/IP software stack  88  (a communications stack), which is monitored by the host communication component  86 ; and an SNMP agent  90 . 
     The transaction processing component  82  provides transaction processing functions for customers and for maintenance personnel. This allows customers to execute transactions at the ATM  14 , and maintenance personnel to diagnose, maintain, and repair devices  20  in the ATM  14 . 
     The management component  84  provides device management functions in response to requests received from the host  12 , and/or from maintenance personnel at the ATM  14 . 
     The SNMP agent  90  is registered with the management component  84  and receives status and fault information therefrom. This status and fault information is provided by the management component  84  in response to changes in the devices  20  or in response to a request from the SNMP agent  90 . 
     The host communication component  86  is responsible for sending messages to and receiving messages from the host  12 . As the ATM  14  is host-driven, it is important for the ATM  14  to be able to communicate with the host  12 . The host communication component  86  sends communications according to a predefined format, in this embodiment, the NDC messaging format (as defined by NCR Corporation) (trade mark). In this format, messages may be solicited (such as a response to a request for terminal information from the host  12 ), or unsolicited (such as a transaction request or an event notification). An event notification is similar to an SNMP trap, but because the network  16  is not an IP network, an SNMP trap cannot be sent. 
     The TCP/IP software stack  88  has an IP address to which the SNMP agent  90  may send messages. The TCP/IP software stack  88  accesses a loopback adapter driver (provided by Microsoft Corporation (trade mark) for use with the Microsoft NT operating system). The loopback adapter allows the SNMP agent  90  to send messages to a virtual IP address; that is, an IP address that does not have any corresponding hardware. This IP address is configured to be the loopback adapter IP address (127.0.0.1). Any messages sent from the SNMP agent  90  to the loopback adapter IP address are received by the TCP/IP software stack  88 . The TCP/IP software stack  88  receives these messages and provides them to the host communication component  86  for relaying to the host  12 . 
     Operation of the ATM 
     The operation of the ATM  14  will now be described with reference to  FIG. 4 , which is a flowchart illustrating the steps involved in forwarding management information received by the SNMP agent  90  to the host  12 . In this example, the management information is a fault with the dispenser device  20   f.    
     Initially, the SNMP agent  90  is notified by the management component  84  that the dispenser device  20   f  has a malfunction (step  100 ), and includes details of a status code corresponding to the malfunction. In this example, the malfunction is a failure of a note thickness sensor in the dispenser device  20   f.    
     The SNMP agent  90  then sends a new incident trap to the loopback adapter IP address (127.0.0.1) (step  102 ), which the TCP/IP software stack  88  receives. The new incident trap includes management information such as the type of device (the dispenser device  20   f ) that malfunctioned, the status code, the time at which the malfunction occurred, and the like. 
     The host communication component  86  constantly monitors the TCP/IP software stack  88  for received traps. When this new incident trap is received by the TCP/IP software stack  88 , the host communication component  86  incorporates the new incident trap into an unsolicited message in the NDC message format (step  104 ). This unsolicited message includes a special identifier (a flag) to indicate that the unsolicited message includes SNMP management information. Other types of unsolicited messages are possible that do not have a special identifier set; such messages do not include SNMP management information. 
     Optionally, the host communication component  86  may also encrypt the management information. 
     The host communication component  86  then transmits the unsolicited message across the SNA network  16  to the host  12  (step  106 ). 
     Operation of the Back-Office 
     The operation of the back-office (that is, the host  12  and the management centre  18 ) on receipt of the unsolicited message from the ATM  14  will now be described with reference to  FIG. 5 , which is a flowchart illustrating the steps involved in acting on management information received from the SNMP agent  90 . 
     The host  12  receives this unsolicited message (step  120 ) and ascertains if the special identifier is set (step  122 ), indicating that the message is an unsolicited message of the type containing SNMP management information. 
     If this unsolicited message does not have the special identifier set then it means that it does not contain management information from the SNMP agent  90 , so the message is parsed and handled by the host  12  in a conventional manner (step  124 ). 
     If this unsolicited message does have the special identifier set then it means that it does contain management information from the SNMP agent  90 , so the message is forwarded directly to the management centre (step  126 ). 
     The management centre  18  receives the packaged message (step  128 ), analyses the packaged message to obtain details of the status code corresponding to the malfunction (step  130 ), and then accesses a table (not shown) in the management centre  18  to ascertain what action is to be taken (step  132 ). In this example, the malfunction is a failure of a note thickness sensor in the dispenser device  20   f , so the table entry corresponding to this status code indicates that an ATM technician should be dispatched to resolve the malfunction. 
     The management centre  18  then dispatches an ATM technician to resolve the malfunction (step  134 ). In this example, the management centre  18  is automated and sends a text message to an available ATM technician including an identifier indicating the identity of the ATM  14  that sent the message, and the status code of the malfunction. The ATM technician can use this information to ensure that he/she has the correct replacement part to restore the ATM  14  to full working operation. 
     It will now be appreciated that the above embodiment has the advantage that an SNMP agent can be installed on an ATM in a legacy network environment so that important management information can be provided by the SNMP agent, even though the ATM  14  is not connected to an IP network. 
     Various modifications may be made to the above described embodiment within the scope of the invention, for example, in other embodiments a different ATM hardware configuration may be provided. The software components installed may be different to those illustrated. The networks used may be different to those illustrated. 
     In other embodiments, SSTs other than ATMs may be used, for example, check-in terminals. 
     In other embodiments, the management information may be encrypted prior to transmission to the host, and decrypted by the management centre  18 . 
     In the above embodiment, the control application comprises a plurality of objects, each object performing a predetermined function. However, it should be appreciated that the particular structure used to implement these functions is a matter of design choice, for example, the control application may be implemented as a single monolithic program, or as a set of discrete objects that can interact with one another. 
     In other embodiments, the host may extract the management information from an unsolicited message, then send the management information to the management centre.