Patent Publication Number: US-7896236-B2

Title: Electronic value exchange system and electronic value exchange method

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a technology of exchanging electronic values between communication terminals. 
     2. Related Background of the Invention 
     In recent years, the study on TRON (The Real-time Operating system Nucleus) is ongoing as a means for implementing a ubiquitous computing environment. Among others, for portable terminals incorporating an IC (Integrated Circuit) card such as an e-TRON card, a technology proposed is to perform direct transmission/reception of values between two IC cards, without intervention of an application program, on the occasion of exchanging electronic values such as electronic money or electronic coupons between terminals. An application of this technology to a system for charging an insufficient electronic value is an electronic value charge system to ensure high security and simplicity together, as disclosed in Patent Document 1 (Japanese Patent Application Laid-Open No. 2003-337887). 
     SUMMARY OF THE INVENTION 
     However, the above conventional technology is to directly perform the exchange of electronic values between the tamper-resistant IC cards. For this reason, the high security can be secured, while there is a problem of concern that the behavior on the IC card side cannot be always captured on the application program side. For example, since the IC card is a black box, the user of the terminal grasps the processing content through the application program. For this reason, the IC card cannot present necessary information to the user unless the application program is notified of a processing state. 
     An object of the present invention is therefore to provide a technology applied to exchange of electronic values between IC cards of terminal devices each provided with an application program outside the IC card and adapted to avoid the inconvenience due to the application program&#39;s incapability of recognizing the processing executed on the IC card side, interruption of communication between the IC cards, and so on. 
     An electronic value exchange system according to the present invention is an electronic value exchange system for implementing an exchange of electronic values between a sender terminal and a receiver terminal, the electronic values being retained in IC cards of the respective terminals, wherein the sender terminal comprises: transmitting means for transmitting a message to offer the exchange of electronic values (exchange offer message), to the receiver terminal; notifying means for, when receiving a message for confirming the exchange (exchange confirmation message), transmitted by transmitting means of the receiver terminal, calling up a listener corresponding to the message and notifying an application program of an exchange content based on the listener; and exchange means for performing the exchange of electronic values with the receiver terminal when an acceptance from the application program is acquired for the exchange content notified of by the notifying means; and wherein the receiver terminal comprises: notifying means for, when receiving an exchange offer message transmitted from the sender terminal, calling up a listener corresponding to the message and notifying an application program of an offer content based on the listener; and transmitting means for transmitting an exchange confirmation message to the sender terminal when an acceptance from the application program is acquired for the offer content notified of by the notifying means. 
     An electronic value exchange method according to the present invention comprises a transmission step wherein a sender terminal transmits a message to offer an exchange of electronic values, to a receiver terminal; a notification step wherein when the receiver terminal receives the exchange offer message transmitted in the transmission step, the receiver terminal calls up a listener corresponding to the message and notifies an application program of an offer content based on the listener; a transmission step wherein when an acceptance from the application program is acquired for the offer content notified of in the notification step, the receiver terminal transmits a message for confirming the exchange, to the sender terminal; a notification step wherein when the sender terminal receives the exchange confirmation message transmitted in the transmission step, the sender terminal calls up a listener corresponding to the message and notifies an application program of an exchange content based on the listener; and an exchange step wherein when an acceptance from the application program is acquired for the exchange content notified of in the notification step, the sender terminal performs the exchange of electronic values with the receiver terminal. 
     According to these aspects of the invention, when the receiver terminal receives from the sender terminal an offer to exchange an electronic value retained in an IC card of the receiver terminal, for an electronic value in an IC card of the sender terminal, it notifies the application program of the receiver terminal of this offer. When the application program returns an affirmative response to this offer content, based on manipulation by a user of the receiver terminal or the like, the receiver terminal requests the sender terminal to make confirmation of the exchange. Just as the receiver terminal did, the sender terminal notifies the application program of its own of this request. When the application program returns an affirmative response to this request content, based on manipulation by a user of the sender terminal or the like, the sender terminal then performs transmission of the electronic value to the receiver terminal. At the same time, the receiver terminal also transmits the electronic value to complete the exchange of electronic values. In this manner, the direct exchange transaction of electronic values between IC cards is executed in wait for the permission/negation determination by the application programs loaded on the respective terminals. Namely, the present invention enables the application programs on the respective terminals involved in the exchange of electronic values, to recognize the processing executed between the IC cards. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is an illustration showing a configuration of an electronic value exchange system. 
         FIG. 2  is the first half of a chart for explaining an operation of the electronic value exchange system. 
         FIG. 3  is the second half of a chart for explaining an operation of the electronic value exchange system. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     An embodiment of the present invention will be described below with reference to the accompanying drawings presented for illustrative purposes only. First, a configuration of electronic value exchange system  100  in the present embodiment will be described. As shown in  FIG. 1 , electronic value exchange system  100  comprises portable terminal  10  (corresponding to the sender terminal) and portable terminal  20  (corresponding to the receiver terminal). The portable terminals  10 ,  20  are, for example, cell phones or PDAs (Personal Digital Assistances), but may be any terminal equipment with a communication function, without any restrictions on function and use thereof. The portable terminal  10  and portable terminal  20  are configured so as to be able to transmit and receive electronic values via a short-range wireless communication line, using libraries owned by the respective terminals. 
     Subsequently, each of the components of the portable terminal  10  will be described. The portable terminal  10  has application program  11 , library  12  (corresponding to the transmitting means and notifying means), and IC card  13  (corresponding to the exchange means). These components are connected so as to be able to import and export signals from and to each other through a bus. 
     When a user of the portable terminal  10  instructs an exchange of electronic values, the application program  11  (hereinafter referred to as “AP 11 ”) notifies the library  12  of this instruction. Furthermore, AP 11  detects completion of an exchange of electronic values with input of “committed” from the library  12 . At this time, the user of portable terminal  10  is notified of the completion of the exchange as occasion may demand. 
     With reception of “exchange” from AP 11 , the library  12  creates a message to instruct the IC card  13  to perform the exchange, and outputs the message to the IC card  13 . When acquiring a message, the library  12  executes a listener corresponding thereto. For example, when receiving an exchange confirmation message transmitted from IC card  23 , the library  12  notifies AP 11  of an offer content based on a listener corresponding thereto. When an acceptance is acquired for the offer content, the library  12  outputs an exchange execution message to IC card  13  to instruct an exchange start of electronic values. When the library  12  acquires an exchange completion message from IC card  13  in conjunction with completion of an exchange of electronic values, it executes a listener “notify AP 11 .” 
     An electronic value V 1  as an object for an exchange is stored in the IC card  13 . The IC card  13  is preferably constructed of a tamper-resistant device in terms of ensuring security, e.g., preventing falsification or reproduction of electronic value V 1 . The electronic value V 1  is digitized data representing (or substantializing) some economic value and is equivalent, for example, to electronic money representing a monetary value, or to an electronic ticket (a book coupon, a commutation ticket, or the like) provided in a prepaid system. 
     With input of an exchange instruction message from the library  12 , the IC card  13  transmits the message as an exchange offer message through the library  12  to the portable terminal  20 . When receiving an exchange completion message from the IC card  23  through the libraries  22 ,  12 , the IC card  13  outputs the exchange completion message to the library  12  of portable terminal  10 . 
     When receiving the input of the exchange execution message from the library  12 , the IC card  13  starts an exchange transaction of electronic values with a communication partner of IC card  23 . This exchange transaction is directly carried out between the IC cards, without intervention of APs 11 ,  21 . Namely, the IC card  13  transmits the electronic value V 1  stored inside, via libraries  12 ,  22  and a wireless line to the IC card  23 . Similarly, the IC card  23  transmits an electronic value V 2  via libraries  22 ,  12  and a wireless line to the IC card  13 . The exchange is completed when the two IC cards receive the each other&#39;s electronic values. 
     The portable terminal  20  also has a configuration similar to that of the portable terminal  10 . Namely, the portable terminal  20  has application program  21 , library  22  (corresponding to the notifying means and transmitting means), and IC card  23 . These components are connected so as to be able to import and export signals from and to each other through a bus. 
     The application program  21  (hereinafter referred to as “AP 21 ”) presents an offer content to a user of portable terminal  20  in accordance with “offered” fed from the library  22 . AP 21  awaits a user&#39;s instruction operation and, with an instruction of acceptance, it confirms the electronic values V 1 , V 2  satisfying conditions for exchange objects and then sends a reply of “agree.” Without acceptance instruction, “NG” is returned to the library  22 . With input of “committed” from the library  22 , AP 21  detects completion of an exchange of electronic values. At this time, the user of portable terminal  20  is notified of the completion of the exchange as occasion may demand. 
     When acquiring a message, the library  22  executes a listener corresponding thereto. For example, when receiving an exchange offer message transmitted from IC card  13 , the library  22  notifies AP 21  of an offer content based on a listener corresponding thereto. With an acceptance for the offer content, the library  22  transmits an exchange confirmation message to the IC card  13 , thereby encouraging the user of the portable terminal  10  to confirm a start of execution of the exchange transaction. When the library  22  acquires an exchange completion message from IC card  23  in conjunction with completion of the exchange of electronic values, it executes a corresponding listener “notify AP 21 .” 
     When receiving the exchange confirmation message from the library  22 , the IC card  23  transfers the message to the IC card  13 . On the occasion of performing the exchange of electronic values, the IC card  23  transmits the electronic value V 2  via libraries  22 ,  12  and a wireless line to the IC card  13 . 
     Next, an operation of electronic value exchange system  100  in the present embodiment and each of steps constituting an electronic value exchange method according to the present invention will be described with reference to  FIGS. 2 and 3 . The description is based on the assumption that a situation in the present embodiment is that the users desire to exchange the electronic value V 1  owned by the user A of portable terminal  10 , for the electronic value V 2  owned by the user B of the portable terminal  20 . 
     First, when receiving an instruction from the user A of portable terminal  10  (S 1  in  FIG. 2 ), AP 11  instructs the library  12  to execute an exchange of electronic values, using API (Application Program Interface) (S 2 ). A function to instruct the start of the exchange can be, for example, “exchange (ICC 13 , ICC 23 , ConditionData).” The exchange function has parameters of (source ID, destination ID, transmitted object data), and “ConditionData” as the transmitted object data contains at least a condition for electronic values V 1 , V 2  that can be exchange objects. 
     The library  12 , receiving the exchange instruction, converts the API into a message to create a message [StartExchange] to instruct the IC card  23  to perform an exchange of electronic values (S 3 ). The library  12  transfers this exchange instruction message to the IC card  13  designated as a destination (S 4 ). 
     The IC card  13 , when receiving the exchange instruction message, transmits an exchange offer message having a condition for exchanged electronic values, “Condition,” as a parameter, to the library  22  of IC card  23  as a communication partner (S 5 ). This exchange offer message is transmitted via library  12  and can be represented by “offer(Condition).” 
     The library  22  on the portable terminal  20  side, when detecting reception of the exchange offer message, acquires a listener “notify AP 21 ” corresponding to the message (S 6 ). At S 7 , the library  22  transfers “offered (Condition)” as an offer content to AP 21  in accordance with the description of the listener read out at S 6 . AP 21 , receiving the offer content, determines whether the offer content is to be accepted, based on an instruction by the user B of the portable terminal  20  (S 8 ). 
     At S 8 , when the user B instructs an acceptance for the offer content (S 8 ; YES), AP 21  confirms the electronic values V 1 , V 2  as exchange objects, which match the condition for V 1 , V 2  in the aforementioned Condition. After the confirmation of the exchange objects, AP 21  returns “agree” as an affirmative response to the library  22  (S 10 ). The affirmative response contains at least IDs of IC cards  13 ,  23  to execute the exchange transaction, and IDs of the electronic values V 1 , V 2  as exchange objects. With the reply of “agree,” the library  22  determines that the user B accepted the offer content, and transmits [AgreeExchange(V 1 ,V 2 )] being a message for confirming the exchange of electronic values, via IC cards  23 ,  13  to the library  12  (S 11 ). 
     Thereafter, the library  12  of portable terminal  10  executes processes similar to the aforementioned steps S 6 , S 7 . Namely, the library  12  acquires a listener corresponding to the exchange confirmation message fed from the IC card  13  (S 12 ). Then the library  12  transfers “agreed” as an exchange content to AP 11  in accordance with the description of the listener (S 13 ). 
     Referring next to  FIG. 3 , AP 11  then determines the presence/absence of an acceptance for the exchange content, based on an instruction by the user A of portable terminal  10  (S 14 ). When the user A instructs an acceptance (S 14 ; YES), AP 11  returns “confirm” as an affirmative response to the library  12  (S 15 ). This affirmative response contains at least the IDs of the IC cards  13 ,  23  to execute the exchange transaction, and the IDs of the electronic values V 1 , V 2  determined as exchange objects, as at S 10 . With this reply of “confirm,” the library  12  determines that the user A accepted the offer content, and outputs an exchange execution message [ConfirmExchange] to the IC card  13  (S 16 ). 
     When the IC card  13  receives the exchange execution message [ConfirmExchange], the exchange of electronic values owned by the respective IC cards is started between IC card  13  and IC card  23  (S 17 ). The transmission/reception process of electronic values at S 17  is completed through the libraries, but not through the application programs (as sort of “directly”). This prevents a stealthy glance or falsification of electronic values and maintains a high security level. 
     When at S 8  the user B rejects the exchange (S 8 ; NO), AP 21  returns “NG” as a negative response to library  22  (S 18 ). The library  22 , receiving the negative response, notifies library  12  of an error for the exchange offer message received at S 5 . The IC card  13  receives the error message transferred from the library  12 , to detect the rejection of the exchange of electronic values (S 19 ). 
     Similarly, when at S 14  the user A rejects the exchange (S 14 ; NO), AP 11  returns “NG” as a negative response to the library  12  (S 20 ). The library  12 , receiving the negative response, notifies the IC card  23  of an error for the exchange confirmation message received at S 11 , through the library  22  (S 21 ). This allows the IC card  23  to detect the rejection of the exchange of electronic values. 
     When the exchange transaction of electronic values at S 17  is normally completed, i.e., when the IC card  23  acquires the electronic value V 1 , the IC card  23  transmits [Commit] as an exchange completion message through the libraries  22 ,  12  to the IC card  13  (S 22 ). In the transmission of the exchange completion message, the portable terminal  20  also executes processes similar to the aforementioned steps S 6 , S 7 . Namely, when transmitting the exchange completion message, the library  22  acquires a listener “notify AP 21 ” corresponding to the message (S 23 ). The library  22  transfers “committed” to AP 21  in accordance with the description of the above listener read out at S 23  (S 24 ). This allows AP 21  to recognize that the exchange transaction of electronic values has normally been completed. 
     On the other hand, after receiving the exchange completion message [Commit] transmitted at S 22 , the IC card  13  outputs an exchange completion message [Committed] to the library  12  (S 25 ). In the output operation of the exchange completion message, the portable terminal  10  also executes processes similar to the aforementioned steps S 23 , S 24 . 
     Namely, the library  12 , when receiving the input of the exchange completion message, acquires a listener “notify AP 11 ” corresponding to the message (S 26 ). At S 27  the library  12  transfers “committed” to AP 11  in accordance with the description of the above listener read out at S 26 . By the process of S 27 , AP 11  comes to recognize that the exchange of electronic values has normally been completed. 
     The electronic value exchange system  100  described above has the operational effects described below. First, the library  22  on the receiver side notifies AP 21  of the request content at every occurrence of an event. The direct exchange of electronic values between IC cards secures high security, but it is difficult for AP 21  to grasp the processing between the IC cards in real time. In contrast to it, the above-stated notification eliminates such concern. Namely, the portable terminal can be provided with the function of letting the library monitor messages arriving at the receiver IC card. Since the application program is notified of the result of this monitoring, the application program is able to always grasp the processing on the IC card side. 
     In the electronic value exchange system  100 , not only the receiver portable terminal  20  but also the sender portable terminal  10  can be provided with the function of letting the library monitor messages arriving at the IC card. Since AP 11  is also notified of the result of this monitoring, AP 11  is able to always grasp the processing on the IC card  13  side. Furthermore, the exchange transaction of electronic values between IC cards  13 ,  23  is not normally completed without being accepted by both of the application programs  11 ,  21  of the portable terminals  10 ,  20 . As a result, the exchange of electronic values is implemented under a higher security level. 
     Second, the sender library  12  also notifies AP 11  of completion of the exchange when the exchange of electronic values is completed. In the same manner as this, the receiver library  22  also notifies AP 21  of completion of the exchange when the exchange of electronic values is completed. Namely, both the application programs  11 ,  12  of the portable terminals  10 ,  20  having performed the exchange of electronic values can quickly recognize that the exchange has normally been completed, and, if one of the notifications is absent, they can determine that the exchange of electronic values has not normally been completed. 
     Factors to cause a failure in normal completion of the exchange of electronic values include disconnection of a line due to reduction of communication resources, an instruction of interruption by the portable terminal, and so on. When the exchange transaction of electronic values is interrupted, the portable terminal  10  or portable terminal  20  can establish a connection with a communication control device located outside the electronic value exchange system  100 . The communication control device is operated and managed by TTP (Trusted Third Party) and makes a determination on whether the exchange transaction is to be aborted or continued. 
     Furthermore, the electronic value exchange system  100  is able to asynchronously notify each application program of only necessary minimum information dependent on user&#39;s decisions, while maintaining confidentiality of processing in the IC card. This suppresses an increase in the processing load on the IC card. 
     The present invention enables the system and method to avoid the inconvenience arising from the application program&#39;s incapability of recognizing the processing executed on the IC card side, interruption of communication between IC cards, and so on when the terminal devices having the application programs outside the IC cards exchange electronic values between the IC cards.