[0001] The present invention relates to a communications network. In particular, the invention
relates to a communications network having one or more service terminals. The service
terminals may include a self-service terminal (SST) such as an automated teller machine
(ATM), a financial services terminal (FSC), a self service checkout terminal or a
retail point-of-sale (PoS) terminal. The invention also relates to a method and system
for routing agent programs carrying operating data through a communications network.
[0002] Self-service terminals are required to operate under extreme service conditions.
Twenty-four hour availability is extremely important to ATMs that continue to operate
after normal banking hours. This is compounded by the move towards off-site ATMs,
such as ATMs that are located in retail locations and petrol stations, where access
by the on-site staff may be restricted for security reasons. Within the retail environment,
PoS terminals must operate reliably in many diverse locations from large supermarkets
to small retail locations.
[0003] These terminals can fail to operate because of two basic types of error. The first
type of error is caused by hardware and/or system failures, and the second type of
error is caused by consumable media within the terminal. The mechanical transport
mechanisms that allow media (currency, tickets, receipts, cards, and such like) to
be moved around within the ATM may fail due to jamming of the media being conveyed.
Cards can jam in the card reader, currency can jam in the dispenser transport, and
receipt paper can jam within the printer mechanism or its external transport. These
critical errors will immediately force the terminal out of service and require action
to be taken to restore the terminal to operation.
[0004] Point-of-sale (PoS) terminals can have similar hardware failures such as receipt
paper jams, cash drawer release failure or the failure of support systems such as
scanners or weighing scales. Although a traditional PoS terminal may be run by an
operator, the operator may not be trained or authorised to perform repair operations
and may need to call for assistance when a failure occurs. New forms of self-service
checkout terminals (SSTs) being developed integrate some of the functions of an ATM
with a PoS terminal. This type of unattended system can suffer the same critical failures
as a PoS terminal or an ATM.
[0005] The consumable media within an ATM, a PoS terminal, or an SST includes currency,
receipt paper, tickets, and cards. There are situations where cards are captured by
ATMs or currency is purged during a dispensing process. There is a limit to the capacity
within the capture and purge bins that requires the bins to be emptied as they approach
the capacity limit. Similarly, when an ATM has a depository accepting envelopes or
cheques, the corresponding capture bin must be periodically emptied.
[0006] Within the PoS terminal, where currency is entered in the form of large denomination
bank notes and is withdrawn in the form of smaller denomination notes and coins, there
are times when the mix of currency in the cash drawer is unsatisfactory to meet the
transactions being processed. It may be necessary for the operator to call for assistance
to re-stock the cash drawer with an appropriate mix of bank note denominations.
[0007] Clearly, critical failure resolution and consumable media management are important
issues for ATM, SST and PoS terminals. A number of techniques exist which attempt
to address these issues. Large retail stores typically utilise a loudspeaker or paging
system to allow the operator to call for assistance. This could be in response to
some critical situation, such as a receipt paper jam, where the customer must wait
for the problem to be resolved. It could be in response to a lack of low denomination
currency so that the customer cannot be given change of a large denomination note,
or a lack of high denomination currency so that the customer may be given an undesirably
large amount of small change. Either situation undesirably inconveniences the customer.
[0008] Where the terminals are included in computer systems, application programs may be
used to monitor the operation of the terminal devices (e.g. the printer) and the consumable
media (e.g. low supply of the printer paper) to predict potential failures. On stand-alone
terminals appropriate messages may be displayed to the user on a user display or to
an operator on a specialised operator display. However this still requires that someone
regularly checks the terminals to read the displayed messages and it poses a problem
for off-site locations in regard to nominating someone to check the terminals.
[0009] It is an object of the invention to obviate or mitigate one or more of the above
disadvantages.
[0010] According to a first aspect of the invention there is provided a communications network
having a plurality of interconnected network sites, at least one network site having
a service terminal, wherein intelligent agent programs are used to convey information
between sites on the network for facilitating efficient maintenance of the service
terminal.
[0011] It will be understood that each service terminal has an intelligent agent handler
for receiving intelligent agents from the network and for launching intelligent agents
into the network. The agent handler allows the received intelligent agent to execute
within the context of the handler. The agent handler may also perform other functions,
such as checking that a received intelligent agent has the required security. An executing
intelligent agent may retrieve data from the service terminal that received the intelligent
agent and may store data carried by the intelligent agent in the service terminal.
The agent handler is conveniently implemented in software.
[0012] Preferably the communications network routes intelligent agent programs through the
communications network by reference to network site address information. Conveniently,
each agent program carries the site address information.
[0013] Preferably, each service terminal includes operation monitoring means for recording
operating information associated with service elements within that terminal. Service
elements may include receipt printers, cash dispensers, cash drawers, and such like.
The operating information may relate to operating parameters associated with the service
elements. Operating parameters may include details of all transactions such as the
total amount of cash that has been withdrawn, state of health information such as
the amount of receipt paper that has been used, error messages, and such like.
[0014] Preferably, one network site in the communications network has a server. In one embodiment
the server provides transaction processing capabilities.
[0015] Preferably, the server records the network site address of each available service
terminal; i.e. each service terminal that is operating and that is connected to the
communications network.
[0016] Preferably, the server has a monitor for sending out monitor intelligent agent programs
(hereinafter referred to as monitor agents) for collecting operating information from
each of the available service terminals. The server may provide each monitor agent
with a list of all of the available service terminal addresses. Conveniently, the
monitor is implemented in software.
[0017] Preferably, for each service terminal address on the list, the monitor agent has
storage space for storing operating information associated with that service terminal.
[0018] Each monitor agent visits each service terminal in turn; the handler associated with
each terminal receives the monitor agent and executes the program carried by the received
monitor agent. The program retrieves operating information from the operation monitoring
means. The handler then sends the monitor agent to the next destination. The next
destination may be the next service terminal on its list. Alternatively, when all
service terminals on its list have been visited, the monitor agent returns to the
server.
[0019] Preferably, the monitor is also operable to receive a returning monitor agent and
extract from the returning monitor agent the stored operating information for each
service terminal visited.
[0020] Preferably, the monitor includes analysing means for analysing the operating information.
Using this analysing means, the server is able to predict when a service terminal
may require maintenance. For example, if the returning monitor agent contains operating
information for an ATM, which information shows that the receipt printer paper is
very low, the server can alert maintenance personnel to schedule replenishment of
the paper and thereby reduce the downtime of the ATM. Another aspect of the invention
accordingly provides a predictive maintenance communications network that uses monitor
agents to predict when maintenance is required.
[0021] Conveniently, the server sends out the monitor agents at a predetermined frequency,
such as one monitor agent every 30 minutes.
[0022] According to a second aspect of the invention there is provided a service terminal
for use with a communications network, the service terminal comprising: one or more
service elements, operation monitoring means for recording operating information associated
with the one or more service elements; a network interface; and an intelligent agent
handler for receiving an intelligent agent via the interface and for sending the received
intelligent agent to the next destination; whereby, the received intelligent agent
is executed by the handler so that the received intelligent agent retrieves and stores
operating information from the operation monitoring means.
[0023] The network interface is an I/O interface.
[0024] The next destination may be another service terminal or it may be a server which
originally sent the visiting monitor agent.
[0025] The service terminal may be a SST or a PoS terminal.
[0026] According to a third aspect of the invention there is provided an automatic maintenance
requesting communications network system having at least one service terminal and
at least one maintenance terminal; whereby when a maintainer logs in to the maintenance
terminal an intelligent agent service program is sent to the service terminal to convey
information about the maintainer and the network address of the maintenance terminal
to a service agent register, so that in the event of a malfunction the service terminal
is able to send an intelligent agent alert program conveying a maintenance request
to the maintenance terminal.
[0027] By virtue of this system, a malfunctioning service terminal is able to determine
if there is a maintainer available to repair the malfunction; and if a maintainer
is available, the service terminal is able to send a request (using an alert agent)
to the maintainer.
[0028] The maintainer may be a service engineer, a replenisher, or an automated assistance
system.
[0029] Preferably, the maintainer information includes details for ranking the priority
of the maintainer. These details may include the type of malfunctions the maintainer
can repair, for example card reader malfunctions, cash drawer malfunctions, receipt
printer malfunctions and such like. The details may include an indication of the geographical
location of the maintainer, for example whether the maintainer is local or remote;
and whether the maintainer is a primary contact or should only be contacted if there
is no primary contact. Using this information, if there are a plurality of maintainers
available, the service terminal is able to rank the available maintainers into a preferred
visiting order according to the malfunction, the location of the maintainer, and other
such details. The service terminal is able to generate a list of maintainers to be
visited by the alert agent, where the first maintainer on the list has the highest
ranking.
[0030] Preferably, if a maintainer declines to perform the repair or if a maintainer fails
to respond to the alert agent within a predetermined time period, the alert agent
travels to the next maintainer on the list. If the last maintainer on the list has
been visited without any maintainer responding to the alert agent, the alert agent
re-visits the first maintainer on the list. In some embodiments, the alert agent may
only have a predetermined lifetime, after expiry of which the alert agent becomes
inactive.
[0031] According to a fourth aspect of the invention there is provided a service terminal
for use in an automatic maintenance requesting communications network, where the service
terminal comprises: an intelligent agent handler; operation monitoring means for detecting
malfunctions; and a service agent register; whereby, in use, the intelligent agent
handler receives and executes intelligent agent service programs that store maintainer
information and maintenance terminal information in the service agent register, so
that on detecting a malfunction the operation monitoring means is able to provide
the handler with information relating to one or more maintainers from the service
agent register for use in creating an intelligent agent alert program for sending
to the one or more maintainers.
[0032] Preferably, the operation monitoring means selects a plurality of maintainers and
prioritises these selected maintainers so that the alert agent visits the selected
maintainers in the prioritised order.
[0033] According to a fifth aspect of the invention there is provided a method of communicating
intelligent agent programs through a communications network comprising a plurality
of interconnected network sites, the network having a server at one network site and
a service terminal at another network site, the service terminal having at least one
service element, the method comprising the steps of: monitoring the service element
to derive operating data relating to an operating parameter thereof; and, launching
from the service terminal to the server an intelligent agent program carrying the
operating data.
[0034] The service terminal may be an SST such as an ATM or a kiosk, or a PoS terminal.
[0035] According to a sixth aspect of the invention there is provided a method of requesting
service for a service terminal connected to a network of interconnected sites, the
method including the steps of selecting a site to send a request for service to, where
the selection is based on profile data associated with a service person enrolled at
that site; and using an intelligent agent program to convey the request to that site.
[0036] According to a seventh aspect of the invention there is provided a method of servicing
a service terminal interconnected over a network, the method including the steps of
communicating servicing information over the network to servicing personnel, where
the communication permits each service person to accept responsibility for servicing
a specified condition that has occurred within the terminal, and where the communication
visits service persons in turn until a service person accepts responsibility.
[0037] According to an eighth aspect of the invention there is provided a method of requesting
service for a service terminal connected to a network of interconnected sites, the
method including the steps of initiating a request for service on the basis of an
event occurring within the terminal, selecting appropriate service personnel to convey
the request to, prioritising the order in which the service personnel are to be visited,
and using an intelligent agent program to convey the request to the service personnel
in the prioritised order.
[0038] According to a ninth aspect of the invention there is provided an interconnected
network system comprising transaction terminals, a central server, and service persons'
terminals, where the central server monitors terminals and persons who are logged
onto the network, terminals failing to provide an anticipated communication over the
network, state of health and servicing requirements of the transaction terminals,
and qualification information relating to service persons who are logged onto the
network, for establishing one or more lists of network locations to be visited by
intelligent agent programs to facilitate servicing of the transaction terminals.
[0039] These aspects of the invention have a number of advantages because intelligent agent
techniques allow agents (in the form of software routines such as Java objects) to
be transmitted between different computing elements on a network, allowing new code
to enter an existing element, execute within that element to perform some data gathering
exercise, and then as appropriate move on, e.g., to the next element in a list of
places (network sites) to visit. These agents can provide a monitoring function by
regularly moving round the network of terminal modules looking for errors. By harvesting
actual usage information these monitor agents can be used to provide for replenishment
scheduling. Service agents can be used to inform all modules active in the network
of the identity of available serving personnel. In case of critical failure (e.g.,
one requiring some immediate or near term attention) modules can then send out alert
agents to indicate that an error has occurred within a module. These alert agents
can be sent to the various registered personnel to find someone who is trained, authorised
and available to assist in servicing. The alert agents are preferably intelligent
agents capable of moving around the network on their own to carry out their prescribed
task. Information relating to non-critical errors or failures can be held at a module
(i.e., not passed along by an alert agent) for later access by other types of agents,
such as a monitor agent, as will be described.
[0040] Having identified a service person that can help a module or ATM that has a critical
error of some sort, that individual can then access the embedded server of the ATM
to obtain more details. This can be achieved by providing a Web server at a central
server, which standard Web browsers at the service person's back office or more remotely
located terminal can access. Using standard Web protocols and Java® applets it is
possible to provide a number of interface types to designated field engineers or other
servicing personnel.
[0041] The Web-based Java® applets can access the central server for information, which
the central server can obtain from the individual modules of the ATM. Embedded support
servers within the modules can be capable of retrieving the module specific logs,
tallies and state of health information in response to states within a module or external
queries or requests. It is possible to provide for immediate error notification on
an associated Web page, through the Java® applets if they are enabled.
[0042] The invention will now be described, by way of example, with reference to the accompanying
drawings in which:
Fig 1 is a block diagram of a bank branch network according to one embodiment of the
invention;
Fig 2 is a block diagram of a service terminal from the network of Fig 1 in more detail;
Fig 3 is a block diagram of elements of an intelligent agent program that is communicated
through the network of Fig 1;
Fig 4 is a block diagram of the server from the network of Fig 1;
Fig 5 is a flowchart illustrating the steps implemented by an agent handler in receiving
and forwarding a monitor agent;
Figs 6a to 6c are block diagrams illustrating the movement of intelligent agent monitor
programs used in the network of Fig 1;
Fig 7 is a flowchart illustrating the steps implemented by an agent handler in receiving
and examining a returning intelligent agent monitor program;
Figs 8a to 8c are block diagrams illustrating the movement of service intelligent
agent programs used in the network of Fig 1;
Fig 9 is a block diagram of a maintenance terminal used in the network of Fig 1;
Fig 10 is a block diagram illustrating the movement of alert intelligent agent programs
used in the network of Fig 1; and
Figs 11a to c are block diagrams of a petrol station site including an ATM and a PoS
terminal.
[0043] Reference is first made to Fig 1, which shows a communications network 10 in the
form of a local area network (LAN) within a bank branch. The LAN 10 communicates using
messages in the TCP/IP format. The LAN 10 has nine network terminal sites 12 mutually
interconnected by a LAN bus 14. A service terminal (such as an ATM or a teller station),
a maintenance terminal (such as a back office terminal), or a server may be connected
to each of the network terminal sites 12.
[0044] Of these nine network sites 12, three sites 12 are connected to ATM terminals 16,
two sites 12 are connected to teller station terminals 18, three sites 12 are connected
to back office terminals 20, and one site 12 is connected to a server 22.
[0045] A connection is made from the server 22 to a wide area network bus 24 to link the
LAN 10 with a WAN (not shown). The server 22 maintains a record of the IP address
of each service terminal and each maintenance terminal connected to the LAN 10.
[0046] Fig 2 is a diagram of an ATM terminal 16. The ATM 16 is connected through a physical
I/O interface 32 to the bus 14 of Fig 1 and includes an agent handler 40 for receiving
intelligent agents (illustrated by arrow 50) from the LAN 10 via I/O interface 32,
and for launching intelligent agents into the LAN 10 via I/O interface 32. The agent
handler 40 is implemented by software executed on a processor 42 within the ATM 16.
Agent handler 40 is shown overlapping processor 42 because the handler 40 receives
intelligent agents 50 and allows them to run on the processor 42 but only within the
context of the handler 40. This ensures that an agent 50 does not have unrestricted
access to the ATM 16.
[0047] The agent handler 40 has an IP address (which is the IP address of the processor
42 on which the agent handler software is executing) and a port number (which represents
a logical channel in the processor 42). The IP address is the network site address,
and may be shared by different agent handlers 40 because a plurality of agent handlers
40 may be executing on a single processor 42. However, if two or more agent handlers
40 are executing on the same processor 42, each agent handler 40 has a unique port
number (i.e. each agent handler 40 is monitoring a different logical channel in the
same processor 42). Thus, no two agent handlers 40 in the LAN 10 have the same IP
address and port number. An agent handler 40 monitors its port number to detect an
incoming intelligent agent.
[0048] The ATM 16 has four service elements 44 in the form of a user interface 44a, a card
reader 44b, a cash dispenser 44c, and a receipt printer 44d. The ATM 16 also has a
service agent register 45, and operation monitoring means 46 comprising a service
element monitor 48 and an associated service register 49. The service element monitor
48 interrogates the service elements 44 to obtain operating information relating to
service elements 44 in the ATM 16. The operating information includes state of health
information. The service element monitor 48 is located and arranged so as to provide
operating data that indicates the state of health of the ATM 16 by monitoring the
operations being carried out by the service elements 44, such as the transport of
currency. The service element monitor 48 stores the information in the register 49.
[0049] Fig 3 illustrates an intelligent agent 50. Intelligent agents are a class of software
consisting of code and data that can be transmitted around network computing environments.
An intelligent agent 50 may be used for a variety of purposes including monitoring
the operations of the ATMs 16 and the teller stations 18 on the LAN 10, updating information
held by the ATMs 16 and teller stations 18, and alerting back office terminals 20
and/or the server 22 to any problems, as will be described below.
[0050] Agent 50 is composed of packets of digital information divided into fields 52,54,56,58.
The agent 50 includes a header and source address field 52. The source address indicates
the IP address associated with the service terminal 16,18, maintenance terminal 20,
or server 22 which launched the agent 50 into the LAN 10, and the port number associated
with the application (as will be explained below) that generated the intelligent agent
50.
[0051] An address field 54 includes sub fields 54a, 54b,..., 54n each of which may contain
the IP address and the port number of an agent handler 40 in a target service terminal
16,18 or maintenance terminal 20. The agent 50 is thus able to carry a visit list
of sites 12 to be visited, the visit list including a minimum of one network site
IP address and one port number. The list inherently indicates the order in which the
sites 12 are to be visited because the address in sub field 54a is visited first,
then the address in sub field 54b, and so on.
[0052] A code and data field 56 includes program instructions for the service terminal 16,18,
maintenance terminal 20, or server 14 to be visited by the agent 50. A register field
58 records data collected by the agent 50 from the terminals 16,18 visited.
[0053] Referring back to Fig 2, in use, agent handler 40 handles an intelligent agent in
the following way. The handler 40 receives an intelligent agent 50 and assembles the
code contained in the code and data field 56 of the received agent 50 so that the
assembled code can be executed by the processor 42 within the ATM 16. Agent handler
40 also performs other functions as required, for example, retrieving data from the
service element monitor 48 that is requested by an intelligent agent 50, processing
the retrieved service log data for storing in an intelligent agent 50, and storing
data provided by a received intelligent agent 50, as will be described in more detail
below.
[0054] Fig 4 is a block diagram showing server 22 in more detail. Server 22 provides transaction
processing capabilities for the ATMs 16 in the LAN 10, and also provides access to
and from the WAN (not shown) via bus 24 (Fig 1). The server 22 includes an I/O interface
132, an agent handler 140, a processor 142, an IP address and port number register
170, a state-of health monitor 172, and transaction processing hardware/software 174.
[0055] Agent handler 140 is very similar to agent handler 40, the main difference being
that agent handler 140 does not retrieve data from a service log; whereas agent handler
40 does retrieve data from a service log. As the agent handlers 40,140 are implemented
in software there will only be a small difference between the code used for handler
40 and the code used for handler 140.
[0056] The IP address and port number register is accessed when the agent handler 140 is
constructing an intelligent agent for sending out on the LAN 10.
[0057] Server 22 stores the IP address of each network site 12 in the IP address register
170. The IP address register also stores the port number associated with each agent
handler 40,140.
[0058] The state of health monitor 172 is implemented by software that is executed on the
processor 142 and by memory that is accessed by the software. The monitor 172 collates
information about each ATM 16 and each teller station 18, including operating parameters
such as the amount of cash withdrawn from each ATM 16, the amount of cash available
to a teller station 18, the amount of receipt printer paper that is left in each ATM
16, and such like information.
[0059] To collect this information the monitor 172 periodically requests the agent handler
140 to construct and launch an intelligent agent in the form of a monitor agent (illustrated
by arrow 50a). The monitor 172 provides the agent handler 140 with an indication of
the ATMs 16 and Teller Stations 18 that are to be visited by the monitor agent 50a.
[0060] The transaction processing hardware/software 174 is used to provide the standard
functions of an ATM server.
[0061] When agent handler 140 receives a request from the monitor 172 to construct and launch
a monitor agent 50a, the handler 140 uses IP address and port number register 170
to determine the IP addresses of the ATMs 16 and teller stations 18 to be visited.
The handler 140 then constructs a monitor agent 50a having appropriate information
in each of fields 52,54,56,58 (see Fig 3). The server's IP address and port number
are placed in the source field 52. The IP addresses of the ATMs 16 and teller stations
18 to be visited, and the port numbers of the associated agent handlers 40 are placed
in the address sub-fields 54a,b,c,.. An operational data retrieving program for retrieving
operating data from the service register 49 in each ATM 16 and teller station 18 is
placed in the code and data field 56. The register field 58 is reset so that any data
that was stored in that field 58 is deleted.
[0062] The agent 50a is then launched by the handler 140 so that the agent 50a is free to
roam through the LAN 10 to locate the addresses stored in its address sub-fields 54a,b,c,..
.
[0063] Fig 5 is a flowchart illustrating the steps implemented by agent handler 40 in handling
a monitor agent 50a, from the step of receiving a monitor agent 50a to the step of
re-launching the received monitor agent 50a.
[0064] In Fig 6a, a monitor agent 50a is shown as arriving at ATM1 16a after having been
launched from the server 22. The monitor agent 50a is shown in full lines at its arrival
point and is shown in dotted lines to represent the previous point of departure from
the server 22.
[0065] Referring again to Fig 5, upon receipt (step 180) of a monitor agent 50a by the agent
handler 40 (via I/O interface 32) in ATM1 16a, the agent handler 40 confirms that
the IP address targeted by the monitor agent 50a matches the IP address of the ATM
16a. The handler 40 then submits the monitor agent 50a to a security check (step 182)
to ensure that the monitor agent 50a is authorised to access data in the service element
monitor 48 in that ATM 16a.
[0066] Upon satisfactory completion of the security check, the handler 40 requests the service
element monitor 48 to update the service register 49. The operating data (in this
embodiment state of health information) is captured (step 184) by the service register
49 after the arrival of each monitor agent 50a.
[0067] The operational data retrieving program in field 56 of the monitor agent 50a is then
executed (step 186) within the context of the handler 40 (i.e. in the runtime environment
of the handler 40). The data retrieving program requests state of health information
from the service register 49, which is supplied by the service element monitor 48.
The retrieved state of health information is then stored in the register field 58
as one record.
[0068] Once the state of health information has been stored in the register field 58, the
monitor agent 50a updates its address field 54 to delete the IP address of the ATM
16a that has just been visited.
[0069] The monitor agent 50a is then re-launched (step 188) into the LAN 10 by the handler
40. Once re-launched into the LAN 10, the monitor agent 50a will visit the next service
terminal in the address field 54.
[0070] This continues until all the locations have been visited, whereupon the monitor agent
50a returns to the server 22 (which originally launched the monitor agent 50a) to
impart the state of health information obtained by travelling through the LAN 10.
[0071] When a monitor agent 50a returns to the server 22, the server agent handler 140 implements
the steps shown in Fig 7. The returning agent is received (step 190) and a security
check is performed (step 192) to ensure that the agent 50a was previously sent out
by the server 22.
[0072] The register field 58 is then examined (step 194) to retrieve the stored information.
The stored information is read out of the register field 58 one record at a time,
where a record is the stored state of health information for one service terminal,
and analysed by the state of health monitor 172.
[0073] The state-of health monitor 172 is thus able to utilise information provided by the
returning monitor agents 50a to build up a dynamically changing picture of the service
terminals in the LAN 10, identifying problem areas and scheduling replenishment and
maintenance operations based upon local requirements as opposed to some overriding
average as might be conducted by a centralised helpdesk approach. For example, the
information can be used to schedule an appropriate time to replenish consumables in
a service terminal.
[0074] The information retrieved from the service terminals (in this embodiment state of
health information) is determined by the program instructions included in the code
and data field 56 of a monitor agent 50a. This allows the state of health monitor
172 to retrieve different types of information (such as the state of health, usage
of consumables, and configuration) by selecting an appropriate program for use in
a monitor agent 50a. Thus, a monitor agent 50a can be configured by the monitor 172
to retrieve a desired type of information.
[0075] As well as retrieving information from the service terminals that they visit, intelligent
agents 50 can also impart information to service terminals as will now be explained
with reference to Figs 8a to 8c. Intelligent agents used for imparting service information
to service terminals are herein referred to as service agents 50b.
[0076] A service agent 50b has the same format as agent 50. In a service agent 50b, the
register field 58 contains service personnel information for imparting to service
terminals; whereas in a monitor agent 50a, the register field 58 is used for collecting
information from service terminals.
[0077] In Fig 8a, each of the back office terminals 20 can support a maintainer, where a
maintainer may be a replenisher (a person who replenishes consumables in a service
terminal) or a field engineer (a person authorised to repair malfunctions in a service
terminal) who can log on or off the LAN 10.
[0078] Fig 9 shows a back office terminal 20 at which a maintainer can log on to the LAN
10. When a maintainer logs on to the LAN 10 via a back office terminal (e.g. 20a),
a maintainer monitor 238 stores information about that maintainer and instructs an
agent handler 240 to prepare and launch a service agent 50b (via physical I/O port
232) identifying that maintainer as an available service resource to the ATMs 16 and
teller stations 18 on the LAN 10.
[0079] Back office terminal 20 has an error log 250 that is used to record error information
provided by a malfunctioning service terminal, as will be described in more detail
below. The agent handler 240 is very similar to agent handlers 40 and 140.
[0080] In Fig 8a, back office terminal 1 (BO1) 20a has launched a service agent 50b which
is being received by ATM1 16a. The service agent 50b is processed by agent handler
40 in ATM1 16a. The service agent 50b is then launched from ATM1 16a and arrives at
ATM2 16b. This continues so that the service agent 50b visits each ATM 16 and teller
station 18. In Fig 8b, the service agent 50b from BO1 20a is shown arriving at ATM2
16b.
[0081] When a maintainer logs into the LAN 10 via a back office terminal (e.g. 20b), the
maintainer is asked to respond to a number of questions to provide the agent handler
240 with the necessary service and location information for the register field 58
of a service agent 50b. The service and location information required typically includes
details of: the authorisation level of the maintainer (such as, low security for replenishing
low security consumables or high security for replenishing cash); the physical location
of the maintainer (local or remote to the LAN 10); the status of the maintainer (such
as primary replenisher, secondary replenisher, final replenisher); and the training
level of the maintainer (such as, what peripherals, if any, the maintainer can service).
This service and location information is also stored in the maintainer monitor 238.
[0082] Agent handler 240 creates and launches a service agent 50b. The service agent 50b
has the service and location information in a standard format in its register field
58. Service agent 50b has the IP address of the back office terminal 20b and the port
number that the agent handler 240 is monitoring in the header/source address field
52. The IP addresses of the service terminals to be visited are placed in the address
sub-fields 54a,b,c..; and a service update program is placed in the code and data
field 56.
[0083] When a maintainer logs off the LAN 10 via a back office terminal (e.g. 20a), the
maintainer monitor 238 updates itself and then instructs the agent handler 240 in
that back office terminal 20a to prepare and launch a service agent 50b identifying
that maintainer and indicating that that maintainer is no longer available as a service
resource for the ATMs 16 and teller stations 18. The maintainer monitor 238 updates
itself by deleting that maintainer and any associated service and location information.
[0084] In this embodiment, a WAN (not shown) is connected to the LAN 10 so that a field
engineer may log into a back office terminal located in the WAN (not shown). That
back office terminal may send service agents 50b into the LAN 10 through the server
22 via bus 24.
[0085] In Fig 8c, a service agent 50b which has arrived via the bus 24 is shown in dotted
lines as having been launched by the server 22 onto the LAN 10 and is seen in full
lines as arriving at ATM1 16a. The service agent 50b from the WAN is subjected to
security checks by the server 22 before being allowed to enter the LAN 10. The server
24 is configured to stop service agents 50b generated within the LAN 10 from entering
the WAN.
[0086] When a service agent 50b reaches a service terminal (e.g. ATM1 16a), the agent handler
40 receives the service agent 50b and runs the service update program (contained in
the code and data field 56 of the service agent 50b) in the context of the agent handler
40. The service update program compares the service and location information in register
field 58 with any service and location information stored in agent register 45 (see
Fig 2). If the service and location information stored in field 58 is different to
that stored in agent register 45 then the service update program updates agent register
45 to conform to the information in field 58. Thus, each service terminal has an internal
list (the agent register 45) of the maintainers who are currently available in the
event of that service terminal experiencing a critical failure. The list of maintainers
includes the address of each maintainer currently available and the port number of
the associated agent handler 240 for that maintainer. The use of service agents 50b
provides a convenient way of updating the agent register information.
[0087] If a critical failure occurs within an ATM 16 or teller station 18 in the LAN 10,
the service element monitor 48 (Fig 2) within the ATM 16 or teller station 18 experiencing
the failure detects this critical failure and instructs agent handler 40 to prepare
and launch an alert agent 50c.
[0088] The IP address and port number associated with the service terminal experiencing
the critical failure are placed in the header/source address field 52. An alert program
is placed in the code and data field 56; and details of the critical failure, for
example, card reader error due to a card jam, are placed in the register field 58.
The addresses of back office terminals to be visited are placed in the address sub-fields
54a,b,.
[0089] The agent handler 40 uses the agent register 45 to obtain the addresses of the maintainers
to be visited by the alert agent 50c. If more than one maintainer is available (i.e.
if more than one maintainer is currently logged on to the LAN 10) then the maintainers
are prioritised within the address sub-fields of the alert agent 50c according to
one or more predetermined criteria. The predetermined criteria may be the order in
which the maintainers logged on to the LAN 10. Alternatively, the predetermined criteria
may be based on the location of the maintainers, so that the maintainer who is closest
has the highest priority and is visited first.
[0090] An alert agent 50c is shown in Fig 10 as having been launched by the ATM3 16c.
[0091] The alert agent 50c arrives at the agent handler 240 associated with the maintainer
who has the highest priority. The alert agent 50c is shown in Fig 10 arriving at the
agent handler 240 of BO1 20a.
[0092] When the alert agent 50c reaches the back office terminal 20 with the highest priority
maintainer, the associated handler 240 performs a security check on the received alert
agent 50c. The handler 240 then runs the alert program that is stored in the code
and data field 56 of the alert agent 50c. The alert program runs within the context
of the handler 240 and queries the training and authority levels recorded (as part
of the service and location information) in the maintainer monitor 238 of the terminal
20a to decide whether help is available from the maintainer at that terminal 20a.
[0093] If a maintainer is available who is trained and authorised to work on the error contained
within the alert agent 50c, then the agent handler 240 presents a request for assistance
on that maintainer's terminal 20. If an acknowledgement of the request for assistance
is not provided within a predetermined time, such as three minutes, then the alert
agent 50c moves on to the next maintainer in the address field 54.
[0094] The maintainer may not acknowledge the request for assistance for a number of reasons,
for example, the maintainer may be away from the terminal 20a, or the maintainer may
be assisting another ATM 16 or teller machine 18. If the maintainer notices the request
for assistance but cannot assist, for example because occupied with a customer, the
maintainer can reject the request for assistance. This causes the alert agent 50c
to move to the next maintainer in its address field 54 immediately.
[0095] If all of the available maintainers in the LAN 10 fail to assist, the alert agent
50c moves to the server 22 to seek assistance from maintainers on WAN (not shown).
If at any point the alert agent 50c successfully summons assistance, the alert agent
50c is acknowledged by a maintainer and the critical failure information carried by
the alert agent 50c is registered at the location having a maintainer capable of assisting
and is stored in the error log 250 at that terminal 20.
[0096] The critical failure information includes the error type, such as a card jam, and
an identification of the service terminal experiencing that failure. The identification
may simply be a terminal number in the case where assistance is to be provided from
within the environment of the LAN 10. Otherwise, the identification will include an
IP address and contact information for gaining access to the malfunctioning service
terminal.
[0097] Once an alert agent 50c has successfully summoned assistance, it returns to the originating
service terminal, which in Fig 10 is ATM3 16c. Alternatively, the alert agent 50c
may delete itself.
[0098] In Figs 11a to 11c, a petrol station site includes an ATM 16 and a point-of-sale
(PoS) terminal 300. The ATM 16 and terminal 300 are connected in a LAN 310 to a server
22 by means of a bus 320. The server 22 is connected into a WAN (not shown) by a WAN
bus 330.
[0099] The state-of-health monitor 172 in the server 22 periodically sends out a monitor
agent 50a to both the terminals 16 and 300 as shown in Fig 11a for performing status
monitoring and for scheduling replenishment operations. Each terminal 16,300 has a
service element monitor 48 for monitoring the service elements within that terminal
16,300. This periodic state of health information gathering is extremely important
in an off-site environment where field service or security companies are likely to
be used to provide cash replenishment.
[0100] The PoS terminal 300 has some of the functionality previously described with reference
to the back office terminal (Fig 9) in that the PoS terminal has a maintainer monitor
238, an agent handler 240, and an error log 250. The maintainer monitor 238 (as described
previously) within the PoS terminal 300 can instruct the agent handler 240 to send
out a service agent 50b when a new user logs in, as illustrated in Fig 11b.
[0101] A field service organisation (not shown) is used to send a service agent 50b through
the server 22 to register with both the ATM 16 and the PoS terminal 300. Both terminals
16 and 300 can be supported by the same field service organisation.
[0102] A critical error occurring in the ATM 16 causes the ATM 16 to launch an alert agent
50c, as shown in Fig 11c, which goes to the local maintainer monitor 238 in the terminal
300. The alert agent 50c performs training and authority checks to ascertain if assistance
is obtainable for the error. For simpler errors, the petrol site attendant staff (logged
in to PoS terminal 300) will assist. For more complex errors, the alert agent 50c
will move from the terminal 300 to the server 22 to be passed out to the WAN. The
alert agent 50c is used to alert a field service organisation (not shown). Alternatively,
the alert agent 50c may cause other communication strategies to be used such as an
E-mail message, paging a local maintainer, or traditional transaction based alerting
to a help desk, allowing them to call into a bank branch.
[0103] Various modifications may be made to the above described embodiments. For example,
the network architecture illustrated in Fig 1 is intended to represent a simple bank
branch but the concepts described apply equally to more complex network environments
with many terminal sites. The concepts apply equally well to networks employed in
environments other than banking, such as retail environments. In a retail environment
the service terminals may be point-of-sale terminals, rather than the ATMs and teller
stations shown in Fig 1.
[0104] In other embodiments, each service element may have its own processor so that an
agent handler is used for each service element, and the network through which agents
roam is located within a service terminal, the sites of the network being the service
elements.
[0105] In some embodiments, the code used for the agent handlers 40,140,240 will be generic,
i.e. the same code will be used for all of the agent handlers. In the petrol station
embodiment, the state-of-health monitor may be operated from a central site communicating
with a proxy server acting locally. More centralised monitoring of service elements
can be conducted from the WAN (not shown) by providing an appropriate agent handler
that allows monitor agents 50a to be received from the WAN (not shown). This agent
handler would augment the monitor agent 50a address list 54 with the addresses of
the local service elements 16, 300 along with its own return address, before sending
the monitor agent 50a to the first of the service elements 16 via bus 320, where the
normal internal monitor agent 50a behaviour would occur. Upon the return of monitor
agent 50a to the agent handler in server 22, the agent handler can then send monitor
agent 50a to the next address on its address list 54 over the WAN (not shown).
[0106] In other embodiments, the server 22 may be integrated with a service terminal, so
that a service terminal performs the functions of a server. In other embodiments,
the functions of a service terminal and a maintenance terminal may be combined. In
yet another embodiment, the functions of a server, a service terminal, and a maintenance
terminal may be combined; so that while acting as a server the terminal may send out
monitor agents, while acting as a maintenance terminal the terminal may send out service
agents, and while acting as a service terminal the terminal may send out alert agents.
In other embodiments, the maintainer may not be a human person, the maintainer may
be a computer-based system for coping with malfunctions. The network of sites may
be arranged using any convenient scheme; for example, the sites may be arranged in
a client server relationship, or a peer-to-peer relationship. A thin client architecture
may be used.
1. A communications network (10) comprising a plurality of interconnected network sites
(12), at least one network site (12) having a service terminal (16,18), wherein intelligent
agent programs (50) are used to convey information between sites (12) on the network
(10) for facilitating efficient maintenance of the service terminal (16,18).
2. A network according to claim 1, wherein each service terminal (16,18) has an intelligent
agent handler (40) for receiving intelligent agents from the network (10) and for
launching intelligent agents into the network (10), wherein the agent handler (40)
allows a received intelligent agent (50) to execute within the context of the handler
(40).
3. A network according to claim 1 or 2, wherein the network (10) routes intelligent agent
programs (50) through itself (10) by reference to network site address information
carried by each agent program (50).
4. A network according to any preceding claim, wherein each service terminal (16,18)
includes operation monitoring means (46) for recording operating information associated
with service elements (44) within that terminal (16,18).
5. A network according to any preceding claim, wherein one network site (12) in the communications
network (10) has a server (22) for providing transaction processing capabilities for
one or more service terminals (16,18).
6. A network according to any preceding claim, wherein the server (22) has a monitor
(172) for sending out monitor intelligent agent programs (50a) for collecting and
storing operating information from each of the available service terminals (16,18).
7. A network according to claim 6, wherein the monitor (172) is operable to receive a
returning monitor intelligent agent program (50a) and to extract from the returning
monitor intelligent agent program (50a) the stored operating information for each
service terminal (16,18) visited.
8. A network according to claim 7, wherein the monitor (172) includes analysing means
for analysing the operating information and for predicting when a service terminal
(16,18) may require maintenance.
9. A service terminal (16,18) for use with a communications network (10), the terminal
comprising: one or more service elements (44); operation monitoring means (46) for
recording operating information associated with the one or more service elements (44);
a network interface (32); and an intelligent agent handler (40) for receiving an intelligent
agent (50a) via the network interface (32) and for sending the received intelligent
agent (50a) to the next destination; whereby, the received intelligent agent (50a)
is executed by the handler (40) so that the received intelligent agent (50a) retrieves
and stores operating information from the operation monitoring means (46).
10. An automatic maintenance requesting communications network system comprising at least
one service terminal (16,18) and at least one maintenance terminal (20); whereby when
a maintainer logs in to the maintenance terminal (20) an intelligent agent service
program (50b) is sent to the service terminal (20) to convey information about the
maintainer and about the network address of the maintenance terminal to a service
agent register (45), so that in the event of a malfunction the service terminal (16,18)
is able to send an intelligent agent alert program (50c) conveying a maintenance request
to the maintenance terminal (20).
11. An automatic maintenance requesting communications network system according to claim
10, wherein the maintainer information includes details for ranking the priority of
the maintainer, so that in the event of a malfunction the intelligent agent alert
program (50c) is sent first to the maintainer having the highest priority.
12. An automatic maintenance requesting communications network system according to claim
11, wherein if the maintainer having highest priority fails to respond to the intelligent
agent alert program (50c) within a predetermined time period, the alert agent (50c)
travels to the maintainer with the next highest priority.
13. A service terminal (16,18) for use in an automatic maintenance requesting communications
network, where the service terminal (16,18) comprises: an intelligent agent handler
(40); operation monitoring means (46) for detecting malfunctions; and a service agent
register (45); whereby, in use, the intelligent agent handler (40) receives and executes
intelligent agent service programs (50b) that store maintainer information and maintenance
terminal information in the service agent register (45), so that on detecting a malfunction
the operation monitoring means (46) is able provide the handler (40) with information
relating to one or more maintainers from the service agent register (45) for use in
creating an intelligent agent alert program (50c) for sending to the one or more maintainers.
14. A service terminal according to claim 13, wherein the operation monitoring means (46)
selects a plurality of maintainers and prioritises these selected maintainers so that
the alert agent (50c) visits the selected maintainers in the prioritised order.
15. A method of communicating intelligent agent programs through a communications network
comprising a plurality of interconnected network sites (12), the network having a
server (22) at one network site (12) and a service terminal (16,18) at another network
site (12), the service terminal (16,18) having at least one service element (44),
the method comprising the steps of: monitoring the service element to derive operating
data relating to an operating parameter thereof and; launching from the service terminal
(16,18) to the server (22) an intelligent agent program (50a) carrying the operating
data.
16. A method of requesting service for a service terminal connected to a network of interconnected
sites, the method including the steps of selecting a site to send a request for service
to, where the selection is based on profile data associated with a person enrolled
at that site; and using an intelligent agent program to convey the request to that
site.