Patent Description:
Typical stores of financial institutions are provided with a plurality of cash processing machines, such as a money management machine which manages cash in the store, an automatic teller machine (ATM) which a customer operates by himself/herself for, for example, cash deposit and withdrawal, a teller machine (TM) which receives and pays cash when a teller operates a teller terminal, and a money change machine which automatically performs money change. These cash processing machines are devices aimed at achieving a specific function: cash processing, and are called embedded devices. In particular, the cash processing machine is equipped with minimum pieces of hardware and software needed to achieve a specific function: cash processing.

In recent years, comprehensive specification implementation has become popular to meet the demand for higher performance of cash processing machines, and the related necessary computer resources (typically read only memory (ROM)) have increased. For example, cash processing machines used not only in Japan but in various parts in the world need to hold template data used for recognition of money denomination and authenticity and to hold cash processing programs for cash processing, for each country where they are used. They also need to hold cash processing programs for a plurality of diversified types of cash processing. For this reason, high-performance cash processing machine has a large-capacity storage apparatus.

However, some cash processing machines are provided with a function which is not used by customers. In this case, the waste of a computer resource may occur depending on the actual customer, and customers may have a complaint about the price of the product that increases with higher performance.

Meanwhile, PTLs <NUM> and <NUM> disclose a cash processing system in which a server provides template data and cash processing programs to cash processing machines via a network. With this cash processing system, addition and updates of template data and cash processing programs performed through the server are reflected to the cash processing machines, which brings efficiency to maintenance work. Further, cash processing machines can be provided with only template data and cash processing programs supported in the country where the system is used, thereby achieving a reduction in the amount of storage apparatus. Nevertheless, the cash processing machines still hold the cash processing programs for a plurality of diversified types of cash processing, and still implement functions not used depending on the customer.

<CIT> discloses methods and systems for installing and/or upgrading software on a self-service financial transaction terminal (e.g., an ATM) from a remote computer. A transaction terminal receives a software update sent to it by a remote computer via a network. The software update comprises update data for a software program executing in a primary directory of the transaction terminal. The software update is recorded in a secondary directory. On receipt of an activation signal form the remote computer, the transaction terminal reboots and swaps the primary directory and the secondary directory, and executes the software now in the primary directory, which includes the software update.

<CIT> discloses a system and method for streaming an install package into a virtual environment. The system includes a server and a client. The server streams an install package to the client as a series of streamlets. The client starts an installer component in a suspended state outside the virtual environment. The client registers the installer component in the virtual environment and initiates execution of the installer component in the virtual environment to receive portions of the install package and install the received portions of the install package in the virtual environment. During package installation, a virtualization manager detects an attempt to execute a call to a file system and confines file system changes resulting from the call to the virtual environment in response to determining that the attempt was made by the installer component and the installer component is registered in the virtual environment.

An object of the present invention is to provide a cash processing system in which a plurality of diversified types of cash processing can be executed through a cash processing machine and needed computer resources are reduced so that a reduction in the cost of the cash processing machine can be achieved.

A cash processing system according to the present invention as set out in the appended set of claims.

The present invention provides a cash processing system in which a plurality of diversified types of cash processing can be executed through a cash processing machine, and needed computer resources are reduced so that a reduction in the cost of the cash processing machine can be achieved.

An embodiment of the present invention will now be described in detail with reference to the accompanying drawings.

<FIG> is a diagram showing a cash processing system <NUM> according to one embodiment of the present invention.

As shown in <FIG>, the cash processing system <NUM> comprises a plurality of cash processing machines <NUM> and a server <NUM>. The cash processing machines <NUM> and the server <NUM> are communicably connected via a network N. The cash processing system <NUM> is installed, for example, at a store of a financial institution such as a bank or a post office.

<FIG> shows an example of the cash processing machines <NUM>: a money management machine 10A, a teller machine 10B, and a money change machine 10C. The network N is, for example, the Internet in which the cash processing machine <NUM> and the server <NUM> (so-called cloud server) are connected via a wide area communication network. A LAN including a plurality of cash processing machines <NUM> may be constructed, and may be connected to the wide area communication network via a gateway.

