The present disclosure relates generally to servicing automated banking machines, such as an automated banking machine (for example an automated Teller Machine or “ATM”) or a point of sale (“POS”) machine.
Automated banking machines are used by consumers to conduct banking transactions. A common type of automated banking machine is an automated teller machine (“ATM”). Common banking transactions conducted by users of automated banking machines include deposits and cash withdrawals. Some automated banking machines accept deposits in the form of envelopes, checks, cash, or other items. Automated banking machines may also be used for paying bills, transferring funds between accounts, and making balance inquiries. Automated banking machines and other types of automated banking machines may also be used to dispense media or documents (e.g., tickets, financial checks, coupons, scrip, wagering slips, vouchers, travelers checks, gaming materials, receipts, or other items). Other types of automated banking machines may include devices which count or deliver cash, sheets, documents, or other items of value to a consumer, bank teller, service provider, or other user, as well as point of sale (“POS”) terminals and other terminals which enable users to carry out transactions of value. Automated banking machines are useful for carrying out transactions that include transfer of value.
The following presents a simplified overview of the example embodiments in order to provide a basic understanding of some aspects of the example embodiments. This overview is not an extensive overview of the example embodiments. It is intended to neither identify key or critical elements of the example embodiments nor delineate the scope of the appended claims. Its sole purpose is to present some concepts of the example embodiments in a simplified form as a prelude to the more detailed description that is presented later.
In accordance with an example embodiment, there is disclosed herein a method that employs a data engine for selecting a service technician for a maintenance task. The data engine maintains skill data and a parts inventory for each service technician. A skill (or skill set) and a part for completing the maintenance task are determined. The service technician closest to the location of the maintenance task with the appropriate skill and part is selected to perform the maintenance task.
In accordance with an example embodiment, there is disclosed herein a method for determining whether a second maintenance task should be scheduled when a first maintenance task is scheduled. The method correlates past maintenance tasks. If a correlation is found between the first and second maintenance tasks, the method creates a second maintenance task along with the first maintenance task.
In accordance with an example embodiment, there is disclosed herein a method for determining whether a maintenance task should be scheduled based on trends in sensor readings. Sensor readings are correlated to determine whether the frequency of an operational malfunction is increasing over time allowing for preemptive maintenance of a component.
The accompanying drawings incorporated herein and forming a part of the specification illustrate the example embodiments.
This description provides examples not intended to limit the scope of the appended claims. The figures generally indicate the features of the examples, where it is understood and appreciated that like reference numerals are used to refer to like elements. Reference in the specification to “one embodiment” or “an embodiment” or “an example embodiment” means that a particular feature, structure, or characteristic described is included in at least one embodiment described herein and does not imply that the feature, structure, or characteristic is present in all embodiments described herein.
The data engine 102 comprises a communication interface 104, memory 106, and logic 108. The communication interface 104 allows for communication with external devices (such as endpoint 110 and/or mobile devices 114a-n) via network 112. Communication interface 104 may employ suitable wired or wireless protocol. The memory 106 is operable to store data received from the endpoint 110.
The logic 108 is operable to perform the functionality of the data engine 102 described herein. “Logic”, as used herein, includes but is not limited to hardware, firmware, software and/or combinations of each to perform a function(s) or an action(s), and/or to cause a function or action from another component. For example, based on a desired application or need, logic may include a software-controlled microprocessor, discrete logic such as an application specific integrated circuit (ASIC), a programmable/programmed logic device, memory device containing instructions, or the like, or combinational logic embodied in hardware. Logic may also be fully embodied as software that performs the desired functionality when executed by a processor.
In an example embodiment, the logic 108 is operable to obtain data representative of components (not show, see e.g.,
In an example embodiment, the logic 108 is operable to select a service technician (from the plurality of service technicians 1-n) for handling the maintenance task. The logic 108 causes the selected service technician is notified via the mobile device 114 associated with the selected service technician. For example, a message may be sent via communication interface 104 over network 112 to the selected service technician. The logic selects the service technician based on the part and skill for completing the maintenance task. In an example embodiment, the selected service technician is the service technician having the skill and part for competing the maintenance task who is closes to the endpoint 110.
In an example embodiment, the logic 108 is operable to correlate other maintenance tasks performed in the past within a predefined time period of when the maintenance task has been performed in the past. For example, if in the past, a second type of maintenance task has been performed more than 50% of the time within a week after the first maintenance task has been performed, then the second maintenance task can be performed at the same time the first maintenance task is performed, reducing the number of service calls for the endpoint 110. Thus, based on correlating past maintenance tasks, the logic 108 is operable to determine whether a selected other maintenance task selected from the other maintenance tasks occurred more than a predefined threshold.
In an example embodiment, if the logic 108 determines that a second maintenance task has occurred more than a predefined threshold, the logic 108 determines a second skill for completing the selected other (e.g. second) maintenance task, a second part for completing the selected other maintenance task, and selects a service technician that is nearest to the automated banking machine having the first skill, the second skill, the first part and the second part for completing the first task and the second task.
In an example embodiment, the logic 108 can determine from data representative of past service calls stored in memory 106 whether other maintenance tasks were performed within a predefined time period of when a service technician determined the maintenance task was not needed. This can be an indicator that the wrong maintenance task is being assigned or another part of a component is about to fail. The logic 108 correlates other maintenance tasks performed in the past for the endpoint 110 within a predefined time period of when the maintenance task in the past was determined to be not needed by a maintenance technician. If, based on the correlating of past events the logic 108 determines a selected other maintenance task selected from the other maintenance tasks occurred more than a predefined threshold, the logic 108 is operable to cause a new maintenance task for the selected other maintenance task to be created. The logic is further operable to determine a skill for completing the new maintenance task, a part for completing the new maintenance task, and to select a maintenance technician from a plurality of maintenance technicians based on the determined skill and the part for completing the new task. The selected maintenance technician is a maintenance technician from the plurality of maintenance technicians that is nearest to the endpoint 110 having the skill and the part for completing the task. The logic 108 is operable to cause a message is then sent to the selected service technician via communication interface 104 and network 112.
In an example embodiment, data representative of the status of endpoint 110 is received periodically. The time interval is configurable. In particular embodiments, the data representative of the inventory is received with the data representative of the status, although in other embodiments the data representative of the inventory may be received at different intervals than the data representative of the status. The data representative of the inventory comprises hardware and software data, device capabilities, device configuration and may include, but is not limited to data representative of Application Versions, Basic Input Output System (“BIOS”) data, Cassette Table, Certifications, Central Processing Unit (“CPU”), Display Adaptor, Hard Drive, Logical Drives, Memory, Monitor, Network Adapter, Optical Drive, Operating System “OS” Updates, OS Information, Patches, Trusted Platform Module (“TPM”), Universal Serial Bus (“USB Controller”), USB Devices, Device Material Numbers, Device Serial Numbers, Device Construction Levels, and/or Device Firmware Version.
In an example embodiment, the data representative of the status may include device metrics, such as, for example, data from internal registers or measurable parameters. This data can be employed by logic 108 for providing predictive or proactive maintenance of endpoint 110.
In an example embodiment, the data representative of the status comprises a summary of the device—e.g., Hardware/firmware data, configuration of the device-Hardware/firmware data, Inspection data, such as from sensors, motors, actuators and their operation as a transaction occurs for example from cash-in/cash-out shutter open to deposit or present to customer. In some embodiments, the status data may comprise Note/voucher count including type of media, Magnetic Ink Character Recognition (“MICR”) read data and its disposition, which cassette notes were deposited or presented back to the customer (money removed), removal of cassettes.
In an example embodiment, the data representative of the status comprises statistics. Statistical data for an automated banking machine may include, but is not limited to the orientation of a check (voucher) that was deposited-Up/MICR to left, up/MICR to right etc., alignment of media as it passes through, offset from center, angle of media etc., Input/output (“I/O”) operation including all separation issues that may have not caused a fault but required multiple attempts to separate inserted media, and/or refused, retracted media causes.
For example, the status data indicates that the gate of an automated banking machine has trouble opening or closing, which could be a sign of vandalism or damage. Although no fault (maintenance task) has been generated because the gate is still working, in an example embodiment, the logic 108 creates a maintenance task causing a service technician to inspect/repair the fascia/gate hardware.
As another example, status data can indicate intermittent, excessive note diverts (e.g., picked notes that are diverted instead of being delivered to a customer because of some detected anomaly) which may confuse service technicians who would likely change cassettes which would not solve the problem. Since nothing has failed, ordinarily a maintenance task would not be created, However, the in an example embodiment, logic 108 is operable to create a maintenance task to inspect and/or change the horizontal transport. In particular embodiments, the logic 108 is operable to create a maintenance task and cause a service technician to inspect and/or change the horizontal transport in response to determining that the number of note diverts has increased over a time period.
Still another example, the data representative of the status may indicate that cassette feed components are getting excessive double and mis-pick events. If the cassette travels (e.g., is moved from one banking machine to another), this cassette would likely be moved many times before problems with the cassette are discovered. Because no failure has occurred, ordinarily a maintenance task would not be created. However, in an example embodiment, the logic 108 is operable to create a maintenance task to change the feed components. The logic 108 may also create a maintenance task to change the feed components upon analyzing the status data and determining the frequency of mis-pick events is increasing.
As will be described in more detail herein infra (see e.g.
The plugins collect inventory and component status data. no transaction (e.g., customer identification or transaction type, amount) data is collected. Any suitable type of plugins may be employed, such as for example JavaScript Object Notation (“JSON”) plugins, extensible markup language (“XML”) plugins, trace (.trc) file plugins, and/or proprietary plugins, etc.
The endpoints 110a-m are disposed on a Financial Institution (“FI”) network 202. Status and inventory data provided by the endpoints 110a-m are sent to the Service Provider (“SP”) network 204. In an example embodiment, as indicated by arrow 206 status and inventory data is sent in one direction, and no data is sent to the endpoints 110a-m. Thus, the data engine 102 and the service technicians 114a-n do not have access to data on the FI network 202, except for the status and inventory sent by agents on endpoints 110a-m.
In the illustrated example, the components of the automated banking machine are card reader 304, wireless reader 306, Personal Identification Number (“PIN”) pad 308, which in particular embodiments may be an encrypting PIN pad (“EPP”), Cash recycler/dispenser 310, display 312, which in particular embodiments can comprise a touch screen or an encrypting touch screen, receipt printer 314, and gate 316. As those skilled in the art can readily appreciate, the components were selected merely for ease of illustration as other embodiments may not include all of the illustrated components and/or have other components not illustrated, such as, for example a check acceptor. In the illustrated example, the cash recycler/dispenser 310 includes the associated cassettes. In the illustrated example, all of the components 304-316 have a plugin, however, in some embodiments, not all components may have a plugin.
The agent 332 is a Windows Service that is designed for the collection and transmission of data. Upon startup, the agent directs enabled plugins 320a-320h to collect data. The plugins 320a-320h collect, aggregate, compress, and transmit the collected data to the agent 332. The agent 332 forwards the data to the data engine 102 and then goes inactive for a configurable interval before repeating the process. In an example embodiment, if an error (or fault) is detected, the agent 332 may request status data from all available plugins 320a-h.
In an example embodiment, the agent is not tied in any way to the device operation, transaction processing, or the application software. If the agent fails, the simple result is that no data will be collected. The operation of the automated banking machine 302 will not be affected. The agent plug-ins collect inventory and component status data. No transaction (e.g., customer identification or transaction type, amount) data is collected. Any suitable type of plugins may be employed, such as for example JavaScript Object Notation (“JSON”) plugins, extensible markup language (“XML”) plugins, trace (.trc) file plugins, and/or proprietary plugins, etc.
In an example embodiment, the data provided by plugins 320a-h may include, but is not limited to hardware and software data, device capabilities, device configuration and may include, but is not limited to data representative of Application Versions, Basic Input Output System (“BIOS”) data, Cassette Table, Certifications, Central Processing Unit (“CPU”), Display Adaptor, Hard Drive, Logical Drives, Memory, Monitor, Network Adapter, Optical Drive, Operating System “OS” Updates, OS Information, Patches, Trusted Platform Module (“TPM”), Universal Serial Bus (“USB Controller”), USB Devices, Device Material Numbers, Device Serial Numbers, Device Construction Levels, and/or Device Firmware Version.
In an example embodiment, the data obtained by plugins 320a-h may include device metrics, such as, for example, data from internal registers or measurable parameters. This data can be employed by logic 108 for providing predictive or proactive maintenance of endpoint 110.
In an example embodiment, the data from plugins 320a-h comprises a summary of the device—e.g., Hardware/firmware data, configuration of the device-Hardware/firmware data, Inspection data, such as from sensors, motors, actuators and their operation as a transaction occurs for example from cash-in/cash-out shutter open to deposit or present to customer. In some embodiments, the status data may comprise Note/voucher count including type of media, Magnetic Ink Character Recognition (“MICR”) read data and its disposition, which cassette notes were deposited or presented back to the customer (money removed), removal of cassettes.
In an example embodiment, the data provided by plugins 320a-h comprises statistics. Statistical data for an automated banking machine may include, but is not limited to the orientation of a check (voucher) that was deposited-Up/MICR to left, up/MICR to right etc., alignment of media as it passes through, offset from center, angle of media etc., Input/output (“I/O”) operation including all separation issues that may have not caused a fault but required multiple attempts to separate inserted media, and/or refused, retracted media causes.
As those skilled in the art can readily appreciate, the data provided by plugins 320a-h may be different for each plugin. For example, the card reader plugin 320a may provide data regarding how many times a magnetic stripe card could not be read while the cash/recycler plugin 320d provides data regarding mis-picked notes, and the receipt printer plugin 320f provides data about how much paper remains in the receipt printer. For examples of service activities that can be performed on an ATM, see U.S. Pat. No. 9,747,590, the contents of which are hereby incorporated by reference herein in their entirety.
Computer system 400 includes a bus 402 or other communication mechanism for communicating information and a processor 404 coupled with bus 402 for processing information. Computer system 400 also includes a main memory 406, such as random-access memory (RAM) or other dynamic storage device coupled to bus 402 for storing information and instructions to be executed by processor 404. Main memory 406 also may be used for storing a temporary variable or other intermediate information during execution of instructions to be executed by processor 404. Computer system 400 further includes a read only memory (ROM) 408 or other static storage device coupled to bus 402 for storing static information and instructions for processor 404. A storage device 410, such as a magnetic disk, optical disk, or solid-state disk is provided and coupled to bus 402 for storing information and instructions.
An aspect of the example embodiment is related to the use of computer system 400 for providing service to automated banking machines. According to an example embodiment, providing service to automated banking machines is provided by computer system 400 in response to processor 404 executing one or more sequences of one or more instructions contained in main memory 406. Such instructions may be read into main memory 406 from another computer-readable medium, such as storage device 410. Execution of the sequence of instructions contained in main memory 406 causes processor 404 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 406. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement an example embodiment. Thus, embodiments described herein are not limited to any specific combination of hardware circuitry and software.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor 404 for execution. Such a medium may take many forms, including but not limited to non-volatile media. Common forms of computer-readable media include for example floppy disk, a flexible disk, hard disk, magnetic cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASHPROM, CD, DVD, SSD or any other memory chip or cartridge, or any other medium from which a computer can read.
Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to processor 404 for execution. For example, the instructions may initially be borne on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 400 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to bus 402 can receive the data carried in the infrared signal and place the data on bus 402. Bus 402 carries the data to main memory 406 from which processor 404 retrieves and executes the instructions. The instructions received by main memory 406 may optionally be stored on storage device 410 either before or after execution by processor 404.
Computer system 400 also includes a communication interface 418 coupled to bus 402. Communication interface 418 provides a two-way data communication coupling computer system 400 to a communication (or network) link 420. For example, communication interface 418 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. As another example, communication interface 418 may be an integrated service digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. Wireless links may also be implemented. In any such implementation, communication interface 418 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
In view of the foregoing structural and functional features described above, methodologies in accordance with example embodiments will be better appreciated with reference to
The skills and parts available are maintained as indicated at 502. The skills data may include which components the service technician is able to service/repair. In particular embodiments, the skills data includes security clearances of the service technicians. For example, for ATMs the data may include which technicians are authorized to enter certain parts of the machine, for instance areas where cash is stored, or memory areas where encryption data is stored.
The parts inventory includes which parts a service technician has on hand. This feature enables a lower inventory of parts to be maintained since every service technician does not need to be provided with every part.
In an example embodiment, the locations of service technicians is obtained. This information can be static (e.g., assigned areas) or dynamic (e.g., current location).
At 504, a problem with the endpoint is discovered. For example, a plugin (such as one of plugins 320a-h in
At 506, a part for the maintenance task is determined. The part is determined based the status data provided by the plugin. In particular embodiments, if a correlation is found between the current problem and another maintenance task. a part for completing other maintenance task is also determined. For example, a correlation may determine how many rolls of paper can be replaced before the additional ink is to be provided to a receipt printer. For example, for an automated teller machine, the part may be a part for repairing a card reader 302 (e.g., a magnetic read head or belt), a wireless reader (new antenna), a PIN pad (a new key pad), cash recycler/dispenser (belts, gears, wheels, etc.), display (cleaner), and/or gate hardware.
At 508, the appropriate technical skill for a service technician to complete the maintenance task is determined based on the status data provided by the plugin. In an example embodiment, the skill data includes security clearances which can determine whether the service technician can enter the area of the machine where the component is located. In an example embodiment, the skill data for an automated banking machine would contain data indicating whether a service technician can repair a card reader 304, wireless reader 306, PIN pad (and/or EPP) 308, cash recycler and/or dispenser 310, display 312, receipt printer 314, and/or gate/fascia 316.
At 510, a service technician is selected (assigned) to the maintenance task. In an example embodiment, the selected service technician is the technician closest to the endpoint that has the appropriate skill and the part (or parts) for completing the maintenance task. In particular embodiments, e.g., where additional maintenance tasks are involved, the selected service technician is the closest technician who has the skills and parts to complete the maintenance task and the additional maintenance tasks. As those skilled in the art can readily appreciate, a feature of an example embodiment described herein is that not every service technician needs to be trained for every type of repair task and not every service technician needs to have every part on hand. Furthermore, if a service provider has already used a part needed for a maintenance task while completing a previous service task, a different service provider who actually has the part can be sent, reducing delays encountered by having service technicians having to fetch parts they do not have on hand.
In an example embodiment, a message is sent to the selected service technician causing the selected service technician to complete the maintenance task. For example, logic 108 (
At 602, inventory and status data is maintained for components of an endpoint. For example, as described in
At 604, the status data and data representative of previous maintenance tasks is analyzed to determine whether there is a correlation between maintenance tasks. For example, a determination can be made if whenever a certain maintenance task is performed (or in some cases the service technician responds that the maintenance task was not needed), another (or second) maintenance task is performed within a predefined time period. For example, within a week of correcting a paper jam in the receipt printer is another maintenance task to replace the belts in the printer is generated than 40% of the time.
At 606, if a correlation was found (YES), a new maintenance task is created for the second maintenance task. As those skilled in the art can readily appreciate, this can reduce the number of times a service technician has to service an endpoint as well as increasing the amount of time the endpoint is in service because the endpoint is not made unavailable a second time to perform the second maintenance task. After the second maintenance task is created, the method 600 can return to 602 and wait for the next batch of status data to be received before repeating.
If at 606, no correlation was found, the method 600 returns to 602 to wait for additional status data and to repeat the 604, 606, and if needed 608. The method 600 may be repeated as often as desired.
At 702, inventory and status data is maintained for components of an endpoint. For example, as described in
At 704, the status data and data representative of previous maintenance tasks is analyzed to determine whether there is a correlation between maintenance tasks and current sensor data. For example, if sensors indicate that the gate of an automated banking is having trouble opening or closing, which can be a sign of vandalism or damage, and in particular embodiments if a determination is made that maintenance tasks are frequently generated within a certain time period after similar sensor readings were received, a correlation can be found. Similarly, if excessive (e.g., more than a predefined number) of notes are diverted (not delivered to the customer), a maintenance task can be created. In particular embodiments, a correlation can be found when the sensor readings are compared to determine if (or how long until) maintenance tasks are created when a similar number of diverts occur. Yet another example, a correlation can be found if excessive (more than a predefined number) of mis-picked or double notes are detected, and/or in particular embodiments, if the frequency of mis-picked or double notes is increasing.
At 706, if a correlation was found (YES), a new maintenance task is created. As those skilled in the art can readily appreciate, this can increase the amount of time the endpoint is in service by reducing the amount of unscheduled down time. After the maintenance task is created, the method 700 can return to 702 and wait for the next batch of status data to be received before repeating.
If at 706, no correlation is found, the method 700 returns to 702 to wait for additional status data and repeats 704, 706, and if needed 708. The method 700 may be repeated as often as desired.
Described above are example embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies, but one of ordinary skill in the art will recognize that many further combinations and permutations of the example embodiments are possible. Accordingly, this application is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.
This application is a National Phase entry of international application PCT/US2020/039331 filed on Jun. 24, 2020 that claims the benefit under 35 U.S.C. § 119 of U.S. Provisional Application No. 62/865,589, filed Jun. 24, 2019. The contents of the aforementioned applicant is hereby incorporated by reference herein in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2020/039331 | 6/24/2020 | WO |
Number | Date | Country | |
---|---|---|---|
62865589 | Jun 2019 | US |