Abstract: Acomputer system such a s a payment gateway computer system , identifies one or more ATMs which are close to a first location, determines whether they are able to dispense cash to users (e.g. a specified amount of cash specified by a user), and transmits that information to a user . The process may be triggered by a user communicating with the computer system over a communication interface, or upon an ATM issuing message indicating that it is not able to perform a cash dispensing operation specified by a user
[0001] The present invention relates to method and apparatus for coordinating the usage by users of a plurality of automatic teller machines (ATMs).
Background of the invention
[0002] It is common for banks to operate networks of ATMs, to allow customers of the bank ("users") to withdraw cash. The cash is withdrawn from a bank account associated with the user and maintained by the bank. Each user is typically provided with a physical token associated with the user (here referred to as a "financial transaction card") and readable by an ATM. The ATMs may also be operative to perform other banking services, such as allowing users to view their account balances or even to instruct payments from their bank accounts. Some banks have a relationship with other banks which allows a user with an account at a first bank (the "issuer bank", which typically issues the financial transaction card) to withdraw cash from an ATM operated by a second bank (an "acquirer bank"). Note that the term "bank" is used in this document to include organizations which are not necessarily constituted as banks under the legal system of the jurisdiction where they are located, but which allow users to maintain financial accounts with them and/or which operate ATMs. Thus, the term "bank" would include, for example, a retail company which performs either of these roles, e.g. by supplying an ATM at a retail location. It further includes any organization operating "white label" ATMs. This is in contrast to a "brown label" ATM, which is one operated by a bank which is specifically a financial institution.
[0003] Each bank typically operates a computer system (server) to control ATMs associated with it and/or to manage accounts maintained at the bank. The contact between the computer systems of the two banks is typically mediated by intermediate network ("payment network gateway"), such as the MasterCard® network.
[0004] A typical network is illustrated in Fig. 1 includes a payment gateway computer system 1, which includes a gateway server 5. In the case of the MasterCard® network this is referred to as the MasterCard® Interface Processor (MIP). The gateway server 5 is arranged to communicate with the respective bank servers 7, 9, 11 of three banks. The bank server 7 is in communication with three ATMs 7a, 7b, 7c operated by the same bank which operates the bank server 7. The bank server 9 is in communication with two ATMs 9a, 9b operated by the same bank which operates the bank server 9. The bank server 11 is in communication
with three ATMs 11a and 1 lb operated by the same bank which operates the bank server 11. Each of the bank servers 7, 9, 11 is in two-way communication with its plurality of associated ATMs, e.g. over a respective communication network.
[0005] Conventionally, each ATM stores a data value (log file) indicating its current cash capacity, and referred to here as the current cash capacity value. When operatives of the ATM's acquiring bank fill the ATM with cash, the current cash capacity value is set to a predetermined maximum value corresponding to the maximum amount of money the ATM holds. When the ATM dispenses cash, it updates the current cash capacity value according to the amount of cash dispensed, as part of the cash dispensing process. The ATM checks whether the current cash capacity value is a null value (i.e. zero, or below a low predetermined value). If so, the ATM sends an "out of cash" signal to the acquiring bank server saying that the ATM can no longer dispense cash. Note that the ATM only indicates to the acquiring bank server the amount of money it holds when it has determined that the current cash capacity value is a null value. The ATM does not send the current cash capacity value to the acquiring bank server after each transaction.
[0006] A typical usage scenario in which the user obtains cash from an ATM is illustrated in Fig. 2 at a time when the current cash capacity value is not null. In step 101, the user initiates contact with an ATM operated by an acquirer bank by inserting the user's financial transaction card into a reader of the ATM. Let us consider the example that the ATM is the ATM 7a of Fig. 1 associated with the bank server 7 (which is therefore the "acquirer bank server" in this example). The financial transaction card is associated with at least one bank account maintained by the user at an issuer bank (which may be the acquirer bank). For simplicity it is assumed below that only one bank account is associated with the financial transaction card. The financial transaction card stores account identity information specifying the bank account (e.g. the account number and an identity code of the issuer bank). The user typically authenticates his or her identity by entering a secret code (a personal identity number (PIN)) into a user interface of the ATM. The ATM is operative to verify the entered PIN number using data read from the financial transaction card. If the entered PIN is verified, the ATM requests the user to input an amount of cash which the user wishes to receive.
[0007] In step 102, the ATM 7a transmits a message to the bank server 7 of the corresponding acquirer bank including the amount of cash specified by the user and the identity information.
[0008] In step 103, the bank server 7 of the acquirer bank uses the identity information to determine whether the account(s) associated with the financial transaction card is associated with an account maintained at the acquirer bank (i.e. whether the acquirer bank is the same as the issuer bank).
[0009] If so, in step 104 the acquirer bank server determines whether the requested amount of cash is consistent with operating parameters of the bank account (e.g. whether the requested amount of cash can be dispensed to the user without the account balance falling to below a pre-determined value, which may be negative). If the determination is positive, in step 105 the acquirer bank server generates a dispense command to the ATM 7a instructing the ATM 7a to dispense the specified amount of cash to the user. Assuming that the ATM is able to dispense the cash, it does so and then in step 106 ATM 7a responds to the acquirer server 7 with a response message indicating this. The acquirer server 7 debits the amount of cash (optionally plus a handling charge) from the bank account. Alternatively, if the determination in step 104 is negative, in step 107 the acquirer bank server 7 may transmit a refusal command to the ATM 7a, commanding the ATM 7a to display a refusal message to the user.
[0010] Alternatively, if in step 103 the acquirer bank server determines from the identity information that the account is maintained at an issuer bank different from the acquirer bank (for example, let us consider the case that the issuer bank is the one operating the bank server 9, which is therefore termed in this example the "issuer bank server"), then in step 108 the acquirer bank server 7 passes a message including the amount of cash specified by the user and the identity information to the gateway server 5 of the gateway computer system 1. In step 109, the gateway server 5 identifies the issuer bank from the identity information, and passes a message including the amount of cash specified by the user and the identity information to the issuer bank server 9 associated with the issuer bank. In step 110 the issuer bank server 9 determines whether the requested amount of cash is consistent with operating parameters of the bank account (e.g. whether the requested amount of cash can be dispensed to the user without the account balance falling to below a pre-determined value, which may be negative).
[0011] If the determination is positive, then in step 111 the issuer bank server 9 generates an authorization message to the gateway computer system 1. The gateway computer system 1 transmits the authorization message to the acquirer bank server 7.
[0012] In step 112, the acquirer bank server 7 then sends a dispense command to the ATM 7a instructing the ATM 7a to dispense the specified amount of cash to the user.
[0013] In step 113, the ATM 7a attempts to dispense the cash. If it can do so, it updates the current cash capacity value. As noted above, the ATM checks whether the current cash capacity value is a null value, and if so indicates this to the acquirer server as an out of cash signal.
[0014] In any case, the ATM 7a responds to the acquirer bank server 7 with an response message indicating whether or not it has dispensed the specified amount of cash, and in step 114 the acquirer bank server 7 forwards this to the gateway computer system 1 which forwards it to the issuer bank server 9.
[0015] If the response message indicates that the cash was dispensed to the user, then the issuer bank server 9 debits that amount of cash (optionally plus a handling charge) from the bank account associated with the financial transaction card. At some later time (typically during a clearing operation) the amount of cash (optionally plus or minus a handling charge) is transferred from the issuer bank to the acquirer bank.
[0016] Alternatively, if in step 110 the determination is negative, in step 115 the issuer bank server 9 transmits a refusal message to the gateway computer system 1, and the gateway computer system 1 forwards the refusal message to the acquirer bank server 7. In step 116, the acquirer bank server 7 generates a refusal command to the ATM 7a, commanding the ATM 7a to display a refusal message to the user.
[0017] Note that in either of the above scenarios, the ATM 7a may determine that it is not able to dispense cash (or at least, not the amount specified by the user). This may be because the ATM is not storing the correct denomination of notes (e.g. the ATM 7a may only be storing £50 notes, and the user may have requested an amount of cash which is not divisible by $50), or because the ATM 7a is not storing sufficient cash. It may further happen when there is a network failure (i.e. the ATM 7a cannot communicate securely and reliably with the acquirer bank server) or when the ATM 7a experiences an internal mechanical fault. In either of these cases, the response message generated by the ATM 7a in steps 106 or 113 indicates that the cash has not been dispensed. If this happens following step 106, the acquirer bank server 7 does not debit the account of the user. Similarly, if this happens following step 113, the issuer bank server 9 does not debit the account of the user. In either case, the ATM 7a generates an error message to the user.
[0018] The detailed procedure for dispensing cash from ATMs is nowadays almost invariably according to a protocol called ISO 8583. This defines the set of messages which will be generated within the system, initiated by the financial transaction card, and the commands of the user. The messages include predetermined processing codes (defined as the codes sent to and fro between the transaction acquiring device (the ATM) and the card issuing system), including response codes (the codes sent by the transaction acquiring devices to the card issuing system)).
[0019] Thus, when ATM 7a is unable to dispense cash in response to an authorization command (processing code), in steps 106 or 113 the ATM 7a transmits the response code in a format determined by protocol 8583. For example, an ATM 7a transmits a response code "51" when it has insufficient funds to dispense the specified amount of cash to the user. Other response messages are: "06" when there is an error; "N3" when the cash service is not available; "68" when a response is received too late; and "20" for an invalid response.
[0020] Software applications are known which can be installed on user equipment (such as a desk-top personal computer, laptop, personal digital organizer (PDA), tablet computer or smartphone) to allow the user to identify ATMs in the location of the user which are operative to dispense cash. The "Walnut" application (app) is a money management app which offers this service. The data relating to ATM availability is crowd sourced. Every time a Walnut user withdraws cash from an ATM, the user is sent a push notification to feed the app with the queue status of that particular ATM. Similar website-based services relying on crowd-sourcing include the ATMsearch website, and the CashNoCash website. These allow a user seeking an operative ATM in the user's location to find one by accessing the website, and receiving crowd-sourced data. If a given ATM runs out of money to dispense, it will typically be some time before it is used by a person who notifies the data center which collects the crowd-sourced data. Until this notification occurs, the data center will provide erroneous information to users about that ATM. Furthermore, a crowd-sourced system is not able to identify ATMs which have not run out of money yet, but will do so soon, or which are unable to dispense more than an amount of money which will not satisfy many users.
Summary of the invention
[0021] The present invention aims to provide new and useful methods and computer systems (such as server systems) for coordinating the usage of ATMs.
[0022] In general terms, the invention proposes that a computer system identifies one or more ATMs which are close to a first location, polls the identified ATMs to determine whether they are able to dispense cash to users (e.g. a specified amount of cash specified by a user), and transmits that information to a user.
Brief description of the drawings
Embodiments of the invention will now be described for the sake of example only with reference to the following drawing in which:
Fig. 1 is a schematic diagram of a known computerized network;
Fig. 2 is a flowchart of the operation of the computerized network of Fig. 1;
Fig. 3 is a schematic diagram of a computerized network according to the invention;
Fig. 4 is a flowchart of a method which is performed by embodiments of the invention;
Fig. 5 indicates schematically software modules of a monitor server of the computerized network of Fig. 3;
Fig. 6 is a flowchart of a first specific method according to the invention;
Fig. 7 is a flowchart of a second specific method according to the invention;
Fig. 8 is a flowchart of a third specific method according to the invention; and
Fig. 9 is a schematic diagram of a server suitable for use in the computerized network of Fig. 1.
Detailed description of the embodiments
[0023] An embodiment of the invention is explained below which is a computerized network including a plurality of ATMS. The computerized network is operative to poll at least one or more of the ATMs which are close to a first location to determine whether they are able to dispense cash to users. The computerized network transmits that information to a user. The first location may be a location specified by the user (e.g. the user's present location), or the location of an ATM proximate the user.
[0024] Thus, the user is able to travel to one of the polled ATMs which, according to the result of the polling, is able to dispense the desired cash. This saves the user time by allowing the user to check cash availability before travelling.
[0025] Embodiments of the invention are not reliant on the accuracy of crowd-sourced data, which is subject to many accuracy short-comings.
[0026] The first location may for example be a location of an ATM which is not able to dispense cash, or at least not to dispense a specified amount of cash. In this case, the information about other ATMs which are able to dispense the cash may be transmitted to the ATM for display by the ATM, e.g. using a screen of the ATM. The process of identifying the ATMs close to the first location may, for example, be initiated upon a certain user attempting to withdraw cash from the first location, and the ATM determining that it cannot supply the desired cash. In this case the invention makes the ATM more useful to a customer, even when the ATM cannot dispense cash. The additional functionality is hosted on the ATM, enabled by the software and processors of the ATM. For example, the functionality can be provided by an API (application programming interface) running on the ATM.
[0027] Alternatively, the user may be associated with user equipment (such as a desk-top personal computer, laptop, personal digital organizer (PDA), tablet computer or smartphone) and the information may be transmitted to the user equipment for display by the user equipment. The first location may, especially in this case, be a location identified by the user equipment (e.g. using a position sensing component of the user equipment, such as a GPS module). Alternatively, the first location may be one pre-associated with the user, such as an address stored in a record for the user within a database. The address may for example be a home address or work address of the user.
[0028] The steps of identifying the ATMs close to the first location and/or polling those ATMs may be performed by an acquirer bank. Thus, if a certain ATM indicates that it is unable to carry out a cash dispensing operation, the acquirer bank may poll other ATMs operated by the same bank in the proximity of the first location. Alternatively or additionally, the steps of identifying the ATMs close to the first location and/or polling those ATMs, may be performed by another organization, such as an intermediate network server which is in communication with multiple acquirer banks.
[0029] In one example, upon a certain ATM indicating that it is unable to fulfill a cash dispensing operation, the acquiring bank may poll other ATMs operated by the same bank in the proximity of the ATM, and may request an external server, such as a payment gateway server, to perform a similar polling operation in respect of ATMs operated by other banks, and return the results to the acquiring bank.
[0030] In embodiments of the invention, the polling operation may comprise the corresponding acquiring bank server(s) transmitting a message to the identified ATMs to ask whether they are able to dispense an amount of cash specified by the user (i.e. the acquiring bank server initiates an automatic process in which the ATM determines if it can dispense the amount of cash specified by the user, and replies with a message indicating the result of the determination). In an alternative, the polling operation may comprise the corresponding acquiring bank server(s) transmitting a message to the identified ATMs to ask them to send a response message indicative of the respective amounts of cash the ATMs are able to dispense based on the current cash capacity value, and the acquiring bank server(s) comparing the amounts of cash which the ATMs are able to dispense with the amount of cash specified by the user.
[0031] In either case, polling the identified ATMs is advantageous compared to conceivable methods in which each acquiring bank server does not poll the identified ATMs to determine whether they can perform a cash dispensing operation. For example, one could envisage a system in which each acquiring bank servers uses "out of cash" messages to estimate which of its associated ATMs is able to dispense cash. If a given ATM has not transmitted an "out of cash" signal since the last time it was filled, the acquirer bank server may assume that is capable of dispensing cash. A drawback of such a system is that the acquiring bank server would typically not be aware of the current cash capacity value of one of the associated ATMs, and thus would not be able to determine whether that ATM is capable of dispensing a significant amount of cash, such as a specific amount of cash specified by a user. By comparison, a polling operation in which the identified ATMs are polled permits a comparison (whether carried out within the ATM or in the acquiring bank) of the amount of cash specified by a user with the up-to-date cash current cash capacity value.
[0032] Optionally, the user may be permitted to set an alert such that if one of the ATMs which, according to the result of the polling displayed to the user, is able to perform the cash dispensing operation, becomes unable to perform it, the user is sent an update message. The update message may be sent to a communication device which is an item of user equipment associated with the user. The ATMs which were previously indicated to the user as being able to perform the cash dispensing operation may be polled at intervals, to determine if that information is no longer correct. The user may be able to input data to indicate one or more of the displayed ATMs in respect of which an update message would be transmitted to the user, if the indicated ATM is no longer able to perform the cash dispensing operation.
[0033] As used in this application, the terms “component,” “module,” “engine,” “system,” “apparatus,” “interface,” or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller itself can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
[0034] Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. For instance, the claimed subject matter may be implemented as a computer-readable medium embedded with a computer executable program, which encompasses a computer program accessible from any computer-readable storage device or storage media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ).
[0035] Fig. 3 shows a computerized network which is an embodiment of the invention. The computerized network includes servers which are also embodiments of the present invention, and which are arranged to perform methods which are embodiments of the present invention, and which are described below with reference to Figs. 4 and 6 to 8. Many elements of the computerized network of Fig. 3 are the same as in the known computerized network of Fig. 1, and are given the same reference numerals.
[0036] In contrast to Fig. 1, the payment gateway computer system 1 of Fig. 3 further comprises a monitor server 13. The monitor server 13 is in two-way communication with the gateway server 5. In variations of the embodiment the gateway server 5 and monitor server 13 may be integrated into a single server. However, implementing the gateway server 5 and monitor server 13 as separate servers has the advantage that the present invention may be provided as an enhancement to an existing gateway server 5 without putting excessive additional demands on the gateway server 5.
10
[0037] The monitor server 13 includes a communication interface for communicating with a communication network 19 such as the internet. The communication interface defines a portal which may be accessed by software applications running on items of user equipment 21, 23, each of which is associated with a corresponding user (e.g. owned by and/or carried by and/or located in the home or workplace of the user). Although only two items of user equipment 21, 23 are illustrated, it will be appreciated that in typically embodiments there will be hundreds or even thousands of items of user equipment associated with corresponding users.
[0038] The user equipment 21 is a personal computer (a desktop or laptop computer), while the user equipment 23 is a smartphone or tablet computer. A software application installed on the user equipment 21, 23 can communicate over the communication network 19 with the portal defined by the communication interface. The software application may be a browser (such as a conventional browser) or a dedicated application (app), such as one issued by the operator of the gateway computer system 1 or one of the banks associated with bank servers 7, 9, 11.
[0039] The computer system 1 further optionally includes an ATM record database 15 which stores, for each of the ATMs 7a, 7b, 7c, 9a, 9b, 11a, 11c a respective ATM record. Each ATM record comprises an identity code (e.g. identity number) of the corresponding ATM and a location of the corresponding ATM. The location of the ATM may for example be stored as GPS co-ordinates. The record may further include any one or more of: the name of the bank which operates the ATM, the address of the ATM, a IP address of the ATM, a MAC address of the ATM, and GP (geographical position) coordinates of the ATM.
[0040] The computer system 1 further optionally includes a user record database 17 which stores, for some or all of the users associated with the user equipment 21, 23 corresponding user records. Each user record includes an identity code (e.g. identity number) of the corresponding user, and a location associated with the corresponding user. The location may be for example be a workplace or home address. The location may be stored as GPS co-ordinates.
[0041] Turning to Fig. 4 a flowchart is illustrated of a method, including steps 41 to 43, which
is an embodiment of the present invention performed by the monitor server 13 of the
computerized network of Fig. 3. Figs. 6 to 8 are flowcharts of examples of specific
methods 200, 300, 400 performed by the computerized network of Fig. 3, which include
steps performed by the monitor server 13 corresponding to steps 41 to 43 of Fig. 4. Steps of
11
the methods 200, 300, 400 performed by the monitor server 13 and corresponding to steps 41 to 43 of Fig. 4 are indicated on Figs. 6 to 8.
[0042] In a first step 41 of the method of Fig. 4, the monitor server 13 identifies ATMs having locations meeting a proximity criterion defined based on a first location. As discussed below, this may be a location of an ATM which a user is interacting with, or a location specified by the user or obtained from data identifying the user.
[0043] In step 42, the monitor server 13 polls the identified ATMs to determine if they can perform a cash dispensing operation. This comprises initiating a process in which the identified ATMs are polled, and the results are relayed back to the monitor server 13 and collated by the monitor server 13.
[0044] In step 43, the monitor server 13 causes data to be displayed to the user indicating those of the identified ATMs which, as a result of the polling, are known to be capable of performing the cash dispensing operation.
[0045] Fig. 5 illustrates schematically the structure of the software modules of the monitor server 13. The monitor server 13 comprises a software module 51 for providing an interface for communicating with the communication network 19, and thereby with the user equipment 21, 23. The monitor server 13 further comprises a software module 52 for providing an interface with the gateway server 5. The monitor server 13 further comprises a module 53 for communicating with the user record database 17 for extracting user data. The monitor server 13 further comprises a module 54 for communicating with the ATM record database 15, and identifying ATMs in the ATM database 15 meeting the proximity criterion. The monitor server 13 further comprises a module 55 for sending instructions, via the module 52, to the gateway server 5 which result in the identified ATMs being polled, and for receiving and collating the results of the polling. The software module 56 is operative to generate description data describing the polled ATMs which, as a result of the polling operation, are known to be capable of performing the cash dispensing operation, and to transmit it either to the module 51 for transmission to the user equipment 21, 23 for display to the user, or to the module 52 for transmission to an ATM which the user is currently interacting with, for display by that ATM to the user.
[0046] Turning to Fig. 6, a first specific method 200 which is an embodiment of the invention is illustrated. The computerized network of Fig. 3 is arranged to perform the known method
12
100 of Fig. 2, but in addition, following step 114, the computerized network performs the method 200 of Fig. 6.
[0047] Specifically, following step 114, in step 201 an ATM 7a which has failed to dispense requested cash will ask a user whether he or she would like information about other nearby ATMs which are able to dispense cash, and the method 200 may be performed if the user answers “yes”. In this case, the ATM 7a may generate a service code, and transmit it to the acquirer server 7, and the acquirer server 7 may transmit it (e.g. via the gateway server 5) to the monitor server 13, which triggers the performance of the remaining steps of method 200.
[0048] Alternatively, in step 201, when the gateway server 5 sends the response message generated by the ATM 7a to the issuer bank server 9, the gateway server 5 also copies the response message to the monitor server 13. Thus, the monitor server 13 uses the existing response codes specified by the 8583 protocol, but is able to put them to use to understand when and where a user failed to withdraw cash from an ATM.
[0049] In step 202, the monitor server 13 obtains the location of the ATM 7a. If the computerized network includes the optional ATM record database 15, the monitor server 13 may do this by accessing the ATM record database 15 to extract the record for the ATM 7a. It can do this because an identity code for the ATM 7a is included in the response message (in a variation of the embodiment, the monitor server 13 could obtain this information by monitoring the message transmitted by the gateway server 5 in step 109). From the record, the monitor server 13 identifies a first location which is the location of the ATM 7a. Alternatively, especially if the computerized network does not include the optional ATM record database 15, the monitor server 13 may get the location of the ATM 7a by querying the acquirer server 7.
[0050] In step 203, the monitor server 13 obtains using the ATM record database 15 a list of other ones of the ATMs 7b, 7c, 9a, 9b, 10a, 10b which are in the neighbourhood of the ATM 7a according to a proximity criterion. The proximity criterion may for example be that the other ATMs are within a certain distance of the ATM 7a, such as no more than 5 kms, or no more than 3 kms, or no more than 2 kms.
[0051] The monitor server may do this by sending query requests to all the bank servers 7, 8, 9, asking the bank servers 7, 8, 9 to tell the monitor server 13 about all ATMs associated with them which meet the proximity criterion. Alternatively, if the ATM record database 15 is
13
present, the monitor server 13 may search the ATM record database 15 for ATMs which meet the proximity criterion. Optionally, if the number of other ATMs found in this way is below a certain lower threshold number (e.g. one), then the distance may be increased, and the search operation repeated. This may continue until the number of other ATMs found in the search is above the lower threshold number. Alternatively or additionally, if the number of ATMs found to meet the proximity criterion is above an upper threshold number (which is above the lower threshold number), the distance may be reduced until the number of ATMs meeting the proximity criterion is below the upper threshold number.
[0052] Note that the search operation may alternatively be performed before the method 200 commences, and the record for the ATM 7a in the ATM record database 15 may store the list of the ATMs meeting the proximity criterion. In this case, step 203 amounts to extracting this pre-generated list from the record for the ATM 7a.
[0053] Let us suppose that in step 203, the monitor server identifies the two ATMs 7b, 11a as meeting the proximity criterion. In step 204, the monitor server transmits a query message to the acquirer server 7 including the identity code of the ATM 7b. It also transmits a query message to the bank server 11 including the identity code of the ATM 11b. The query message includes data indicating the amount of cash which the user requested to withdraw from the ATM 7a.
[0054] In step 205, the bank servers 7, 11 send a query processing code to the respective ATMs 7b, 11a. The query message includes data indicating the amount of cash which the user requested to withdraw from the ATM 7a.
[0055] In step 206, the ATMs 7b, 11a determine whether they are able to dispense the requested amount of cash, and send a response code which is different according to the result of the determination.
[0056] One way in which an ATM 7b, 11a can determine this by comparing the requested amount of cash to the current cash capacity value stored by the ATM 7b, 11a. If the requested amount of cash is higher (lower) than the current cash capacity value, the ATM 7b, 11a determines that it is able (unable) to dispense the requested amount of cash.
[0057] Optionally, the ATMs 7b, 11a may only send a positive response code if they are able
to dispense the requested amount of cash and also if an additional criterion is met. For
example, the additional criterion may be that the amount of cash they are presently able to
dispense exceeds the requested amount of cash by at least a certain predetermined amount.
14
The predetermined amount provides a “margin of safety”, which means that if another user chooses to withdraw cash from the ATM 7b, 11a in the near future, the ATM will still be able to dispense the amount of cash requested by the first user.
[0058] In step 207, the bank servers 7, 11 forward the response codes to the gateway server 5, which forwards them to the monitor server 13.
[0059] In step 208, the monitor sever 13 transmits to the gateway server 5 description data describing the identified ATMs 7b, 11a for which the response codes received in step 207 indicated that the ATMs are able to dispense the requested amount of cash. The description data may include data obtained from the ATM record database 15 specifying the respective locations of the ATMs.
[0060] Note that the monitor server 13 may optionally not send description data about all the identified ATMs for which the response codes the identified ATMs 7b, 11a for which the response codes received in step 207 indicated that the ATMs are able to dispense the requested amount of cash. For example, if the number of such ATMs exceeds a threshold, the monitor server 13 may perform a filtering process on them (e.g. based on a criterion of which of them closest to the first location; and/or a criterion of which bank they are associated with; and/or a criterion based on how much cash they presently have to dispense), and only send description information about those which survive the filtering process.
[0061] The description data may be in the form of a map suitable for display to the user to indicate the locations of the identified ATMs for which the response codes received in step 207 indicated that the identified ATMs are able to dispense the requested amount of cash. There may be one map for each respective identified ATM, or a single map specifying the locations of more than one of the identified ATMs. Alternatively, the description data may be geographical coordinates of the ATM. In this case, in later steps of the method the coordinates may be combined with a map obtained from another source to generate at least one map for display to the user. The description data may also include for some or all of the ATMs the name of the corresponding bank which operates them. It may include additional information relating to the ATM, such as hours when the ATM is scheduled to be unavailable (e.g. is turned off, or is within premises which are closed). Note that optionally ATMs which will become unavailable within a predetermined time in the future may be excluded in step 203.
15
[0062] In step 209, the gateway server 5 forwards the description data to the acquirer bank server 7. In step 210, the acquirer bank server 7 transmits the description data to the ATM 7a. In step 211, the ATM 7a displays the description data to the user. Optionally, the data may only be displayed to the user in the case that the user has entered a command asking for the description data to be displayed to him or her.
[0063] Optionally, the user may be given the option to input data to specify one or more of the displayed ATMs. The user is also able to input identity information (e.g. a telephone number, or data identifying a user record in the user record database 17) identifying at least one item of user equipment 21 and/or 23 associated with the user. Data describing the specified ATMs and the identity information is transmitted to the monitor server 13.
[0064] If the monitor server 13 receives data, within a certain monitoring period, indicating that one of the more of the specified ATM(s) is no longer able to perform the cash dispensing operation, the monitor server may use the identity information, to transmit to the user equipment 21, 23 an update message indicating that fact. The user equipment 21, 23 displays this information to the user. Thus, the user is warned that the information supplied to the user in step 209 is no longer correct.
[0065] The monitor server 13 may poll the specified ATMs at intervals during the monitoring period to determine whether the specified ATMs are still able to perform the cash dispensing operation. If the result of this polling is that the monitoring server 13 receives data indicating that one of the more of the specified ATM(s) is no longer able to perform the cash dispensing operation, then this triggers the monitoring server 13 to generate the update message.
[0066] The monitoring period may, for example, be a predetermined time after step 208 is performed, or a predetermined time after the monitoring server 13 receives the data specifying one or more of the displayed ATMs.
[0067] Note that in a variation of the embodiment, step 205 may be replaced by a step in which the bank servers 7, 11 send a request to the corresponding ATMs 7b, 11a, asking for the ATMs 7b, 11a to respond to the bank servers 7, 11 with a response message including the current cash capacity value. Step 206 is in this case replaced with a step in which the bank servers 7, 11, for each of the ATMs 7b, 11 from which they receive such a response message, compare the received current cash capacity value with the amount which of cash which the user requested to withdraw, to determine which of the ATMs 7b, 11 is able to
16
dispense the specified amount. Step 207 is replaced by a step in which the bank servers 7, 11 send message(s) to the monitor server 13 indicative of those ATMs 7b, 11 which are (and/or which are not) able to dispense the amount of cash which the user requested to withdraw.
[0068] Turning to Fig. 7, a second specific method 300 which is an embodiment of the invention is illustrated.
[0069] In step 301, a user operating one of the items of user equipment 21, 23 establishes communication over the communication network 19 with the communication interface of the monitor computer 13.
[0070] In step 302, the user specifies a first location to the monitor server 13. The user may do this by entering a location into a graphical user interface (GUI) generated by the software, and which forwards data to the monitor computer 13. Alternatively, if the user equipment includes a position sensor, the first location may be transmitted from the position sensor to the monitor server 13. Alternatively, the user may use the GUI to provide an identity code to the monitor computer 13, in which case the monitor computer 13 identifies a record for the user in the user record database 17, and extracts the first location from the record. The user may further specify an amount of cash which the user wishes to withdraw.
[0071] Steps 303 to 307 are essentially equivalent to steps 203 to 207 respectively. In step 303, the monitor server 13 obtains using the ATM record database 15 a list of other ones of the ATMs 7b, 7c, 9a, 9b, 10a, 10b which are in the neighbourhood the first location according to a proximity criterion. The proximity criterion may for example be that the other ATMs are within a certain distance of the ATM 7a.
[0072] As in step 203, the monitor server may do this by sending query requests to all the bank servers 7, 8, 9, asking the bank servers 7, 8, 9 to tell the monitor server 13 about all ATMs associated with them which meet the proximity criterion. Alternatively, if the ATM record database 15 is present, the monitor server may do this by searching the ATM record database 15 for ATMs which meet the proximity criterion. Optionally, if the number of other ATMs found in this way is below a certain lower threshold number (e.g. one), then the distance may be increased, and the search operation repeated. This may continue until the number of other ATMs found in the search is above the lower threshold number. Alternatively or additionally, if the number of ATMs found to meet the proximity criterion is above an upper threshold number (which is above the lower threshold number), the
17
distance may be reduced until the number of ATMs meeting the proximity criterion is below the upper threshold number.
[0073] Note that the search operation may alternatively be performed before the method 300 commences, and the record for the ATM 7a in the ATM record database 15 may store the list of the ATMs meeting the proximity criterion. In this case, step 303 amounts to extracting this pre-generated list from the record for the ATM 7a.
[0074] Let us suppose that in step 303, the monitor server identifies the two ATMs 7b, 11a as meeting the proximity criterion. In step 304, the monitor server transmits a query message to the acquirer bank server 7 including the identity code of the ATM 7b. It also transmits a query message to the bank server 11 including the identity code of the ATM 11b. The query message includes data indicating the amount of cash which the user requested to withdraw from the ATM 7a.
[0075] In step 305, the bank servers 7, 11 send a query processing code to the respective ATMs 7b, 11a. The query message includes data indicating the amount of cash which the user requested to withdraw in step 302.
[0076] In step 306, the ATMs 7b, 11a determine whether they are able to dispense the requested amount of cash. Again, the ATM 7b, 11a can determine this by comparing the requested amount of cash to the current cash capacity value stored by the ATM 7b, 11a. If the requested amount of cash is higher (lower) than the current cash capacity value, the ATM 7b, 11a determines that it is able (unable) to dispense the requested amount of cash. The ATM 7b, 11a sends a response code to the corresponding bank server 7, 11 which is different according to the result of the determination. Optionally, the ATMs 7b, 11a may only send a positive response code if they are able to dispense the requested amount of cash and also if an additional criterion is met. For example, the additional criterion may be that the amount of cash they are presently able to dispense exceeds the requested amount of cash by at least a certain predetermined amount. The predetermined amount provides a “margin of safety”, which means that if another user chooses to withdraw cash from the ATM 7b, 11a in the near future, the ATM will still be able to dispense the amount of cash requested by the first user.
[0077] In step 307, the bank servers 7, 11 forward the response codes to the gateway server 5, which forwards them to the monitor server 13.
18
[0078] In step 308, the monitor sever 13 transmits to the user equipment 21 or 23 associated with the user description data describing the identified ATMs 7b, 11a for which the response codes received in step 207 indicated that the ATMs were able to dispense the requested amount of cash.
[0079] Note that the monitor server 13 may optionally not send description data about all the identified ATMs for which the response codes the identified ATMs 7b, 11a for which the response codes received in step 307 indicated that the ATMs are able to dispense the requested amount of cash. For example, if the number of such ATMs exceeds a threshold, the monitor server 13 may perform a filtering process on them (e.g. based on a criterion of which of them closest to the first location; and/or a criterion of which bank they are associated with; and/or a criterion based on how much cash they presently have to dispense), and only send description information about those which survive the filtering process.
[0080] The description data may be in the form of a map suitable for display to the user to indicate the locations of the identified ATMs for which the response codes received in step 307 indicated that the identified ATMs are able to dispense the requested amount of cash. There may be one map for each respective identified ATM, or a single map specifying the locations of more than one of the identified ATMs. Alternatively, the description data may be geographical coordinates of the ATM. In this case, in later steps of the method the coordinates may be combined with a map obtained from another source to generate at least one map for display to the user. The description data may also include for some or all of the ATMs the name of the corresponding bank which operates them. It may include additional information relating to the ATM, such as hours when the ATM is scheduled to be unavailable (e.g. is turned off, or is within premises which are closed). Note that ATMs which will become unavailable within a predetermined time in the future may be excluded in step 303.
[0081] In step 308, the description data is forwarded to the user equipment 21 or 23. In step 309, the user equipment 21 or 23 displays the description data to the user.
[0082] Optionally, as in method 200, the user may be given the option to input data to specify one or more of the displayed ATMs. Data describing the specified ATMs is transmitted to the monitor server 13.
19
[0083] If the monitor server 13 receives data, within a certain monitoring period, indicating that one of the more of the specified ATM(s) is no longer able to perform the cash dispensing operation, the monitor server may use the identity information, to transmit to the user equipment 21, 23 an update message indicating that fact. The user equipment 21, 23 displays this information to the user. Thus, the user is warned that the information supplied to the user in step 309 is no longer correct.
[0084] The monitor server 13 may poll the specified ATMs at intervals during the monitoring period to determine whether the specified ATMs are still able to perform the cash dispensing operation. If the result of this polling is that the monitoring server 13 receives data indicating that one of the more of the specified ATM(s) is no longer able to perform the cash dispensing operation, then this triggers the monitoring server 13 to generate the update message.
[0085] The monitoring period may, for example, be a predetermined time after step 308 is performed or a predetermined time after the monitoring server 13 receives the data specifying one or more of the displayed ATMs.
[0086] Note that in a variation of the embodiment, step 305 may be replaced by a step in which the bank servers 7, 11 send a request to the corresponding ATMs 7b, 11a, asking for the ATMs 7b, 11a to respond to the bank servers 7, 11 with a response message including the current cash capacity value. Step 306 is in this case replaced with a step in which the bank servers 7, 11, for each of the ATMs 7b, 11 from which they receive such a response message, compare the received current cash capacity value with the amount which of cash which the user specified in step 302, to determine which of the ATMs 7b, 11 is able to dispense the specified amount. Step 307 is replaced by a step in which the bank servers 7, 11 send message(s) to the monitor server 13 indicative of those ATMs 7b, 11 which are (and/or which are not) able to dispense the amount of cash which the user specified in step 302.
[0087] Fig. 8 shows a further specific method 400 which is an embodiment of the invention. The method 400 is performed following step 106 of the method of Fig. 2, in the case that the response message transmitted by the ATM 7a to the acquirer server 7 indicates that the ATM 7a cannot dispense the requested cash.
[0088] In step 401, the bank server 7 sends the monitor server 13 a message (via the gateway server 5) indicating the identity code of the ATM 7a and the amount of cash requested.
20
Steps 402 to 411 are then identical to steps 211 respectively. Thus, the description data displayed to the user by the ATM 7a in step 411 of the method 400 may be substantially identical to the description data displayed in step 202-211 of the method 200 irrespective of whether the issuer bank is the same as the acquirer bank.
[0089] Note that in a variation of the method 400, the steps 403 to 409 may only be performed in respect of ATMs other than the ATMs 7b, 7c associated with the acquirer bank server 7. In this case, the acquirer bank 7 may identify which of other the ATMs 7b, 7c associated with the acquirer bank server 7 is in the neighbourhood of the ATM 7a according to a proximity criterion (which may be the same proximity criterion used by the monitor server 13 or a different one). For this purpose the acquirer bank server 7 may comprise a database (not shown) indicating the location of each of the ATMs 7a, 7b, 7c. The acquirer bank 7 may the poll the identified ATM(s) to determine which of the identified ATMs can dispense the requested amount of cash. For those of the identified ATMs which are able to dispense the requested amount of cash, the acquirer bank server 7 may generate description data, and combine it with the description data it receives in step 409 in respect of ATMs which are not associated with the acquirer bank server 7. Then the combined description data may be transmitted to the ATM 7a for display to the user. An advantage of this variation of the method 400 is that the acquirer bank server 7 may be able to give different description data (e.g. fuller description data) in respect of ATMs associated with it than is available in the ATM record database 15.
[0090] Optionally, as in methods 200 and 300, the user may be able to input data to specify one or more of the displayed ATMs. Data describing the specified ATMs is transmitted to the monitor server 13.
[0091] If the monitor server 13 receives data, within a certain monitoring period, indicating that one of the more of the specified ATM(s) is no longer able to perform the cash dispensing operation, the monitor server may use the identity information, to transmit to the user equipment 21, 23 an update message indicating that fact. The user equipment 21, 23 displays this information to the user. Thus, the user is warned that the information supplied to the user in step 411 is no longer correct.
[0092] The monitor server 13 may poll the specified ATMs at intervals during the monitoring
period to determine whether the specified ATMs are still able to perform the cash
dispensing operation. If the result of this polling is that the monitoring server 13 receives
data indicating that one of the more of the specified ATM(s) is no longer able to perform
21
the cash dispensing operation, then this triggers the monitoring server 13 to generate the update message.
[0093] The monitoring period may, for example, be a predetermined time after step 408 is performed or a predetermined time after the monitoring server 13 receives the data specifying one or more of the displayed ATMs.
[0094] Note that in a variation of the embodiment, step 405 may be replaced by a step in which the bank servers 7, 11 send a request to the corresponding ATMs 7b, 11a, asking for the ATMs 7b, 11a to respond to the bank servers 7, 11 with a response message including the current cash capacity value. Step 406 is in this case replaced with a step in which the bank servers 7, 11, for each of the ATMs 7b, 11 from which they receive such a response message, compare the received current cash capacity value with the amount which of cash which the user requested to withdraw, to determine which of the ATMs 7b, 11 is able to dispense the specified amount. Step 407 is replaced by a step in which the bank servers 7, 11 send message(s) to the monitor server 13 indicative of those ATMs 7b, 11 which are (and/or which are not) able to dispense the amount of cash which the user requested to withdraw.
[0095] Fig. 9 is a block diagram showing a technical architecture of the notification server 13. The gateway servers 1, and/or the bank servers 7, 9 and/or 11, may also have this technical architecture.
[0096] The technical architecture includes a processor 222 (which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage 224 (such as disk drives), read only memory (ROM) 226, random access memory (RAM) 228. The processor 222 may be implemented as one or more CPU chips. The technical architecture may further comprise input/output (I/O) devices 230, and network connectivity devices 232.
[0097] The secondary storage 224 is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM 228 is not large enough to hold all working data. Secondary storage 224 may be used to store programs which are loaded into RAM 228 when such programs are selected for execution.
[0098] In this embodiment, the secondary storage 224 has an order processing component 224a
comprising non-transitory instructions operative by the processor 222 to perform various
22
operations of the method of the present disclosure. The ROM 226 is used to store instructions and perhaps data which are read during program execution. The secondary storage 224, the RAM 228, and/or the ROM 226 may be referred to in some contexts as computer readable storage media and/or non-transitory computer readable media.
[0099] I/O devices 230 may include printers, video monitors, liquid crystal displays (LCDs), plasma displays, touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices.
[00100] The network connectivity devices 232 may take the form of modems, modem
banks, Ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards that promote radio communications using protocols such as code division multiple access (CDMA), global system for mobile communications (GSM), long-term evolution (LTE), worldwide interoperability for microwave access (WiMAX), near field communications (NFC), radio frequency identity (RFID), and/or other air interface protocol radio transceiver cards, and other well-known network devices. These network connectivity devices 232 may enable the processor 222 to communicate with the Internet 19 (see Fig. 3) or one or more intranets. With such a network connection, it is contemplated that the processor 222 might receive information from the network, or might output information to the network in the course of performing the above-described method operations. Such information, which is often represented as a sequence of instructions to be executed using processor 222, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.
[00101] The processor 222 executes instructions, codes, computer programs, scripts
which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage 224), flash drive, ROM 226, RAM 228, or the network connectivity devices 232. While only one processor 222 is shown, multiple processors may be present. Thus, while instructions may be discussed as executed by a processor, the instructions may be executed simultaneously, serially, or otherwise executed by one or multiple processors.
[00102] Although the technical architecture is described with reference to a computer, it
should be appreciated that the technical architecture may be formed by two or more
computers in communication with each other that collaborate to perform a task. For
example, but not by way of limitation, an application may be partitioned in such a way as
23
to permit concurrent and/or parallel processing of the instructions of the application. Alternatively, the data processed by the application may be partitioned in such a way as to permit concurrent and/or parallel processing of different portions of a data set by the two or more computers. In an embodiment, virtualization software may be employed by the technical architecture to provide the functionality of a number of servers that is not directly bound to the number of computers in the technical architecture. In an embodiment, the functionality disclosed above may be provided by executing the application and/or applications in a cloud computing environment. Cloud computing may comprise providing computing services via a network connection using dynamically scalable computing resources. A cloud computing environment may be established by an enterprise and/or may be hired on an as-needed basis from a third party provider.
[00103] It is understood that by programming and/or loading executable instructions
onto the technical architecture, at least one of the CPU 222, the RAM 228, and the ROM 226 are changed, transforming the technical architecture in part into a specific purpose machine or apparatus having the novel functionality taught by the present disclosure. It is fundamental to the electrical engineering and software engineering arts that functionality that can be implemented by loading executable software into a computer can be converted to a hardware implementation by well-known design rules.
[00104] Whilst the foregoing description has described exemplary embodiments, it will
be understood by those skilled in the art that many variations of the embodiment can be made within the scope and spirit of the present invention.
We claim:
1. A computer-implemented method of coordinating usage of automatic teller machines
comprising, the method comprising a computer system comprising at least one server
performing the steps of:
(i) identifying based on a first location, one or more automatic teller machines having respective locations meeting a proximity criterion defined based on the first location;
(ii) polling the identified automatic teller machines, to determine whether each of the identified automatic teller machines is able to perform a cash dispensing operation; and
(iii) transmitting description data indicative of the identified automatic teller machines for which the result of the determination is positive, to a display device for presentation to a user.
2. A method according to claim 1 including a step, before said step of identifying one or more automatic teller machines, of receiving a message comprising data indicative of a location of an automatic teller machine, and using the location of the automatic teller machine as the first location.
3. A method according to claim 2 in which the data indicative of the location of the automatic teller machine is ATM identity data for the automatic teller machine, the method comprising the server using the ATM identity data to access a record in a database, the record being associated with the automatic teller machine and specifying the location of the automatic teller machine.
4. A method according to claim 2 or claim 3 which is performed upon determining that the
automatic teller machine has generated a message indicating that the automatic teller
machine is not able to perform a cash dispensing operation.
5. A method according to claim 1 including a step before said step of identifying one or more automatic teller machines, of receiving a message from user equipment associated with the user, the message comprising data indicative of a location associated with the user, and using the location associated with the user as the first location.
6. A method according to claim 5 in which the data indicative of the location associated with the user is identity data for the user, the method comprising the server using the user
identity data to access a record in a database, the record being associated with the user and specifying the location associated with the user.
7. A method according to any preceding claim in which the computer system is operative
to communicate with one or more servers which are each associated with one or more
corresponding automatic teller machines,
the computer system being operative to receive an authorization request from a first of the servers containing identity information and specifying an amount of cash, to identify a second of the servers using the identity information, to transmit the authorization request to the second of the servers, and to relay a message generated by the second of the servers to the first server.
8. A method according to any preceding claim in which the step of polling the identified
automatic teller machines is performed by:
identifying one or more servers associated with corresponding ones of the identified automatic teller machines,
transmitting a polling request to the identified servers specifying the identity of the corresponding identified automatic teller machines, the polling request being operative to cause the identified servers to poll the corresponding identified automatic teller machines, to determine whether each of the identified automatic teller machines is able to perform the cash dispensing operation;
and receiving from the identified servers data indicating the ability of the corresponding identified automatic teller machines to dispense cash.
9. A method of coordinating usage of automatic teller machines comprising an acquirer
server associated with a plurality of automatic teller machines performing the steps of:
(i) receiving from a first of the plurality of automatic teller machines a non-availability message indicative of the first automatic teller machine being unable to perform a cash dispensing operation;
(ii) identifying based on a first location associated with the first automatic teller machine, one or more second ones of the automatic teller machines having respective second locations meeting a proximity criterion defined based on the first location;
(ii) polling the identified automatic teller machines, to determine whether the automatic teller machines are able to perform a cash dispensing operation; and
(iii) transmitting description data indicative of the identified automatic teller machines for which the result of the determination is positive, to the first automatic teller machine for display on the first automatic teller machine.
10. A method according to claim 9 including a preliminary step, before the step of receiving the non-availability message, of receiving from the first automatic teller machine a message indicative of the identity of a user interacting with the first automatic teller machine, the non-availability message being indicative of the inability of the first automatic teller machine to complete a cash withdrawal operation specified by the user.
11. A method according to claim 9 or claim 10 further comprising:
transmitting to an external server a message indicating the location of the automatic teller machine;
receiving from the external server description data indicating the respective locations of other automatic teller machines which are not among the plurality of automatic teller machines, and which are able to perform the cash dispensing operation; and
transmitting the description data to the first automatic teller machine for display by the first automatic teller machine.
12. A method according to any preceding claim further comprising:
at intervals polling a set of one or more of the identified automatic teller machines for which the determination was positive, to determine whether those automatic teller machines are still able to perform the cash dispensing operation, and
upon determining that any of the one or more identified automatic teller machines is no longer able to perform the cash dispensing operation, transmitting an update message.
13. A method according to claim 12 further comprising receiving a message indicating that
a user has specified one or more of the identified automatic teller machines for which the
result of the determination is positive, the specified one or more identified automatic teller
machines constituting the set of one or more identified teller machines.
14. A method of coordinating usage of automatic teller machines comprising an acquirer
server associated with a plurality of automatic teller machine performing the steps of:
(i) receiving from one of the automatic teller machines a non-availability message indicative of the first automatic teller machine being unable to perform a cash dispensing operation;
(ii) transmitting to an external server a message indicating the location of the automatic teller machine;
(iii) receiving from the external server description data indicating the respective locations of other automatic teller machines which are not among the plurality of automatic teller machines, and which are able to perform the cash dispensing operation, the other automatic teller machines having respective locations meeting a proximity criterion defined based on the first location; and
(iv) transmitting the description data to the automatic teller machine for display by the automatic teller machine.
15. A method according to any preceding claim in which the cash dispensing operation is a cash dispensing operation determined based on a cash amount specified by the user.
16. A method according to claim 15 in which the step of polling the identified teller machines includes transmitting a polling request specifying the cash amount.
17. A computer system for coordinating usage of automatic teller machines, the computer system comprising:
a processing device;
a data storage device storing program instructions operative, when performed by the processing device, to cause the processing device to:
(i) identify based on a first location, one or more automatic teller machines having respective locations meeting a proximity criterion defined based on the first location;
(ii) poll the identified automatic teller machines, to determine whether each of the identified automatic teller machines is able to perform a cash dispensing operation; and
(iii) transmit description data indicative of the identified automatic teller machines for which the result of the determination is positive, to a display device for presentation to a user.
18. A computer system according to claim 17 in which the program instructions are operative to cause the processing device to receive a message comprising data indicative of a location of an automatic teller machine, and use the location of the automatic teller machine as the first location.
19. A computer system according to claim 18 further comprising a database storing records for a plurality of respective automatic teller machines, each record comprising the location of the respective automatic teller machine,
the program instructions being operative to cause the processing device to identify a said record using the message, and identify the first location from the identified record.
20. A computer system according to claim 18 or claim 19 in which the program instructions are operative to cause the process device to determine that the automatic teller machine has generated a message indicating that the automatic teller machine is not able to perform a cash dispensing operation, and, upon this determination being positive, perform the steps of identifying automatic teller machines and polling the identified automatic teller machines.
21. A computer system according to any of claims 17 to 20 further including a communication interface for communicating with user equipment associated with the user,
the program instructions being operative to cause the processing device to receive a message over the communication interface comprising data indicative of a location associated with the user, and to use the location associated with the user as the first location.
22. A computer system according to claim 21 further comprising a database storing records
for a plurality of users, each record a location associated with the user,
the program instructions being operative to cause the processing device to identify a said record using the message, and identify the first location from the identified record.
23. A computer system according to any of claims 17 to 22 in which the program
instructions are operative to cause the processing device to poll the identified automatic
teller machines by:
identifying one or more servers associated with corresponding ones of the identified automatic teller machines,
transmitting a polling request to the identified servers specifying the identity of the corresponding identified automatic teller machines, the polling request being an instruction to cause the identified servers to poll the corresponding identified automatic teller machines, to determine whether each of the identified automatic teller machines is able to perform the cash dispensing operation; and
receiving from the identified servers data indicating the ability of the corresponding identified automatic teller machines to dispense cash.
24. A computer system according to any of claims 17 to 23 which is a computer server of a payment gateway, the server being operative to relay messages between the servers of a plurality of banks.
25. A computer system according to any of claims 17 to 24 in which the program instructions are further operative to cause the processing device:
at intervals to poll a set of one or more of the identified automatic teller machines for which the determination was positive, to determine whether those automatic teller machines are still able to perform the cash dispensing operation, and
upon determining that any of the one or more identified automatic teller machines is no longer able to perform the cash dispensing operation, to transmit an update message.
26. A computer system according to claim 25 in which the program instructions are further operative to cause the processing device to receive a message indicating that a user has specified one or more of the identified automatic teller machines for which the result of the determination is positive, the specified one or more identified automatic teller machines constituting the set of one or more identified teller machines.
27. A computer system for coordinating usage of automatic teller machines and associated with a plurality of automatic teller machines, the computer system comprising:
a processing device;
a data storage device storing program instructions operative, when performed by the processing device, to cause the processing device to:
(i) receive from a first of the plurality of automatic teller machines a non-availability message indicative of the first automatic teller machine being unable to perform a cash dispensing operation;
(ii) identify based on a first location associated with the first automatic teller machine, one or more second ones of the automatic teller machines having respective second locations meeting a proximity criterion defined based on the first location;
(ii) poll the identified automatic teller machines, to determine whether the automatic teller machines are able to perform a cash dispensing operation; and
(iii) transmit description data indicative of the identified automatic teller machines for which the result of the determination is positive, to the first automatic teller machine.
28. A computer system according to claim 27 in which the program instructions are operative to cause the processing device to receive from the first automatic teller machine a message indicative of the identity of a user interacting with the first automatic teller machine, the non-availability message being indicative of the inability of the first automatic teller machine to complete a cash withdrawal operation specified by the user.
29. A computer system according to claim 27 or claim 28 in which the program instructions are operative to cause the processing device to:
transmit to an external server a message indicating the location of the automatic teller machine;
receive from the external server description data indicating the respective locations of other automatic teller machines which are not among the plurality of automatic teller machines, and which are able to perform the cash dispensing operation; and
transmit the description data to the first automatic teller machine for display by the first automatic teller machine.
30. A computer system according to any of claims 17 to 29 in which the program instructions are operative to cause the processing device to define the cash dispensing operation based on data input received from the user and specifying a cash amount.
31. A computer system according to claim 30 in which the program instructions are operative to cause the processing device to transmit a polling request specifying the cash amount.
32. A computer system for coordinating usage of automatic teller machines and associated
with a plurality of automatic teller machines, the computer system comprising:
a processing device;
a data storage device storing program instructions operative, when performed by the processing device, to cause the processing device to:
(i) receive from one of the automatic teller machines a non-availability message indicative of the first automatic teller machine being unable to perform a cash dispensing operation;
(ii) transmit to an external server a message indicating the location of the automatic teller machine;
(iii) receive from the external server a message indicating the respective locations of other automatic teller machines which are not among the plurality of automatic teller machines, and which are able to perform the cash dispensing operation, the other automatic teller machines having respective locations meeting a proximity criterion defined based on the first location; and
(iv) transmit description data indicative of the locations of the other teller machines to the automatic teller machine for display by the automatic teller machine.
33. A computerized network comprising:
a plurality of servers operated by respective banks;
a plurality of automatic teller machines, each of the automatic teller machines being controlled by a corresponding one of the servers; and
a gateway computer system for relaying communications between the servers;
wherein the gateway computer system comprises:
a processing device;
a data storage device storing program instructions operative, when performed by the processing device, to cause the processing device to:
(i) identify based on a first location, one or more of the automatic teller machines having respective locations meeting a proximity criterion defined based on the first location;
(ii) poll the identified automatic teller machines, to determine whether each of the identified automatic teller machines is able to perform a cash dispensing operation; and
(iii) transmit description data indicative of the identified automatic teller machines for which the result of the determination is positive, to a display device for presentation to a user.
34. A computerized network according to claim 33 in which the program instructions are operative to cause the processing device to identify when a message relayed between the servers is a response message indicating that a first one of the automatic teller machines is unable to perform the cash dispensing operation, and, upon identifying this, to perform steps (i) to (iii) using the location of the first one of the automatic teller machines as the first location.
35. A computerized network according to claim 33 or 34 in which the gateway computer system comprises a database storing records for a plurality of respective automatic teller machines, each record comprising the location of the respective automatic teller machine,
the program instructions being operative to cause the processing device to identify a said record using the message, and identify the first location from the identified record.
36. A computerized network according to any of claims 33 to 35 in which the gateway
computer system further includes a communication interface for communicating with user
equipment associated with the user,
the program instructions being operative to cause the processing device to receive a message over the communication interface comprising data indicative of a location associated with the user, and to use the location associated with the user as the first location.
37. An automatic teller machine, the automatic teller machine being operative, following a determination that it is unable to perform an authorized cash dispensing operation, to receive and display to a user description data describing one or more other ATMs which are in the proximity of the automatic teller machine according to a proximity criterion, and which are able to perform the cash dispensing operation.
38. An automatic teller machine according to claim 37 which is operative, following a determination that it is unable to perform an authorized cash dispensing operation:
to display to the user a graphical user interface requesting the user to specify whether the user desires to receive description data describing one or more other ATMs which are in the proximity of the automatic teller machine according to the proximity criterion, and which are able to perform the cash dispensing operation, and
upon receiving user input indicating that the user does desire the description data, to send a request for the description data over a communication network to a server.
| # | Name | Date |
|---|---|---|
| 1 | 201714044833-STATEMENT OF UNDERTAKING (FORM 3) [13-12-2017(online)].pdf | 2017-12-13 |
| 2 | 201714044833-REQUEST FOR EXAMINATION (FORM-18) [13-12-2017(online)].pdf | 2017-12-13 |
| 3 | 201714044833-PROOF OF RIGHT [13-12-2017(online)].pdf | 2017-12-13 |
| 4 | 201714044833-PRIORITY DOCUMENTS [13-12-2017(online)].pdf | 2017-12-13 |
| 5 | 201714044833-POWER OF AUTHORITY [13-12-2017(online)].pdf | 2017-12-13 |
| 6 | 201714044833-FORM 18 [13-12-2017(online)].pdf | 2017-12-13 |
| 7 | 201714044833-FORM 1 [13-12-2017(online)].pdf | 2017-12-13 |
| 8 | 201714044833-FIGURE OF ABSTRACT [13-12-2017(online)].pdf | 2017-12-13 |
| 9 | 201714044833-DRAWINGS [13-12-2017(online)].pdf | 2017-12-13 |
| 10 | 201714044833-DECLARATION OF INVENTORSHIP (FORM 5) [13-12-2017(online)].pdf | 2017-12-13 |
| 11 | 201714044833-COMPLETE SPECIFICATION [13-12-2017(online)].pdf | 2017-12-13 |
| 12 | 201714044833-Power of Attorney-201217.pdf | 2017-12-26 |
| 13 | 201714044833-OTHERS-201217.pdf | 2017-12-26 |
| 14 | 201714044833-OTHERS-201217-.pdf | 2017-12-26 |
| 15 | 201714044833-Correspondence-201217.pdf | 2017-12-26 |
| 16 | abstract.jpg | 2018-01-05 |
| 17 | 201714044833-FER.pdf | 2021-10-17 |
| 1 | searchE_25-08-2020.pdf |