In the cash processing system <NUM>, the server <NUM> is a service providing base for providing an extended function program to the cash processing machine <NUM>, and the requested extended function program is provided to the cash processing machine <NUM> in response to a download request from the cash processing machine <NUM>.

<FIG> is a diagram showing an example of the configuration of a cash processing machine <NUM>. <FIG> is a diagram showing an example of a memory map in the cash processing machine <NUM>.

As shown in <FIG>, the cash processing machine <NUM> comprises a control section <NUM>, a storage section <NUM>, an operation section <NUM>, a display section <NUM>, a communication section <NUM>, a cash processing section <NUM>, and the like.

The control section <NUM> comprises a central processing unit (CPU) <NUM> as an arithmetic/control apparatus, and a ROM <NUM> and a random access memory (RAM) <NUM> as main storage apparatuses.

The ROM <NUM> is a nonvolatile semiconductor memory (for example, an NOR flash memory), and can hold data even without power supplied. In the ROM <NUM>, written data can be deleted block by block and new data can be written. The ROM <NUM> comprises a memory area 112A of a basic function program P1 (hereinafter referred to as "first storage section 112A"), a memory area 112B of an extended function program P2 (hereinafter referred to as "second storage section 112B"), and a work area 112C for storing data to be held (for example, an inventory amount, deposit and withdrawal history, and data of settings) (see <FIG>).

The basic function program P1 is a program commonly required to execute the extended function program P2, and includes a control program for controlling a basic input output system (BIOS), an operating system (OS), a communication program, an actuator, and a sensor. The basic function program P1 may be a plurality of programs prepared for the respective functions, or an integral program. The basic function program P1 is fixedly held in the ROM <NUM>. The "be fixedly held" refers to be held even while the power of the cash processing machine <NUM> is off. The basic function program P1 exclusively uses a predetermined memory area of the first storage section 112A. A location where the basic function program P1 is stored is given using an absolute address. Although the basic function program P1 is fixedly held in the ROM <NUM>, the basic function program P1 can be updated by download from the server <NUM>.

The extended function program P2 is a cash processing program for executing the designated cash processing (for example, deposit, withdrawal, accepting money, dispensing money, charging, and collection). The extended function program P2 is downloaded from the server <NUM> as needed and installed in the ROM <NUM>. Namely, the extended function program P2 shares the second storage section 112B with another extended function program P2 in a time division manner. The holding status of the extended function program P2 in the second storage section 112B is stored in the ROM <NUM> as management information. The management information includes information indicating whether or not the extended function program P2 is installed in the second storage section 112B, information indicating cash processing corresponding to the installed extended function program P2, and information (for example, a hash value) for checking if the installed extended function program P2 is not damaged.

The RAM <NUM> is a volatile semiconductor memory (for example, a dynamic RAM or a static RAM) in which data is normally deleted when power supply is stopped. The RAM <NUM> has a work area used when the extended function program P2 is executed and a work area for temporarily storing counter data for each counting processing.

The CPU <NUM> reads a program appropriate for the content of the processing from the ROM <NUM> and loads it in the RAM <NUM>, and performs central control on the operation of each block of the cash processing machine <NUM> by executing the loaded program.

The storage section <NUM> is an auxiliary storage apparatus such as a hard disk drive (HDD) or a solid state drive (SSD). The storage section <NUM> may be a disk drive that drives an optical disk, such as a compact disc (CD) or a digital versatile disc (DVD), or a magnetooptical disk (MO) or the like, to read and write information. Alternatively, the storage section <NUM> may be, for example, a memory card, such as a USB memory or an SD card.

The operation section <NUM> is, for example, a keyboard with which characters and numbers can be input or a pointing device, such as a mouse. The display section <NUM> is a display, such as a liquid crystal display or an organic EL display, that displays information necessary for cash deposit and withdrawal in the cash processing machine <NUM>. The operation section <NUM> and the display section <NUM> may be composed of a flat panel display with a touch screen.

The communication section <NUM> is, for example, a communication interface, such as a network interface card (NIC), a modulator-demodulator (MODEM), or a universal serial bus (USB). The control section <NUM> transmits and receives various types of information to and from the server <NUM> connected to the network N via the communication section <NUM>. A communication interface for near field wireless communication, such as near field communication (NFC) or Bluetooth (registered trademark) can also be applied to the communication section <NUM>.

The cash processing section <NUM> is a unit for depositing or withdrawing money. For example, in the case of the money management machine 10A, the cash processing section <NUM> comprises a new series note withdrawing section, a bound notes withdrawing section, a loose notes depositing and withdrawing section, a coin-roll withdrawing section, and a loose coins depositing and withdrawing section. In addition, the cash processing section <NUM> comprises a recognition and counting section that counts while recognizing deposited money or withdrawn money.

The operator inputs a processing request for causing the cash processing machine <NUM> to execute desired cash processing through the operation section <NUM>. In the cash processing machine <NUM>, the control section <NUM> executes the extended function program P2 corresponding to the cash processing included in the processing request, thereby performing desired cash processing. At this time, the extended function program P2 corresponding to the cash processing included in the processing request is downloaded from the server <NUM> as appropriate and installed in the ROM <NUM>.

<FIG> is a diagram showing an example of the configuration of the server <NUM>.

As illustrated in <FIG>, the server <NUM> is a general-purpose computer comprising a control section <NUM>, a storage section <NUM>, an operation unit <NUM>, a display section <NUM>, and a communication section <NUM>. The basic configuration of each block is the same as that of the cash processing machine <NUM>, and their detailed description will therefore be omitted.

The control section <NUM> comprises a CPU <NUM>, a ROM <NUM>, and a RAM <NUM>. For example, the CPU <NUM> reads a program corresponding to the content of the processing from the ROM <NUM> or the storage section <NUM> and loads the program in the RAM <NUM>, executes the loaded program, and performs central control on the operation of each block of the server <NUM>.

The storage section <NUM> is, for example, an auxiliary storage apparatus such as an HDD. The storage section <NUM> stores, for example, a service providing program P3 for processing the download request from the cash processing machine <NUM> and an extended function program P2 provided to the cash processing machine <NUM>. The extended function program P2 is prepared for each type of cash processing machine <NUM> and for each type of cash processing. Further, in the case where a special specification is requested by a financial institution in which the cash processing machine <NUM> is installed, the extended function program P2 includes a custom-made program prepared for the cash processing machine <NUM> of the financial institution.

The operation unit <NUM> and the display section <NUM> are used at the time of the maintenance of the server <NUM>, such as the update of the service providing program P3 or the extended function program P2.

The communication section <NUM> is a communication interface for communication with external devices. The control section <NUM> transmits and receives various types of information to and from the cash processing machine <NUM> connected to the network N via the communication section <NUM>.

In the server <NUM>, the control section <NUM> functions as an extended function program providing section 21A by executing the service providing program P3. In response to the download request from the cash processing machine <NUM>, the extended function program providing section 21A provides any of the plurality of extended function programs P2. The function of the extended function program providing section 21A will be described in detail with reference to the sequence diagram of <FIG>.

<FIG> is a sequence diagram showing an example of cash processing performed by the cash processing system <NUM>. In the server <NUM>, the control section <NUM> executes the service providing program P3. When powered on, the cash processing machine <NUM> performs initialization processing and updates management information including the holding status of the extended function program P2 in the second storage section 112B. The processing in the cash processing machine <NUM> is executed by the control section <NUM>.

In Step S101, the cash processing machine <NUM> receives a processing request designating the execution of the cash processing performed by the operator through the operation section <NUM>.

In Step S102, the cash processing machine <NUM> acquires the status (management information) of the extended function program P2 installed in the ROM <NUM>. The ROM <NUM> holds, for example, the extended function program P2 corresponding to the cash processing that was executed last time.

In Step S103, the cash processing machine <NUM> determines whether or not the extended function program P2 corresponding to the cash processing included in the processing request is installed in the ROM <NUM>. If the extended function program P2 corresponding to the cash processing included in the processing request is installed in the ROM <NUM> ("YES" in Step S103), the process proceeds to Step S107. If the extended function program P2 corresponding to the cash processing included in the processing request is not installed in the ROM <NUM> ("NO" in Step S103), the process proceeds to Step S104.

When the extended function program P2 corresponding to the cash processing included in the processing request is held in the second storage section 112B (see <FIG>), the extended function program P2 is not downloaded from the server <NUM>. Thus, the time that elapses before the cash processing can be shortened. In this case, the cash processing machine <NUM> may inquire of the server <NUM> about whether or not the extended function program P2 has been updated. If there has been the update, the extended function program P2 is downloaded. If there has been no update, the extended function program P2 is not downloaded.

In Step S104, the cash processing machine <NUM> transmits, to the server <NUM>, a download request for the extended function program P2 corresponding to the designated cash processing. The download request includes, for example, information indicating the type of cash processing, information on the cash processing machine <NUM> (for example, the model of the cash processing machine <NUM>, serial No., and hardware information), information on a customer who operates the cash processing machine <NUM> (here, a financial institution) (for example, recognition information on the financial institution), and information on an operator (for example, an operator ID).

When another extended function program is installed in the ROM <NUM>, the existing extended function program P2 is deleted to install the extended function program P2 corresponding to the processing request. If there is space in the second storage section 112B, that is, if the extended function program P2 corresponding to the cash processing included in the processing request can be installed without deleting the existing extended function program P2, the existing extended function program P2 is not necessarily deleted and may be held.

When a plurality of other extended function programs P2 is installed in the ROM <NUM>, it is preferable that the existing plurality of extended function programs P2 be deleted in ascending order of usage frequency.

In Step S105, the server <NUM> provides the requested extended function program P2 in response to the download request from the cash processing machine <NUM> (processing related to the extended function program providing section 21A). To be specific, the server <NUM> selects one of the plurality of extended function programs P2 held in the storage section <NUM> on the basis of the information indicating the type of cash processing included in the download request and information on the cash processing machine <NUM>, and provides it to the cash processing machine <NUM>.

At this time, the server <NUM> may determine the authority of the operator on the basis of information on the operator included in the download request (for example, recognition information on the operator), and may determine whether or not the download is possible. The data for matching of the information on the operator is stored, for example, in the storage section <NUM>. If the operator who issued the processing request does not have a proper authority, the download is not permitted, and the cash processing machine <NUM> is notified of that fact.

In Step S106, the cash processing machine <NUM> downloads the extended function program provided by the server <NUM> and installs it in the ROM <NUM>.

In Step S107, the cash processing machine <NUM> performs the designated cash processing by executing the extended function program P2 corresponding to the cash processing included in the processing request. Upon reception of a processing request designating the execution of cash processing in Step S101, if the corresponding extended function program P2 is already installed, this extended function program P2 is executed. In contrast, if the corresponding extended function program P2 is not installed in the ROM <NUM>, the extended function program P2 provided from the server <NUM> is installed in the ROM <NUM> and executed in response to the download request.

An object pointing to each processing module of the basic function program P1 (for example, a pointer to a function) is held in a data structure such as a table assigned to a fixed address. At the time of execution, the extended function program P2 refers to this data structure to call desired processing from each processing module of the basic function program P1. Hence, the designated cash processing is performed.

After the cash processing ends, the extended function program P2 installed in the ROM <NUM> may be deleted in preparation for the next cash processing to be designated, but preferably remains held. If the next designated cash processing is the cash processing corresponding to the extended function program P2, that cash processing is executed without another download, so the processing time can be made shorter than when another download is performed.

Further, when the extended function program P2 installed in the ROM <NUM> is the program corresponding to cash processing for which the processing authority is required, it is preferable that the extended function program P2 be deleted upon the completion of the cash processing. Cash processing for which the processing authority is requested includes withdrawal processing for a large amount, for example, over <NUM>,<NUM>,<NUM> yen.

As described above, the cash processing system <NUM> comprises the cash processing machine <NUM> capable of executing a plurality of types of cash processing, and the server <NUM> connected to the cash processing machine <NUM> via the network N. The server <NUM> comprises an extended function program providing section 21A that provides any one of the plurality of extended function programs P2 for executing the respective types of cash processing in response to a download request from the cash processing machine <NUM>. The cash processing machine <NUM> comprises a first storage section 112A that stores a basic function program P1 for executing basic processing commonly necessary to execute a plurality of types of cash processing, a second storage section 112B that stores an extended function program P2, and a control section <NUM> that executes the basic function program P1 and the extended function program P2. The control section <NUM> downloads the extended function program P2 corresponding to the cash processing included in the processing request from the server <NUM> upon reception of the processing request designating the execution of any one of the plurality of types of cash processing, and stores it in the second storage section 112B.

In other words, for functions that are not required to operate at the same time, that is, cash processing achieved using an extended function program P2, the cash processing machine <NUM> does not fixedly hold the corresponding extended function program P2 in the ROM <NUM> but downloads and executes it on demand. As a result, the cash processing machine <NUM> can execute a plurality of diversified types of cash processing, and can suppress the usage of the memory area as a computer resource. In other words, the restricted computer resources in the cash processing machine <NUM> which is an embedded device can be effectively used. Consequently, with the cash processing system <NUM>, there can be provided a cash processing system in which a plurality of diversified types of cash processing can be executed with a cash processing machine, and needed computer resources are reduced, which contributes to a reduction in the cost of the cash processing machine <NUM>.

Further, with the cash processing system <NUM>, when a function related to cash processing in the cash processing machine <NUM> is added or changed, updating only the extended function program P2 held by the server <NUM> can add or change the function for all the cash processing machines <NUM> under operation in the market. As software maintenance work is centralized, the efficiency of maintenance work is significantly improved.

As mentioned above, although the invention made by the present inventor was concretely explained based on an embodiment, the present invention is not limited to the above-mentioned embodiment and can be changed without departing from the scope of the present invention.

For example, although the extended function program P2 is installed in the ROM <NUM> in the case described in the embodiment, it may be installed in the RAM <NUM>. In this case, when the cash processing machine <NUM> is powered off, the extended function program P2 is automatically deleted. The data of the RAM <NUM> may be retained even if the cash processing machine <NUM> is powered off by, for example, supplying power to the RAM <NUM> using a static RAM and a battery (so-called battery backup).

For example, the RAM <NUM> or the storage section <NUM> may be used as a second storage section for storing an extended function program P2. When the storage section <NUM> is used as a second storage section, the extended function program P2 is transferred to the RAM <NUM> using a function such as a file system and then is executed.

The ROM <NUM> and the RAM <NUM> may be used as a second storage section for storing an extended function program P2. In this case, the download destination (installation destination) is set according to the content of the cash processing included in the processing request. For example, frequently used extended function programs P2 (for example, deposit processing and withdrawal processing) are installed in the ROM <NUM>, and less frequently used extended function programs P2 (for example, charge processing and collection processing) are installed in the RAM <NUM>.

In the embodiment, the network N may be a LAN.

In the embodiment, in the server <NUM>, the control section <NUM> executes a service providing program P3 and functions as the extended function program providing section 21A so that the present invention can be achieved; however, this function can also be configured using an electronic circuit, such as a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a programmable logic device (PLD).

Claim 1:
A cash processing system (<NUM>), comprising: a cash processing machine (<NUM>) capable of executing a plurality of types of cash processing; and a server (<NUM>) to be connected to the cash processing machine (<NUM>) via a network, wherein:
the server (<NUM>) comprises
an extended function program providing section (21A) configured to provide any one of a plurality of extended function programs (P2) for executing the plurality of types of cash processing in accordance with a download request from the cash processing machine (<NUM>),
the cash processing machine (<NUM>) comprises:
a first storage section (112A) configured to store a basic function program (P1) for executing basic processing commonly needed to execute the plurality of types of cash processing;
a second storage section (112B) configured to store the extended function program (P2); and
a control section (<NUM>) configured to execute the basic function program (P1) and the extended function program (P2), wherein
the control section (<NUM>) is configured to download the extended function program (P2) corresponding to the cash processing included in a processing request from the server (<NUM>) upon reception of the processing request designating execution of any one of the plurality of types of cash processing, to store the extended function program (P2) in the second storage section,
characterized in that
the second storage section (112B) is a nonvolatile memory, and
in a case where the extended function program (P2) is a program corresponding to the cash processing with processing authority requested, the extended function program (P2) is deleted upon completion of the cash processing.